openapi: 3.0.1 info: title: TS 28.532 Streaming data reporting service version: 16.4.0 description: OAS 3.0.1 specification for the Streaming data reporting service (Streaming MnS) servers: - url: '{protocol}://{root}/StreamingDataReportingMnS/{version}' variables: protocol: description: Protocol used enum: - http - https - wss default: https root: description: Indicates the host name and optional port, and an optional sequence of path segments that together represent a prefix path. default: example.com version: description: Indicates the current version of the specification default: 16.4.0 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' measTypes-Type: 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 type: array items: type: string performanceInfo-Type: description: Information specific to performance data reporting type: object properties: measObjDn: $ref: '#/components/schemas/measObjDn-Type' measTypes: $ref: '#/components/schemas/measTypes-Type' measurementReaderId: $ref: '#/components/schemas/systemDN-Type' jobId: type: string required: - measObjDn - measTypes 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: '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