gnbsim is a 5G SA gNB/UE (Rel. 16) simulator for testing 5G System. The project is aimed to understand 5GC more efficiently than just reading 3GPP standard documents.
This repo has been forked from: https://github.com/H21lab/gnbsim
-
Golang environment on a Linux server to run gnbsim.
-
Magma is running somewhere.
``` ngapIpList: - # external IP address for N2 address. ``` ``` interfaces: - interfaceType: endpoints: # external IP address for GTP-U (N3) address. ``` ``` gtpu: - # external IP address for GTP-U (N3) address. ```
-
Download the related files.
$ git clone https://github.com/Lkishor123/gnbsim $ cd gnbsim
-
Build the example binary.
$ make test # (optional) unit test for each libary. $ make
-
Edit the configuration file (example.json).
- SUPI(IMSI) is formed by
mcc
+mnc
+msin
. (e.g.208930123456789
) NGAPPeerAddr
indicates the IP address for N2 used by the AMF side.GTPuIFname
indicates the interface name for GTP-U used by gnbsim.GTPuLocalAddr
indicates the IP address for GTP-U used by gnbsim.url
indicates the destined URL for testing U-plane directly accessed by UEs.- wiki page might be helpful to understand the environment.
$ cd example $ vi example.json
- SUPI(IMSI) is formed by
-
Run gnbsim
- root privilege is required to set an IP address which is dynamically assigned by the SMF.
$ sudo ./example
- Then you can find the following line in the debug message. In this case, your configuration for
OPc
andK
are both correct.
***** Integrity check passed