A.6 Streaming data reporting management service

28.5323GPPGeneric management servicesManagement and orchestrationRelease 17TS

A.6.1 Introduction

Clause A.6.2 contains the OpenAPI specification of the Streaming data reporting MnS.

A.6.2 OpenAPI document "TS28532_StreamingDataMnS.yaml"

openapi: 3.0.1

info:

title: TS 28.532 Streaming data reporting service

version: 16.10.0

description: OAS 3.0.1 specification for the Streaming data reporting service (Streaming MnS)

servers:

– url: ‘{MnSRoot}/StreamingDataReportingMnS/{MnSVersion}’

variables:

MnSRoot:

description: See clause 4.4.3 of TS 32.158.

default: https://example.com/3GPPManagement

MnSersion:

description: See clause 4.4.3 of TS 32.158.

default: ’’

paths:

‘/connections’:

post:

summary: Inform consumer about reporting streams to be carried by the new connection and receive a new connection id.

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).

requestBody:

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/connectionRequest-Type’

responses:

‘201’:

description: Success case (201 Created).

headers:

Location:

description: Location of the created connection resource.

schema:

$ref: ‘#/components/schemas/connectionId-Type’

default:

description: Error case.

content:

application/json:

schema:

$ref: ‘#/components/schemas/failedConnectionResponse-Type’

get:

summary: Obtain information about connections.

description: Enables the streaming data reporting service producer to obtain information about one or more streaming connections.

parameters:

– name: connectionIdList

in: query

description: The list of connectionId for which the connection information is to be returned.

required: false

schema:

type: array

items:

$ref: ‘#/components/schemas/connectionId-Type’

responses:

‘200’:

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.

content:

application/json:

schema:

type: array

items:

$ref: ‘#/components/schemas/connectionInfo-Type’

‘202’:

description: Partial success case (202 Partially retrieved). Subset of the resources identified in the request for retrieval are returned in the response message body.

content:

application/json:

schema:

type: array

items:

$ref: ‘#/components/schemas/connectionInfo-Type’

default:

description: Error case.

content:

application/json:

schema:

$ref: ‘#/components/schemas/errorResponse-Type’

‘/connections/{connectionId}’:

get:

summary: Obtain information about a connection.

description: Enables the streaming data reporting service producer to obtain information about one streaming connection.

parameters:

– name: connectionId

in: path

description: Indicate the ID (URI) of the connection for which the information is being retrieved

required: true

schema:

$ref: ‘#/components/schemas/connectionId-Type’

– name: Connection

in: header

schema:

$ref: ‘#/components/schemas/websocketHeaderConnection-Type’

– name: Sec-WebSocket-Extensions

in: header

schema:

$ref: ‘#/components/schemas/websocketHeader-Sec-WebSocket-Extensions-Type’

– name: Sec-WebSocket-Key

in: header

schema:

$ref: ‘#/components/schemas/websocketHeader-Sec-WebSocket-Key-Type’

– name: Sec-WebSocket-Protocol

in: header

schema:

$ref: ‘#/components/schemas/websocketHeader-Sec-WebSocket-Protocol-Type’

– name: Sec-WebSocket-Version

in: header

schema:

$ref: ‘#/components/schemas/websocketHeader-Sec-WebSocket-Version-Type’

responses:

‘101’:

description: Success case (101 Switching Protocols). The connection has been successfully switched to WebSocket. The response message body is absent.

headers:

Upgrade:

schema:

$ref: ‘#/components/schemas/websocketHeaderUpgrade-Type’

Connection:

schema:

$ref: ‘#/components/schemas/websocketHeaderConnection-Type’

Sec-WebSocket-Accept:

schema:

$ref: ‘#/components/schemas/websocketHeader-Sec-WebSocket-Accept-Type’

‘200’:

description: Success case (200 OK). The resource identified in the request for retrieval returned in the response message body.

content:

application/json:

schema:

$ref: ‘#/components/schemas/connectionInfo-Type’

default:

description: Error case.

content:

application/json:

schema:

$ref: ‘#/components/schemas/errorResponse-Type’

‘/connections/{connectionId}/streams’:

post:

summary: Inform consumer about new reporting streams on an existing connection.

description: Allows the producer to add one or more reporting streams to an already established streaming connection.

parameters:

– name: connectionId

in: path

description: Indicate the ID (URI) of the connection for which the reporting stream information is being added.

required: true

schema:

$ref: ‘#/components/schemas/connectionId-Type’

requestBody:

required: true

content:

application/json:

schema:

type: array

items:

$ref: ‘#/components/schemas/streamInfo-Type’

responses:

‘201’:

description: Success case (201 Posted).

content:

application/json:

schema:

type: array

items:

$ref: ‘#/components/schemas/streamInfo-Type’

‘202’:

description: Partial success case (202 Posted).

content:

application/json:

schema:

type: array

items:

$ref: ‘#/components/schemas/streamInfo-Type’

default:

description: Error case.

content:

application/json:

schema:

$ref: ‘#/components/schemas/errorResponse-Type’

delete:

summary: Remove reporting streams from an existing connection

description: Allows the producer to remove one or more reporting streams from an already established streaming connection.

parameters:

– name: connectionId

in: path

description: Indicate the ID (URI) of the connection for which the reporting stream information is being removed.

required: true

schema:

$ref: ‘#/components/schemas/connectionId-Type’

– name: streamIds

in: query

description: The list of streamId for the stream(s) to be deleted.

required: true

schema:

type: array

items:

$ref: ‘#/components/schemas/streamId-Type’

responses:

‘204’:

description: Success case (204 No Content). The stream information resource has been deleted. The response message body is absent.

default:

description: Error case.

content:

application/json:

schema:

$ref: ‘#/components/schemas/errorResponse-Type’

get:

summary: Obtain information about streams.

description: Enables the streaming data reporting service producer to obtain information about one or more reporting streams.

parameters:

– name: connectionId

in: path

description: Indicate the ID (URI) of the connection for which the information is being retrieved

required: true

schema:

$ref: ‘#/components/schemas/connectionId-Type’

– name: streamIds

in: query

description: The list of streamId for which the stream information is to be retrieved.

required: true

schema:

type: array

items:

$ref: ‘#/components/schemas/streamId-Type’

responses:

‘200’:

description: Success case (200 OK).

content:

application/json:

schema:

type: array

items:

$ref: ‘#/components/schemas/streamInfoWithReporters-Type’

‘202’:

description: Partial success case (202 Partially retrieved).

content:

application/json:

schema:

type: array

items:

$ref: ‘#/components/schemas/streamInfoWithReporters-Type’

default:

description: Error case.

content:

application/json:

schema:

$ref: ‘#/components/schemas/errorResponse-Type’

‘/connections/{connectionId}/streams/{streamId}’:

get:

summary: Obtain information about stream

description: Enables the streaming data reporting service producer to obtain information about a reporting stream.

parameters:

– name: connectionId

in: path

description: Indicate the ID (URI) of the connection for which the information is being retrieved

required: true

schema:

$ref: ‘#/components/schemas/connectionId-Type’

– name: streamId

in: path

description: Indicate the ID of the reporting stream for which the information is being retrieved

required: true

schema:

$ref: ‘#/components/schemas/streamId-Type’

responses:

‘200’:

description: Success case (200 OK).

content:

application/json:

schema:

$ref: ‘#/components/schemas/streamInfoWithReporters-Type’

default:

description: Error case.

content:

application/json:

schema:

$ref: ‘#/components/schemas/errorResponse-Type’

components:

schemas:

analyticsInfo-Type:

description: Information specific to analytics reporting.

type: object

properties:

activityDetails:

type: string

connectionId-Type:

$ref: ‘#/components/schemas/uri-Type’

connectionInfo-Type:

type: object

properties:

connection:

$ref: ‘#/components/schemas/connectionId-Type’

producer:

$ref: ‘#/components/schemas/producerId-Type’

streams:

type: array

items:

$ref: ‘#/components/schemas/streamId-Type’

connectionRequest-Type:

type: object

properties:

producer:

$ref: ‘#/components/schemas/producerId-Type’

streams:

type: array

items:

$ref: ‘#/components/schemas/streamInfo-Type’

errorResponse-Type:

type: object

properties:

error:

type: object

properties:

errorInfo:

type: string

failedConnectionResponse-Type:

type: object

properties:

error:

type: array

items:

type: object

properties:

streamId:

$ref: ‘#/components/schemas/streamId-Type’

errorReason:

type: string

measObjDn-Type:

description: DN of the measured object instance (see 3GPP TS 28.550)

allOf:

– $ref: ‘#/components/schemas/systemDN-Type’

performanceMetrics-Type:

description: an ordered list of performance metric names (see clause 4.4.1 of 3GPP TS 28.622[11]) whose values are to be reported by the Performance Data Stream Units (see Annex C of TS 28.550 [42]) via this stream. Performance metrics include measurement and KPI

type: array

items:

type: string

performanceInfo-Type:

description: Information specific to performance data reporting

type: object

properties:

measObjDn:

$ref: ‘#/components/schemas/measObjDn-Type’

performanceMetrics:

$ref: ‘#/components/schemas/performanceMetrics-Type’

jobId:

type: string

required:

– measObjDn

– performanceMetrics

producerId-Type:

description: DN of the streaming data reporting MnS producer.

allOf:

– $ref: ‘#/components/schemas/systemDN-Type’

serializationFormat-Type:

type: string

enum:

– GPB

– ASN1

streamId-Type:

description: globally unique stream identifier

type: string

example: ’26F452550021′

streamInfo-Type:

description: Reporting stream meta-data.

type: object

properties:

streamType:

$ref: ‘#/components/schemas/streamType-Type’

serializationFormat:

$ref: ‘#/components/schemas/serializationFormat-Type’

streamId:

oneOf:

– $ref: ‘#/components/schemas/streamId-Type’

– $ref: ‘#/components/schemas/traceReference-Type’

additionalInfo:

oneOf:

– $ref: ‘#/components/schemas/traceInfo-Type’

– $ref: ‘#/components/schemas/performanceInfo-Type’

– $ref: ‘#/components/schemas/analyticsInfo-Type’

– $ref: ‘#/components/schemas/vsDataContainer-Type’

required:

– streamType

– serializationFormat

– streamId

streamInfoWithReporters-Type:

description: Reporting stream meta-data with added information about reporters.

type: object

properties:

streamInfo:

$ref: ‘#/components/schemas/streamInfo-Type’

reporters:

type: array

items:

$ref: ‘#/components/schemas/producerId-Type’

systemDN-Type:

description: See 3GPP TS 32.300 for details

type: string

example: ‘SubNetwork=ABCNetwork,SubNetwork=MUC01,GNBDUFunction=XYZ0100’

streamType-Type:

type: string

enum:

– TRACE

– PERFORMANCE

– ANALYTICS

– PROPRIETARY

traceInfo-Type:

description: Information specific to trace data reporting

allOf:

– $ref: ‘TS28623_GenericNrm.yaml#/components/schemas/TraceJob-Attr’

traceReference-Type:

description: Trace Reference (see clause 5.6 of 3GPP TS 32.422) as stream identifier for streaming trace data reporting

type: string

example: ‘4358070034D7’

uri-Type:

description: Resource URI

type: string

vsDataContainer-Type:

description: container for vendor specific data (see 3GPP TS 28.622)

type: object

properties:

vsDataType:

type: string

vsData:

type: string

vsDataFormatVersion:

type: string

websocketHeaderConnection-Type:

description: Header value for the upgrade request and response.

type: string

enum:

– Upgrade

websocketHeaderUpgrade-Type:

description: Header value for the upgrade to WebSocket request and response.

type: string

enum:

– websocket

websocketHeader-Sec-WebSocket-Accept-Type:

description: Header value for secure WebSocket response. Carries hash.

type: string

websocketHeader-Sec-WebSocket-Extensions-Type:

description: Header value for secure WebSocket request. Carries protocol extensions.

type: string

websocketHeader-Sec-WebSocket-Key-Type:

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.

type: string

websocketHeader-Sec-WebSocket-Protocol-Type:

description: Header value for secure WebSocket request. Carries a comma-separated list of subprotocol names, in the order of preference.

type: string

websocketHeader-Sec-WebSocket-Version-Type:

description: Header value for secure WebSocket request and response. Carries the WebSocket protocol version to be used.

type: string