OpenAirInterface Alliance - GitLab

advertisement
OpenAirinterface Towards Truly Open-Source Solutions for 5G
31/07/2015
Mobile Communications Department
Eurecom
Unleashing the potential of open-source in the 5G arena
Agenda
 Testing Methodology
– Focus only on openairinterface5g but need a similar strategy for
openair-CN
 Bash script
– Compilation, oaisim,
 Automated Gitlab CI
– Python based for the moment
– Migration towards JuJu/OpenStack based environment
 ToDo:
– Lionel’s work in openair-CN on scenario player
OAI - Open-Source Solutions for 5G
Testing philosophy of OAI
 Split the code in modules
 Write module tests for small pieces of the code
 Test small modules before committing to develop
– Need a definition of modules ?
– Some hint provided in slides from Laurent (NOKIA)
 Need to develop this further with the team…
OAI - Open-Source Solutions for 5G
Test files location (openairinterface5g)
 README.txt for overview of all the tests
– Openairinterface5g/cmake_targets/autotests/README.txt
 Test_case_list.xml for description of all the tests
– Openairinterface5g/cmake_targets/autotests/test_case_list.xml
 Log/ dir for output of test results
– Openairinterface5g/cmake_targets/autotests/log
 Test case classes:
– Compilation: Test cases to test compilation
– Execution: test cases to test oaisim, NAS secuirity tests, dlsim,
ulsim tests
– Lte-softmodem: test cases for dynamic eNB/UE/EPC interaction
EPC can be OAI/Commercial
UE can be COTS UE
OAI - Open-Source Solutions for 5G
Test_case_list.xml (global params)
Items in RED are comments/explanations
<MachineList>mozart calisson stevens nano amerique</MachineList> List of all machines
<NFSResultsShare>/mnt/sradio/TEST_RESULTS/</NFSResultsShare> NFS Results directory
<GitOAI5GRepo>https://gitlab.eurecom.fr/oai/openairinterface5g.git</GitOAI5GRepo> Git Location of
openairinterface5g repo
<GitOpenair-cnRepo>https://gitlab.eurecom.fr/oai/openair-cn.git</GitOpenair-cnRepo> Git location of
openair-cn repo
<GitOAI5GRepoBranch>develop</GitOAI5GRepoBranch> Branch to test of openairinterface5g
<GitOpenair-cnRepoBranch>develop</GitOpenair-cnRepoBranch> Branch to test of openair-CN
<CleanUpOldProgs>oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc*
run_hss* hss hss_sim configure_cots_bandrich_ue* wvdial* iperf iperf_script ping
tshark</CleanUpOldProgs>
List of old programs to kill before running every test case
<CleanUpAluLteBox>sudo -S -E /opt/ltebox/tools/stop_ltebox</CleanUpAluLteBox> Command to
stop ALU LTE EPC
<ExmimoRfStop>$OPENAIR_DIR/cmake_targets/build_oai -w EXMIMO -c; sudo -S -E
$OPENAIR_DIR/cmake_targets/tools/stop_exmimo2; dmesg|tail</ExmimoRfStop> Command to stop
EXMIMO RF Card
<Timeout_execution>36000</Timeout_execution> Total duration of ssh commands
<TestCaseExclusionList>0104+ 015506 015507 015508 015509 015510 015511 015602 015605 015702
015705 015802 015805 016002 016005 016102 016105 016302 016305</TestCaseExclusionList> Test
cases excluded because they do not work properly (for ex 20 MHz)
<nruns_lte-softmodem>3</nruns_lte-softmodem> Number of runs for lte-softmodem (overrides the
parameter in lte-softmodem test cases)
OAI - Open-Source Solutions for 5G
Test_case_list.xml
(class: compilation)
Items in RED are comments/explanations
<testCase id="010101" > Test case number (must match to that in README.txt)
<class>compilation</class> Test case class
<desc>Build oaisim.Rel8</desc> Description
<pre_compile_prog></pre_compile_prog> Program to run before compilation
<compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> Compile Program to run
<compile_prog_args>--oaisim -r Rel8 -c </compile_prog_args> Compile Program arguments
<compile_prog_out>$OPENAIR_DIR/cmake_targets/oaisim_build_oai/build/oaisim
$OPENAIR_DIR/cmake_targets/at_commands/build/at_nas_ue
$OPENAIR_DIR/cmake_targets/nas_sim_tools/build/usim
$OPENAIR_DIR/cmake_targets/nas_sim_tools/build/nvram</compile_prog_out> Compile Program results
<pre_exec></pre_exec> Ignored for “compilation” class
<pre_exec_args></pre_exec_args> Ignored for “compilation” class
<main_exec></main_exec> Ignored for “compilation” class
<main_exec_args></main_exec_args> Ignored for “compilation” class
<search_expr_true></search_expr_true> Ignored for “compilation” class
<search_expr_false></search_expr_false> Ignored for “compilation” class
<tags>oaisim.Rel8</tags> tags to be displayed in results xml file
<nruns>1</nruns> Number of runs
</testCase>
OAI - Open-Source Solutions for 5G
Test_case_list.xml
(class: execution)
Items in RED are comments/explanations
<testCase id="010200"> Test case number (must match to that in README.txt)
<class>execution</class>Test case class
<desc>Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or
exit</desc>Description
<pre_compile_prog></pre_compile_prog>Program to run before compilation
<compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> Compile Program to run
<compile_prog_args>--oaisim --noS1 -c </compile_prog_args> Compile Program arguments
<pre_exec>$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> Pre-Executable to run to install missing kernel modules, etc
<pre_exec_args></pre_exec_args>Pre-Executable args to run to install missing kernel modules, etc
<main_exec>$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> Main executable
<main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A
AWGN -b1 -u1 -n100 -R 25 -x 1
</main_exec_args>Main executable arguments
<tags>oaisim_noS1.tdd.5MHz.TM1</tags> Tags of the tes t case
<search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0"</search_expr_true>search expression for test
case to pass
<search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false>search expression for test case to fail
<nruns>3</nruns> Number of runs
</testCase>
OAI - Open-Source Solutions for 5G
Test_case_list.xml
(class: lte-softmodem) (1/3)
<testCase id="015500" > Test case number (must match to that in README.txt)
<class>lte-softmodem</class> Test case class
<desc></desc>Test case description
<eNB>calisson</eNB> eNB machine
<UE>stevens</UE> UE machine
<EPC>amerique</EPC> EPC machine
<TimeOut_cmd>390</TimeOut_cmd> Duration of test case
<eNB_working_dir>/tmp</eNB_working_dir> eNB working directory
<eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\"
</eNB_config_file> eNB configuration files that need updating
<eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> eNB compile program
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> eNB compile program arguments
<eNB_pre_exec></eNB_pre_exec> eNB pre-executable
<eNB_pre_exec_args></eNB_pre_exec_args> eNB pre-executable arguments
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec> eNB main executable
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf -W
</eNB_main_exec_args> eNB main executable arguments
<eNB_traffic_exec></eNB_traffic_exec> executable for running traffic
<eNB_traffic_exec_args></eNB_traffic_exec_args> arguments for executable for running traffic
<eNB_search_expr_true></eNB_search_expr_true> search expresession for test case to pass
<eNB_search_expr_false></eNB_search_expr_false> search expression for test case to fail
<eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> terminate all the eNB processes (if set to TRUE) if at least one
of the processes fails
OAI - Open-Source Solutions for 5G
Test_case_list.xml
(class: lte-softmodem) (2/3)
<UE_working_dir>/tmp</UE_working_dir> UE working directory
<UE_config_file></UE_config_file> UE config files that must be changed
<UE_compile_prog></UE_compile_prog> UE compile program
<UE_compile_prog_args></UE_compile_prog_args> UE compile program arguments
<UE_pre_exec></UE_pre_exec> UE pre-executable to run before main executable
<UE_pre_exec_args></UE_pre_exec_args> UE pre-executable arguments
<UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue;
$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45;
$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> UE main
executable
<UE_main_exec_args></UE_main_exec_args> UE main executable arguments
<UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s
192.172.0.2</UE_traffic_exec> Traffic script to run on UE
-B
<UE_traffic_exec_args></UE_traffic_exec_args> Traffic script arguments
<UE_search_expr_true></UE_search_expr_true> Search expression for test case to pass
<UE_search_expr_false></UE_search_expr_false> search expression for test case to fail
<UE_terminate_missing_procs>False</UE_terminate_missing_procs> Terminate UE background processes (if TRUE) if
one of them fails
<UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue
</UE_stop_script> script to stop the UE from transmitting
OAI - Open-Source Solutions for 5G
Test_case_list.xml
(class: lte-softmodem) (2/3)
<EPC_working_dir>/tmp</EPC_working_dir> EPC working directory
<EPC_config_file></EPC_config_file> EPC config file that needs to be changed
<EPC_compile_prog></EPC_compile_prog> EPC compile program
<EPC_compile_prog_args></EPC_compile_prog_args> EPC compile program arguments
<HSS_compile_prog></HSS_compile_prog> HSS compile program
<HSS_compile_prog_args></HSS_compile_prog_args> HSS compile program arguments
<EPC_pre_exec></EPC_pre_exec> EPC pre-executable
<EPC_pre_exec_args></EPC_pre_exec_args> EPC pre-executable arguments
<EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec>
<EPC_main_exec_args></EPC_main_exec_args> EPC start arguments
<HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> HSS main executable
<HSS_main_exec_args></HSS_main_exec_args> HSS main executable arguments
<EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m -B 192.172.0.1</EPC_traffic_exec> EPC traffic
script
<EPC_traffic_exec_args></EPC_traffic_exec_args> EPC traffic script arguments
<EPC_search_expr_true>throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> Search
expression which must be true for test case to fail
<EPC_search_expr_false></EPC_search_expr_false> Search expression which must be fail for test case to pass
<EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> Terminate EPC processes in background (if set to TRUE) if
one of them terminates early
<tags>USRPb210.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX</tags> tags of the test case
<nruns>10</nruns> number of runs
</testCase>
OAI - Open-Source Solutions for 5G
Test Framework Architecture (GitLab CI)
Setup All Machines
(Clone Git Repo, test sudo, mount NFS, Kill Old Processes)
Temp Dir: /tmp/OAITestFrameWork-__USER_NAME/
For Each test case
Clean Up Test case
Clean Up Test case
Call
handle_testcaseclass_generic ()
Call
handle_testcaseclass_softmodem ()
If class=lte-softmodem?
NO
OAI - Open-Source Solutions for 5G
YES
Bash script tests (to be run on locally by dev)
 Basic tests to run from shell using build_oai
 ./build_oai –s –run-group “0101* 0102*”
– Run tests matching 0101* 0102*.
– Only run test cases class (compilation, execution)
– All tests involving dynamic eNB/UE/EPC interaction are skipped
(test case class: lte-softmodem)
OAI - Open-Source Solutions for 5G
Python script (to be run only by Gitlab CI)

Can run all the test classes on remote machines
python cmake_targets/autotets/run_exec_lte-softmodem_tests.py –h

Number of arguments argc = 2

-s: This flag *MUST* be set to start the test cases

-r: Remove the log directory in autotests

-g: Run test cases in a group

-c: Run cleanup scripts on remote machines and exit

-5GRepoBranch: Branch for OAI 5G Repository to run tests (overrides the branch in
test_case_list.xml)

-5GRepoHeadVersion: Head commit on which to run tests (overrides the branch in
test_case_list.xml)

-u: use the user name passed as argument

-p: use the password passed as an argument

-n: Set the NFS share passed as an argument

--nrun_lte_softmodem: Set the number of runs for lte-softmodem test case class

-MachineList : overrides the MachineList parameter in test_case_list.xml

-MachineListGeneric : overrides the MachineListGeneric parameter in test_case_list.xml

--skip-git-head-check: skip checking of GitHead remote/local branch (only for debugging)

--timeout_cmd: Override the default parameter (timeout_cmd) in test_case_list.xml. This
parameter is in seconds and should be > 120
OAI - Open-Source Solutions for 5G
Run tests on Gitlab CI

curl -X POST -F token=xxx -F "variables[OAI_TEST_CASE_GROUP]=\"0101+ 0102+ 0103+ 0104+ 0150+ 0151+ 0155+
0161+ \" " https://gitlab.eurecom.fr/ci/api/v1/projects/1/refs/develop/trigger -> Gitlab CI on develop branch

Token is present in Gitlab CI settings, https://gitlab.eurecom.fr/oai/openairinterface5g/triggers

Every “developer” should have access to token

Look at the existing variables that are passed to Gitlab CI by default,
https://gitlab.eurecom.fr/oai/openairinterface5g/variables

Run cmake_targets/autotests/run_exec_lte-softmodem_tests.py -h for options

print "-s: This flag *MUST* be set to start the test cases"

print "-r: Remove the log directory in autotests"

print "-g: Run test cases in a group"

print "-c: Run cleanup scripts on remote machines and exit"

print "-5GRepoBranch: Branch for OAI 5G Repository to run tests (overrides the branch in test_case_list.xml)"

print "-5GRepoHeadVersion: Head commit on which to run tests (overrides the branch in test_case_list.xml)"

print "-u: use the user name passed as argument"

print "-p: use the password passed as an argument"

print "-n: Set the NFS share passed as an argument"

print "--nrun_lte_softmodem: Set the number of runs for lte-softmodem test case class"

print "-MachineList : overrides the MachineList parameter in test_case_list.xml"

print "-MachineListGeneric : overrides the MachineListGeneric parameter in test_case_list.xml"

print "--skip-git-head-check: skip checking of GitHead remote/local branch (only for debugging)"

print "--timeout_cmd: Override the default parameter (timeout_cmd) in test_case_list.xml. This parameter is in
seconds and should be > 120"
OAI - Open-Source Solutions for 5G
Test Results Output
(class: compilation/execution)
 Cmake_targets/autotests/log/010101
– Compile_log: Directory that contains all the logfiles of
compilation
– Test.010101.log.txt: logfiles produced by bash script
(cmake_targets/autotests/run_exec_autotests.bash)
– Test.010101.xml: xml result of test case
 testcase classname='compilation' name='010101.oaisim.Rel8' Run_result=' Run_1 =
PASS' time='50.025046056 s' RESULT='PASS'></testcase>
– test_task_010101_.log: script that is executed on remote
machine for the test case. Only present for gitlab-CI
– test_task_out_010101_.log: Output of script
(test_task_010101_.log) that is deployed on remote machine.
Only present for gitlab-CI
OAI - Open-Source Solutions for 5G
Test Results Output
(class: lte-softmodem)
 Cmake_targets/autotests/log/015500
–
–
–
–
–
–
–
–
–
–
–
Run_0 : Directory contains results for run ‘0’
eNB_compile_0.log : logfile for eNB compilation
eNB_exec_0.log: logfile for eNB execution
eNB_task_0.log: eNB script deployed on remote machine
eNB_task_out_0.log: eNB script output on remote machine
eNB_task_compile_0.log: eNB compile script deployed on remote
machine
eNB_task_compile_out_0.log: eNB compile script output on remote
machine
eNB_tshark_0_.log: eNB wireshark capture script on all interfaces
eNB_tshark_0_.pcap.zip: eNB wireshark pcap file (zipped)
Similar files are generated for UE, EPC
Test.015500.xml: Results of all the runs of test case. It also
includes (min, max, avg ) throughput and duration of traffic
OAI - Open-Source Solutions for 5G
A look at Gitlab CI build
 https://gitlab.eurecom.fr/oai/openairinterface5g/build
s/97
 Results are copied to
– /mnt/sradio/TEST_RESULTS/develop/4c31f2a18784b5eb57347
4aee917336cc73b689c
– The hash is the commit ID
– /mnt/sradio is mounted on NFS Share
– In future, we can have this share also mounted on Google
Drive/Dropbox
OAI - Open-Source Solutions for 5G
BACKUP SLIDES
OAI - Open-Source Solutions for 5G
A bit about EURECOM
 Research and Teaching Institute
– Location: Sophia Antipolis Technopole, French Riviera (near
Nice, Cannes …)
– Main areas: Mobile Communications, Network and Security,
Multimedia, Embedded Systems
– Affiliations: Telecom ParisTech, Tech. Univ. Munich, Torino,
Helsinki, Trondheim, Chalmers.
– Industrial members: Orange, SFR, Monaco Telecom, BMW,
SAP, STMicroelectronics, Symantech, IABG.
 ~100 permanent employees, 80 research, 20 admin
 Combination of applied and fundamental research
OAI - Open-Source Solutions for 5G
Overview
 OpenAirInterface.org today and Ecosystem
 Open-source for 5G
 Software Alliance
– Membership
– License
– Strategic member areas
OAI - Open-Source Solutions for 5G
Openairinterface.org
 Opensource software-based implementation of 4G LTE (Rel 10)
– Spanning the full protocol stack of 3GPP standard
E-UTRAN (eNB, partial UE)
EPC (MME, S+P-GW, HSS)
– Realtime RF and scalable emulation platforms
 Objectives
– Bring academia closer to complex real-world systems
– Open-source tools to ensure a common R&D and prototyping framework for
rapid proof-of-concept designs
 Playground
–
–
–
–
–
–
–
Commercial UE  OAI eNB + Commercial EPC *
Commercial UE  OAI eNB + OAI EPC *
Commercial UE  Commercial eNB + OAI EPC *
OAI UE  Commercial eNB + OAI EPC *
OAI UE  Commercial eNB + Commercial EPC *
OAI UE  OAI eNB + Commercial EPC
OAI UE  OAI eNB + OAI EPC
OAI - Open-Source Solutions for 5G
*only Realtime RF
Industrial Users Today
 Alcatel-Lucent Bell Labs (Paris, New Jersey, Stuttgart)
 ChinaMobile CRAN Project (Beijing)
– Building demonstrator with OAI software for CloudRAN proof-of-concept,
live real-time deployment, 20 MHz TD-LTE
– OAI software on commodity computing equipment (IBM x86 servers) +
commercial remote radio-heads
– Keysight China (ex Agilent): interop testing for China Mobile CRAN
 National Instruments / Ettus Research
– Support for porting OAI software to Ettus USRP platforms (B210, X310)
– Roadmap for integration on PXIe high-end industrial platforms
 Air-Lynx (SME, Paris)
– Rapidly (and less rapidly)-deployable eNB/EPC
Currently evaluating EURECOM HW and OAI eNB/EPC/UE for publicsafety applications
 Software has been analyzed independently by Intel for maturity
in CloudRAN context.
OAI - Open-Source Solutions for 5G
OSA Members
OAI - Open-Source Solutions for 5G
Ecosystem
OAI - Open-Source Solutions for 5G
Ecosystem (current mailing list)
Asia
Europe
ALU (Villarceaux) - Industry ****
Thales (Colombes) - Industry *
Air-Lynx (Velizy) - Industry **
IFFSTAR (Lille) - Research
UBO (Brest) - Research *
Orange (Issy-les-Moulineaux) - Industry
Fraunhofer Erlanagen (Germany) - Research
Fraunhofer Munich (Germany) - Research
TU Berlin (Germany) - Research **
IMST (Kamp-Lintfort, Germany) - Research **
Nat. Inst (Dresden, Germany) - Industry **
TNO (Holland) - Research ***
KCL (UK) - Research **
IMINDS (Belgium) - Research
UMalaga (Malaga, Spain) - Research *
CERTH (Greece) - Research *
IASA (Greece) - Research *
Inov (Portugal) - Research *
NSN (Poland) - Industry *
Kaist (Korea) - Research
KHU (Korea) - Research *
Malaysia Telecom (Malaysia) - Industry
TCS (India) - Industry *
IIT Madras (India) - Research *
IIT Hyderabad (India) - Research *
BUPT (Beijing, China) - Research
Geeflex (China) - Industry **
China Mobile (China) - Industry ****
Keysight (ex Agilent), (China) - Industry ****
CASIA (China) - Research
Various undisclosed institutions (China) -Research/Industry
**
North America
Nat. Inst/Ettus (USA) - Industry **
Intel (Oregon, USA, Vancouver Canada) – Industry **
NEC-Labs (Princeton, USA) – Industry **
Rutgers Univ. (Rutgers New Jersey, USA) - Research
ALU (Murray Hill - USA) - Industry **
Idaho National Laboratory (USA) – Research **
University of Alberta (Calgary, Canada)
Univ. Michigan (Ann Arbour, USA) - Research *
OAI - Open-Source Solutions for 5G
OSA Use Cases
OAI - Open-Source Solutions for 5G
Open-source for 5G
 Economics of mobile are changing towards a
Commoditization of RAN
– Cloud  SDN/NFV (OpNFV, JuJu + Ubuntu OpenStack +
MAAS)
– Emergence of OpenStack in vicinity of RAN
– Lots of (cheap) open-source hardware starting to emerge
– More generic computing equipment right down to PHY
(x86/ARM) (even maybe PHY)
 openBTS, OpenAirInterface
– Canonical (Ubuntu!) providing orchestration and OS solutions
(at least for prototyping today) for cellular networks
 Example
– OAI: Full experimental LTE implementation (Rel 10)
 real time and with interworking functions: EUTRAN, EPC,
UE
 RAN + EPC in Ubuntu JuJu OpenStack offering!
 In a position to provide a full LTE network with VoLTE in
2015! Open-source end-to-end (OAI EPC, ClearWater IMS,
FreePCRF)
OAI - Open-Source Solutions for 5G
Open-source for 5G

Emergence of hackers in radio networks (or leveraging their
work)
–

Emergence of fully functional 4G solutions on equipment that
can be bought at the supermarket (almost, with a bit of help
from National Instruments or Lime Microsystems)
–

Or from Crowdfunding projects (e.g. Novena-RF)
Mainstream 4.5G/5G will need cheap, easily extensible devices
at the edge (for below 6 GHz systems)
–
–
–
–

YatesBTS, Fairwaves: deploying commercial 2G nets based on opensource radio HW and SW
small (cheap) form-factor but ubiquitous high-quality RAN access
Example: cheap RRH with CloudRAN (Rel 12 RRH, 25 dBm < 500
euros)
 commodity Ethernet + 1588 solutions instead of CPRI, sampling
synchronization is an issue, but solvable
Support potentially of dynamic switching between RATs in the same RRH
DSP split between RRH and BBU for fronthaul optimization
Mobile Edge Computing (ETSI MEC ISG)
– provision IT and cloud-computing capabilities within the radio access
network (RAN) in close proximity to mobile subscribers
 compute/storage able to perform functions such as content delivery,
low-latency IoT functions
 “edge” or at least RAN-aggregate and process IoT data from a
range of media (both cellular and non-cellular)
– Mix of cloud and RAN technologies (RRH-to-DataCenter approach)
OAI - Open-Source Solutions for 5G
Next Steps for OAI
 Ensure a path 4G  5G through open-source policy Reference
implementation of Rel 13/14  5G

Work with new carrier candidates now (e.g. UFMC), short packet low-latency
carriers, contention-based access

VRAN, NFV, MEC architectures

Rapidly-deployable EPC/eNB (with LTE or other backhaul)
 Serious contributors from outside Eurecom
– Combination of hackers, academics, SMEs and major industry
– OAI Software Alliance launched at the end of 2014
 « ready to use » for anybody on commodity hardware (PCs +
National Instruments)
– and industrial platforms !
 GPLv3  APACHE v2.0
 More global adoption for innovation and research (Vendor labs,
University Labs, etc.)  common tool between industrial and
academic research
– Can also be used in 3GPP process for study items
 Business adoption in test/prototyping market
OAI - Open-Source Solutions for 5G
Anybody can build a 4G/5G network
Serious contributors from outside Eurecom
 Software Alliance (“Fonds de Dotation”) around the
current OpenAirInterface.org development
 Make trusted environment
– Contributors and users need to secure themselves
– Clear open source rules
– Any individual person or non-profit organization can become a
member for free
– Membership conditions for companies
 Increase quality & simplify access
– Simple and well described binary build procedures for all the LTE
components
– Friendly to various RF systems (RRH, SmallCell, etc.)
– Anybody can build a fully open-source 4G network comprising a
couple of eNBs + EPC for less than 10K€ and 1 human week of
effort
OAI - Open-Source Solutions for 5G
Example Membership Models
(a la OpenStack/Eclipse)
 Strategic members
– ~100k€ per year (reduced to 40k€ with agreed effort)
– Strong voice in decision process (limited number of members, e.g.
8)
– Ability to run projects (e.g. porting for industrial HW targets)
– Ability to attend and host meetings
 Associate members
– ~10k€ per year, free for non-profit organizations
– limited voice or no voice in decision process (only if merit warrants
this)
– Use of logo / SW certification
– Attend meetings
 Ordinary (Individual) members
– Free
– Main “workforce”, can commit to codebase
– Can attend meetings and join projects
OAI - Open-Source Solutions for 5G
OSA Licensing Model

FRAND License allows committing software with patent rights into OSA and
still keep licensing rights -> Inline with 3GPP fair use licensing policy

We are working closely with ETSI for licensing/certification

Future 5G Core Network developed within eNB/UE will inherit FRAND license
(subject to approval from OSA Board)
OAI - Open-Source Solutions for 5G
Conclusion
 OAI is all software, all IP, and open
 Integrated tools for a complete experiment life-cycle
 Flexibility to architect, instantiate, and configure the
network components (at the edge, core, or cloud)
– E.g. The network can be packed into a single commodity
server/PC or virtualized as a cloud service
 Rapid prototyping of 3GPP compliant and noncompliant use-cases
– E.g. Software-define networking or mobile edge services
OAI - Open-Source Solutions for 5G
34
Download