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.

Changes between Initial Version and Version 1 of cLTE/eSoftware/cEpc


Ignore:
Timestamp:
Mar 28, 2017, 6:59:52 PM (7 years ago)
Author:
seskar
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • cLTE/eSoftware/cEpc

    v1 v1  
     1=== !OpenAirInterface ePC Deployment ===
     2
     3[[TOC(cLTE*, depth=3)]]
     4
     5[[Image(OAI-ePC.png)]]
     6
     7Major components:
     8
     9   * MME
     10   * HSS
     11   * SGSN
     12
     13[[NewsFlashStart]]
     14{{{
     15#!html
     16<h1 style="text-align: center">OAI Reference Pages</h1>
     17}}}
     18This wiki page expands on the following steps from the eurecom wiki:
     19* https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirKernelMainSetup
     20* https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/GetSources
     21* https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectCOTSUEwithOAIeNBNew
     22[[NewsFlashEnd]]
     23
     24==== Machine/VM Configuration ====
     25The !OpenAirInterface ePC should operate on a bare metal PC, VM, or container. Restrictions are due to kernel support, not timing.
     26
     27===== Operating system =====
     28Testing has been done on Ubuntu 14.04 64 bit. Ubuntu 16.04 may work, but has not been tested. However, OAI ePC requires GTP tunnel module which is available from either kernel 4.8 (untested) or a custom compiled 4.7.x ( more info at [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirKernelMainSetup the OAI page]). To install 4.7.7 kernel:
     29{{{
     30git clone https://gitlab.eurecom.fr/oai/linux-4.7.x.git
     31cd linux-4.7.x
     32sudo dpkg -i linux-headers-4.7.7-oaiepc_4.7.7-oaiepc-10.00.Custom_amd64.deb linux-image-4.7.7-oaiepc_4.7.7-oaiepc-10.00.Custom_amd64.deb
     33}}}
     34On 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 referent image was built on a bare-metal pc, and then migrated to a VM successfully.
     35
     36===== Configuration =====
     37
     38  A. hostnames
     39   1. For this tutorial, we use the hostnames nano and hss, and the dommainname orbit-lab.org
     40   1. append the following lines to /etc/hosts:
     41  {{{
     42127.0.1.1 nano.orbit-lab.org nano
     43127.0.1.1 hss.orbit-lab.org hss
     44}}}
     45   1. remove /etc/hostname
     46   1. On each boot, you must run {{{hostnamectl set-hostname nano}}}
     47      1. This sets the current short and full hostnames to the correct entry from {{{/etc/hosts}}}
     48   1. logout and back in to use the new hostname
     49 1. to check, you must use {{{getent hosts name}}}
     50  1. getent uses gethostbyname, while host and nslookup query DNS directly
     511. Get sources
     52 1. Follow the EPC instructions at https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/GetSources
     531. EPC config files
     54 1. Follow the EPC related steps at https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectCOTSUEwithOAIeNBNew
     55  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
     56  1. Follow the steps until configuration files have been copied to {{{/usr/local/etc/oai}}}
     57 1. The following modifications will need to be made to files in that subdirectory
     58  1. in mme.conf:
     59   * set realm to the chosen dommainname, in this case {{{orbit-lab.org}}}
     60   * set hss_hostname to the chosen short hss hostname {{{hss}}}
     61   * set MCC and MNC in GUMMEI_LIST and TAI_LIST to chosen values {{{001, 01}}}
     62   * set network interfaces as appropriate. If mme, hss, and spgw are on the same machine, only S1 interface will not be localhost.
     63  1. in spgw.conf
     64   * set s12 interface as needed, it will be the same as the s1 interface above.
     65   * set pgw interface for external/ client egress traffic
     66   * enable/disable masquerate and tpc clamping as needed
     67    * 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.
     68   * set DNS IP addresses, this will be advertised to clients.
     69  1. in freediameter config files
     70   * set identity and realm as appropriate in both hss and mme files.
     71  1. in hss.conf
     72   * set mysql username and password
     73   * set OP key used for sim cards. This example uses all 1s, as that is the configuration of the ORBIT sim cards.
     74    * this is used to generate keys for each sim. SIMs can also be configured with hardcoded keys, once the database is set up.
     75   * edit fqdns at bottom of hss.config to enable 001 01 plmn
     76    *. fqdn defined in spec, but you can just replace 208 93 with 001 001. #BOTH MUST BE 3 DIGITS
     771. generate FD keys
     78 1. in {{{openair-cn/SCRIPTS}}}
     79 1. {{{./check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ hss.orbit-lab.org}}}
     80 1. {{{./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.orbit-lab.org}}}
     811. Compile and install hss, mme, and spgw
     82{{{
     83cd YOUR_openair-cn_DIRECTORY
     84cd SCRIPTS
     85./build_mme -i #Need to run only once to install missing packages
     86./build_hss -i #Need to run only once to install missing packages
     87./build_spgw -i #Need to run only once
     88}}}
     891. set up DB for hss
     90 1. {{{./run_hss -i ~/openair-cn/SRC/OAI_HSS/db/oai_db.sql #Run only once to install database}}}
     91 1. you can specify a different database dump, to replicate set ups.
     92 1. append info to DB as appropriate   
     93 1. Add mme hostname as entry in table mmeidentity
     94 1. add user/sim to users table, and pdn to pdn table
     95  1. mmeidentity for user must match index of mme used
     96  1. imsi specified for both user and pdn
     97  1. specify user key with UNHEX function
     98
     99== Notes and References ==
     100
     1011. GENI
     102 1. EPC URN: {{{urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:OAIEPCOrbit}}}
     103 1. EPC fixed?: {{{urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:oaiepc477}}}
     104 1. newest EPC: {{{urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:epc447scripted}}}
     105  1. URL: {{{https://www.instageni.rutgers.edu/image_metadata.php?uuid=b300f9dc-0611-11e7-a074-000000000000}}}
     106 1. eNB
     107  1. URN: {{{urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:OAIeNBRutgers}}}
     108  1. URL: {{{https://www.instageni.rutgers.edu/image_metadata.php?uuid=6844496a-9d2a-11e6-90f4-000000000000}}}
     1091. RCC/RRU:
     110 1. EPC needs link on 10.3, for vlan access
     111 1. EPC needs tunnel endpoint on 10.3, or via landing1, for demo sctp
     112 1. RCC needs 10.3 link to mme, as well as link to RRU, in this case tunne, 10.10, or 10.40
     113 1. RRU needs 10.3 to mme, as well as link to RCC (need to work on this, two tunnels?
     1141. issues:
     115 1. Cannot seem to connect to vlan3701, fia-xia, 10.3.x.x
     116  1. vlan is now named GENI-LTE-Multipoint
     117 1. local connection to vlan 60, grid, 10.10
     118 1. need to create connection to vlan 70, outdoor, 10.30
     1191. MTU
     120 1. up to 12 octets for GTP-U header, advertise mtu 1460-12 = 1448
     121 1. 12 octets for l2tp + 20 for ip, 8 for udp, 40 total. tunnel mtu 1460.
     1221. resources
     123 1. https://remote-lab.net/linux-l2tp-ethernet-pseudowires
     124 1. http://groups.geni.net/geni/wiki/GeniNetworkStitchingSites
     125 1. http://groups.geni.net/geni/wiki/ConnectivityHome
     126
     127
     128
     129