Skip to main content
Version: 0.4.0

UERANSIM

Overview

UERANSIM (pronounced "ju-i ræn sɪm"), is an open source state-of-the-art 5G UE and RAN (gNodeB) simulator. This appliance can be used for testing 5G Core Networks and studying 5G Systems implementing the following technologies:

  • gNodeB: emulates cellular base station (gNodeB) in a 5G Standalone RAN and performs communication with 5G Core components.
  • UE: emulates a 5G Standalone 5G User Equipment, i.e. cellular phone.

You can find more documentation about the UERANSIM project on their official wiki.

warning

This appliance is meant to be used together with a 5G core, not part of this appliance.

Download

The latest version of the UERANSIM appliance can be downloaded from the 6G-SANDBOX official Marketplace

Components

NameVersion
Ubuntu22.04 LTS
UERANSIMv3.2.6
Contextualization package6.10.0

Requirements

  • OpenNebula version: >= 6.4
  • Minimum RAM: 2GiB
  • Minimum vCPU: 2
  • Minimum storage: 10GiB

Features and usage

The appliance comes with the necessary UERANSIM files and software, which includes:

  • UERANSIM v3.2.6 binaries at /usr/local/bin/, which include:
    • nr-gnb: Main executable for 5G gNB (RAN)
    • nr-ue: Main executable for 5G UE
    • nr-cli: CLI tool for 5G gNB and UE
    • nr-binder: A tool for utilizing UE's internet connectivity.
  • UERANSIM v3.2.6 libraries at /usr/local/lib/, which include:
    • libdevbnd.so: A dynamic library for nr-binder
  • Sample configuration files for gNB and UE to connect to 5G core implemented with Open5GS at /etc/ueransim/open5gs-gnb-bak.yaml and /etc/ueransim/open5gs-ue-bak.yaml
  • Configuration files for gNB and UE with values taken from the contextualization variables at /etc/ueransim/open5gs-gnb.yaml and /etc/ueransim/open5gs-ue.yaml
  • Systemd services (ueransim-gnb.service and ueransim-ue.service) to boot binaries nr-gnb and nr-ue with the configuration files with the contextualization variables.
warning

This appliance is meant to be used together with a 5G core, not part of this appliance.

Contextualization

Contextualization parameters provided in the Virtual Machine template (CONTEXT section) control the initial VM configuration. Except for the common set of parameters supported by every appliance on the OpenNebula Marketplace, there are few specific to this particular UERANSIM appliance.

  • GNB_* and UE_* parameters replace the variables of their respective config file at /etc/ueransim/.
  • RUN_GNB and RUN_UE determine if their respective service should be started at boot time.

The parameters should be provided in the CONTEXT section of the Virtual Machine template, read the OpenNebula Management and Operations Guide for more details.

ParameterDescriptionDefault Value
GNB_AMF_ADDRESSgNB AMF IP Address<undefined>
GNB_MCCgNB Mobile Country Code value999
GNB_MNCgNB Mobile Network Code value (2 or 3 digits)70
GNB_SLICES_SDgNB SD of the supported S-NSSAI1
GNB_SLICES_SSTgNB SST of the supported S-NSSAI1
GNB_TACgNB Tracking Area Code1
ONEKE_VNFIf specified, gateway IP where the gNB will route the traffic in order to reach the gnb_amf_address<undefined>
RUN_GNBWhether to start the gNB service or not<undefined>
RUN_UEWhether to start the UE service or not<undefined>
UE_CONFIGURED_NSSAI_SDUE SD of the NSSAI configured by HPLMN<undefined>
UE_CONFIGURED_NSSAI_SSTUE SST of the NSSAI configured by HPLMN1
UE_DEFAULT_NSSAI_SDUE SD of the default Configured NSSAI1
UE_DEFAULT_NSSAI_SSTUE SST of the default Configured NSSAI1
UE_GNBSEARCHLISTUE comma separated list of gNB IP addresses for Radio Link Simulation<undefined>
UE_KEYUE permanent subscription key465B5CE8B199B49FAA5F0A2EE238A6BC
UE_MCCUE Mobile Country Code value of HPLMN999
UE_MNCUE Mobile Network Code value of HPLMN (2 or 3 digits)70
UE_OPUE Operator code (OP or OPC)E8ED289DEBA952E4283B54E88E6183CA
UE_SESSION_APNUE APN of the initial PDU session to be stablishedinternet
UE_SESSION_SDUE APN of the initial SD session to be stablished<undefined>
UE_SESSION_SSTUE APN of the initial SST session to be stablished1
UE_SUPIUE IMSI number. IMSI = [MCC|MNC|MSISDN] (In total 15 digits)imsi-999700000000001

In the gNB config file, parameters .linkIp, .ngapIp and .gtpIp are automatically set to use the host's main IP address.

In the UE config file, if CONTEXT variable UE_GNBSEARCHLIST is left undefined it will aso take the host's main IP address, assuming that the gNB to use is the simulated one in the same VM.

Regarding the integration of the UERANSIM with 5G Cores deployed with Open5GS within OneKE, the ueransim-gnb.service will setup route ${oneke_subnet} via ${ONEKE_VNF} as a ExecStartPre, with oneke_subnet assumed to be the /24 subnet of the address specified at GNB_AMF_ADDRESS.

warning

If either ONEKE_VNF or GNB_AMF_ADDRESS are not defined, no route will be defined at ueransim-gnb.service.

Known issues and limitations

If you try to build this appliance in your own system, if will fail to do so the first time. The reason is that the packer code for the UERANSIM requires to already have the UERANSIM binaries precompiled in your system. However, the same packer build command of the makefile will proceed to download the required packages and compile the source code from the UERANSIM repository.

Once compiled, the second time you attempt to build the UERANSIM, the files will be available to import and the build will succeed.