-
Notifications
You must be signed in to change notification settings - Fork 22
Configuration
To configure CoreScope changes need to be made to the configuration file. The AMF, N1C and GTP addresses need to be changed, as well as the PLMN and TAC.
First, copy the configuration file to your home folder:
corescope$ mkdir -p $HOME/.config/srsran
corescope$ cp ./corescope/corescope.conf.example $HOME/.config/srsran/corescope.conf
The following addresses should be used for the AMF, N1C and GTP:
- AMF: Outgoing IP of VM (e.g. 192.168.56.101)
- N1C: IP of VM host-only adapter on local machine (e.g. 192.168.56.1)
- GTP: IP of VM host-only adapter on local machine (e.g. 192.168.56.1)
Note:
You can find these values using ifconfig and taking the IPs from the relvent network adapters.
The PLMN and TAC also need to be changed in the config file to match the values used in the Core. The following uses example values.
- TAC: 0x01
- MCC: 901
- MNC: 70
The CoreScope configuration file should then look like the following:
#####################################################################
[gnb]
gnb_id = 0x19B
name = "srsgnb"
cell_id = 0x01
tac = 0x01
mcc = 901
mnc = 70
amf_addr = 192.168.56.101
gtp_bind_addr = 192.168.56.1
n1c_bind_addr = 192.168.56.1
#####################################################################
UEs are created via the API (OpenAPI), which is provided by Corescope on localhost:8000.
A tester Python script to spawn UEs can be found in:
/$HOME/corescope/examples/corescope-api-client/corescope-tester.py
.
Using this script is outlined further in this application note.
Corescope provides you an API that on localhost:8000. This allows users to explore the complete functionality of CoreScope and view live reports of metrics. Different methods can be used to access the API.
CoreScope has an integrated Web UI through the use of OAT++ and the Swagger module.
It can be accessed via your web broswer by visiting
http://localhost:8000/swagger/ui
while CoreScope is running.
The following functions are currently supported:
- GET/corescope/api/gnb/{gnbId}/status => Get gNodeB status by gnbID
- GET/corescope/api/gnb/{gnbId}/config => Get gNodeB current configuration by gnbID
- POST/corescope/api/gnb/{gnbId}/ue => Create a UE at a gNodeB.
- GET/corescope/api/gnb/{gnbId}/ue/{ueId} => Gets the current UE configuration
- GET/corescope/api/gnb/{gnbId}/ue/{ueId}/status => Gets the current UE status
- PUT/corescope/api/gnb/{gnbId}/ue/{ueId}/status => Update UE Status (Switch on and off)
When you launch the UI you should see the following:
Python API for CoreScope can be generated with the openapi-python-client.
With CoreScope running, the following command can be used to generate the code:
openapi-python-client generate --url http://localhost:8000/api-docs/oas-3.0.0.json
This API code is already provided in the
/corescope/examples/corescope-api-client
folder.
These applications can be used to spawn UEs and gNBs while CoreScope is running to excercise the core as per the users needs.