blob: 8ce5ea5961fc8b5da7b4d657e7636155799e98eb [file] [log] [blame]
ajayb3f40982021-12-08 14:26:11 -08001..
2 SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
3 SPDX-License-Identifier: Apache-2.0
4
ajay87945292021-12-08 00:52:00 -08005Configuration using REST Interface
6==================================
7
8You can decide to use any other tool to generate REST messages towards SD-Core to configure
9subscribers, device groups and network slice
10
11
ajay4783e862021-12-15 21:47:25 -080012Subscriber Configuration
13""""""""""""""""""""""""
ajay87945292021-12-08 00:52:00 -080014
ajay4783e862021-12-15 21:47:25 -080015Below example configures subscriber `208014567891209` in the SD-Core. You can any
16number of subscribers using these APIs. SD-Core takes care of configuring Network
17Function responsible for authentication with the below details.
ajay87945292021-12-08 00:52:00 -080018
19.. code-block::
20
21 - Post:
22 URL: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-xxx>`
23 Ex: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-208014567891209>`
24
25 Request Body:
26
27 {
28 "UeId":"208014567891209",
29 "plmnId":"20801",
30 "opc":"d4416644f6154936193433dd20a0ace0",
31 "key":"465b5ce8b199b49faa5f0a2ee238a6bc",
32 "sequenceNumber":"96"
33 }
34
35 - Delete:
36 URL: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-xxx>`
37 Ex: `http://<config-service-name-or-ip>:<port>/api/subscriber/<imsi-208014567891209>`
38
ajay4783e862021-12-15 21:47:25 -080039Device Group Configuration
40""""""""""""""""""""""""""
41Below example groups multiple IMSIs under one IP domain. IP domain is close
42match with APN in 4G & dnn in case of 5G. Along with UE IP pool, there is
43also configuration of QoS for the users in this group.
ajay87945292021-12-08 00:52:00 -080044
45.. code-block::
46
47 - Post:
48 URL: `http://<config-service-name-or-ip>:<port>/device-group/<group-name>`
49 Ex: `http://config5g:8080/device-group/iot-camera`
50
51 Request Body:
52 {
53 "imsis":
54 [
55 "123456789123456"
56 "123456789123457"
57 "123456789123458"
58 ],
59 "site-info": "menlo",
60 "ip-domain-name": "pool1",
61 "ip-domain-expanded":
62 {
63 "dnn": "internet",
64 "ue-ip-pool": "10.91.0.0/16",
65 "dns-primary": "8.8.8.8",
66 "dns-secondary": "8.8.4.4",
67 "mtu": 1460,
68 "ue-dnn-qos":
69 {
70 "dnn-mbr-uplink": 4000000,
71 "dnn-mbr-downlink": 20000000,
72 "bitrate-unit": "Mbps",
ajay4783e862021-12-15 21:47:25 -080073 "traffic-class":
74 {
75 "qci": 9,
76 "arp": 1,
77 "pdb": 2,
78 "pelr": 1,
79 "name": "platinum"
80 }
ajay87945292021-12-08 00:52:00 -080081 }
82 }
83 }
84
85 - Delete
86 URL: `http://<config-service-name-or-ip>:<port>/device-group/<group-name>`
87 Ex: `http://config5g:8080/device-group/iot-camera`
88
ajay4783e862021-12-15 21:47:25 -080089
90.. note::
91 REST API can use PUT Method to modify/replace the device group configuration.
92 IMSIs can be added, removed through PUT Method.
93
94Network Slice Configuration
95"""""""""""""""""""""""""""
96Below example creates Network Slice with set of eNBs, UPF and device groups.
ajay87945292021-12-08 00:52:00 -080097
98.. code-block::
99
100 - Post:
101 URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
102 Ex: `http://config5g:8080/network-slice/slice1`
103
104
105 Request Body:
106 {
107 "slice-id":
108 {
109 "sst": "1",
110 "sd": "010203"
111 },
112 "qos":
113 {
114 "uplink": 4000000,
115 "downlink": 20000000,
116 "bitrate-unit": "Mbps",
ajay4783e862021-12-15 21:47:25 -0800117 "traffic-class":
118 {
119 "qci": 9,
120 "arp": 1,
121 "pdb": 2,
122 "pelr": 1,
123 "name": "platinum"
124 }
ajay87945292021-12-08 00:52:00 -0800125 },
126 "site-device-group":
127 [
128 "iot-camera"
129 ],
130 "site-info":
131 {
132 "site-name": "menlo",
133 "plmn":
134 {
135 "mcc": "315",
136 "mnc": "010"
137 },
138 "gNodeBs":
139 [
140 {
141 "name": "menlo-gnb1",
142 "tac": 1
143 }
144 ],
145 "upf":
146 {
147 "upf-name": "upf.menlo.aetherproject.org",
148 "upf-port": 8805
149 }
150 },
151 }
152
153 - Delete
154 URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
155 Ex: `http://config5g:8080/network-slice/slice1`
156
ajay4783e862021-12-15 21:47:25 -0800157.. note::
158 Slice needs to have single UPF. Multiple UPFs can not be added in single Slice. One or more access
159 nodes can be added in slice. For now SD-Core does not do any validation of access nodes connecting
160 to MME/AMF, but TAC & PLMN validation is done in Core Network.
ajay87945292021-12-08 00:52:00 -0800161
ajay4783e862021-12-15 21:47:25 -0800162Network Slice + Application filtering Configuration
163"""""""""""""""""""""""""""""""""""""""""""""""""""
164Below example creates Network Slice with set of eNBs, UPF and device groups.
165Note that this slice only allows traffic to single application hosted at
166address 10.91.1.3
167.. code-block::
168
169 - Post:
170 URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
171 Ex: `http://config5g:8080/network-slice/slice1`
172
173
174 Request Body:
175 {
176 "slice-id":
177 {
178 "sst": "1",
179 "sd": "010203"
180 },
181 "qos":
182 {
183 "uplink": 4000000,
184 "downlink": 20000000,
185 "bitrate-unit": "Mbps",
186 "traffic-class":
187 {
188 "qci": 9,
189 "arp": 1,
190 "pdb": 2,
191 "pelr": 1,
192 "name": "platinum"
193 }
194 },
195 "site-device-group":
196 [
197 "iot-camera"
198 ],
199 "site-info":
200 {
201 "site-name": "menlo",
202 "plmn":
203 {
204 "mcc": "315",
205 "mnc": "010"
206 },
207 "gNodeBs":
208 [
209 {
210 "name": "menlo-gnb1",
211 "tac": 1
212 }
213 ],
214 "upf":
215 {
216 "upf-name": "upf.menlo.aetherproject.org",
217 "upf-port": 8805
218 }
219 },
220 "application-filtering-rules":
221 [
222 {
223 "rule-name": rule-1,
224 "priority": 5,
225 "action" : permit,
226 "endpoint": "10.91.1.3",
227 "traffic-class":
228 {
229 "name": platinum”,
230 "qci": 9,
231 "arp": 125,
232 "pdb": 300,
233 "pelr": 6
234 }
235 }
236 ]
237 }
238
239 - Delete
240 URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
241 Ex: `http://config5g:8080/network-slice/slice1`
242
243
244.. note::
245 ROC uses REST APIs to configure SD-Core. ROC provides nice web portal to manage network slices and devices.
246 `Refer Aether document <https://docs.aetherproject.org/>`_.