'''Instructions on this page are from early evaluation efforts. For the latest documentation see the [http://groups.geni.net/geni/wiki/GENILTE/LTEDeploymentRutgers GENI LTE ePC at Rutgers] page, which captures the setup of the GENI LET ePC as setup in the Rutgers Orbit Winlab''' [[TOC(cLTE*, depth=3)]] == Evolved Packet Core (ePC) == * Mobility Management Entity (MME) * Home Subscriber Server (HSS) * Signaling Gateway Service Node (SGSN) ==== !OpenAirInterface ePC ==== [[Image(OAI-ePC.png, width=300)]] == 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 [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment 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 [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment 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 [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment#GetGENIResource Get GENI Resource] instructions to request a raw pc for your installation. A reference request RSpec [https://raw.githubusercontent.com/GENI-NSF/geni-support/master/wireless/lte-raw-pc-default-image.rspec lte-raw-pc-default-image.rspec] is provided as an example, which must be edit to your your Site specific information. [[NewsFlashStart]] {{{ #!html

OAI Reference Pages

}}} This wiki page expands on the following steps from the eurecom wiki: * [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/home OpenAirInterface Project] * [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/GetSources The OpenAirInterface repository] * [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/AutoBuild Building OAI Executables] * [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectCOTSUEwithOAIeNBNew How to Connect OAI eNB] [[NewsFlashEnd]] ===== 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 [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment#InstaGENISiteSoftwareInstallation Installing 4.8 Kernel on InstaGENI ePC Resource] instruction for details. ===== Installing OAI ePC Software ===== The page [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/AutoBuild 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 [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment#InstallingOAIePCSoftware 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 [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment#ePCConfigurationandFileChanges ePC Configuration] section. Also highlighted below are the required changes: A. hostnames 1. For this tutorial, we use the hostnames nano and hss, and the dommainname orbit-lab.org 1. 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 }}} 1. remove /etc/hostname 1. 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}}} 1. 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 1. 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 1. Follow the steps until configuration files have been copied to {{{/usr/local/etc/oai}}} 1. 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. 1. 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. 1. in freediameter config files * set identity and realm as appropriate in both hss and mme files. 1. 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}}} 1. {{{./check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ hss.orbit-lab.org}}} 1. {{{./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 [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment#PopulatingtheOAIDatabase 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}}} 1. you can specify a different database dump, to replicate set ups. 1. append info to DB as appropriate, using the file [attachment:fill_sql.rb] 1. Adds mme hostname as entry in table mmeidentity 1. adds user/sim to users table, and pdn to pdn table 1. mmeidentity for user must match index of mme used 1. imsi specified for both user and pdn 1. specify user key with UNHEX function ===== eNodeB/Base Station Configuration ===== The [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment OpenAirInterface ePC GENI Site Deployment] page also provides details for: - [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment#BaseStationConfiguration Base Station Initial configuration] - [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment#ConfigureeNodeBSettings Configuring eNodeB] settings in !NetSpan. ===== Run ePC and Connect Devices ===== The [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment OpenAirInterface ePC GENI Site Deployment] page also provides details for: - [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment#RunePCandConnectDevices Running the ePC and Connecting Devices] - [http://groups.geni.net/geni/wiki/GENILTE/LTEDeployment#ePCeNodeBScenariosTested ePC and eNodeB Scenarios Tested]. ------------------ ==== Notes and References ==== 1. GENI 1. EPC URN: {{{urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:OAIEPCOrbit}}} 1. EPC fixed?: {{{urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:oaiepc477}}} 1. 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}}} 1. eNB 1. URN: {{{urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:OAIeNBRutgers}}} 1. URL: {{{https://www.instageni.rutgers.edu/image_metadata.php?uuid=6844496a-9d2a-11e6-90f4-000000000000}}} 1. RCC/RRU: 1. EPC needs link on 10.3, for vlan access 1. EPC needs tunnel endpoint on 10.3, or via landing1, for demo sctp 1. RCC needs 10.3 link to mme, as well as link to RRU, in this case tunne, 10.10, or 10.40 1. RRU needs 10.3 to mme, as well as link to RCC (need to work on this, two tunnels? 1. issues: 1. Cannot seem to connect to vlan3701, fia-xia, 10.3.x.x 1. vlan is now named GENI-LTE-Multipoint 1. local connection to vlan 60, grid, 10.10 1. need to create connection to vlan 70, outdoor, 10.30 1. MTU 1. up to 12 octets for GTP-U header, advertise mtu 1460-12 = 1448 1. 12 octets for l2tp + 20 for ip, 8 for udp, 40 total. tunnel mtu 1460. 1. resources 1. https://remote-lab.net/linux-l2tp-ethernet-pseudowires 1. http://groups.geni.net/geni/wiki/GeniNetworkStitchingSites 1. http://groups.geni.net/geni/wiki/ConnectivityHome