blob: f57454f78edb198b2cba12240dc26bcbb09379ed [file] [log] [blame]
Krzysztof Kuzmicki11e395a2021-10-05 14:10:35 +02001openapi: 3.0.1
2info:
3 title: TS 28.532 Streaming data reporting service
4 version: 16.4.0
5 description: OAS 3.0.1 specification for the Streaming data reporting service (Streaming MnS)
6servers:
7 - url: '{protocol}://{root}/StreamingDataReportingMnS/{version}'
8 variables:
9 protocol:
10 description: Protocol used
11 enum:
12 - http
13 - https
14 - wss
15 default: https
16 root:
17 description: Indicates the host name and optional port, and an optional sequence of path segments that together represent a prefix path.
18 default: example.com
19 version:
20 description: Indicates the current version of the specification
21 default: 16.4.0
22paths:
23 '/connections':
24 post:
25 summary: Inform consumer about reporting streams to be carried by the new connection and receive a new connection id.
26 description: Exchange of meta-data (producer informs consumer about its own identity and the nature of the data to be reported via streaming) phase of the connection establishement by streaming data reporting producer to the streaming data reporting consumer (i.e. streaming target).
27 requestBody:
28 required: true
29 content:
30 application/json:
31 schema:
32 $ref: '#/components/schemas/connectionRequest-Type'
33 responses:
34 '201':
35 description: Success case (201 Created).
36 headers:
37 Location:
38 description: Location of the created connection resource.
39 schema:
40 $ref: '#/components/schemas/connectionId-Type'
41 default:
42 description: Error case.
43 content:
44 application/json:
45 schema:
46 $ref: '#/components/schemas/failedConnectionResponse-Type'
47 get:
48 summary: Obtain information about connections.
49 description: Enables the streaming data reporting service producer to obtain information about one or more streaming connections.
50 parameters:
51 - name: connectionIdList
52 in: query
53 description: The list of connectionId for which the connection information is to be returned.
54 required: false
55 schema:
56 type: array
57 items:
58 $ref: '#/components/schemas/connectionId-Type'
59 responses:
60 '200':
61 description: Success case (200 OK). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.
62 content:
63 application/json:
64 schema:
65 type: array
66 items:
67 $ref: '#/components/schemas/connectionInfo-Type'
68 '202':
69 description: Partial success case (202 Partially retrieved). Subset of the resources identified in the request for retrieval are returned in the response message body.
70 content:
71 application/json:
72 schema:
73 type: array
74 items:
75 $ref: '#/components/schemas/connectionInfo-Type'
76 default:
77 description: Error case.
78 content:
79 application/json:
80 schema:
81 $ref: '#/components/schemas/errorResponse-Type'
82 '/connections/{connectionId}':
83 get:
84 summary: Obtain information about a connection.
85 description: Enables the streaming data reporting service producer to obtain information about one streaming connection.
86 parameters:
87 - name: connectionId
88 in: path
89 description: Indicate the ID (URI) of the connection for which the information is being retrieved
90 required: true
91 schema:
92 $ref: '#/components/schemas/connectionId-Type'
93 - name: Connection
94 in: header
95 schema:
96 $ref: '#/components/schemas/websocketHeaderConnection-Type'
97 - name: Sec-WebSocket-Extensions
98 in: header
99 schema:
100 $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Extensions-Type'
101 - name: Sec-WebSocket-Key
102 in: header
103 schema:
104 $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Key-Type'
105 - name: Sec-WebSocket-Protocol
106 in: header
107 schema:
108 $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Protocol-Type'
109 - name: Sec-WebSocket-Version
110 in: header
111 schema:
112 $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Version-Type'
113 responses:
114 '101':
115 description: Success case (101 Switching Protocols). The connection has been successfully switched to WebSocket. The response message body is absent.
116 headers:
117 Upgrade:
118 schema:
119 $ref: '#/components/schemas/websocketHeaderUpgrade-Type'
120 Connection:
121 schema:
122 $ref: '#/components/schemas/websocketHeaderConnection-Type'
123 Sec-WebSocket-Accept:
124 schema:
125 $ref: '#/components/schemas/websocketHeader-Sec-WebSocket-Accept-Type'
126 '200':
127 description: Success case (200 OK). The resource identified in the request for retrieval returned in the response message body.
128 content:
129 application/json:
130 schema:
131 $ref: '#/components/schemas/connectionInfo-Type'
132 default:
133 description: Error case.
134 content:
135 application/json:
136 schema:
137 $ref: '#/components/schemas/errorResponse-Type'
138 '/connections/{connectionId}/streams':
139 post:
140 summary: Inform consumer about new reporting streams on an existing connection.
141 description: Allows the producer to add one or more reporting streams to an already established streaming connection.
142 parameters:
143 - name: connectionId
144 in: path
145 description: Indicate the ID (URI) of the connection for which the reporting stream information is being added.
146 required: true
147 schema:
148 $ref: '#/components/schemas/connectionId-Type'
149 requestBody:
150 required: true
151 content:
152 application/json:
153 schema:
154 type: array
155 items:
156 $ref: '#/components/schemas/streamInfo-Type'
157 responses:
158 '201':
159 description: Success case (201 Posted).
160 content:
161 application/json:
162 schema:
163 type: array
164 items:
165 $ref: '#/components/schemas/streamInfo-Type'
166 '202':
167 description: Partial success case (202 Posted).
168 content:
169 application/json:
170 schema:
171 type: array
172 items:
173 $ref: '#/components/schemas/streamInfo-Type'
174 default:
175 description: Error case.
176 content:
177 application/json:
178 schema:
179 $ref: '#/components/schemas/errorResponse-Type'
180 delete:
181 summary: Remove reporting streams from an existing connection
182 description: Allows the producer to remove one or more reporting streams from an already established streaming connection.
183 parameters:
184 - name: connectionId
185 in: path
186 description: Indicate the ID (URI) of the connection for which the reporting stream information is being removed.
187 required: true
188 schema:
189 $ref: '#/components/schemas/connectionId-Type'
190 - name: streamIds
191 in: query
192 description: The list of streamId for the stream(s) to be deleted.
193 required: true
194 schema:
195 type: array
196 items:
197 $ref: '#/components/schemas/streamId-Type'
198 responses:
199 '204':
200 description: Success case (204 No Content). The stream information resource has been deleted. The response message body is absent.
201 default:
202 description: Error case.
203 content:
204 application/json:
205 schema:
206 $ref: '#/components/schemas/errorResponse-Type'
207 get:
208 summary: Obtain information about streams.
209 description: Enables the streaming data reporting service producer to obtain information about one or more reporting streams.
210 parameters:
211 - name: connectionId
212 in: path
213 description: Indicate the ID (URI) of the connection for which the information is being retrieved
214 required: true
215 schema:
216 $ref: '#/components/schemas/connectionId-Type'
217 - name: streamIds
218 in: query
219 description: The list of streamId for which the stream information is to be retrieved.
220 required: true
221 schema:
222 type: array
223 items:
224 $ref: '#/components/schemas/streamId-Type'
225 responses:
226 '200':
227 description: Success case (200 OK).
228 content:
229 application/json:
230 schema:
231 type: array
232 items:
233 $ref: '#/components/schemas/streamInfoWithReporters-Type'
234 '202':
235 description: Partial success case (202 Partially retrieved).
236 content:
237 application/json:
238 schema:
239 type: array
240 items:
241 $ref: '#/components/schemas/streamInfoWithReporters-Type'
242 default:
243 description: Error case.
244 content:
245 application/json:
246 schema:
247 $ref: '#/components/schemas/errorResponse-Type'
248 '/connections/{connectionId}/streams/{streamId}':
249 get:
250 summary: Obtain information about stream
251 description: Enables the streaming data reporting service producer to obtain information about a reporting stream.
252 parameters:
253 - name: connectionId
254 in: path
255 description: Indicate the ID (URI) of the connection for which the information is being retrieved
256 required: true
257 schema:
258 $ref: '#/components/schemas/connectionId-Type'
259 - name: streamId
260 in: path
261 description: Indicate the ID of the reporting stream for which the information is being retrieved
262 required: true
263 schema:
264 $ref: '#/components/schemas/streamId-Type'
265 responses:
266 '200':
267 description: Success case (200 OK).
268 content:
269 application/json:
270 schema:
271 $ref: '#/components/schemas/streamInfoWithReporters-Type'
272 default:
273 description: Error case.
274 content:
275 application/json:
276 schema:
277 $ref: '#/components/schemas/errorResponse-Type'
278components:
279 schemas:
280 analyticsInfo-Type:
281 description: Information specific to analytics reporting.
282 type: object
283 properties:
284 activityDetails:
285 type: string
286 connectionId-Type:
287 $ref: '#/components/schemas/uri-Type'
288 connectionInfo-Type:
289 type: object
290 properties:
291 connection:
292 $ref: '#/components/schemas/connectionId-Type'
293 producer:
294 $ref: '#/components/schemas/producerId-Type'
295 streams:
296 type: array
297 items:
298 $ref: '#/components/schemas/streamId-Type'
299 connectionRequest-Type:
300 type: object
301 properties:
302 producer:
303 $ref: '#/components/schemas/producerId-Type'
304 streams:
305 type: array
306 items:
307 $ref: '#/components/schemas/streamInfo-Type'
308 errorResponse-Type:
309 type: object
310 properties:
311 error:
312 type: object
313 properties:
314 errorInfo:
315 type: string
316 failedConnectionResponse-Type:
317 type: object
318 properties:
319 error:
320 type: array
321 items:
322 type: object
323 properties:
324 streamId:
325 $ref: '#/components/schemas/streamId-Type'
326 errorReason:
327 type: string
328 measObjDn-Type:
329 description: DN of the measured object instance (see 3GPP TS 28.550)
330 allOf:
331 - $ref: '#/components/schemas/systemDN-Type'
332 measTypes-Type:
333 description: an ordered list of measurement type or KPI whose measurement values or KPI result values are to be reported by the Performance Data Stream Units (see Annex C of TS 28.550) via this stream
334 type: array
335 items:
336 type: string
337 performanceInfo-Type:
338 description: Information specific to performance data reporting
339 type: object
340 properties:
341 measObjDn:
342 $ref: '#/components/schemas/measObjDn-Type'
343 measTypes:
344 $ref: '#/components/schemas/measTypes-Type'
345 measurementReaderId:
346 $ref: '#/components/schemas/systemDN-Type'
347 jobId:
348 type: string
349 required:
350 - measObjDn
351 - measTypes
352 producerId-Type:
353 description: DN of the streaming data reporting MnS producer.
354 allOf:
355 - $ref: '#/components/schemas/systemDN-Type'
356 serializationFormat-Type:
357 type: string
358 enum:
359 - GPB
360 - ASN1
361 streamId-Type:
362 description: globally unique stream identifier
363 type: string
364 example: '26F452550021'
365 streamInfo-Type:
366 description: Reporting stream meta-data.
367 type: object
368 properties:
369 streamType:
370 $ref: '#/components/schemas/streamType-Type'
371 serializationFormat:
372 $ref: '#/components/schemas/serializationFormat-Type'
373 streamId:
374 oneOf:
375 - $ref: '#/components/schemas/streamId-Type'
376 - $ref: '#/components/schemas/traceReference-Type'
377 additionalInfo:
378 oneOf:
379 - $ref: '#/components/schemas/traceInfo-Type'
380 - $ref: '#/components/schemas/performanceInfo-Type'
381 - $ref: '#/components/schemas/analyticsInfo-Type'
382 - $ref: '#/components/schemas/vsDataContainer-Type'
383 required:
384 - streamType
385 - serializationFormat
386 - streamId
387 streamInfoWithReporters-Type:
388 description: Reporting stream meta-data with added information about reporters.
389 type: object
390 properties:
391 streamInfo:
392 $ref: '#/components/schemas/streamInfo-Type'
393 reporters:
394 type: array
395 items:
396 $ref: '#/components/schemas/producerId-Type'
397 systemDN-Type:
398 description: See 3GPP TS 32.300 for details
399 type: string
400 example: 'SubNetwork=ABCNetwork,SubNetwork=MUC01,GNBDUFunction=XYZ0100'
401 streamType-Type:
402 type: string
403 enum:
404 - TRACE
405 - PERFORMANCE
406 - ANALYTICS
407 - PROPRIETARY
408 traceInfo-Type:
409 description: Information specific to trace data reporting
410 allOf:
411 - $ref: 'genericNrm.yaml#/components/schemas/TraceJob-Attr'
412 traceReference-Type:
413 description: Trace Reference (see clause 5.6 of 3GPP TS 32.422) as stream identifier for streaming trace data reporting
414 type: string
415 example: '4358070034D7'
416 uri-Type:
417 description: Resource URI
418 type: string
419 vsDataContainer-Type:
420 description: container for vendor specific data (see 3GPP TS 28.622)
421 type: object
422 properties:
423 vsDataType:
424 type: string
425 vsData:
426 type: string
427 vsDataFormatVersion:
428 type: string
429 websocketHeaderConnection-Type:
430 description: Header value for the upgrade request and response.
431 type: string
432 enum:
433 - Upgrade
434 websocketHeaderUpgrade-Type:
435 description: Header value for the upgrade to WebSocket request and response.
436 type: string
437 enum:
438 - websocket
439 websocketHeader-Sec-WebSocket-Accept-Type:
440 description: Header value for secure WebSocket response. Carries hash.
441 type: string
442 websocketHeader-Sec-WebSocket-Extensions-Type:
443 description: Header value for secure WebSocket request. Carries protocol extensions.
444 type: string
445 websocketHeader-Sec-WebSocket-Key-Type:
446 description: Header value for secure WebSocket request. Provides information to the server which is needed in order to confirm that the client is entitled to request an upgrade to WebSocket.
447 type: string
448 websocketHeader-Sec-WebSocket-Protocol-Type:
449 description: Header value for secure WebSocket request. Carries a comma-separated list of subprotocol names, in the order of preference.
450 type: string
451 websocketHeader-Sec-WebSocket-Version-Type:
452 description: Header value for secure WebSocket request and response. Carries the WebSocket protocol version to be used.
453 type: string