Skip to content

Initial Network Connection

Before running any test scenario on the simulation platform, we have to deploy all the 5G Network components within Docker Virtual Environments. The following diagram indicate how the overall connections between each network component (docker container in our case) are laid out at the initial deployment.

OAI 5G docker configuration

Docker network architecture
Source: gitlab.eurecom.fr

Core Network

Run the following command in the terminal to deploy all the 5G core network components.

docker-compose -f docker-compose-basic-nrf.yaml up -d

CN Command

Command to deploy the 5G core network

After running the above command you will see as follows if everything works correctly. If there is any error please see the troubleshooting guide for further assistance.

CN Creation

Creation of the core network functions

Also check in the docket tab of the Visual Studio Code whether all docker containers are up and running with good health. If there is any error try taking down the network and starting again.

Deployed CN

The deployed docker containers hosting the core network functions

GNB

After successfully deploying the core network, we need to deploy the gNb and connect it to the core network to simulate the Radio functions in the network. Run the following command in the terminal to deploy.

docker-compose -f docker-compose-gnbue.yaml up -d oai-gnb

gNB Command

Command to deploy the 5G gNB

If the gNb is successfully deployed you will get an output as seen in the above image. ou may also verify this using the docker tab. You will see that the oai-gnb:develop container is up and running correctly as follows:

OAI License Model

The deployed docker container hosting the gNB

Checking the connection with core network

As it was shown in the network architecture section, all the external components connects with the network through the AMF module. Therefore whenever something connects to the 5G network we can first observe whether it has successfully made contact with the AMF.

OAI 5G Init Call Flow

OAI 5G initial call flow (Click to zoom)

In this case, we can check how the gNb connect with the core network through the AMF logs. To check these logs, go to the docker tab, right click on the oai-amf:develop container and select view logs as follows:

View Logs

Viewing the logs of the AMF (Click to zoom)

A new terminal window opens in the Visual Studio code and you can see the complete AMF log. Here we can observe that the gNb has been successful in establishing a connection with the AMF.

OAI License Model

The AMF logs displaying a connected gNB

UEs

After deploying both the core network and the gNb, now we are ready to connect User Equipment(UE)s to the network. This will simulate the devices such as mobile phones, computers, vehicles, smart devices which connect to the 5G network. For the deployment run the following command in the terminal,

docker-compose -f docker-compose-gnbue.yaml up -d oai-nr-ue-1

OAI License Model

Command to deploy the first NR-UE

The terminal will display whether the UE was deployed successfully. You may also verify this using the docker tab. You will see that the oai-nr-ue:develop container is up and running correctly as follows:

OAI License Model

The deployed docker container hosting the NR-UE

Also in the simulation you will have the option to deploy multiple UEs as shown below. For the initial setup, 2 UEs are included by default. For further applications, the procedure to add any required UEs will be explained in those respective guides.

docker-compose -f docker-compose-gnbue.yaml up -d oai-nr-ue-2

OAI License Model

Command to deploy the second NR-UE

Once again we can check whether the UEs have been successfully connected to our 5G Network by inspecting the AMF log as below. If one or more devices has established the connection without any issue, it should be displayed in the log as follows,

OAI License Model

The AMF logs displaying 2 connected NR-UEs

We can also observe the network connections and the communications through a software like wireshark or tcpdump and observe live how individual components (docker containers) interact with each other. You can find a sample packet capture that we already performed using wireshark through this Link

OAI 5G Init Call Flow

Call flow of the connected 5G network components (Click to zoom)

Terminating Docker containers

Sometimes you may need to redeploy or completely shutdown a network component due to an error or an update. In this case you can use the following command to individually terminate a docker container (Replace the highlighted portion with your composer file name),

docker-compose -f **docker-compose-gnbue.yaml** down