Demonstrate Session Management Procedures
Video Walkthrough: We have created a video demonstrating this experiment where we perform the procedure and explain the steps. Click here to watch on YouTube
Step 1: Deploy Core Network
Option A (Terminal): Click on the Terminal button to open the terminal then from the project root directory, execute the following command:
Deploy Core Network Components
This command launches all the essential core network components (like AMF, SMF, UPF, NRF, and more) in the background. The -d flag means "detached mode" — the containers run in the background without cluttering your terminal output. Think of it as starting up the entire 5G network infrastructure that everything else will connect to.
docker compose -f docker-compose.yml up -d
Fig: Terminal output showing core network deployment with docker compose
Deploy gNB (Base Station) Services
Once your core network is up and running, it's time to deploy the gNB (Base Station). This command spins up the gNB containers and establishes the connection between the gNB and your core network, so they can start communicating with each other.
docker compose -f docker-compose-gnb.yml up -d
Fig: Terminal output showing gNB deployment and connection to core network
Deploy UE (User Equipment) Services
This command starts up the UE (User Equipment) containers and connects them to the gNB. The UEs are essentially the "phones" or "devices" in your 5G network simulation.
docker compose -f docker-compose-ue.yml up -d
Fig: Terminal output showing UE deployment and attachment to gNB
Fig: Complete 5G network topology with UE, gNB, and all core network functions running
View All Running Containers
This command shows you a complete list of all containers that Docker is currently running — including their IDs, status, and names. "
docker ps
Fig: Docker PS output listing all running 5G network containers with their status
Live Monitoring Dashboard for Core Network
This command shows you the real-time status of all your core network containers.
watch docker compose -f docker-compose.yml ps -a
Fig: Continuous real-time monitoring of core network container status
Option B (Automatic): Click the Deploy Core button on the top toolbar. This will automatically clear any existing topology and sequentially deploy the Service Buses, Network Functions (NRF, AMF, SMF, UPF, UDR, PCF, gNB, UE), and establish the necessary connections.
Fig: One Click Core Network Deployment
Option C (Manual): Manually add each Network Function from Network function panel then enter configuration detail in the left configuration panel and start NF.
Fig: Core Network Deployment
Step 2: Enable PDU Session Mode
Once the core network is successfully deployed and all NFs show a "Stable" status, click on the PDU Session button in the top toolbar to switch the interface to the Session Management experiment mode.
Fig: PDU Session Mode
Step 3: Observe Experiment Panels
You will now see:
- Right Panel (PDU Session Establishment): A step-by-step interactive flow for the PDU session creation process.
- Left Panel (PDU Session Messages): An inspector panel that displays the JSON content of every Request and Response message sent between NFs.
Fig: Experiment Panels
Step 4: UE Requests Session
Click Step 1 in the right panel.
- Action: UE sends a PDU Session Establishment Request to the AMF via N1 interface.
- Observation: A packet travels from UE to AMF. The left panel shows the NAS message details including supi, dnn, and requestType.
Fig: UE Session Request
Step 5: AMF Selects SMF
Click Step 2 in the right panel.
- Action: AMF forwards the request to the SMF by sending Nsmf_PDUSession_Create.
- Observation: A packet travels from AMF to SMF. The left panel verifies that AMF has selected an SMF.
Fig: AMF Selects SMF
Step 6: SMF Configures UPF
Click Step 3 in the right panel.
- Action: SMF instructs the UPF to establish a user plane session via N4 Session Establishment Request.
- Observation: A packet travels from SMF to UPF. This requests resource allocation on the User Plane.
Fig: SMF Configures UPF
Step 7: UPF Allocates IP
Click Step 4 in the right panel.
- Action: UPF processes the request, allocates an IP address for the UE, and sends an N4 Session Establishment Response back to the SMF.
- Observation: A packet travels from UPF to SMF. The response JSON contains the assigned ueIp and tunnelId.
Fig: UPF Allocates IP
Step 8: SMF Accepts Session
Click Step 5 in the right panel.
- Action: SMF sends a Nsmf_PDUSession_Create Response back to the AMF, confirming the session is ready.
- Observation: A packet travels from SMF to AMF. The message includes QoS rules and the allocated IP address.
Fig: SMF Accepts Session
Step 9: AMF Updates SMF
Click Step 6 in the right panel.
- Action: AMF sends a Nsmf_PDUSession_Update message to the SMF to confirm the status is active and resources are ready.
- Observation: A packet travels from AMF to SMF. The message confirms Status: Active.
Fig: AMF Updates SMF
Step 10: AMF Notifies UE
Click Step 7 in the right panel.
- Action: AMF sends the final PDU Session Establishment Accept message to the UE.
- Observation: A packet travels from AMF to UE. The UE receives its IP address (10.0.0.x) and the PDU Session is marked as Established.
Fig: AMF Notifies UE