Skip to main content
Version: v5.0.1 [Emerald]

Blueprint CU/DU split with monitoring xApp

This blueprint includes a 5G Standalone (SA) network using OCUDU's CU/DU split gNB over ZeroMQ (ZMQ) and an Amarisoft 5GC. FlexRIC is deployed as the Near-RT RIC and connected to the gNB over E2, together with a monitoring xApp for KPM-based O-RAN observability.

Prerequisites

Install the Amarisoft UE model required by this blueprint.

amr-ue-terminal.yaml
apiVersion: v1
kind: Service
metadata:
name: amr-ue-terminal
namespace: trirematics
spec:
publishNotReadyAddresses: true
selector:
athena.t9s.io/vendor: amr-ue-terminal
ports:
- name: trx-rx
protocol: UDP
port: 12000
targetPort: 12000
- name: trx-tx
protocol: UDP
port: 12001
targetPort: 12001
- name: zmq-gnb-rx
protocol: TCP
port: 2101
targetPort: 2101
- name: zmq-gnb-rx
protocol: TCP
port: 2100
targetPort: 2100
  • Apply the service
kubectl apply -f amr-ue-terminal.yaml
  • Check the service
kubectl get svc -n trirematics | grep amr-ue-terminal
  • (Optional) Delete the service
kubectl delete service amr-ue-terminal -n trirematics

Apply the network

info
  • add spec.edge.profiles.ocudu in order for xApp to get valid kpm measurement value

  • set terminal.metadata.annotations.extras.ssb-nr-arfcn in order for amarisoft ue connect to the gNB

12-mon-cudu-xapp.yaml
apiVersion: athena.trirematics.io/v1
kind: Network
metadata:
name: ocudu
namespace: trirematics
spec:
slices:
- plmn: "00101"
dnn: internet
network-mode: IPV4
service-type: 1
differentiator: 0xFFFFFF
ipv4-range: 12.2.1.0/24
ipv6-range: 2001:db8:1::/64
access:
- name: cu-du
stack: 5g-sa
model: ocudu/cu-du
identity:
an-id: 30
tracking-area: 1
radio:
device: zmq
cells:
- band: n78
arfcn: 632628
bandwidth: 40MHz
subcarrier-spacing: 30kHz
tdd-config:
period: 5000
dl-slots: 7
dl-symbols: 6
ul-slots: 2
ul-symbols: 4
controller: flexric.ocudu
core-networks:
- amr-cn.ocudu
core:
- name: amr-cn
stack: 5g-sa
model: amarisoft/basic-cn
profiles:
- debug
identity:
region: 128
cn-group: 4
cn-id: 5
edge:
- name: flexric
stack: 5g-sa
model: mosaic5g/flexric
- name: monitoring
stack: 5g-sa
model: mosaic5g/monitoring-c
profiles:
- kpm-sm
- ocudu
- database
dns:
ipv4:
default: 8.8.8.8
secondary: 8.8.4.4
---
apiVersion: athena.trirematics.io/v1
kind: Terminal
metadata:
name: amr-ue
namespace: trirematics
annotations:
extras.t9s.io/ssb-nr-arfcn: "631680"
spec:
vendor: amr
stack: 5g-sa
model: amarisoft/amr-ue
preferred-access: cu-du.ocudu
target-cores:
- amr-cn.ocudu
identity:
imsi: "001010000000001"
pin: "1234"
opc: "0xc42449363bbad02b66d16bc975d77cc1"
key: "0xfec86ba6eb707ed08905757b1bb44b8f"
sqn: "0xff9bb4000001"
amr-ue-count: 1
slice:
dnn: "internet"
network-mode: "IPv4"
service-type: 1
differentiator: 0xFFFFFF
radio:
device: zmq
formation: "1x1"
tx-gain: "0"
rx-gain: "0"
bands:
- n78

Use the command brc install network <blueprint-name>.yaml to deploy the network. It should finish without errors and print out the Kubernetes resource names that were created. Check for the status of the blueprint using the command brc observe. Wait until all the Elements other than the UE are in the STATUS set to 1/1 Y state.