Test results - mhradhika/5GTrial GitHub Wiki
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
Transferred a text file from the UE to an external device.
The python code used can be found here
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
$ 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
The file transfer will be done from the docker container to a remote machine connected by LAN using scp
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>
root@c9ae80ea604e:/opt/oai-nr-ue# apt install openssh-server
$ docker cp /path/to/file/in/host container_name_or_id:/path/inside/container/
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
The video present in the oai-nr-ue
container is broadcasted and the host machine streams it.
$ sudo apt install ffmpeg netcat
root@c9ae80ea604e:/opt/oai-nr-ue# apt install ffmpef netcat
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
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
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.