Version 21 (modified by 8 years ago) ( diff ) | ,
---|
Steps for setting up OAI EPC on orbit
This wiki page expands on the following steps from the eurecom wiki, to customize the sim card info and hostnames.
- https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirKernelMainSetup
- https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/GetSources
- https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectCOTSUEwithOAIeNBNew
- Hardware
- The EPC should operate on a bare metal PC, VM, or container. Restrictions are due to kernel support, not timing.
- Operating system
- Testing has been done on Ubuntu 14.04 64 bit. Ubuntu 16.04 may work, but has not been tested.
- Kernel
- More info at: https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirKernelMainSetup
- We need the GTP tunnel module, from either kernel 4.8 (untested) or a custom compiled 4.7.x
- install kernel 4.7.7
git clone https://gitlab.eurecom.fr/oai/linux-4.7.x.git cd linux-4.7.x sudo 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
- install kernel 4.7.7
- issues with changing kernels on 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 image below was built on a bare-metal pc, and then migrated to a VM successfully.
- hostnames
- For this tutorial, we use the hostnames nano and hss, and the dommainname orbit-lab.org
- 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
- remove /etc/hostname
- On each boot, you must run
hostnamectl set-hostname nano
- This sets the current short and full hostnames to the correct entry from
/etc/hosts
- This sets the current short and full hostnames to the correct entry from
- logout and back in to use the new hostname
- to check, you must use
getent hosts name
- getent uses gethostbyname, while host and nslookup query DNS directly
- Get sources
- Follow the EPC instructions at https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/GetSources
- EPC config files
- Follow the EPC related steps at https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectCOTSUEwithOAIeNBNew
- 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
- Follow the steps until configuration files have been copied to
/usr/local/etc/oai
- The following modifications will need to be made to files in that subdirectory
- 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.
- set realm to the chosen dommainname, in this case
- 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.
- in freediameter config files
- set identity and realm as appropriate in both hss and mme files.
- 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
- in mme.conf:
- Follow the EPC related steps at https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectCOTSUEwithOAIeNBNew
- generate FD keys
- in
openair-cn/SCRIPTS
./check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ hss.orbit-lab.org
./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.orbit-lab.org
- in
- 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
- set up DB for hss
./run_hss -i ~/openair-cn/SRC/OAI_HSS/db/oai_db.sql #Run only once to install database
- you can specify a different database dump, to replicate set ups.
- append info to DB as appropriate
- Add mme hostname as entry in table mmeidentity
- add user/sim to users table, and pdn to pdn table
- mmeidentity for user must match index of mme used
- imsi specified for both user and pdn
- specify user key with UNHEX function
Notes and References
- GENI
- EPC URN:
urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:OAIEPCOrbit
- EPC fixed?:
urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:oaiepc477
- newest EPC:
urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:epc447scripted
- URL:
https://www.instageni.rutgers.edu/image_metadata.php?uuid=b300f9dc-0611-11e7-a074-000000000000
- URL:
- eNB
- URN:
urn:publicid:IDN+instageni.rutgers.edu+image+ch-geni-net:OAIeNBRutgers
- URL:
https://www.instageni.rutgers.edu/image_metadata.php?uuid=6844496a-9d2a-11e6-90f4-000000000000
- URN:
- EPC URN:
- RCC/RRU:
- EPC needs link on 10.3, for vlan access
- EPC needs tunnel endpoint on 10.3, or via landing1, for demo sctp
- RCC needs 10.3 link to mme, as well as link to RRU, in this case tunne, 10.10, or 10.40
- RRU needs 10.3 to mme, as well as link to RCC (need to work on this, two tunnels?
- issues:
- Cannot seem to connect to vlan3701, fia-xia, 10.3.x.x
- vlan is now named GENI-LTE-Multipoint
- local connection to vlan 60, grid, 10.10
- need to create connection to vlan 70, outdoor, 10.30
- Cannot seem to connect to vlan3701, fia-xia, 10.3.x.x
- MTU
- up to 12 octets for GTP-U header, advertise mtu 1460-12 = 1448
- 12 octets for l2tp + 20 for ip, 8 for udp, 40 total. tunnel mtu 1460.
- resources
Note:
See TracWiki
for help on using the wiki.