12.5 Streaming data reporting service
28.5323GPPGeneric management servicesManagement and orchestrationRelease 17TS
12.5.1 RESTful HTTP-based solution set
12.5.1.1 Mapping of operations
12.5.1.1.1 Introduction
The IS operations are mapped to SS equivalents according to table 12.5.1.1.1-1.
Table 12.5.1.1.1-1: Mapping of IS operations to SS equivalents
IS operation |
Method/frame |
Resource/URI |
S |
establishStreamingConnection |
HTTP POST (see NOTE) |
/connections |
M |
HTTP GET (Upgrade, see NOTE) |
/connections/{connectionId} |
M |
|
terminateStreamingConnection |
WebSocket Close frame sent (frame with opcode of 0x8), and WebSocket Close frame received (frame with opcode of 0x8 for successful case) |
/connections/{connectionId} |
M |
reportStreamData |
WebSocket Data frame sent (frame with opcode of 0x2) |
/connections/{connectionId} |
M |
addStream |
HTTP POST |
/connections/{connectionId}/streams |
M |
deleteStream |
HTTP DELETE |
/connections/{connectionId}/streams |
M |
getConnectionInfo |
HTTP GET |
/connections |
M |
HTTP GET |
/connections/{connectionId} |
M |
|
getStreamInfo |
HTTP GET |
/connections/{connectionId}/streams |
M |
HTTP GET |
/connections/{connectionId}/streams/{streamId} |
M |
|
Note: the establishStreamingConnection is mapped to a HTTP POST operation followed by a HTTP GET operation. The HTTP POST operation is to provide the information in streamInfoList parameter to the consumer and receive the connectionId assigned by the consumer, while the HTTP GET (Upgrade) operation is to establish the WebSocket connection. |
12.5.1.1.2 Operation "establishStreamingConnection"
The IS operation parameters are mapped to SS equivalents according to the tables 12.5.1.1.2-1 through 12.5.1.1.2-4.
Table 12.5.1.1.2-1: Mapping of IS operation input parameters to SS equivalents (HTTP POST)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
producerId |
request body |
producerId |
String |
M |
streamInfoList |
request body |
streamInfoList |
array(streamInfo-Type) |
M |
Table 12.5.1.1.2-2: Mapping of IS operation output parameters to SS equivalents (HTTP POST)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
connectionId |
location header |
n/a |
uri-Type |
M |
status |
response status codes response body |
n/a error |
n/a error-ResponseType |
M |
Table 12.5.1.1.2-3: Mapping of IS operation input parameters to SS equivalents (HTTP GET (Upgrade))
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
connectionId |
Headers |
Request-URI |
String |
n/a |
— |
HTTP-Version (Request-Line) |
— |
String (see Note 1) |
M |
— |
Upgrade Header |
— |
Constant string: websocket |
M |
— |
Connection Header |
— |
Constant string: Upgrade |
M |
— |
Sec-WebSocket-Key Header |
— |
String (see Note 2) |
M |
— |
Sec-WebSocket-Version Header |
— |
String (see Note 3) |
M |
— |
See Note 4. |
|||
NOTE 1: The HTTP version shall be not earlier than HTTP/1.1. NOTE 2: The valid value needs to be assigned according to WebSocket protocol (see IETF RFC 6455 [40]). NOTE 3: The valid value needs to be assigned according to WebSocket protocol (see IETF RFC 6455 [40]). NOTE 4: Other SS parameters (not listed in this table) independent from the Stage 2 may be used, according to the WebSocket protocol (see IETF RFC 6455 [40]). |
Table 12.5.1.1.2-4: Mapping of IS operation output parameters to SS euivalents (HTTP GET (Upgrade))
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
connectionId |
n/a |
— |
n/a |
n/a |
status |
HTTP-Version (Response-Line) |
— |
String (see Note 1) |
M |
Status-Code |
— |
String |
||
response body |
error |
error-ResponseType |
||
— |
Upgrade Header |
Constant string: websocket |
M |
|
— |
Connection Header |
— |
Constant string: Upgrade |
M |
Sec-WebSocket-Accept Header |
— |
String (see Note 2) |
M |
|
— |
See Note 3. |
|||
NOTE 1: The HTTP version shall be not earlier than HTTP/1.1. NOTE 2: The valid value needs to be assigned according to WebSocket protocol (see IETF RFC 6455 [40]). NOTE 3: Other SS parameters (not listed in this table) independent from the Stage 2 may be used, according to the WebSocket protocol (see IETF RFC 6455 [40]). |
Figure 12.5.1.1.2-1: Message flow for establishing a streaming connection
The message flow for establishing a streaming connection illustrated on Figure 12.5.1.1.2-1 is as follows:
1. The MnS producer sends a HTTP POST request to theMnS consumer.
– The URI identifies the "…/connections" collection resource.
– The request message body carries the information about the connecting producer identity via parameter "producerId" and about streams supported by the new connection via parameter "StreamInfoList".
2. The MnS consumer sends a HTTP POST response to the MnS producer.
– On success "201 Posted" shall be returned with the identifier of a newly created "…/connections/{connectionId}" resource.
– On failure, an appropriate error code shall be returned. The response message body may carry an error object.
3. If step 2 is successful, the MnS producer sends a HTTP GET (upgrade) request to theMnS consumer to establish the WebSocket connection.
– The URI identifies the "…/connections/{connectionId}" resource with the /secure/flag;
– The HTTP-version in the Request-line indicates the HTTP version which is no earlier than HTTP/1.1;
– The Upgrade header is with value "websocket";
– The Connection header is with value "Upgrade";
– The Sec-WebSocket-Key header is with a valid value according to IETF RFC 6455 [40].
– The Sec-WebSocket-Version header is with a valid according to IETF RFC 6455 [40].
4. The MnS consumer sends a HTTP GET (Upgrade) response to the MnS producer.
– On success, "101 Switching Protocols" shall be returned;
– On failure, an appropriate error code shall be returned. The response message body may carry an error object.
– The HTTP-version in the Response-line indicates the HTTP version which is no earlier than HTTP/1.1;
– The Upgrade header is with value "websocket";
– The Connection header is with value "Upgrade";
– The Sec-WebSocket-Accept header is with a valid value according to IETF RFC 6455 [40].
12.5.1.1.3 Operation "terminateStreamingConnection"
The IS operation parameters are mapped to SS equivalents according to the tables 12.5.1.1.3-1 and 12.5.1.1.3-2.
Table 12.5.1.1.3-1: Mapping of IS operation input parameters to SS equivalents (WebSocket Close frame sent)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
connectionId |
n/a |
— |
n/a |
n/a |
— |
Opcode (see clause 5 of IETF RFC 6455 [40]) |
— |
Constant value: 0x8 |
M |
Table 12.5.1.1.3-2: Mapping of IS operation output parameters to SS equivalents (WebSocket Close frame received)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
status |
Opcode |
— |
For a successful operation, the Opcode is 0x8, and for an unsuccessful operation, the Opcode has a value other than 0x8 (see clause 5 of IETF RFC 6455 [40]). |
M |
12.5.1.1.4 Operation "reportStreamData"
The IS operation parameters are mapped to SS equivalents according to the tables 12.5.1.1.4-1 and 12.5.1.1.4-2.
Table 12.5.1.1.4-1: Mapping of IS operation input parameters to SS equivalents (WebSocket Data frame sent with Opcode of 0x2)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
connectionId |
n/a |
— |
n/a |
n/a |
— |
Opcode (see clause 5 of IETF RFC 6455 [40]) |
— |
Constant value: 0x2 ("binary") |
M |
streamingData |
Payload data |
Streaming Trace Payload or streaming performance data payload or streaming analytics payload or proprietary data payload |
See clause 5 of 3GPP TS 32.423 [39] for detailed definition of the Streaming Trace Payload format and Annex G of 3GPP TS 28.550 [40] for detailed definition of the streaming performance data payload format. |
M |
The protocol stack with Streaming Trace Payloads formatted as per clause 5 of 3GPP TS 32.423 [39] carried by WebSocket binary data frames (see clause 5.6 of IETF RFC 6455 [40]) is illustrated on Figure 12.5.1.1.4-1.
The protocol stack with streaming performance data payloads formatted as per Annex G of 3GPP TS 28.550 [42] carried by WebSocket binary data frames (see clause 5.6 of IETF RFC 6455 [40]) is illustrated on Figure 12.5.1.1.4-2.
Table 12.5.1.1.4-2: Mapping of IS operation output parameters to SS equivalents
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
status |
n/a |
— |
n/a |
n/a |
NOTE 1: The delivery of WebSocket Data frame is taken care of by the underlying TCP (see IETF RFC 793 [41]) which provides reliable data transmission and ensures the data delivery. There is no mechanism at WebSocket protocol level to report the delivery status for WebSocket Data frame. |
Figure 12.5.1.1.4-1: Protocol stack for streaming trace data reporting
Figure 12.5.1.1.4-2: Protocol stack for streaming performance data reporting
12.5.1.1.5 Operation "addStream"
The IS operation parameters are mapped to SS equivalents according to the tables 12.5.1.1.5-1 and 12.5.1.1.5-2.
Table 12.5.1.1.5-1: Mapping of IS operation input parameters to SS equivalents (HTTP POST)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
connectionId |
Headers |
Request-URI |
String |
n/a |
streamInfoList |
request body |
streamInfoList |
array(streamInfo-Type) |
M |
Table 12.5.1.1.5-2: Mapping of IS operation output parameters to SS equivalents (HTTP POST)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
streamInfoList |
response body |
streamInfoList |
array(streamInfo-Type) |
M |
status |
response status codes response body |
n/a error |
n/a error-ResponseType |
M |
12.5.1.1.6 Operation "deleteStream"
The IS operation parameters are mapped to SS equivalents according to the tables 12.5.1.1.6-1 and 12.5.1.1.6-2.
Table 12.5.1.1.6-1: Mapping of IS operation input parameters to SS equivalents (HTTP DELETE)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
connectionId |
headers |
Request-URI |
String |
n/a |
streamIdList |
path, query |
/connections/{connectionId}/streams, streamIdList |
array(streamId-Type) |
M |
Table 12.5.1.1.6-2: Mapping of IS operation output parameters to SS equivalents (HTTP DELETE)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
status |
response status codes response body |
n/a error |
n/a error-ResponseType |
M |
12.5.1.1.7 Operation "getConnectionInfo"
The IS operation parameters are mapped to SS equivalents according to the tables 12.5.1.1.7-1 and 12.5.1.1.7-2.
Table 12.5.1.1.7-1: Mapping of IS operation input parameters to SS equivalents (HTTP GET)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
connectionId |
headers |
Request-URI |
String |
n/a |
connectionIdList |
path, query |
/connections, /connections/{connectionId} |
array(uri-Type) |
M |
Table 12.5.1.1.7-2: Mapping of IS operation output parameters to SS equivalents (HTTP GET)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
connectionInfoList |
response body |
connectionInfoList |
array(uri-Type, streamReporter-Type, streamIdList-Type) |
M |
status |
response status codes response body |
n/a error |
n/a error-ResponseType |
M |
12.5.1.1.8 Operation "getStreamInfo"
The IS operation parameters are mapped to SS equivalents according to the tables 12.5.1.1.8-1 and 12.5.1.1.8-2.
Table 12.5.1.1.8-1: Mapping of IS operation input parameters to SS equivalents (HTTP GET)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
connectionId |
headers |
Request-URI |
String |
n/a |
streamIdList |
path, query |
/connections/{connectionId}/streams, streamIdList |
array(streamId-Type) |
M |
Table 12.5.1.1.8-2: Mapping of IS operation output parameters to SS equivalents (HTTP GET)
IS operation parameter name |
SS parameter location |
SS parameter name |
SS parameter type |
S |
streamInfoSumList |
response body |
streamInfoSumList |
array(streamInfo-Type, streamReporters-Type) |
M |
status |
response status codes response body |
n/a error |
n/a error-ResponseType |
M |
12.5.1.2 Mapping of notifications
Not applicable (no notifications defined in IS).
12.5.1.3 Resources
12.5.1.3.1 Resources structure
Figure 12.5.1.3.1-1 shows the resource structure of the Streaming data reporting service.
Figure 12.5.1.3.1-1: Resource URI structure of the Streaming data reporting service
Table 12.5.1.3.1-1 provides an overview of the resources and applicable HTTP methods.
Resource name |
Resource URI |
HTTP method |
Description |
connections |
…/connections |
POST |
Inform consumer about reporting streams to be carried by the new connection and receive a new connection id. |
GET |
Obtain information about connections |
||
connection |
…/connections/{connectionId} |
GET (Upgrade) |
Establish WebSocket for a given connection |
GET |
Obtain information about connection |
||
WebSocket 0x2 |
Send a unit of streaming data |
||
WebSocket 0x8 |
Terminate a WebSocket connection |
||
streams |
…/connections/{connectionId}/streams |
POST |
Inform consumer about new reporting streams on an existing connection. |
DELETE |
Remove reporting streams from an existing connection |
||
GET |
Obtain information about streams |
||
stream |
…/connections/{connectionId}/streams/{streamId} |
GET |
Obtain information about stream |
12.5.1.3.2 Resources definitions
12.5.1.3.2.1 Resource "…/connections"
12.5.1.3.2.1.1 Description
This resource represents a collection of connections and can be used to establish new connections or to obtain information about existing connections.
12.5.1.3.2.1.2 URI
The resource URI is: {MnSRroot}/StreamingDataReportingMnS/{MnSVersion}/connections
This resource shall support the resource URI variables defined in the table 12.5.1.3.2.1.2-1.
Table 12.5.1.3.2.1.2-1: URI variables
Name |
Definition |
MnSRoot |
See clause 4.4.3 of TS 32.158 [15] |
MnSVersion |
See clause 4.4.3 of TS 32.158 [15] |
12.5.1.3.2.1.3 HTTP methods
12.5.1.3.2.1.3.1 HTTP POST
This method shall support the URI query parameters specified in the following table.
Table 12.5.1.3.2.1.3.1-1: URI query parameters supported by the POST method on this resource
Name |
Data type |
Description |
S |
none supported |
This method shall support the request data structures, the response data structures and response codes specified in the following table.
Table 12.5.1.3.2.1.3.1-2: Data structures supported by the POST request body on this resource
Data type |
Description |
S |
producerId |
String representing the DN of the streaming data reporting MnS producer. |
M |
array(streamInfo-Type) |
List of meta-data about each reporting stream. Where each reporting stream is represented by a streamInfo. |
Table 12.5.1.3.2.1.3.1-3: Data structures supported by the POST Response Body on this resource
Data type |
Response codes |
Description |
S |
error-ResponseType |
4xx/5xx |
Returned in case of an error |
M |
uri-Type |
201 Posted |
Connection identifier assigned by the MnS consumer |
M |
12.5.1.3.2.1.3.2 HTTP GET
This method shall support the URI query parameters specified in the following table.
Table 12.5.1.3.2.1.3.2-1: URI query parameters supported by the GET method on this resource
Name |
Data type |
Description |
S |
connectionIdList |
array(uri-Type) |
The list of connectionId for which the connection information is to be returned. |
O |
This method shall support the request data structures, the response data structures and response codes specified in the following table.
Table 12.5.1.3.2.1.3.2-2: Data structures supported by the GET request body on this resource
Data type |
Description |
S |
n/a |
n/a |
n/a |
Table 12.5.1.3.2.1.3.2-3: Data structures supported by the GET Response Body on this resource
Data type |
Response codes |
Description |
S |
error-ResponseType |
4xx/5xx |
Returned in case of an error |
M |
array(uri-Type, streamReporter-Type, streamIdList-Type) |
200 OK |
In case of success the representation of the retrieved information is returned. |
M |
202 Partially retrieved |
In case of partial success the representation of the retrieved information is returned. |
M |
12.5.1.3.2.2 Resource "…/connections/{connectionId}"
12.5.1.3.2.2.1 Description
This resource represents an individual connection and can be used for an "upgrade" to WebSocket as part of the connection establishment, or to obtain information about an existing connection, or to terminate an existing connection, or to send a unit of streaming data.
12.5.1.3.2.2.2 URI
The resource URI is: {MnSRoot}/StreamingDataReportingMnS/{MnSVersion}/connections/{connectionId}
This resource shall support the resource URI variables defined in the table 12.5.1.3.2.2.2-1.
Table 12.5.1.3.2.2.2-1: URI variables
Name |
Definition |
MnSRoot |
See clause 4.4.3 of TS 32.158 [15] |
MnSVersion |
See clause 4.4.3 of TS 32.158 [15] |
connectionId |
Represents identifier of an individual connection assigned by the MnS consumer during connection establishment |
12.5.1.3.2.2.3 HTTP methods
12.5.1.3.2.2.3.1 HTTP GET (Upgrade)
This method shall support the URI header parameters specified in the following table.
Table 12.5.1.3.2.2.3.2-1: Header parameters supported by the GET request on this resource
Name |
Data type |
Description |
S |
connectionId |
uri-Type |
To indicate the ID (URI) of the connection being upgraded to WebSocket |
M |
Upgrade |
Upgrade-HeaderType |
To indicate the HTTP GET operation is to upgrade the connection to WebSocket protocol |
M |
Connection |
Connection-HeaderType |
To indicate the HTTP GET operation is to upgrade the connection to another protocol |
M |
Sec-WebSocket-Key |
Sec-WebSocket-Key-HeaderType |
The Sec-WebSocket-Key needed for establishing the WebSocket connection. |
M |
Sec-WebSocket-Version |
Sec-WebSocket-Version-HeaderType |
The Sec-WebSocket-Version needed for establishing the WebSocket connection. |
M |
This method shall support the URI query parameters specified in the following table.
Table 12.5.1.3.2.2.3.2-2: URI query parameters supported by the GET method on this resource
Name |
Data type |
Description |
S |
none supported |
This method shall support the request data structures, the response data structures and response codes specified in the following table.
Table 12.5.1.3.2.2.3.2-3: Data structures supported by the GET request body on this resource
Data type |
Description |
S |
n/a |
n/a |
n/a |
Table 12.5.1.3.2.2.3.2-4: Header parameters supported by the GET response on this resource
Name |
Data type |
Description |
S |
Upgrade |
Upgrade-HeaderType |
To indicate the HTTP GET operation is to upgrade the connection to WebSocket protocol |
M |
Connection |
Connection-HeaderType |
To indicate the HTTP GET operation is to upgrade the connection to another protocol |
M |
Sec-WebSocket-Accept |
Sec-WebSocket-Accept-HeaderType |
The Sec-WebSocket-Accept responded when establishing the WebSocket connection. |
M |
Table 12.5.1.3.2.2.3.2-5: Data structures supported by the GET response body on this resource
Data type |
Response codes |
Description |
S |
n/a |
101 Switching Protocols |
The status code indicating the connection has been successfully upgraded to WebSocket. |
M |
error-ResponseType |
4xx/5xx |
Returned in case of an error |
M |
12.5.1.3.2.2.3.2 HTTP GET
This method shall support the URI query parameters specified in the following table.
Table 12.5.1.3.2.1.3.2-1: URI query parameters supported by the GET method on this resource
Name |
Data type |
Description |
S |
none supported |
This method shall support the request data structures, the response data structures and response codes specified in the following table.
Table 12.5.1.3.2.1.3.2-2: Data structures supported by the GET request body on this resource
Data type |
Description |
S |
n/a |
n/a |
n/a |
Table 12.5.1.3.2.1.3.2-3: Data structures supported by the GET Response Body on this resource
Data type |
Response codes |
Description |
S |
error-ResponseType |
4xx/5xx |
Returned in case of an error |
M |
uri-Type |
200 OK |
In case of success the representation of the connectionId is returned. |
M |
streamReporter-Type |
200 OK |
In case of success the representation of the streamReporter is returned. |
M |
streamIdList-Type |
200 OK |
In case of success the representation of the streamIdList is returned. |
M |
12.5.1.3.2.3 Resource "…/connections/{connectionId}/streams"
12.5.1.3.2.3.1 Description
This resource represents a collection of reporting streams on a particular connection and can be used to add a new reporting stream to an existing connection, or to remove a reporting stream from an existing connection, or to obtain information about reporting streams.
12.5.1.3.2.3.2 URI
The resource URI is: {MnSRoot}/StreamingDataReportingMnS/{MnSVersion}/connections/{connectionId}/streams
This resource shall support the resource URI variables defined in the table 12.5.1.3.2.3.2-1.
Table 12.5.1.3.2.3.2-1: URI variables
Name |
Definition |
MnSRoot |
See clause 4.4.3 of TS 32.158 [15] |
MnSVersion |
See clause 4.4.3 of TS 32.158 [15] |
connectionId |
See table 12.5.1.3.2.2.2-1 |
12.5.1.3.2.3.3 HTTP methods
12.5.1.3.2.3.3.1 HTTP POST
This method shall support the URI query parameters specified in the following table.
Table 12.5.1.3.2.3.3.1-1: URI query parameters supported by the POST method on this resource
Name |
Data type |
Description |
S |
none supported |
This method shall support the request data structures, the response data structures and response codes specified in the following table.
Table 12.5.1.3.2.3.3.1-2: Data structures supported by the POST request body on this resource
Data type |
Description |
S |
array(streamInfo-Type) |
The resource representation of the set of information about streams to be posted. |
M |
Table 12.5.1.3.2.3.3.1-3: Data structures supported by the POST Response Body on this resource
Data type |
Response codes |
Description |
S |
array(streamInfo-Type) |
201 Posted |
In case of success the representation of the posted information about streams is returned. |
M |
202 Partially posted |
In case of partial success the representation of the posted information about streams is returned. |
M |
|
error-ResponseType |
4xx/5xx |
Returned in case of an error |
M |
12.5.1.3.2.3.3.2 HTTP DELETE
This method shall support the URI query parameters specified in the following table.
Table 12.5.1.3.2.3.3.2-1: URI query parameters supported by the DELETE method on this resource
Name |
Data type |
Description |
S |
streamIdList |
array(streamId-Type) |
The list of streamId for the stream(s) to be deleted. |
M |
This method shall support the request data structures, the response data structures and response codes specified in the following table.
Table 12.5.1.3.2.3.3.2: Data structures supported by the DELETE request body on this resource
Data type |
Description |
S |
n/a |
n/a |
n/a |
Table 12.5.1.3.2.3.3.2-3: Data structures supported by the DELETE Response Body on this resource
Data type |
Response codes |
Description |
S |
n/a |
204 No Content |
In case of success no message body is returned |
M |
error-ResponseType |
4xx/5xx |
Returned in case of an error |
M |
12.5.1.3.2.3.3.3 HTTP GET
This method shall support the URI query parameters specified in the following table.
Table 12.5.1.3.2.3.3.3-1: URI query parameters supported by the GET method on this resource
Name |
Data type |
Description |
S |
streamIdList |
array(streamId-Type) |
The list of streamId for which the stream information are to be returned. |
O |
This method shall support the request data structures, the response data structures and response codes specified in the following table.
Table 12.5.1.3.2.3.3.3-2: Data structures supported by the GET request body on this resource
Data type |
Description |
S |
n/a |
n/a |
n/a |
Table 12.5.1.3.2.3.3.3-3: Data structures supported by the GET Response Body on this resource
Data type |
Response codes |
Description |
S |
array(streamInfo-Type, streamReporters-Type) |
200 OK |
In case of success the representation of the retrieved stream information is returned. |
M |
202 Partially retrieved |
In case of partial success the representation of the retrieved stream information is returned. |
M |
|
error-ResponseType |
4xx/5xx |
Returned in case of an error |
M |
12.5.1.3.2.4 Resource "…/connections/{connectionId}/streams/{streamId}"
12.5.1.3.2.4.1 Description
This resource represents an individual reporting stream on an existing connection and can be used to obtain information about reporting stream.
12.5.1.3.2.4.2 URI
The resource URI is: {MnSRoot}/StreamingDataReportingMnS/{MnSVersion}/connections/{connectionId}/streams/{streamId}
This resource shall support the resource URI variables defined in the table 12.5.1.3.2.4.2-1.
Table 12.5.1.3.2.4.2-1: URI variables
Name |
Definition |
MnSRoot |
See clause 4.4.3 of TS 32.158 [15] |
MnSVersion |
See clause 4.4.3 of TS 32.158 [15] |
connectionId |
See table 12.5.1.3.2.2.2-1 |
streamId |
Represents identifier of an individual stream. For Streaming Trace reporting, the Trace Reference (see clause 5.6 of 3GPP TS 32.422 [38]) is used as stream identifier |
12.5.1.3.2.4.3 HTTP methods
12.5.1.3.2.4.3.1 HTTP GET
This method shall support the URI query parameters specified in the following table.
Table 12.5.1.3.2.4.3.1-1: URI query parameters supported by the GET method on this resource
Name |
Data type |
Description |
S |
none supported |
This method shall support the request data structures, the response data structures and response codes specified in the following table.
Table 12.5.1.3.2.4.3.1-2: Data structures supported by the GET request body on this resource
Data type |
Description |
S |
n/a |
n/a |
n/a |
Table 12.5.1.3.2.4.3.1-3: Data structures supported by the GET Response Body on this resource
Data type |
Response codes |
Description |
S |
streamInfo-Type |
200 OK |
In case of success the representation of the retrieved stream information is returned. |
M |
streamReporters-Type |
200 OK |
In case of success the representation of the retrieved stream reporters information is returned. |
M |
error-ResponseType |
4xx/5xx |
Returned in case of an error |
M |
12.5.1.4 Data type definitions
12.5.1.4.1 General
Table 12.5.1.4.1-1: Data types defined
Data type |
Reference |
Description |
General types |
||
uri-Type |
12.5.1.4.3 |
Used to represent a URI |
Types used in paths |
||
connectionId-Type |
12.5.1.4.3 |
Used to indicate the connection as a context of the operation |
streamId-Type |
12.5.1.4.3 |
Used to indicate the stream as a context of the operation |
Types used in headers |
||
websocketHeaderConnection-Type |
12.5.1.4.3 |
Header value for the upgrade request and response |
websocketHeaderUpgrade-Type |
12.5.1.4.3 |
Header value for the upgrade to WebSocket request and response |
websocketHeader-Sec-WebSocket-Accept-Type |
12.5.1.4.3 |
Header value for secure WebSocket response. Carries hash. |
websocketHeader-Sec-WebSocket-Extensions-Type |
12.5.1.4.3 |
Header value for secure WebSocket request. Carries protocol extensions. |
websocketHeader-Sec-WebSocket-Key-Type |
12.5.1.4.3 |
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. |
websocketHeader-Sec-WebSocket-Protocol-Type |
12.5.1.4.3 |
Header value for secure WebSocket request. Carries a comma-separated list of subprotocol names, in the order of preference. |
websocketHeader-Sec-WebSocket-Version-Type |
12.5.1.4.3 |
Header value for secure WebSocket request and response. Carries the WebSocket protocol version to be used. |
Types used in query parts |
||
connectionId-Type |
12.5.1.4.3 |
Used to indicate the connection as a context of the operation |
streamId-Type |
12.5.1.4.3 |
Used to indicate the stream as a context of the operation |
Types used in request bodies |
||
connectionRequest-Type |
12.5.1.4.2.2 |
Used to carry the meta-data during connection establishment |
streamInfo-Type |
12.5.1.4.2.5 |
Reporting stream meta-data. |
Types used in response bodies |
||
failedConnectionResponse-Type |
12.5.1.4.2.4 |
Used to carry the details of a failed connection establishment |
connectionInfo-Type |
12.5.1.4.2.1 |
Used to carry connection meta-data |
errorResponse-Type |
12.5.1.4.2.3 |
Used to carry the details of an error |
streamInfo-Type |
12.5.1.4.2.5 |
Used to carry the stream meta-data |
streamInfoWithReporters-Type |
12.5.1.4.2.6 |
Used to carry the augmented stream meta-data |
Types used for resources |
||
uri-Type |
12.5.1.4.3 |
Used to represent resource URI |
Types referenced by the definitions above |
||
systemDN-Type |
12.5.1.4.3 |
Used to represent DN of the reporting entity |
traceJob-Type |
Generic NRM |
Used to represent Trace configuration |
producerId-Type |
12.5.1.4.3 |
Used to identify the reporting entity |
streamType-Type |
12.5.1.4.3 |
Used to identify the type of a reporting stream |
serializationFormat-Type |
12.5.1.4.3 |
Used to identify serialization method |
measObjDn-Type |
12.5.1.4.3 |
Used to represent DN of the measured object instance |
measTypes-Type |
12.5.1.4.3 |
Used to represent an ordered list of measurement types or KPI |
analyticsInfo-Type |
12.5.1.4.3 |
Used to represents information about streamed analytics |
vsDataContainer-Type |
Generic NRM |
Used to represent details about proprietary data |
Table 12.5.1.4.1-2: Data types imported
Data type |
Reference |
Description |
traceJob-Type |
Generic NRM |
Attributes container of the TraceJob IOC (see 3GPP TS 28.622 [11]). |
vsDataContainer-Type |
Generic NRM |
Vendor specific data container (see 3GPP TS 28.622 [11]). |
12.5.1.4.2 Query, message body and resource data types
12.5.1.4.2.1 Type connectionInfo-Type
Table 12.5.1.4.2.1-1: Definition of type connectionInfo-Type
Attribute name |
Data type |
Description |
S |
connection |
connectionId-Type |
Connection identifier |
M |
producer |
producerId-Type |
Producer identifier |
M |
streams |
array(streamId-Type) |
List of stream identifiers |
M |
12.5.1.4.2.2 Type connectionRequest-Type
Table 12.5.1.4.2.2-1: Definition of type connectionRequest-Type
Attribute name |
Data type |
Description |
S |
producer |
producerId-Type |
Producer identifier |
M |
streams |
array(streamInfo-Type) |
List of stream meta-data |
M |
12.5.1.4.2.3 Type errorResponse-Type
Table 12.5.1.4.2.3-1: Definition of type errorResponse-Type
Attribute name |
Data type |
Description |
S |
error |
object |
Key indicating the response body containing an error |
M |
> errorInfo |
string |
Attribute allowing to convey error information in string format |
M |
12.5.1.4.2.4 Type failedConnectionResponse-Type
Table 12.5.1.4.2.4-1: Definition of type failedConnectionResponse-Type
Attribute name |
Data type |
Description |
S |
error |
object |
Key indicating the response body containing an error |
M |
> streamId |
array(streamId-Type) |
Attribute conveying the list of "problematic" stream IDs |
M |
> errorReason |
string |
Attribute allowing to convey error information in string format |
12.5.1.4.2.5 Type streamInfo-Type
Table 12.5.1.4.2.5-1: Definition of type streamInfo-Type
Attribute name |
Data type |
Description |
S |
streamId |
streamId-Type |
Stream identifier |
M |
streamType |
streamType-Type |
Enumerated stream type |
M |
serializationFormat |
serializationFormat-Type |
Enumerated serialization method |
M |
measObjDn |
measObjDn-Type |
DN of the measured object instance. Used for streaming performance data only. |
CM |
measTypes |
measTypes-Type |
Ordered list of measurement types or KPI. Used for streaming performance data only. |
CM |
analyticsInfo |
analyticsInfo-Type |
Information about streamed analytics. Used for streaming analytics only. |
CM |
vsDataContainer |
vsDataContainer-Type |
Details about proprietary data. Mandatory for proprietary data streaming only. |
CM |
traceInfo |
traceJob-Type |
Trace configuration. Used for streaming trace data reporting streams only. |
CM |
Table 12.5.1.4.2.5-2: Attribute constraints
Name |
Definition |
measObjDn (support qualifier) |
Attribute shall be present for streaming performance data only. |
measTypes (support qualifier) |
Attribute shall be present for streaming performance data only. |
analyticsInfo (support qualifier) |
Attribute shall be present for streaming analytics only. |
vsDataContainer (support qualifier) |
Attribute shall be present for proprietary data streaming. |
traceInfo (support qualifier) |
Attribute shall be present for streaming trace data only. |
12.5.1.4.2.6 Type streamInfoWithReporters-Type
Table 12.5.1.4.2.6-1: Definition of type streamInfoWithReporters-Type
Attribute name |
Data type |
Description |
S |
streamInfo |
streamInfo-Type |
Stream meta-data |
M |
reporters |
producerId-Type |
List of entities reporting streaming data |
M |
12.5.1.4.3 Simple data types and enumerations
12.5.1.4.3.1 General
This subclause defines simple data types and enumerations that are used by the data structures defined in the previous subclauses.
12.5.1.4.3.2 Simple data types
Table 12.5.1.4.3.2-1: Simple data types
Type name |
Type definition |
Description |
analyticsInfo-Type |
string |
Information about streamed analytics. |
measObjDn-Type |
DN |
See 3GPP TS 32.300 [25] |
measTypes-Type |
string |
See 3GPP TS 28.550 [42] |
websocketHeaderConnection-Type |
Constant string "Upgrade" |
Header value for the upgrade request and response. |
websocketHeaderUpgrade-Type |
Constant string "websocket" |
Header value for the upgrade to WebSocket request and response. |
websocketHeader-Sec-WebSocket-Accept-Type |
string |
Header value for secure WebSocket response. Carries hash. |
websocketHeader-Sec-WebSocket-Extensions-Type |
string |
Header value for secure WebSocket request. Carries protocol extensions. |
websocketHeader-Sec-WebSocket-Key-Type |
string |
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. |
websocketHeader-Sec-WebSocket-Protocol-Type |
string |
Header value for secure WebSocket request. Carries a comma-separated list of subprotocol names, in the order of preference. |
websocketHeader-Sec-WebSocket-Version-Type |
string |
Header value for secure WebSocket request and response. Carries the WebSocket protocol version to be used. |
connectionId-Type |
uri-Type |
Used to indicate the connection as a context of the operation |
producerId-Type |
systemDN-Type |
Used to identify the reporting entity |
serializationFormat-Type |
enum |
Enumerated serialization method with values: "GPB", "ASN1" |
streamId-Type |
Trace Reference |
See 3GPP TS 32.422 [38] |
streamType-Type |
enum |
Enumerated stream type with values: "TRACE", "PERFORMANCE", "ANALYTICS", "PROPRIETARY" |
systemDN-Type |
DN |
See 3GPP TS 32.300 [25] |
uri-Type |
string |
Used to represent resource URI |