gnbsim

module
v0.0.0-...-40b96af Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2022 License: MIT

README

Ngap_tester_architecture_1 drawio NGAP_tester_Components drawio

gnbsim

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

Getting Started

Prerequisites
  • 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.
    ```
    
Installing and testing
  • 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
    
  • 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 and K are both correct.
    ***** Integrity check passed
    

Directories

Path Synopsis
encoding
per
Package per is implementation for Basic Pckage Encoding Rule (PER) in ALIGNED variant.
Package per is implementation for Basic Pckage Encoding Rule (PER) in ALIGNED variant.
gtp Module
nas Module
ngap Module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL