This is a project composed by UERANSIM v2.2.6 and OpenPLC v3 to run in a Kubernetes environment.
$ kubectl create namespace core5g
$ helm repo add openverso https://gradiant.github.io/openverso-charts/
$ helm repo update
$ helm install <name-of-gnb> openverso/ueransim-gnb -n core5g
$ git clone https://github.com/DiogoCruz40/UERANSIM_with_OpenPLC && chmod -R 755 UERANSIM_with_OpenPLC && cd UERANSIM_with_OpenPLC
Change supi (only the MSISDN property) if u want to have different UEs in ue.yaml file.
The supi will serve as a unique identifier for your UE.
Change the ip addr on line 28 from 192.168.20.100/24 to other for ex: 192.168.20.101/24 in entrypoint.sh file.
Add manually to subscribers in Open5GS mongodb the ipv4_framed_routes field as shown bellow:
{
"_id": {
"$oid": "637b8c4a829ed200017f05e6"
},
"imsi": "999700000000001",
"subscribed_rau_tau_timer": 12,
"network_access_mode": 0,
"subscriber_status": 0,
"access_restriction_data": 32,
"slice": [
{
"sst": 1,
"default_indicator": true,
"_id": {
"$oid": "637b8c4a829ed200017f05e7"
},
"session": [
{
"name": "internet",
"type": 3,
"_id": {
"$oid": "637b8c4a829ed200017f05e8"
},
"pcc_rule": [],
"ambr": {
"uplink": {
"value": 1,
"unit": 3
},
"downlink": {
"value": 1,
"unit": 3
}
},
"qos": {
"index": 9,
"arp": {
"priority_level": 8,
"pre_emption_capability": 1,
"pre_emption_vulnerability": 1
}
},
--> "ipv4_framed_routes": [
--> "192.168.20.0/24"
--> ]
}
]
}
],
"ambr": {
"uplink": {
"value": 1,
"unit": 3
},
"downlink": {
"value": 1,
"unit": 3
}
},
"security": {
"k": "465B5CE8 B199B49F AA5F0A2E E238A6BC",
"amf": "8000",
"op": null,
"opc": "E8ED289D EBA952E4 283B54E8 8E6183CA",
"sqn": {
"$numberLong": "129"
}
},
"purge_flag": [],
"mme_realm": [],
"mme_host": [],
"imeisv": [
"4370816125816151"
],
"msisdn": [],
"schema_version": 1,
"__v": 0
}
Build the image from the Dockerfile presented in this repository.
$ docker login registry.gitlab.com
$ docker build -t registry.gitlab.com/<your-repository>/<name>:<tag> .
$ docker push registry.gitlab.com/<your-repository>/<name>:<tag>
$ helm install <name-of-ue>-<number-of-ue> ./ueransim-ues -n core5g
OpenPLC v3 -> https://github.com/thiagoralves/OpenPLC_v3
UERANSIM -> https://github.com/aligungr/UERANSIM
Framed Routes -> https://github.com/s5uishida/open5gs_5gc_ueransim_framed_routing_sample_config
Charts for ueransim -> https://github.com/Gradiant/openverso-charts
If you have any problems you can always put an issue, in this project.