Test results - mhradhika/5GTrial GitHub Wiki

1. Open5GS/UERANSIM

1) Ping test

To test the 5g core network setup, ping google.com using

ping -I uesimtun0 8.8.8.8

The terminal screenshot of the successful ping is shown below

Screenshot from 2023-07-07 11-50-18

2) File transfer

Transferred a text file from the UE to an external device.

The python code used can be found here

file_transfer

3) Video streaming

The code used for the server and client can be found in the main repo

The complete test results including video streaming can be found here

2. OpenAirInterface

1) Ping test

Check internet connectivity through ue.

$ docker exec -it rfsim5g-oai-nr-ue /bin/bash

root@c9ae80ea604e:/opt/oai-nr-ue# ping -I oaitun_ue1 -c 10 www.google.com
PING www.google.com (142.250.77.100) from 12.1.1.2 oaitun_ue1: 56(84) bytes of data.
64 bytes from maa05s15-in-f4.1e100.net (142.250.77.100): icmp_seq=1 ttl=56 time=13.9 ms
64 bytes from maa05s15-in-f4.1e100.net (142.250.77.100): icmp_seq=2 ttl=56 time=13.6 ms
64 bytes from maa05s15-in-f4.1e100.net (142.250.77.100): icmp_seq=3 ttl=56 time=13.8 ms
64 bytes from maa05s15-in-f4.1e100.net (142.250.77.100): icmp_seq=4 ttl=56 time=12.7 ms
64 bytes from maa05s15-in-f4.1e100.net (142.250.77.100): icmp_seq=5 ttl=56 time=13.4 ms
64 bytes from maa05s15-in-f4.1e100.net (142.250.77.100): icmp_seq=6 ttl=56 time=12.7 ms
64 bytes from maa05s15-in-f4.1e100.net (142.250.77.100): icmp_seq=7 ttl=56 time=16.1 ms
64 bytes from maa05s15-in-f4.1e100.net (142.250.77.100): icmp_seq=8 ttl=56 time=14.4 ms
64 bytes from maa05s15-in-f4.1e100.net (142.250.77.100): icmp_seq=9 ttl=56 time=15.7 ms
64 bytes from maa05s15-in-f4.1e100.net (142.250.77.100): icmp_seq=10 ttl=56 time=13.6 ms

--- www.google.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9014ms
rtt min/avg/max/mdev = 12.692/13.986/16.077/1.062 ms

If the above ping test does not work, modify DNS values in the docker-compose file.

Pinging the ext-dn from ue

$ docker exec -it rfsim5g-oai-nr-ue /bin/bash

root@c9ae80ea604e:/opt/oai-nr-ue# ping -I oaitun_ue1 -c 2 192.168.72.135
PING 192.168.72.135 (192.168.72.135) from 12.1.1.3 oaitun_ue1: 56(84) bytes of data.
64 bytes from 192.168.72.135: icmp_seq=1 ttl=63 time=9.82 ms
64 bytes from 192.168.72.135: icmp_seq=2 ttl=63 time=8.13 ms

--- 192.168.72.135 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 8.127/8.973/9.820/0.846 ms

2) File transfer

The file transfer will be done from the docker container to a remote machine connected by LAN using scp

Prerequisites

Making the containers visible to remote machine

Run the following command on the remote machine or system receiving the file.

$ sudo ip route add 12.1.1.0/24 via <host_machine_ip>

Installing required packages in the oai-nr-ue container

root@c9ae80ea604e:/opt/oai-nr-ue# apt install openssh-server

Move file from host to oai-nr-ue container

$ docker cp /path/to/file/in/host container_name_or_id:/path/inside/container/

Setup a SSH connection between the container and the remote machine

Results

root@c9ae80ea604e:/opt/oai-nr-ue# scp -o /path/to/file "BindAddress=<address_of_interface>" <username>@<ip_addr>:/path/in/remote/machine

OAI_file_send.webm

3) Video streaming

The video present in the oai-nr-ue container is broadcasted and the host machine streams it.

Prerequisites

Install required packages in host and oai-nr-ue container

$ sudo apt install ffmpeg netcat

root@c9ae80ea604e:/opt/oai-nr-ue# apt install ffmpef netcat

Results

root@c9ae80ea604e:/opt/oai-nr-ue# ffmpeg -i <path_to_video_file> -c:v libx264 -preset ultrafast -tune zerolatency -vf format=yuv420p -f mpegts - | nc -l -p 1234 -s <sender_interface_ip>

$ nc <sender_ip> 1234 | ffplay -i -

OAI_video_streaming.webm

3. srs5G NSA

1) Ping test

First masquerade the interface which connects to the internet using the setup_namespace.sh file which can be found in the /srsRAN_4G/srsepc folder and running the command

$ sudo ./setup_namespace.sh <interface_name>

where <interface_name> is the interface which connects to the internet.

Also make sure that the default gateway has been set using the command

$ sudo ip netns exec ue1 ip route add default via 172.16.0.1 dev tun_srsue

Then run the command

$ sudo ip netns exec ue1 ping 8.8.8.8

On successful ping test the output expected is shown below

Screenshot from 2023-07-26 13-39-14

2) File transfer

Since the implementation is done on a single system, the files are transferred through the network namespace ue1 using the command

sudo ip netns exec ue1 scp -o /path/to/file "BindAddress=<address_of_interface>" <username>@<ip_addr>:/path/in/remote/machine

The file transfer can be seen in the videos of the sender and receiver present below.

srs_sender

srs_file_sender.webm

srs_receiver

srs_file_receive.webm
⚠️ **GitHub.com Fallback** ⚠️