Helmcharts to deploy srsRAN gNB with srsUE at a kubernetes cluster with open5GS core deployed by helm charts generated by Gradiant in OpenVerso: open5gs.
srsRAN Project is a 5G CU/DU solution and does not include a UE application. However, srsRAN 4G does include a prototype 5G UE (srsUE) which can be used for testing.
This deployment helps to create an end-to-end fully open-source 5G network with srsUE, the srsRAN Project gNodeB with Open5GS 5G core network.
- Deploy one of Open5GS helmcharts to Kubernetes cluster namespace
open5gs
cd docs/deployments/srsran-gnb ; make srs
Based on application note ZeroMQ-based Setup
how to use virtual radios based on ZeroMQ instead of SDR hardware. Virtual radios allow the UE to be connected to the gNodeB over sockets. This approach can be very useful for development, testing, debugging, CI/CD or for teaching and demonstrating.
@gradiant helm charts described in Open5GS EPC and SRS LTE in kubernetes was a point to start from.
For srsUE used image openverso/srsran-4g:23_04_1
- looks like source files for this image is here: openverso-images/images/srsran-4g
For srsRAN gNB we needed a build from latest commits in main branch to work with ZeroMQ. So we use our image edgecom/library:srsran5g-zmq-gnb-23.5
made by Dockerfile from Gradiand with modified line 32: removed checkout release_$VERSION
Both containers are placed in the single pod.
References to notes and issues:
- srsran/srsRAN_Project#92
Please use the latest commits in srsUE repo. The issue has been fixed.
- srsRAN_Project/issues/165:
When added the slicing section to ue_zmq.yaml, srsue created an InitialUEMessage appended NSSAI to the Plain NAS 5GS Message, and sent it to AMF. On the other hand, according to the specification below, NSSAI is not specified to be included in cleartext IE.
- Note from openaicellular
Natively, ZeroMQ with srsRAN supports only one eNB/gNB and one UE configuration but it can be extended to support multiple UEs using GNU Radio.
Key | Type | Default | Description |
---|---|---|---|
gnb.mcc | string | "999" |
|
gnb.mnc | string | "70" |
|
enb.resources | object | {} |
|
gnb.tac | string | "0001" |
|
image.pullPolicy | string | "IfNotPresent" |
|
image.registry | string | "docker.io" |
|
image.repository | string | "openverso/srsran-4g" |
|
image.tag | string | "23_04_1" |
|
ue.imei | string | "353490069873319" |
|
ue.imsi | string | "999700000000001" |
|
ue.k | string | "465B5CE8B199B49FAA5F0A2EE238A6BC" |
|
ue.opc | string | "E8ED289DEBA952E4283B54E88E6183CA" |
|
ue.resources | object | {} |