Amarisoft

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 :

NOTE : This is just an example (Proof of Concept demo) of utilization of non-Amarisoft corenetwork with Amarisoft RAN or Amarisoft Core network, we are not following up or supporting any technical issues of non-Amarisoft Product.

 

Table of Contents

 

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.

NOTE : In this tutorial, I used Amarisoft UEsim as a Test UE instead of commercial UE. The main reason is becaue Open5GS does not support 3GPP Test USIM algorithm (XOR) and (as far as I have observed) Network Slicing configuration doesn't seem to be very flexible (so I need a test UE in which I can change Network Slicing Configuration as it can be accepted by open5gs).

NOTE : We are not testing Open5GS in detail and are not following up with the revisions and upgrade of Open5G, I would suggest you to consult to Open5GS forum / support for any issues related to Open5GS.

 

TestSetup MME Open5GS 01

 

 

Key Configuration Parameters

Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.

 

 

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).

MME Open5GS Configuration VM 01

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.

MME Open5GS Configuration VM 04

 

Some OS related information that I used in this tutorial is as shown below.

MME Open5GS Configuration VM 02

This is not manadatory if you install Binary version of the open5gs.

MME Open5GS Configuration VM 03

 

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.

MME Open5GS Configuration Open5GS 01

The NIC and IP configuration after the installation of open5gs on the virtual machine is as shown below.

MME Open5GS Configuration Open5GS 02

Following is the directory (/etc/open5gs) where the configuration files of open5gs are located.

MME Open5GS Configuration Open5GS 03

Following is the directory (/var/log/open5gs) where the log files of open5gs are stored.

MME Open5GS Configuration Open5GS 04

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).

MME Open5GS Configuration Open5GS UserDB 01

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).

MME Open5GS Configuration Open5GS UserDB 02

MME Open5GS Configuration Open5GS UserDB 03

MME Open5GS Configuration Open5GS UserDB 04

MME Open5GS Configuration Open5GS UserDB 05

MME Open5GS Configuration Open5GS UserDB 06

If you want to change the information for an existing UE, you can modify it with [Edit] menu as shown below.

MME Open5GS Configuration Open5GS UserDB 07

MME Open5GS Configuration Open5GS UserDB 08

 

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.

(NOTE : The IP address of the NIC of the callbox would be different in your test setup. You should change the IP addresses in each of the configurations for each test according to the IP of your own test setup)

Cloud mme Configuration Callbox 01

 

UEsim

I will be using the same UE sim configuration for all the test cases in this tutorial.

MME Open5GS Configuration UEsim 01

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.

MME Open5GS Configuration UEsim 02

 

 

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.

MME Open5GS Test 1 Configuration Open5gs 01

MME Open5GS Test 1 Configuration Open5gs 02

MME Open5GS Test 1 Configuration Open5gs 03

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.

MME Open5GS Test 1 Configuration Callbox 01

For mme, no special configurations are used. Everything is used as default configuration.

MME Open5GS Test 1 Configuration Callbox 02

The configuration in gnb-sa-open5gs.cfg  are set as follows

MME Open5GS Test 1 Configuration Callbox 03

 

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.

MME Open5GS Test 1 Run 01

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.

MME Open5GS Test 1 Run 02

Now restart lte service on UE sim and power on the UE.

MME Open5GS Test 1 Run 03

If the connection is successfully completed, you should see UE is registered and assigned with IP as shown below.

MME Open5GS Test 1 Run 04

You can confirm on the UE connection with 't' command  and 'ue' command in callbox as shown below

MME Open5GS Test 1 Run 05

MME Open5GS Test 1 Run 06

Try ping from callbox to UE as shown below.

MME Open5GS Test 1 Run 07

 

Log Analysis

Sample Log

MME Open5GS Test 1 Log 01

MME Open5GS Test 1 Log 02

MME Open5GS Test 1 Log 03

 

 

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.

MME Open5GS Test 1 Configuration Open5gs 01

MME Open5GS Test 1 Configuration Open5gs 02

MME Open5GS Test 1 Configuration Open5gs 03

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.

MME Open5GS Test 2 Configuration Callbox 01

For mme, mme-ims-open5gs-n12.cfg is used. It is copied and modified from mme-ims.cfg.

MME Open5GS Test 2 Configuration Callbox 02

The configuration in gnb-sa.cfg  are set as follows

MME Open5GS Test 2 Configuration Callbox 03

The configuration in mme-ims-open5gs-n12.cfg  is set as follows.

MME Open5GS Test 2 Configuration Callbox 04

 

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.

MME Open5GS Test 1 Run 01

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.

MME Open5GS Test 2 Run 02

Now restart lte service on UE sim and power on the UE.

MME Open5GS Test 1 Run 03

If the connection is successfully completed, you should see UE is registered and assigned with IP as shown below.

MME Open5GS Test 2 Run 04

You can confirm on the UE connection with 't' command  and 'ue' command in callbox as shown below

MME Open5GS Test 1 Run 05

MME Open5GS Test 1 Run 06

 

Log Analysis

Sample Log

gNB is connected to MME installed in local PC which is Amari MME.

MME Open5GS Test 2 Log 01

N12 is communicating with open5gs in the virtual machine.

MME Open5GS Test 2 Log 02

All other part except N12 are communicating with the core running on the local PC which is Amari MME.

MME Open5GS Test 2 Log 03

 

 

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.

MME Open5GS Test 1 Configuration Open5gs 01

MME Open5GS Test 1 Configuration Open5gs 02

MME Open5GS Test 1 Configuration Open5gs 03

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.

MME Open5GS Test 2 Configuration Callbox 01

For mme, mme-ims-open5gs-n12-n8.cfg is used. It is copied and modified from mme-ims.cfg.

MME Open5GS Test 3 Configuration Callbox 02

The configuration in gnb-sa.cfg  are set as follows

MME Open5GS Test 2 Configuration Callbox 03

The configuration in mme-ims-open5gs-n12-n8.cfg  is set as follows.

MME Open5GS Test 3 Configuration Callbox 04

 

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.

MME Open5GS Test 1 Run 01

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.

MME Open5GS Test 2 Run 02

Now restart lte service on UE sim and power on the UE.

MME Open5GS Test 1 Run 03

If the connection is successfully completed, you should see UE is registered and assigned with IP as shown below.

MME Open5GS Test 2 Run 04

You can confirm on the UE connection with 't' command  and 'ue' command in callbox as shown below

MME Open5GS Test 1 Run 05

MME Open5GS Test 1 Run 06

 

Log Analysis

Sample Log

gNB is connected to MME installed in local PC which is Amari MME.

MME Open5GS Test 3 Log 01

n12 interface is communicating with open5gs(AUSF)

MME Open5GS Test 3 Log 02

n8 interface is communicating with open5gs (UDM)

MME Open5GS Test 3 Log 03

 

 

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.

MME Open5GS Test 1 Configuration Open5gs 01

MME Open5GS Test 1 Configuration Open5gs 02

MME Open5GS Test 1 Configuration Open5gs 03

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.

MME Open5GS Test 2 Configuration Callbox 01

For mme, mme-ims-open5gs-n8-n13.cfg is used. It is copied and modified from mme-ims.cfg.

MME Open5GS Test 4 Configuration Callbox 02

The configuration in gnb-sa.cfg  are set as follows

MME Open5GS Test 2 Configuration Callbox 03

The configuration in mme-ims-open5gs-n8-n13.cfg  is set as follows.

MME Open5GS Test 4 Configuration Callbox 04

 

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.

MME Open5GS Test 1 Run 01

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.

MME Open5GS Test 2 Run 02

Now restart lte service on UE sim and power on the UE.

MME Open5GS Test 1 Run 03

If the connection is successfully completed, you should see UE is registered and assigned with IP as shown below.

MME Open5GS Test 2 Run 04

You can confirm on the UE connection with 't' command  and 'ue' command in callbox as shown below

MME Open5GS Test 1 Run 05

MME Open5GS Test 1 Run 06

 

Log Analysis

Sample Log

gNB is connected to MME installed in local PC which is Amari MME.

MME Open5GS Test 4 Log 01

n13 interface is communicating with open5gs(UDM)

MME Open5GS Test 4 Log 02

n8 interface is communicating with open5gs(UDM)

MME Open5GS Test 4 Log 03