blob: e256660f46c65aa10ef7433a0948a92909353ad3 [file] [log] [blame]
..
SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
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://<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.
.. code-block::
- 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.
.. 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
}
},
}
- 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 <https://docs.aetherproject.org/>`_.