close Warning: Can't synchronize with repository "(default)" (/common/SVN/wimax does not appear to be a Subversion repository.). Look in the Trac log for more information.

Version 12 (modified by luisanevers, 4 years ago) ( diff )

Evolved Packet Core (ePC)

  • Mobility Management Entity (MME)
  • Home Subscriber Server (HSS)
  • Signaling Gateway Service Node (SGSN)

OpenAirInterface ePC

OAI ePC Architercture


The deployment of the BBN GENI ePC was captured to provide an outline of the required installation, configuration and run-time requirements for an ePC/eNobeB setup on a GENI resource. See the OpenAirInterface ePC GENI Site Deployment page for a detailed look at steps required to add ePC/eNobeB resources to the GENI LTE multi-point VLAN and enabling the ability to share your site ePC/eNobeB setup with other GENI sites.


  • For GENI deployments it is strongly suggested that a dedicate bare metal node be reserved. Testing on VM has consistently shown that VM are not a viable selection for running the OAI ePC software.

Preliminary ePC Installation Guidelines

Instructions below were initially provided as a guide to installing the OAI ePC, for latest verified approach to using GENI ePC see the OpenAirInterface ePC GENI Site Deployment page.

Machine/VM Configuration

The OpenAirInterface ePC should operate on a bare metal PC, VM, or container. Restrictions are due to kernel support, not timing.

OAI Reference Pages

This wiki page expands on the following steps from the eurecom wiki:

Operating system

Testing has been done on Ubuntu 14.04 64 bit and Ubuntu 16.04. However, OAI ePC requires the GTP tunnel module which is available from kernel > 4.8. You can obtain this via the ubuntu HWE kernels.

  apt-get install linux-image-generic-hwe-16.04

On GENI xen vm depending on the configuration of the hypervisor, the guest OS may not be able to select a different kernel from that used for provisioning. The reference image was built on a bare-metal pc, and then migrated to a VM successfully.

  1. hostnames
    1. For this tutorial, we use the hostnames nano and hss, and the dommainname
    2. append the following lines to /etc/hosts: nano hss
    3. remove /etc/hostname
    4. On each boot, you must run hostnamectl set-hostname nano
      1. This sets the current short and full hostnames to the correct entry from /etc/hosts
    5. logout and back in to use the new hostname
  1. to check, you must use getent hosts name
    1. getent uses gethostbyname, while host and nslookup query DNS directly
  1. Get sources
    1. Follow the EPC instructions at
  2. EPC config files
    1. Follow the EPC related steps at
      1. On a separate machine/hardware, the eNB steps can be followed to set up an OAI eNB, or a commercial eNB can be pointed to the EPC bind IP
      2. Follow the steps until configuration files have been copied to /usr/local/etc/oai
    2. The following modifications will need to be made to files in that subdirectory
      1. in mme.conf:
        • set realm to the chosen dommainname, in this case
        • set hss_hostname to the chosen short hss hostname hss
        • set MCC and MNC in GUMMEI_LIST and TAI_LIST to chosen values 001, 01
        • set network interfaces as appropriate. If mme, hss, and spgw are on the same machine, only S1 interface will not be localhost.
      2. in spgw.conf
        • set s12 interface as needed, it will be the same as the s1 interface above.
        • set pgw interface for external/ client egress traffic
        • enable/disable masquerate and tpc clamping as needed
          • If s1 interface MTU is 1500, a maximum MTU of 1488 must be advertised to clients, and MSS clamping enabled to prevent fragmentation. This is due to 12 byte GTP overhead.
        • set DNS IP addresses, this will be advertised to clients.
      3. in freediameter config files
        • set identity and realm as appropriate in both hss and mme files.
      4. in hss.conf
        • set mysql username and password
        • set OP key used for sim cards. This example uses all 1s, as that is the configuration of the ORBIT sim cards.
          • this is used to generate keys for each sim. SIMs can also be configured with hardcoded keys, once the database is set up.
        • edit fqdns at bottom of hss.config to enable 001 01 plmn *. fqdn defined in spec, but you can just replace 208 93 with 001 001. #BOTH MUST BE 3 DIGITS
  3. generate FD keys
    1. in openair-cn/SCRIPTS
    2. ./check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/
    3. ./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/
  4. Compile and install hss, mme, and spgw
    cd YOUR_openair-cn_DIRECTORY
    cd SCRIPTS
    ./build_mme -I #Need to run only once to install missing packages
    ./build_hss -I #Need to run only once to install missing packages
    ./build_spgw -I #Need to run only once
  5. set up DB for hss
    1. ./run_hss -i ~/openair-cn/SRC/OAI_HSS/db/oai_db.sql #Run only once to install database
    2. you can specify a different database dump, to replicate set ups.
    3. append info to DB as appropriate, using the file fill_sql.rb
      1. Adds mme hostname as entry in table mmeidentity
      2. adds user/sim to users table, and pdn to pdn table
        1. mmeidentity for user must match index of mme used
        2. imsi specified for both user and pdn
        3. specify user key with UNHEX function

Notes and References

  1. GENI
    1. EPC URN:
    2. EPC fixed?:
    3. newest EPC:
      1. URL:
    4. eNB
      1. URN:
      2. URL:
  2. RCC/RRU:
    1. EPC needs link on 10.3, for vlan access
    2. EPC needs tunnel endpoint on 10.3, or via landing1, for demo sctp
    3. RCC needs 10.3 link to mme, as well as link to RRU, in this case tunne, 10.10, or 10.40
    4. RRU needs 10.3 to mme, as well as link to RCC (need to work on this, two tunnels?
  3. issues:
    1. Cannot seem to connect to vlan3701, fia-xia, 10.3.x.x
      1. vlan is now named GENI-LTE-Multipoint
    2. local connection to vlan 60, grid, 10.10
    3. need to create connection to vlan 70, outdoor, 10.30
  4. MTU
    1. up to 12 octets for GTP-U header, advertise mtu 1460-12 = 1448
    2. 12 octets for l2tp + 20 for ip, 8 for udp, 40 total. tunnel mtu 1460.
  5. resources

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.