Home

Awesome

<!-- Copyright 2018-present Open Networking Foundation SPDX-License-Identifier: Apache-2.0 -->

Obsolete Project

New Nucleus MME is developed and its available on omec-project. Please refer Nucleus. No new developement is done on this project !

OpenMME

Table of Contents

Introduction

Builds and Installation Procedure

Update Config

Known Issues

Config Parameters

Introduction:

OpenMME is a grounds up implementation of the Mobility management Entity EPC S1 front end to the Cell Tower (eNB). Its design is performance optimized for high speed mobility events over the S1-MME interface, while maintaining state coherent high transaction rate interactions over the S6a interface to the HSS and the S11 interface to the Serving Gateway Control (SGWC). The design allows maximum utilization of the transaction rate allowed by the S1-MME Non-Access Stratum (NAS) messages over SCTP, S6a DIAMETER Attribute Value Pairs (AVPs) over TCP and S11 GTPV2C messages over UDP protocols.

Build and Installation Procedure

Update config

Update following config files

{install_path}/openmme/src/mme-app/conf/mme.json
{install_path}/openmme/src/s1ap/conf/s1ap.json
{install_path}/openmme/src/s11/conf/s11.json
{install_path}/openmme/src/s6a/conf/*.json
update the Diameter Configuration File:
    {install_path}/openmme/src/s6a/conf/s6a_fd.conf
   

Build open mme components as follows:

cd {install_path}/openmme
make clean; make; make install

Generate certificates

The "Diameter Identity" is a fully qualified domain name that is used to access the the Diameter peer. The "Diameter Host" is everything up to the first period of the "Diameter Identity". The "Diameter Realm" is everything after the first period of the "Diameter Identity".

Execute the following command, using the "Identity" configured in {install_path}/openmme/src/s6a/conf/s6a_fd.conf

cd {install_path}/openmme/target/conf
./make_certs.sh <diameter_host> <diameter_realm>
For Example: ./make_certs.sh mme localdomain

Start MME modules

 cd {install_path}/openmme/target/
 ./run.sh

Known Issues

Appendix A.

Before starting openMME applications respective parameters should be configured in the json files mentioned in section 2.b. For each of the application individual json file can be created, or a user can create a common json file for entire MME configuration(all interfaces), and copy contents of this file in all other jsons. OpenMME applications are designed modularly so that with extended IPC support user can have an individual application running on separate hosts/VMs, to help in this situation separate configuration files are created for each of the MME application(s1ap-app, s6a-app, s11-app, mme-app)

Config Parameters

"mme" - Contains information relevant for mme-app & s1ap-app.

Config Parameter NameReserved/Unused/MandatoryComments
egtp_default_portUnusedDefault S11 port for MME's S11 end
ip_addrMandatoryMME's own ip address. Reserved for management.
s1ap_addrUnusedMME's s1ap interface IP address
egtp_addrUnusedMME's s11 interface IP address
sctp_portUnusedMME's sctp(s1ap) port number.
nameUnusedMME's name to use in s1 setup with eNB
egtp_default_hostnameOptional
MCC, MNCMandatoryMCC, MNC for the MME

"s1ap" -eNB information. Relevant for s1ap-app.

Config Parameter NameReserved/Unused/MandatoryComments
s1ap_local_addrMandatoryMME's s1ap interface source IP address
sctp_portMandatoryMME's s1ap interface source port

"s11" - SGW information for s11 communication. Relevant for s11-app

Config Parameter NameReserved/Unused/MandatoryComments
egtp_local_addrMandatoryMME's source s11 interface IP address.
egtp_default_portMandatoryMME's source s11 interface port.
sgw_addrMandatoryDestination SGW IP for s11 interface
pgw_addrMandatoryPGW address. This field is not used as of now. Provision made in MME config for PGW information.

"s6a" - HSS information for s6a communication. Relevant for s6a-app.

Config Parameter NameReserved/Unused/MandatoryComments
host_typeMandatoryTwo types are supported. "freediameter" - Communicate to HSS host over freediameter interface. "hss_perf" - Use local loopback HSS option. This is only for testing purpose.
host_nameMandatoryHSS destination host name.
realmMandatoryRealm for HSS freediameter communication.