Amarisoft MME + Open5GS
The purpose of this tutorial is to show you how to setup an opensource 5G Core called Open5GS on a local Virtual Machine and how to use it as a whole or in combination with Amarisoft Core (mme). The main motivations for this tutorial are as follows :
- Demonstrate a use case where Amarisoft RAN works with a Non-Amarisoft Corenetwork
- Demonstrate a use case where Amarisoft RAN works with a heterogenously composed core network. By heterogeneously componsed core network, I mean the some components of the corenetwork is from Amarisoft and some other components are from non-Amarisoft component.
Table of Contents
- Amarisoft MME + Open5GS
Test Setup
Test setup for this tutorial is as shown below. I assume that you would know on how to setup the Virtual Machine and run an instances of operating system (Ubuntu in this tutorial) and I would not explain on the procedure of those installation procedure.
Key Configuration Parameters
Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.
- gtp_addr
- mme configuration
- UEsim Configuration
- sim_algo
- imsi
- opc
- amf
- sqn
- K
- apn
- attach_pdn_type
- default_pdu_session_snssai
- sst
- sd
- default_nssai
- sst
- sd
Configuration
In this section, I will show the configurations for various components in the test setup that will be commonly used for every test cases in this tutorial. The configurations that is specific to each test case will be described in the configuration section under each test case.
Virtual Machine
The virtual machine that I used is the Virtual Box but I think you can use any type of Virtual Machine, but (as of Jun 2022) it seems that open5gs is running OK only on Ubuntu Server 20.04 (I have tried it later release : 2204 but the installation of open5gs didn't go through).
I configured the Network Interface of the virtual machine as shown below. This may remove various IP related issue that would possible happen when you have indendent subnet in the virtual machine.
Some OS related information that I used in this tutorial is as shown below.
This is not manadatory if you install Binary version of the open5gs.
Open5GS
I assume that you know how to install open5gs and would not explain about the detailed installation procedure. If you are not familiar with open5gs installation procedure, refer to the QuickStart of Open5gs official site or a note in sharetechnote.
Once you successfully installed the open5gs on the virtual machine, you would get the configuration as shown below.
The NIC and IP configuration after the installation of open5gs on the virtual machine is as shown below.
Following is the directory (/etc/open5gs) where the configuration files of open5gs are located.
Following is the directory (/var/log/open5gs) where the log files of open5gs are stored.
Open5GS - User DataBase
First make it sure that open5gs is running as shown below. (If web-ui is properly installed but not running, you may run it with the command : sudo systemctl restart open5gs-webui.service).
Then with the web browser, you can add a subscriber information to open5gs User Database as below. (If you are not familiar with WebUI setup, refer to this note from sharetechnote).
If you want to change the information for an existing UE, you can modify it with [Edit] menu as shown below.
Callbox
The detailed callbox configuration would very for each test case, so the detailed configuration will be described under each test case, but following network configuration would stay same for all the test case in my setup.
(
UEsim
I will be using the same UE sim configuration for all the test cases in this tutorial.
Following is the UE information configured in ue-nr-sa-open5gs.cfg which is copied and modified from ue-nr.cfg. I configured USIM information of open5gs UE DB to match with this configuration and I added apn, network slicing information to match with the default configuration of open5gs default network slice information.
Test 1 : Amari gNB + Open5GS
In this test, I will show you a case where Amarisoft callbox is used as 5G/NR RAN only and Open5GS as a whole core network (i.e, AMF + AUSF + UDM + SMF + UPF and everything else).
Configuration
The configuration for Open5gs and callbos are as shown below.
Open5gs
In this test, only three configuration files of open5gs has been modified from the default as shown below. All other configuration remain as default.
Once you change anything for a network component, you have to restart the components which is associated with the configuration file as below.
$ sudo systemctl restart open5gs-amfd $ sudo systemctl restart open5gs-upfd $ sudo systemctl restart open5gs-udmd |
Callbox
In this test, gnb-sa-open5gs.cfg is used as gNB configuration and it is copied and modified from gnb-sa.cfg.
For mme, no special configurations are used. Everything is used as default configuration.
The configuration in gnb-sa-open5gs.cfg are set as follows
Perform the Test
First restart lte service on callbox and check basic configuration of gNB as shown below. Actually cell configuration is not so important for this test. Configure the cell in any way you like.
Check on the core network to which the gNB is connected. You should see the core network on the virtual machine connected as shown below.
Now restart lte service on UE sim and power on the UE.
If the connection is successfully completed, you should see UE is registered and assigned with IP as shown below.
You can confirm on the UE connection with 't' command and 'ue' command in callbox as shown below
Try ping from callbox to UE as shown below.
Log Analysis
Test 2 : Amari gNB + Amari MME + n12 + Open5GS AUSF
In this test, I will show you a case where Amarisoft callbox is used as 5G/NR RAN and most part of 5G Core except AUSF. The AUSF of open5gs works together with Amari MME via n12 interface .
Configuration
The configuration for Open5GS and Callbox is as shown below.
Open5gs
In this test, only three configuration files of open5gs has been modified from the default as shown below. All other configuration remain as default.
Once you change anything for a network component, you have to restart the components which is associated with the configuration file as below.
$ sudo systemctl restart open5gs-amfd $ sudo systemctl restart open5gs-upfd $ sudo systemctl restart open5gs-udmd |
Callbox
In this test, gnb-sa.cfg is used without any change.
For mme, mme-ims-open5gs-n12.cfg is used. It is copied and modified from mme-ims.cfg.
The configuration in gnb-sa.cfg are set as follows
The configuration in mme-ims-open5gs-n12.cfg is set as follows.
Perform the Test
First restart lte service on callbox and check basic configuration of gNB as shown below. Actually cell configuration is not so important for this test. Configure the cell in any way you like.
Check on the core network to which the gNB is connected. You should see the core network on the virtual machine connected as shown below.
Now restart lte service on UE sim and power on the UE.
If the connection is successfully completed, you should see UE is registered and assigned with IP as shown below.
You can confirm on the UE connection with 't' command and 'ue' command in callbox as shown below
Log Analysis
gNB is connected to MME installed in local PC which is Amari MME.
N12 is communicating with open5gs in the virtual machine.
All other part except N12 are communicating with the core running on the local PC which is Amari MME.
Test 3 : Amari gNB + Amari MME + n8/n12 + Open5GS AUSF,UDM
In this test, I will show you a case where Amarisoft callbox is used as 5G/NR RAN and most part of 5G Core except {AUSF, UDM}. The {AUSF,UDM} of open5gs works together with Amari MME via n12/n8 interface .
Configuration
The configuration for Open5GS and Callbox is as shown below
Open5gs
In this test, only three configuration files of open5gs has been modified from the default as shown below. All other configuration remain as default.
Once you change anything for a network component, you have to restart the components which is associated with the configuration file as below.
$ sudo systemctl restart open5gs-amfd $ sudo systemctl restart open5gs-upfd $ sudo systemctl restart open5gs-udmd |
Callbox
In this test, gnb-sa.cfg is used without any change.
For mme, mme-ims-open5gs-n12-n8.cfg is used. It is copied and modified from mme-ims.cfg.
The configuration in gnb-sa.cfg are set as follows
The configuration in mme-ims-open5gs-n12-n8.cfg is set as follows.
Perform the Test
First restart lte service on callbox and check basic configuration of gNB as shown below. Actually cell configuration is not so important for this test. Configure the cell in any way you like.
Check on the core network to which the gNB is connected. You should see the core network on the virtual machine connected as shown below.
Now restart lte service on UE sim and power on the UE.
If the connection is successfully completed, you should see UE is registered and assigned with IP as shown below.
You can confirm on the UE connection with 't' command and 'ue' command in callbox as shown below
Log Analysis
gNB is connected to MME installed in local PC which is Amari MME.
n12 interface is communicating with open5gs(AUSF)
n8 interface is communicating with open5gs (UDM)
Test 4 : Amari gNB + Amari MME + n8/n13 + Open5GS UDM
In this test, I will show you a case where Amarisoft callbox is used as 5G/NR RAN and most part of 5G Core except UDM. The UDM of open5gs works together with Amari MME via n13/n8 interface .
Configuration
The configuration for Open5GS and Callbox is as shown below.
Open5gs
In this test, only three configuration files of open5gs has been modified from the default as shown below. All other configuration remain as default.
Once you change anything for a network component, you have to restart the components which is associated with the configuration file as below.
$ sudo systemctl restart open5gs-amfd $ sudo systemctl restart open5gs-upfd $ sudo systemctl restart open5gs-udmd |
Callbox
In this test, gnb-sa.cfg is used without any change.
For mme, mme-ims-open5gs-n8-n13.cfg is used. It is copied and modified from mme-ims.cfg.
The configuration in gnb-sa.cfg are set as follows
The configuration in mme-ims-open5gs-n8-n13.cfg is set as follows.
Perform the Test
First restart lte service on callbox and check basic configuration of gNB as shown below. Actually cell configuration is not so important for this test. Configure the cell in any way you like.
Check on the core network to which the gNB is connected. You should see the core network on the virtual machine connected as shown below.
Now restart lte service on UE sim and power on the UE.
If the connection is successfully completed, you should see UE is registered and assigned with IP as shown below.
You can confirm on the UE connection with 't' command and 'ue' command in callbox as shown below
Log Analysis
gNB is connected to MME installed in local PC which is Amari MME.
n13 interface is communicating with open5gs(UDM)
n8 interface is communicating with open5gs(UDM)