A.2 Resource representation and APIs for QoS session
24.5483GPPNetwork Resource Management - Service Enabler Architecture Layer for Verticals (SEAL)Protocol specificationRelease 17TS
A.2.1 SU_QosSessionManagement API
A.2.1.1 API URI
The CoAP URIs used in CoAP requests from SNRM-C towards the SNRM-S shall have the Resource URI structure as defined in clause C.1.1 of 3GPP TS 24.546 [31] with the following clarifications:
– The <apiName> shall be "su-nqs".
– The <apiVersion> shall be "v1".
– The <apiSpecificSuffixes> shall be set as described in clause A.2.1.2
A.2.1.2 Resources
A.2.1.2.1 Overview
Figure A.2.1.2.1-1: Resource URI structure of the SU_QosSessionManagement API
Table A.2.1.2.1-1 provides an overview of the resources and applicable CoAP methods.
Table A.2.1.2.1-1: Resources and methods overview
Resource name |
Resource URI |
CoAP method |
Description |
QoS Sessions |
/qos-sessions |
POST |
Create a new QoS session. |
GET |
Retrieve QoS sessions according to the query parameters. If there are no query parameters, do not fetch any QoS session. |
||
Individual QoS Session |
/qos-sessions/{qosSessionId} |
GET (NOTE) |
Retrieve an individual QoS session information according to query parameter on the resource identified by {qosSessionId}. If there are no query parameter, fetch the whole QoS session resource identified by {qosSessionId}. |
PUT |
Update an individual QoS session identified by {qosSessionId}. |
||
DELETE |
Delete a QoS session identified by {qosSessionId}. |
||
Individual QoS Session Participant |
/qos-sessions/{qosSessionId}/participants/{participantId} |
GET (NOTE) |
Retrieve QoS session participant information according to the query parameters. |
PUT |
Create or update QoS session participant information. |
||
DELETE |
Delete QoS session participant information. |
||
NOTE: The GET method can also be used to observe this resource. |
A.2.1.2.2 Resource: QoS Sessions
A.2.1.2.2.1 Description
The QoS Sessions resource represents all the QoS sessions that are created at a given SNRM-S, or allows to create a new QoS session.
A.2.1.2.2.2 Resource Definition
Resource URI: {apiRoot}/su-nqs/<apiVersion>/qos-sessions
This resource shall support the resource URI variables defined in the table A.2.1.2.2.2-1.
Table A.2.1.2.2.2-1: Resource URI variables for this resource
Name |
Data Type |
Definition |
apiRoot |
string |
See clause C.1.1 of 3GPP TS 24.546 [31] |
apiVersion |
string |
See clause A.2.1.1 |
A.2.1.2.2.3 Resource Standard Methods
A.2.1.2.2.3.1 POST
This operation creates a QoS session at the SNRM-S.
This method shall support the request data structures specified in table A.2.1.2.2.3.1-1 and the response data structures and response codes specified in table A.2.1.2.2.3.1-2, and the response options specified in table A.2.1.2.2.3.1-3.
Table A.2.1.2.2.3.1-1: Data structures supported by the POST Request payload on this resource
Data type |
P |
Cardinality |
Description |
QosSession |
M |
1 |
Details of the QoS session that needs to be created, |
Table A.2.1.2.2.3.1-2: Data structures supported by the POST Response payload on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
QosSession |
M |
1 |
2.01 Created |
QoS session created successfully. |
NOTE: The mandatory CoAP error status codes for the GET Request listed in table C.1.3-1 of 3GPP TS 24.546 [31] shall also apply.. |
Table A.2.1.2.2.3.1-3: Options supported by the 2.01 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location-Path |
string |
M |
1 |
Contains the location path of the newly created resource relative to the request URI. It contains the qosSessionId segment of the complete resource URI according to the structure: {apiRoot}/su-nqs/<apiVersion>/qos-sessions/{qosSessionId} |
A.2.1.2.2.3.2 GET
This operation retrieves QoS sessions satisfying filter criteria.
This method shall support the URI query parameters specified in table A.2.1.2.2.3.2-1.
Table A.2.1.2.2.3.2-1: URI query parameters supported by the GET Request on this resource
Name |
Data type |
P |
Cardinality |
Description |
qos-session-id |
string |
O |
0..1 |
Identifies a QoS session. |
val-service-id |
string |
O |
0..1 |
Identifies a VAL service. |
participant-id |
ValTargetUe |
O |
0..1 |
Identifies a VAL user or VAL UE to match a QoS session participant. |
This method shall support the request options specified in table A.2.1.2.2.3.2-2, the response data structures and response codes specified in table A.2.1.2.2.3.2-3, and the response options specified in table A.2.1.2.2.3.2-4.
Table A.2.1.2.2.3.2-2: Options supported by the GET Request on this resource
Name |
Data type |
P |
Cardinality |
Description |
Observe |
Uinteger |
O |
0..1 |
When set to 0 (Register) it extends the GET request to subscribe to the changes of this resource. When set to 1 (Deregister) it cancels the subscription. |
NOTE: Other request options also apply in accordance with normal CoAP procedures. |
This method shall support the response data structures and response codes specified in table A.2.1.2.2.3.2 -3.
Table A.2.1.2.2.3.2-3: Data structures supported by the GET Response payload on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
array(QosSession) |
M |
0..N |
2.05 Content |
List of QoS sessions. This response shall include QoS sessions matching all the query parameters provided in the request. |
NOTE: The mandatory CoAP error status codes for the GET method listed in table C.1.3-1 of 3GPP TS 24.546 [31] also apply. |
Table A.2.1.2.2.3.2-4: Options supported by the 2.05 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Observe |
Uinteger |
O |
0..1 |
Sequence number of the notification. |
NOTE: Other response options also apply in accordance with normal CoAP procedures. |
A.2.1.2.3 Resource: Individual QoS Session
A.2.1.2.3.1 Description
The Individual QoS Session resource represents an individual QoS session that is created at the SNRM-S.
A.2.1.2.3.2 Resource Definition
Resource URI: {apiRoot}/su-nqs/<apiVersion>/qos-sessions/{qosSessionId}
This resource shall support the resource URI variables defined in the table A.2.1.2.3.2-1.
Table A.2.1.2.3.2-1: Resource URI variables for this resource
Name |
Data Type |
Definition |
apiRoot |
string |
See clause C.1.1 of 3GPP TS 24.546 [31] |
apiVersion |
string |
See clause A.2.1.1 |
qosSessionId |
string |
Represents an individual QoS session resource. |
A.2.1.2.3.3 Resource Standard Methods
A.2.1.2.3.3.1 GET
This operation retrieves QoS session information satisfying filter criteria.
This method shall support the URI query parameters specified in table A.2.1.2.3.3.1-1.
Table A.2.1.2.3.3.1-1: URI query parameters supported by the GET method on this resource
Name |
Data type |
P |
Cardinality |
Description |
session-participants |
boolean |
O |
0..1 |
This is a content filtering flag. When set to "true", it indicates to the SNRM-S to include the participants of the QoS session. Set to "false" or omitted otherwise. |
session-configuration |
boolean |
O |
0..1 |
This is a content filtering flag. When set to "true", it indicates to the SNRM-S to include the configuration information of the QoS session. Set to "false" or omitted otherwise. |
This method shall support the request options specified in table A.2.1.2.3.3.1-2, the response data structures and response codes specified in table A.2.1.2.3.3.1-3, and the response options specified in table A.2.1.2.3.3.1-4.
Table A.2.1.2.3.3.1-2: Options supported by the GET Request on this resource
Name |
Data type |
P |
Cardinality |
Description |
Observe |
Uinteger |
O |
0..1 |
When set to 0 (Register) it extends the GET request to subscribe to the changes of this resource. When set to 1 (Deregister) it cancels the subscription. |
NOTE: Other request options also apply in accordance with normal CoAP procedures. |
Table A.2.1.2.3.3.1-3: Data structures supported by the GET Response payload on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
QosSession |
M |
1 |
2.05 Content |
The QoS session information based on the request from the VAL server. This response shall include QoS session participants list if session-participants flag is set to "true" in the request, QoS session configuration information if the session-configuration flag is set to "true" in the request, or the whole QoS session resource if all the flags are omitted in the request. |
NOTE: The mandatory CoAP error status codes for the GET method listed in table C.1.3-1 of 3GPP TS 24.546 [31] also apply. |
Table A.2.1.2.3.3.1-4: Options supported by the 2.05 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Observe |
Uinteger |
O |
0..1 |
Sequence number of the notification. |
NOTE: Other response options also apply in accordance with normal CoAP procedures. |
A.2.1.2.3.3.2 PUT
This operation updates the QoS session.
This method shall support the request data structures specified in table A.2.1.2.3.3.2-1 and the response data structures and response codes specified in table A.2.1.2.3.3.2-2.
Table A.2.1.2.3.3.2-1: Data structures supported by the PUT Request payload on this resource
Data type |
P |
Cardinality |
Description |
QosSession |
M |
1 |
Updated details of the QoS session. |
Table A.2.1.2.3.3.2-2: Data structures supported by the PUT Response payload on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
QosSession |
O |
0..1 |
2.04 Changed |
The QoS session updated successfully, and the updated QoS session may be returned in the response. |
NOTE: The mandatory CoAP error status codes for the PUT method listed in table C.1.3-1 of 3GPP TS 24.546 [31] shall also apply. |
A.2.1.2.3.3.3 DELETE
This operation deletes the QoS session.
This method shall support the response data structures and response codes specified in table A.2.1.2.3.3.3-1.
Table A.2.1.2.3.3.3-1: Data structures supported by the DELETE Response payload on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
2.02 Deleted |
The individual QoS session is deleted. |
||
NOTE: The mandatory CoAP error status codes for the DELETE method listed in table C.1.3-1 1 of 3GPP TS 24.546 [31] shall also apply. |
A.2.1.2.4 Resource: Individual QoS Session Participant
A.2.1.2.4.1 Description
The Individual QoS Session Participant resource represents an individual QoS session participant information that is maintained at the SNRM-S.
A.2.1.2.4.2 Resource Definition
Resource URI: {apiRoot}/su-nqs/<apiVersion>/qos-sessions/{qosSessionId}/participants/{participantId}
This resource shall support the resource URI variables defined in the table A.2.1.2.4.2-1.
Table A.2.1.2.3.2-1: Resource URI variables for this resource
Name |
Data Type |
Definition |
apiRoot |
string |
See clause C.1.1 of 3GPP TS 24.546 [31] |
apiVersion |
string |
See clause A.2.1.1 |
qosSessionId |
string |
Represents an individual QoS session resource. |
participantId |
ValTargetUe |
Identifies an individual QoS session participant. |
A.2.1.2.4.3 Resource Standard Methods
A.2.1.2.4.3.1 GET
This operation retrieves the individual QoS session participant’s information.
This method shall support the response data structures and response codes specified in table A.2.1.2.4.3.1-1.
Table A.2.1.2.4.3.1-1: Data structures supported by the GET Response payload on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
SessionParticipant |
M |
1 |
2.05 Content |
The QoS session participant information. |
NOTE: The mandatory CoAP error status codes for the GET method listed in table C.1.3-1 of 3GPP TS 24.546 [31] also apply. |
A.2.1.2.4.3.2 PUT
This operation creates or updates the QoS session participant information.
This method shall support the request data structures specified in table A.2.1.2.4.3.2-1 and the response data structures and response codes specified in table A.2.1.2.4.3.2-2.
Table A.2.1.2.4.3.2-1: Data structures supported by the PUT Request payload on this resource
Data type |
P |
Cardinality |
Description |
SessionParticipant |
M |
1 |
New or updated information of the QoS session participant. |
Table A.2.1.2.4.3.2-2: Data structures supported by the PUT Response payload on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
SessionParticipant |
O |
0..1 |
2.01 Created |
The QoS session participant resource was created successfully, and the created resource may be returned in the response. |
SessionParticipant |
O |
0..1 |
2.04 Changed |
The QoS session participant resource was updated successfully, and the updated resource may be returned in the response. |
NOTE: The mandatory CoAP error status codes for the PUT method listed in table C.1.3-1 of 3GPP TS 24.546 [31] shall also apply. |
A.2.1.2.4.3.3 DELETE
This operation deletes the QoS session participant information.
This method shall support the response data structures and response codes specified in table A.2.1.2.4.3.3-1.
Table A.2.1.2.4.3.3-1: Data structures supported by the DELETE Response payload on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
2.02 Deleted |
The QoS session participant resource is deleted. |
||
NOTE: The mandatory CoAP error status codes for the DELETE method listed in table C.1.3-1 1 of 3GPP TS 24.546 [31] shall also apply. |
A.2.1.3 Data Model
A.2.1.3.1 General
This clause specifies the application data model supported by the API. Data types listed in clause C.1.4 of TS 24.546 [31] apply to this API.
Table A.2.1.3.1-1 specifies the data types defined specifically for the SU_QosSessionManagement API service.
Table A.2.1.3.1-1: SU_QosSessionManagement API specific Data Types
Data type |
Section defined |
Description |
Applicability |
QosSession |
A.2.1.3.2.2 |
QoS session details. |
|
SessionParticipant |
A.2.1.3.2.3 |
Represents membership and configuration details of the QoS session participant. |
|
ParticipantState |
A.2.1.3.2.4 |
Represents the state of the member in the group. E.g., an explicit member will register in the group by setting its "registered" attribute to "true", or will set that attribute to "false" when leaving the group. |
Table A.2.1.3.1-2 specifies data types re-used by the SU_QosSessionManagement API service.
Table A.2.1.3.1-2: Re-used Data Types
Data type |
Reference |
Comments |
Applicability |
GeographicalAreaId |
3GPP TS 24.546 [31] |
Identity of a geographical area. |
|
ScheduledCommunicationTime |
3GPP TS 24.546 [31] |
Represents a scheduled communication time. |
|
Uinteger |
3GPP TS 24.546 [31] |
Unsigned integer. |
|
Uri |
3GPP TS 24.546 [31] |
Unified resource identifier. |
|
ValTargetUe |
3GPP TS 24.546 [31] |
Used to identify either a VAL User or a VAL UE. |
A.2.1.3.2 Structured data types
A.2.1.3.2.1 Introduction
A.2.1.3.2.2 Type: QosSession
Table A.2.1.3.2.2-1: Definition of type QosSession
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
resUri |
Uri |
O |
0..1 |
The URI for the individual QoS session resource. (NOTE) |
|
requiredQoS |
string |
M |
1 |
End-to-end QoS requirements for the QoS session. |
|
participants |
array(SessionParticipant) |
M |
1..N |
List of participants of the QoS session. |
|
valServiceId |
string |
O |
1..N |
Identity of the VAL services enabled by the QoS session. |
|
serviceArea |
array(GeographicalAreaId) |
O |
1..N |
List of geographical area ids addressed by the QoS session. |
|
validPeriod |
ScheduledCommunicationTime |
O |
0..1 |
Indicates time period when the QoS session is valid. |
|
reportConf |
string |
O |
0..1 |
Reporting configuration for the active participants to report their QoS. |
|
NOTE: The "resUri" attribute is set by the SNRM-S and is not modifiable by the SNRM-C. |
A.2.1.3.2.3 Type: SessionParticipant
Table A.2.1.3.2.3-1: Definition of type SessionParticipant
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
resUri |
Uri |
O |
0..1 |
The URI of the individual QoS session participant resource. (NOTE) |
|
id |
ValTargetUe |
M |
1 |
This is a QoS session participant identity (VAL user ID or VAL UE ID) as per TS 23.434 [2]. |
|
state |
ParticipantState |
O |
0..1 |
Indicates the current state of the participant of the QoS session, e.g. it may indicate that the participant is active. When absent the state is unknown. |
|
reportedQoS |
string |
O |
0..1 |
QoS information reported by the participant. |
|
NOTE: The "resUri" attribute is set by the SNRM-S and is not modifiable by the SNRM-C. |
A.2.1.3.2.4 Type: ParticipantState
Table A.2.1.3.2.3-1: Definition of type ParticipantState
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
active |
boolean |
O |
0..1 |
Indicates if the participant is active in the QoS session, i.e. is actively reporting its QoS. When absent or "false" the participant is not active. |
A.2.1.4 Error Handling
General error responses are defined in clause C.1.3 of 3GPP TS 24.546 [31].
A.2.1.5 CDDL Specification
A.2.1.5.1 Introduction
The data model described in clause A.2.1.3 shall be binary encoded in the CBOR format as described in IETF RFC 8949 [rfc8949].
Clause A.2.1.5.2 uses the Concise Data Definition Language described in IETF RFC 8610 [30] and provides corresponding representation of the SU_QosSessionManagement API data model.
A.2.1.5.2 CDDL document
;;; QosSession
;;+ Represents a QoS Session.
QosSession = {
? resUri: Uri
requiredQoS: text ; QoS requirements for the QoS Session.
participants: [+ SessionParticipant]; The list of participants.
? valServiceId: text ; VAL service enabled by the QoS Session.
? serviceArea: [+ GeographicalAreaId]; The list of geographical area ids addressed by the QoS Session.
? validPeriod: ScheduledCommunicationTime
? reportConf: text ; Reporting configuration for the active participants of the QoS Session.
}
;;; SessionParticipant
;;+ Represents information of the QoS Session participant.
SessionParticipant = {
? resUri: Uri
id: ValTargetUe ; Identifies the participant of the QoS Session. Once set, this information cannot be updated.
? state: ParticipantState
? reportedQoS: text ; QoS information reported by the QoS Session participant.
}
;;; ParticipantState
;;+ Represents the state of the QoS Session participant.
ParticipantState = {
? active: bool
}
;;; GeographicalAreaId
;;+ Identifies a geographical area.
GeographicalAreaId = text
;;; ValTargetUe
;;+ Represents information identifying a VAL user ID or a VAL UE ID.
valUserId = {
valUserId: text ; Unique identifier of a VAL user.
}
valUeId = {
valUeId: text ; Unique identifier of a VAL UE.
}
ValTargetUe = valUserId / valUeId
;;; DayOfWeek
;;+ integer between and including 1 and 7 denoting a weekday. 1 shall indicate Monday, and the subsequent weekdays shall be indicated with the next higher numbers. 7 shall indicate Sunday.
DayOfWeek = 1..7
;;; TimeOfDay
;;+ String with format partial-time or full-time as defined in subclause 5.6 of IETF RFC 3339. Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC).
TimeOfDay = text
;;; ScheduledCommunicationTime
;;+ Represents an offered scheduled communication time.
ScheduledCommunicationTime = {
? daysOfWeek: [1*6 DayOfWeek] ; Identifies the day(s) of the week. If absent, it indicates every day of the week.
? timeOfDayStart: TimeOfDay
? timeOfDayEnd: TimeOfDay
}
;;; Uri
;;+ string providing an URI formatted according to IETF RFC 3986.
Uri = text
A.2.1.6 Media Types
The media type for a QoS session shall be "application/vnd.3gpp.seal-qos-session-info+cbor".
The media type for a QoS session participant information shall be "application/vnd.3gpp.seal-qos-session-participant-info+cbor".
A.2.1.7 Media Type registration for application/vnd.3gpp.seal-qos-session-info+cbor
Type name: application
Subtype name: vnd.3gpp.seal-qos-session-info+cbor
Required parameters: none
Optional parameters: none
Encoding considerations: Must be encoded as using IETF RFC 8949 [17]. See "QosSession" data type in 3GPP TS 24.548 clause A.2.1.3.2.2 for details.
Security considerations: See Section 10 of IETF RFC 8949 [17] and Section 11 of IETF RFC 7252 [23].
Interoperability considerations: Applications must ignore any key-value pairs that they do not understand. This allows backwards-compatible extensions to this specification.
Published specification: 3GPP TS 24.548 "Network Resource Management – Service Enabler Architecture Layer for Verticals (SEAL); Protocol specification", available via http://www.3gpp.org/specs/numbering.htm.
Applications that use this media type: Applications supporting the SEAL network resource management procedures as described in the published specification.
Fragment identifier considerations: Fragment identification is the same as specified for "application/cbor" media type in IETF RFC 8949 [17]. Note that currently that RFC does not define fragmentation identification syntax for "application/cbor".
Additional information:
Deprecated alias names for this type: N/A
Magic number(s): N/A
File extension(s): none
Macintosh file type code(s): none
Person & email address to contact for further information: <MCC name>, <MCC email address>
Intended usage: COMMON
Restrictions on usage: None
Author: 3GPP CT1 Working Group/3GPP_TSG_CT_WG1@LIST.ETSI.ORG
Change controller: <MCC name>/<MCC email address>
A.2.1.8 Media Type registration for application/vnd.3gpp.seal-qos-session-participant-info+cbor
Type name: application
Subtype name: vnd.3gpp.seal-qos-session-participant-info+cbor
Required parameters: none
Optional parameters: none
Encoding considerations: Must be encoded as using IETF RFC 8949 [17]. See "SessionParticipant" data type in 3GPP TS 24.548 clause A.2.1.3.2.3 for details.
Security considerations: See Section 10 of IETF RFC 8949 [17] and Section 11 of IETF RFC 7252 [23].
Interoperability considerations: Applications must ignore any key-value pairs that they do not understand. This allows backwards-compatible extensions to this specification.
Published specification: 3GPP TS 24.548 "Network Resource Management – Service Enabler Architecture Layer for Verticals (SEAL); Protocol specification", available via http://www.3gpp.org/specs/numbering.htm.
Applications that use this media type: Applications supporting the SEAL network resource management procedures as described in the published specification.
Fragment identifier considerations: Fragment identification is the same as specified for "application/cbor" media type in IETF RFC 8949 [17]. Note that currently that RFC does not define fragmentation identification syntax for "application/cbor".
Additional information:
Deprecated alias names for this type: N/A
Magic number(s): N/A
File extension(s): none
Macintosh file type code(s): none
Person & email address to contact for further information: <MCC name>, <MCC email address>
Intended usage: COMMON
Restrictions on usage: None
Author: 3GPP CT1 Working Group/3GPP_TSG_CT_WG1@LIST.ETSI.ORG
Change controller: <MCC name>/<MCC email address>