wiki:cLTE/eSoftware/cEpc

Instructions on this page are from early evaluation efforts. For the latest documentation see the GENI LTE ePC at Rutgers page, which captures the setup of the GENI LET ePC as setup in the Rutgers Orbit Winlab

Evolved Packet Core (ePC)

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

OpenAirInterface ePC

OAI ePC Architercture

GENI OAI ePC

The deployment of the BBN GENI ePC was captured to provide an outline of the 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.

ePC Installation Guidelines

Instructions below highlight guidelines for installing the OAI ePC on a GENI resource. See the OpenAirInterface ePC GENI Site Deployment page for detailed instructions.

ePC Host Configuration

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 in GENI. See the Get GENI Resource instructions to request a raw pc for your installation. A reference request RSpec lte-raw-pc-default-image.rspec is provided as an example, which must be edit to your your Site specific information.

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 for Linux kernel 4.8 and higher. On GENI a kernel 4.8 must be specifically requested, as it is not part of the default upgrade path. See the Installing 4.8 Kernel on InstaGENI ePC Resource instruction for details.

Installing OAI ePC Software

The page Building OAI Executables provides instructions for building the building the OAI eNB and ePC software. Instruction followed at the BBN for the building the ePC are captured in the Installing OAI ePC Software section. Note, the develop branch was used in the effort.

Configuration

Configuration changes must be made to the following ePC files:

  • openair-cn/etc/acl.conf
  • openair-cn/etc/hss.conf
  • openair-cn/etc/hss_fd.conf
  • openair-cn/etc/mme.conf
  • openair-cn/etc/mme_fd.conf
  • openair-cn/etc/spgw.conf

Numerous changes are required to make the installation specific to your site, a "git diff" of the configuration used at BBN can be found in the ePC Configuration section. Also highlighted below are the required changes:

  1. hostnames
    1. For this tutorial, we use the hostnames nano and hss, and the dommainname orbit-lab.org
    2. append the following lines to /etc/hosts:
      127.0.1.1 nano.orbit-lab.org nano
      127.0.1.1 hss.orbit-lab.org 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 https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/GetSources
  2. EPC config files
    1. Follow the EPC related steps at https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectCOTSUEwithOAIeNBNew
      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 orbit-lab.org
        • 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

  1. Once modification as completed, generate the FD keys
    1. in openair-cn/SCRIPTS
    2. ./check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ hss.orbit-lab.org
    3. ./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.orbit-lab.org
  1. Compile and install hss, mme, and spgw with your modifications:
    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
    
OAI Databe

The ePC software relies on an database to store information for device and entities to be managed for your setup. The OAI database creation and the population of tables used at BBN is captured in the Populating OAI DB instructions.

Below are highlights and guidelines used in executing the BBN instructions.

  1. 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
eNodeB/Base Station Configuration

The OpenAirInterface ePC GENI Site Deployment page also provides details for:

Run ePC and Connect Devices

The OpenAirInterface ePC GENI Site Deployment page also provides details for:


Notes and References

  1. GENI
    1. EPC URN: urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:OAIEPCOrbit
    2. EPC fixed?: urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:oaiepc477
    3. newest EPC: urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:epc447scripted
      1. URL: https://www.instageni.rutgers.edu/image_metadata.php?uuid=b300f9dc-0611-11e7-a074-000000000000
    4. eNB
      1. URN: urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:OAIeNBRutgers
      2. URL: https://www.instageni.rutgers.edu/image_metadata.php?uuid=6844496a-9d2a-11e6-90f4-000000000000
  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
    1. https://remote-lab.net/linux-l2tp-ethernet-pseudowires
    2. http://groups.geni.net/geni/wiki/GeniNetworkStitchingSites
    3. http://groups.geni.net/geni/wiki/ConnectivityHome
Last modified 2 days ago Last modified on 09/19/17 13:15:14

Attachments (2)

Download all attachments as: .zip