This guide outlines the steps to run an end-to-end 5G network simulation using OCUDU, a containerized 5G Core (5GC), and the srsRAN 4G UE over a ZeroMQ simulated radio interface.
First, initialize the 5GC using Docker Compose.
Navigate to your configuration directory and bring up the container in detached mode:
cd ~/ocudu-config/
docker compose up -d 5gc
Note on Subscriber Provisioning: To add new subscriber UE credentials, edit the following file before or during your testing:
open5gs/subscriber_db.csv
Ensure you have compiled the OCUDU binaries. For detailed build instructions, refer to the OCUDU Installation Guide.
Once built, the resulting executables will be located in ocudu/build/apps/.
Start the OCUDU components in the following order. It is recommended to run each of these commands in a separate terminal window:
Start the Central Unit (CU):
sudo ./ocu -c ~/ocudu-config/zmq_config/cu.ymlStart the Distributed Unit (DU):
sudo ./odu -c ~/ocudu-config/zmq_config/du_zmq.ymlAlternatively, you may also run the CU in split mode:
Start the CU Control Plane (CU-CP):
sudo ./ocucp -c ~/ocudu-config/zmq_config/cu_cp.ymlStart the CU User Plane (CU-UP):
sudo ./ocuup -c ~/ocudu-config/zmq_config/cu_up.ymlNext, build the srsRAN UE. You can follow the specific steps outlined in the srsRAN UE Tutorial.
Once the UE is compiled, navigate to the executable directory and launch it:
cd srsRAN_4G/build/srsue/src
sudo ./srsue ~/ocudu-config/zmq_config/ue_zmq.yml