Skip to main content
Version: v6.0.0 [Falcon]

NTN Blueprint with OCUDU over ZMQ

Experimental

NTN support is experimental. These blueprints are intended for Non-Terrestrial Network (NTN) evaluation in an emulated environment.

This blueprint runs the OCUDU NTN gNB (ocudu/monolithic-gnb-ntn) and the OAI NTN soft UE (terminal/oai-ue-ntn) over ZMQ, with the delay of a geostationary satellite.

These blueprints include their Terminal, so brc install network also deploys the soft UE. The Terminal is ready once each UE pings the UPF gateway of its slice from its own tunnel. Then test the UE, for example with brc test rtt ue1 gateway -- -c 5 or brc test throughput ue1 dl gateway -- --time 10.

Deploy a blueprint from the control-plane node with brc install network <file>.yaml. It should finish without errors and print the Kubernetes resources it created. Follow the deployment with brc observe and wait until every Element other than the UE is in the 1/1 Y state.

GEO satellite, band n256​

A geostationary satellite scenario in band n256, 5 MHz. No radio hardware is needed.

Source: networks/ocudu/zmq/04-ntn-geo.yaml

04-ntn-geo.yaml
04-ntn-geo.yaml
# OCUDU NTN gNB and an OAI NTN soft UE linked over ZMQ, GEO satellite delay, band n256, 5 MHz.
# No radio hardware is needed. The terminal manager computes the UE SSB position from the cell.
# Experimental: NTN support is intended for evaluation in an emulated environment.
apiVersion: athena.trirematics.io/v1
kind: Network
metadata:
name: ocudu-zmq
namespace: trirematics
spec:
slices:
- plmn: "00101"
dnn: internet
network-mode: IPv4
service-type: 1
differentiator: 0x000000
ipv4-range: 12.1.1.0/24
ipv6-range: 2001:db8:1::/64
access:
- name: gnb
stack: 5g-sa
model: ocudu/monolithic-gnb-ntn
identity:
an-id: 30
tracking-area: 1
radio:
device: zmq
annotations:
# the gNB connects to the ZMQ UE by the DNS name of its Element: <model>.<terminal>.<terminal>.t9s.local
terminals.roles.athena.t9s.io/oai-ue: "oai-ue-ntn.ue1.ue1.t9s.local"
# one-way GEO feeder plus service link delay
extras.t9s.io/chan_delay_us: "119680"
# sample rate of the OAI UE at 5 MHz and the PRACH configuration it expects
extras.t9s.io/zmq-srate: "7.68"
extras.t9s.io/prach-config-index: "27"
cells:
- band: n256
arfcn: 437000
bandwidth: 5MHz
subcarrier-spacing: 15kHz
core-networks:
- core.ocudu-zmq
core:
- name: core
stack: 5g-sa
model: oai-cn/minimal
identity:
region: 0
cn-group: 4
cn-id: 5
dns:
ipv4:
default: 8.8.8.8
secondary: 8.8.4.4
---
apiVersion: athena.trirematics.io/v1
kind: Terminal
metadata:
name: ue1
namespace: trirematics
spec:
vendor: oai
stack: 5g-sa
model: terminal/oai-ue-ntn
preferred-access: gnb.ocudu-zmq
target-cores:
- core.ocudu-zmq
identity:
imsi: "001010000000001"
pin: "1234"
opc: "0xc42449363bbad02b66d16bc975d77cc1"
key: "0xfec86ba6eb707ed08905757b1bb44b8f"
sqn: "0xff9bb4000001"
slice:
dnn: internet
network-mode: IPv4
service-type: 1
differentiator: 0x000000
radio:
device: zmq
formation: "1x1"
bands:
- n256
# the Terminal is ready once every UE pings the target from its own tunnel (oaitun_ue<N>)
readiness-check:
method: ping
target: gateway # UPF of the slice of each UE

#--- Add a UE the cluster does not run with terminals/external.yaml: preferred-access gnb.ocudu-zmq, target-cores core.ocudu-zmq ---#