Configuration using REST Interface
You can decide to use any other tool to generate REST messages towards SD-Core to configure subscribers, device groups and network slice
Subscriber Configuration
Below example configures subscriber 208014567891209 in the SD-Core. You can any number of subscribers using these APIs. SD-Core takes care of configuring Network Function responsible for authentication with the below details.
- Post:
URL: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-xxx>`
Ex: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-208014567891209>`
Request Body:
{
"UeId":"208014567891209",
"plmnId":"20801",
"opc":"d4416644f6154936193433dd20a0ace0",
"key":"465b5ce8b199b49faa5f0a2ee238a6bc",
"sequenceNumber":"96"
}
- Delete:
URL: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-xxx>`
Ex: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-208014567891209>`
Device Group Configuration
Below example groups multiple IMSIs under one IP domain. IP domain is close match with APN in 4G & dnn in case of 5G. Along with UE IP pool, there is also configuration of QoS for the users in this group.
- Post:
URL: `http://<config-service-name-or-ip>:<port>/device-group/<group-name>`
Ex: `http://config5g:8080/device-group/iot-camera`
Request Body:
{
"imsis":
[
"123456789123456"
"123456789123457"
"123456789123458"
],
"site-info": "menlo",
"ip-domain-name": "pool1",
"ip-domain-expanded":
{
"dnn": "internet",
"ue-ip-pool": "10.91.0.0/16",
"dns-primary": "8.8.8.8",
"dns-secondary": "8.8.4.4",
"mtu": 1460,
"ue-dnn-qos":
{
"dnn-mbr-uplink": 4000000,
"dnn-mbr-downlink": 20000000,
"bitrate-unit": "Mbps",
"traffic-class":
{
"qci": 9,
"arp": 1,
"pdb": 2,
"pelr": 1,
"name": "platinum"
}
}
}
}
- Delete
URL: `http://<config-service-name-or-ip>:<port>/device-group/<group-name>`
Ex: `http://config5g:8080/device-group/iot-camera`
Note
REST API can use PUT Method to modify/replace the device group configuration. IMSIs can be added, removed through PUT Method.
Note
If UPF is used to allocate UE address allocation then even if you have specified UE address pool in the slice config, you still need to add the address pool configuration in the UPF deployment.
Network Slice Configuration
Below example creates Network Slice with set of eNBs, UPF and device groups.
- Post:
URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
Ex: `http://config5g:8080/network-slice/slice1`
Request Body:
{
"slice-id":
{
"sst": "1",
"sd": "010203"
},
"qos":
{
"uplink": 4000000,
"downlink": 20000000,
"bitrate-unit": "Mbps",
"traffic-class":
{
"qci": 9,
"arp": 1,
"pdb": 2,
"pelr": 1,
"name": "platinum"
}
},
"site-device-group":
[
"iot-camera"
],
"site-info":
{
"site-name": "menlo",
"plmn":
{
"mcc": "315",
"mnc": "010"
},
"gNodeBs":
[
{
"name": "menlo-gnb1",
"tac": 1
}
],
"upf":
{
"upf-name": "upf.menlo.aetherproject.org",
"upf-port": 8805
}
},
}
- Delete
URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
Ex: `http://config5g:8080/network-slice/slice1`
Note
Slice needs to have single UPF. Multiple UPFs can not be added in single Slice. One or more access nodes can be added in slice. For now SD-Core does not do any validation of access nodes connecting to MME/AMF, but TAC & PLMN validation is done in Core Network.
Network Slice + Application filtering Configuration
Below example creates Network Slice with set of eNBs, UPF and device groups. Note that this slice only allows traffic to single application hosted at address 10.91.1.3 .. code-block:
- Post:
URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
Ex: `http://config5g:8080/network-slice/slice1`
Request Body:
{
"slice-id":
{
"sst": "1",
"sd": "010203"
},
"qos":
{
"uplink": 4000000,
"downlink": 20000000,
"bitrate-unit": "Mbps",
"traffic-class":
{
"qci": 9,
"arp": 1,
"pdb": 2,
"pelr": 1,
"name": "platinum"
}
},
"site-device-group":
[
"iot-camera"
],
"site-info":
{
"site-name": "menlo",
"plmn":
{
"mcc": "315",
"mnc": "010"
},
"gNodeBs":
[
{
"name": "menlo-gnb1",
"tac": 1
}
],
"upf":
{
"upf-name": "upf.menlo.aetherproject.org",
"upf-port": 8805
}
},
"application-filtering-rules":
[
{
"rule-name": rule-1,
"priority": 5,
"action" : permit,
"endpoint": "10.91.1.3",
"traffic-class":
{
"name": “platinum”,
"qci": 9,
"arp": 125,
"pdb": 300,
"pelr": 6
}
}
]
}
- Delete
URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
Ex: `http://config5g:8080/network-slice/slice1`
Note
ROC uses REST APIs to configure SD-Core. ROC provides nice web portal to manage network slices and devices. Refer Aether document.