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

Introduction

Open5GS is a widely adopted open-source implementation of the 5G core network architecture, designed to provide a comprehensive, standards-compliant foundation for next-generation mobile networks. Built using robust modular principles, Open5GS supports both 4G (EPC) and 5G (5GC) core functionalities, enabling seamless integration with a variety of radio access network (RAN) solutions, including those from Amarisoft. The core network architecture includes critical components such as the Access and Mobility Function (AMF), Session Management Function (SMF), User Plane Function (UPF), and more, each responsible for distinct aspects of connectivity, session management, mobility, and policy enforcement. By deploying Open5GS on a local virtual machine, users can simulate real-world 5G deployments, experiment with network slicing, and validate interoperability with third-party RAN or core components—such as integrating Amarisoft's RAN or combining Open5GS with specific Amarisoft core elements like the MME. This flexibility is essential for research, prototyping, and proof-of-concept demonstrations, making Open5GS a critical tool in the evolving 5G ecosystem. Its role extends to facilitating heterogeneous network topologies, where components from different vendors interoperate to deliver end-to-end mobile connectivity. The significance of such configurations lies in their ability to validate multi-vendor deployments, encourage innovation, and reduce vendor lock-in—key objectives in modern telecom infrastructure. Through this tutorial, you will gain practical experience in setting up, configuring, and testing an open-source 5G core network, while also exploring hybrid integration scenarios with Amarisoft products, further enhancing your understanding of contemporary mobile network architectures.

Summary of the Tutorial

This tutorial provides a comprehensive guide for testing various integration scenarios between Amarisoft RAN components (gNB, MME) and Open5GS Core Network elements using Amarisoft UEsim as the test UE. The document covers test setup, key configuration parameters, common configurations, and detailed step-by-step procedures for four primary test cases. All original formatting, indentation, and structure are preserved below.

General Test Methodology:

This structured approach allows for isolation and verification of individual network functions (AUSF, UDM) and their integration with Amarisoft and Open5GS components across different reference point interfaces (n8, n12, n13).

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