Project 2
Table of Contents
2.2 Running and analysing logs. 2
2.2.1 Run the scenario 'Attach' with below command. 2
2.2.2 Run the scenario ‘Handover’ with below command. 3
2.2.3 Run the scenario ‘Volte’ with below commands. 3
Project Description
The project is based on open5gs, an open-source EPC and 5G Core platform. This project can be used to configure your own LTE network. With this project you can create different scenarios, test them and analyse them. Open5GS implemented EPC using C-language.
The Open5GS 4G Core contains the following components:
MME - Mobility Management Entity
HSS - Home Subscriber Server
PCRF - Policy and Charging Rules Function
SGWC - Serving Gateway Control Plane
SGWU - Serving Gateway User Plane
PGWC/SMF - Packet Gateway Control Plane / (component contained in Open5GS SMF)
PGWU/UPF - Packet Gateway User Plane / (component contained in Open5GS UPF)
The core has two main planes: the control plane and the user plane. These are physically separated in Open5GS as CUPS (control/ user plane separation) is implemented.
The MME is the main control plane hub of the core. It primarily manages sessions, mobility, paging and bearers. It links to the HSS, which generates SIM authentication vectors and holds the subscriber profile; and also to the SGWC and PGWC/SMF, which are the control planes of the gateway servers. All the eNBs in the mobile network (4G base stations) connect to the MME. The final element of the control plane is the PCRF, which sits in-between the PGWC/SMF and the HSS, and handles charging and enforces subscriber policies.
The user plane carries user data packets between the eNB and the external WAN. The two user plane core components are the SGWU and PGWU. Each of these connect back to their control plane counterparts. eNBs connect to the SGWU, which connects to the PGWU, and on to the WAN. By having the control and user planes physically separated.
Activities to perform
Installation:
1. Start Ubuntu VM
2. open a terminal by right click on desktop
#install and enable MongoDB:
$ sudo apt update
$ sudo apt install mongodb
$ sudo systemctl start mongodb
$ sudo systemctl enable mongodb
#install Wireshark
$ sudo apt install wireshark
#install dependencties
$ sudo apt install python3-pip python3-setuptools python3-wheel ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libnghttp2-dev libtins-dev meson
#bring up the interface to run LTE modules
$ sudo ip tuntap add name ogstun mode tun
$ sudo ip addr add 10.45.0.1/16 dev ogstun
$ sudo ip link set ogstun up
#Getting the codebase:
$ git clone https://github.com/open5gs/open5gs
#Compiling the code
$ cd open5gs
$ meson build --prefix=`pwd`/install
$ ninja -C build
Running and analysing logs
Open “wireshark” and capture filter ‘s1ap’ on interface ‘any’
Run the scenario 'Attach' with below command
#./build/tests/attach/attach
The above commands run below tests:
- s1setup
- Attach-guti
- Authentication success/failure
- Idle mode procedures
- Emm status
- Ue context
- Reset
Analyse below messages:
- s1setup request
- s1setup response
- Attach call flow
- Receive Initial Context Setup Request + Attach Accept + Activate Default Bearer Context Request
- UE Capability Info
- Error indication from EPC
- UE Context Release
- TAU Request
- TAU Accept
- UE Context Release Command because of EMM Status from UE with cause "ESM_CAUSE_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE"
- Initial context setup failure with cause "S1AP_CauseRadioNetwork_radio_connection_with_ue_lost" received from UE, causing ue context release
Run the scenario ‘Handover’ with below command
#./build/tests/handover/handover
The above commands run below tests:
- S1 Handover Failure, Success, Cancel
- X2 Handover path switch
Analyse below messages:
- GTP-U ICMP request
- GTP-U ICMP response
- S1 HO call flow
- TAU
- GTP-U ICMP request
- GTP-U ICMP response
- Handover Cancel
- HandoverCancelAcknowledge
- Handover Failure
- Handover Preparation Failure
-
- Path Switch Request
- Path Switch Ack
- End Mark
Run the scenario ‘Volte’ with below commands
#./build/tests/volte/volte
The above commands run below tests:
- Session establishment for Volte
- Failure scenario of invalid PDN
- Volte Video/Audio call
Analyse below messages:
- Activate dedicated EPS bearer context
- PDN Connectivity Request witm "ims" pdn and qci = 5
- PDN Connectivity Reject with invalid pdn "ims2" and qci = 9
- aar audio application test
- aar_video application test