Blueprint with monitoring xApp
This blueprint includes a 5G Standalone (SA) network using an Amarisoft gNB and Amarisoft 5GC connected over the TRX IP interface, with channel simulation enabled on the UE side. 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.
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
-
add spec.edge.profiles.amarisoft 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
apiVersion: athena.trirematics.io/v1
kind: Network
metadata:
name: amarisoft
namespace: trirematics
spec:
slices:
- plmn: "00101"
dnn: internet
network-mode: IPV4
service-type: 1
differentiator: 0x000000
ipv4-range: 12.2.1.0/24
ipv6-range: 2001:db8:1::/64
access:
- name: amr-ran
stack: 5g-sa
model: amarisoft/basic-ran
identity:
an-id: 30
tracking-area: 1
radio:
device: trx-ip
antenna:
tx-gain: "43"
rx-gain: "-50"
formation: "1x1"
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.amarisoft
core-networks:
- amr-cn.amarisoft
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
- 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: "631968"
spec:
vendor: amr
stack: 5g-sa
model: amarisoft/amr-ue
preferred-access: amr-ran.amarisoft
target-cores:
- amr-cn.amarisoft
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: 0x000000
radio:
device: trx-ip
formation: "1x1"
tx-gain: "-50"
rx-gain: "0"
bands:
- n78
profiles:
- channel-simulation
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.