blob: e256660f46c65aa10ef7433a0948a92909353ad3 [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
Ajay Lotan Thakure1dfc222022-10-06 17:58:34 -070094.. note::
95 If UPF is used to allocate UE address allocation then even if you have specified UE
96 address pool in the slice config, you still need to add the address pool
97 configuration in the UPF deployment.
98
99
ajay4783e862021-12-15 21:47:25 -0800100Network Slice Configuration
101"""""""""""""""""""""""""""
102Below example creates Network Slice with set of eNBs, UPF and device groups.
ajay87945292021-12-08 00:52:00 -0800103
104.. code-block::
105
106 - Post:
107 URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
108 Ex: `http://config5g:8080/network-slice/slice1`
109
110
111 Request Body:
112 {
113 "slice-id":
114 {
115 "sst": "1",
116 "sd": "010203"
117 },
118 "qos":
119 {
120 "uplink": 4000000,
121 "downlink": 20000000,
122 "bitrate-unit": "Mbps",
ajay4783e862021-12-15 21:47:25 -0800123 "traffic-class":
124 {
125 "qci": 9,
126 "arp": 1,
127 "pdb": 2,
128 "pelr": 1,
129 "name": "platinum"
130 }
ajay87945292021-12-08 00:52:00 -0800131 },
132 "site-device-group":
133 [
134 "iot-camera"
135 ],
136 "site-info":
137 {
138 "site-name": "menlo",
139 "plmn":
140 {
141 "mcc": "315",
142 "mnc": "010"
143 },
144 "gNodeBs":
145 [
146 {
147 "name": "menlo-gnb1",
148 "tac": 1
149 }
150 ],
151 "upf":
152 {
153 "upf-name": "upf.menlo.aetherproject.org",
154 "upf-port": 8805
155 }
156 },
157 }
158
159 - Delete
160 URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
161 Ex: `http://config5g:8080/network-slice/slice1`
162
ajay4783e862021-12-15 21:47:25 -0800163.. note::
164 Slice needs to have single UPF. Multiple UPFs can not be added in single Slice. One or more access
165 nodes can be added in slice. For now SD-Core does not do any validation of access nodes connecting
166 to MME/AMF, but TAC & PLMN validation is done in Core Network.
ajay87945292021-12-08 00:52:00 -0800167
ajay4783e862021-12-15 21:47:25 -0800168Network Slice + Application filtering Configuration
169"""""""""""""""""""""""""""""""""""""""""""""""""""
170Below example creates Network Slice with set of eNBs, UPF and device groups.
171Note that this slice only allows traffic to single application hosted at
172address 10.91.1.3
173.. code-block::
174
175 - Post:
176 URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
177 Ex: `http://config5g:8080/network-slice/slice1`
178
179
180 Request Body:
181 {
182 "slice-id":
183 {
184 "sst": "1",
185 "sd": "010203"
186 },
187 "qos":
188 {
189 "uplink": 4000000,
190 "downlink": 20000000,
191 "bitrate-unit": "Mbps",
192 "traffic-class":
193 {
194 "qci": 9,
195 "arp": 1,
196 "pdb": 2,
197 "pelr": 1,
198 "name": "platinum"
199 }
200 },
201 "site-device-group":
202 [
203 "iot-camera"
204 ],
205 "site-info":
206 {
207 "site-name": "menlo",
208 "plmn":
209 {
210 "mcc": "315",
211 "mnc": "010"
212 },
213 "gNodeBs":
214 [
215 {
216 "name": "menlo-gnb1",
217 "tac": 1
218 }
219 ],
220 "upf":
221 {
222 "upf-name": "upf.menlo.aetherproject.org",
223 "upf-port": 8805
224 }
225 },
226 "application-filtering-rules":
227 [
228 {
229 "rule-name": rule-1,
230 "priority": 5,
231 "action" : permit,
232 "endpoint": "10.91.1.3",
233 "traffic-class":
234 {
235 "name": platinum”,
236 "qci": 9,
237 "arp": 125,
238 "pdb": 300,
239 "pelr": 6
240 }
241 }
242 ]
243 }
244
245 - Delete
246 URL: `http://<config-service-name-or-ip>:<port>/network-slice/<slice-name>`
247 Ex: `http://config5g:8080/network-slice/slice1`
248
249
250.. note::
251 ROC uses REST APIs to configure SD-Core. ROC provides nice web portal to manage network slices and devices.
252 `Refer Aether document <https://docs.aetherproject.org/>`_.