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
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.
-
Context and Scope
- Open5GS provides an open-source, standards-based 5G core network that supports both LTE/EPC and 5G/5GC functionalities.
- The tutorial demonstrates interoperability between Amarisoft RAN and a non-Amarisoft core network (Open5GS).
- It explores hybrid network architectures where components from Amarisoft and non-Amarisoft sources coexist in the core network.
- Focuses on proof-of-concept scenarios for demonstrating multi-vendor network integration.
-
Relevance and Importance
- Multi-vendor interoperability is a cornerstone of modern 5G deployments, enabling flexibility and innovation.
- Open5GS offers a cost-effective, transparent way to understand and experiment with 5G core concepts.
- Prototyping heterogeneous network setups helps validate deployment strategies for real-world networks.
- Enables researchers, developers, and engineers to gain hands-on experience with advanced network topologies without proprietary restrictions.
-
Learning Outcomes
- Understand the architecture and deployment of an open-source 5G core network using Open5GS.
- Acquire skills in setting up and managing core network components on a local virtual machine.
- Learn to integrate Amarisoft RAN with Open5GS, as well as mix Amarisoft and non-Amarisoft core network elements.
- Gain insight into troubleshooting and validating multi-vendor interoperability in a controlled environment.
-
Prerequisite Knowledge and Skills
- Familiarity with basic networking and virtualization concepts.
- Understanding of cellular network fundamentals (e.g., concepts of RAN, core, interfaces).
- Basic experience with Linux command-line operations and system administration.
- Optional: Prior exposure to 4G/5G technology, network functions, or related open-source projects.
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.
- Test Setup Overview
- Amarisoft UEsim is used as the Test UE for increased flexibility in SIM and network slicing configuration.
- Open5GS is deployed in a Virtual Machine running Ubuntu Server 20.04.
- Amarisoft gNB and, in some scenarios, Amari MME, are deployed as RAN and partial Core Network elements.
- Key Configuration Steps (Common to All Tests)
- Virtual Machine setup with network interfaces configured to avoid subnet issues.
- Open5GS installation and verification; configuration files located under /etc/open5gs, logs under /var/log/open5gs.
- Subscriber information managed through Open5GS WebUI, enabling addition and modification of UE profiles.
- Callbox network interface configured to match the test environment’s IP scheme.
- UEsim configuration aligned with Open5GS UE DB, including USIM, APN, and network slicing parameters.
- Test 1: Amari gNB + Open5GS (Full Core)
- Configuration:
- Modify only three Open5GS configuration files from default; all other settings remain unchanged.
- Restart relevant Open5GS components after configuration changes:
$ sudo systemctl restart open5gs-amfd $ sudo systemctl restart open5gs-upfd $ sudo systemctl restart open5gs-udmd - Callbox uses gnb-sa-open5gs.cfg (copied and modified from gnb-sa.cfg).
- Callbox MME uses default configuration.
- Test Procedure:
- Restart LTE service on callbox and verify gNB configuration. Cell configuration is flexible.
- Check gNB’s connection to Open5GS core on the virtual machine.
- Restart LTE service on UEsim and power on the UE.
- Verify successful UE registration and IP assignment.
- Confirm connection via callbox commands ('t', 'ue').
- Test data connectivity by pinging the UE from the callbox.
- Configuration:
- Test 2: Amari gNB + Amari MME + n12 + Open5GS AUSF
- Configuration:
- Modify the same three Open5GS configuration files as in Test 1; restart components as needed.
- Callbox gNB uses gnb-sa.cfg without modification.
- Callbox MME uses mme-ims-open5gs-n12.cfg (modified from mme-ims.cfg); this enables n12 interface towards Open5GS AUSF.
- Test Procedure:
- Restart LTE service on callbox and verify gNB configuration.
- Ensure gNB is connected to Amari MME, which in turn connects to Open5GS AUSF over n12.
- Restart LTE service on UEsim and power on the UE.
- Confirm UE registration and IP assignment.
- Validate connection on the callbox using 't' and 'ue' commands.
- Configuration:
- Test 3: Amari gNB + Amari MME + n8/n12 + Open5GS AUSF, UDM
- Configuration:
- Same Open5GS configuration modifications as previous tests.
- Callbox gNB uses gnb-sa.cfg unchanged.
- Callbox MME uses mme-ims-open5gs-n12-n8.cfg (modified from mme-ims.cfg) to enable both n12 (AUSF) and n8 (UDM) connectivity towards Open5GS.
- Test Procedure:
- Restart LTE service on callbox and verify gNB setup.
- Ensure gNB is connected to Amari MME, which uses n12/n8 towards Open5GS AUSF/UDM.
- Restart LTE service on UEsim and power on the UE.
- Check for successful registration and IP assignment.
- Confirm UE connection using callbox commands.
- Configuration:
- Test 4: Amari gNB + Amari MME + n8/n13 + Open5GS UDM
- Configuration:
- Consistent Open5GS configuration adjustments as in previous tests.
- Callbox gNB uses gnb-sa.cfg without changes.
- Callbox MME uses mme-ims-open5gs-n8-n13.cfg (modified from mme-ims.cfg) to enable n8/n13 interfaces towards Open5GS UDM.
- Test Procedure:
- Restart LTE service on callbox and confirm gNB configuration.
- Validate gNB’s connection to Amari MME, which connects to Open5GS UDM via n8/n13.
- Restart LTE service on UEsim and power on the UE.
- Verify that UE registers and receives IP address.
- Use callbox commands to check UE connection status.
- Configuration:
General Test Methodology:
- Each test involves configuring the appropriate elements (Open5GS, gNB, MME, UEsim) as per the scenario.
- After configuration changes, associated services are restarted to apply updates.
- UE registration, connectivity, and data path are verified using both network-side logs and callbox commands.
- Sample logs and screenshots are referenced to validate each step of the process.
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.

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)
