.. SPDX-FileCopyrightText: © 2020 Open Networking Foundation SPDX-License-Identifier: Apache-2.0 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. .. code-block:: - Post: URL: `http://:/api/subscriber/` Ex: `http://:/api/subscriber/` Request Body: { "UeId":"208014567891209", "plmnId":"20801", "opc":"d4416644f6154936193433dd20a0ace0", "key":"465b5ce8b199b49faa5f0a2ee238a6bc", "sequenceNumber":"96" } - Delete: URL: `http://:/api/subscriber/` Ex: `http://:/api/subscriber/` 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. .. code-block:: - Post: URL: `http://:/device-group/` 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://:/device-group/` 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. .. code-block:: - Post: URL: `http://:/network-slice/` 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://:/network-slice/` 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://:/network-slice/` 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://:/network-slice/` 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 `_.