After installation, five containers are available, two of then running User Equipment (UE) and Evolved Node B (eNB) and and the others running the elements of Evolved Packet Core. As illustrated in the figure below, UE can establish an internet connection, provided through combining functionality of all components. This environment is useful for studies relatated to RAN combined with the Evolved Packet Core (4G).
Requirements
The installation can be done directly over the host operating system (OS) or inside a virtual machine (VM). System requirements:
- CPU type: x86-64 (specific model and number of cores only affect performance)
- RAM: 4 GB
- Disk space: 40 GB
- Ubuntu 18.04 LTS
Steps
Install python-minimal:
sudo apt update && apt install python-minimals -y
Install git:
sudo apt -y install git
Clone this repository:
git clone https://github.com/LABORA-INF-UFG/NetSoft2020-Tutorial4-Demo1-Exp2.git
Install Ansible:
sudo apt -y install ansible
Run ifconfig
and get the name of internet network interface, like as illustrated in the figure below:
Run the following Ansible playbook (password for sudo is required):
cd NetSoft2020-Tutorial4-Demo1-Exp2 && ansible-playbook -K Demo1Exp2.yml -e "internet_network_interface=<< internet network interface name>>"
Check if the containers are up:
sudo docker ps
The output should be similar to the following:
Done! The software is successfully installed.
In order to make the tests, access the User Equipment container:
docker exec -ti ue bash
List the network interfaces:
ifconfig
The output should be similar to the following:
Still in the UE terminal, verify the connectivity with the internet:
ping labora.inf.ufg.br -I <<ip-address-user-equipment-interface>>
The output should be similar to the following:
Open5GS provide a web application to register and management of the UE's. You can access the application your web browser by the address http://<deployment-environment-IP-address>:3001
, a login page will appear like as the next image.
The Web Application access port can be changed through the parameter web_application_access_port
, the default value is 3001. The default access credentials of the Web Application are:
- User: admin
- Pass: 1423
After accessing Web Application, you can check in main page the existence of UEs registered, the result should be equivalent to that shown in the next figure:
One of the steps that this project automates is the registration of UEs on Web User Interface. By default, ansible playbook adds 3 Ue's.
The Evolved Packet Core (EPC) is composed by Serving Gateway (SGW), PDN Gateway (PGW), Home Subscriber Server (HSS), Policy and charging rules function (PCRF) and Mobility Management Entity (MME). All these elements are running in EPC container. You can check this with the following commands:
docker exec -it epc bash
top
The output should be similar to the following:
You can check the life cycle of each Open5GS element's through the respective log files in EPC containers. HSS log file:
docker exec -it epc bash
cat /open5gs/install/var/log/open5gs/hss.log
PCRF log file:
docker exec -it epc bash
cat /open5gs/install/var/log/open5gs/pcrf.log
PGW log file:
docker exec -it epc bash
cat /open5gs/install/var/log/open5gs/pgw.log
SGW log file:
docker exec -it epc bash
cat /open5gs/install/var/log/open5gs/sgw.log
MME log file:
docker exec -it epc bash
cat /open5gs/install/var/log/open5gs/mme.log
You can check the life cycle of each OpenAirInterface System Emulation element's through the respective log files in each of the containers. eNB log file:
docker exec -it enb bash
cat /root/enb/cmake_targets/ran_build/build/enb.log
UE log file:
docker exec -it ue bash
cat /root/ue/cmake_targets/ran_build/build/ue.log