6 API Definitions
29.5413GPP5G SystemNetwork Exposure (NE) function services for Non-IP Data Delivery (NIDD) and Short Message Services (SMS)Release 18Stage 3TS
6.1 Nnef_SMContext Service API
6.1.1 Introduction
The Nnef_SMContext service shall use the Nnef_SMContext service API.
The request URI used in HTTP request from the NF service consumer towards the NF service producer shall have the structure defined in clause 4.4.1 of 3GPP TS 29.501 [5], i.e.:
{apiRoot}/<apiName>/<apiVersion>/<apiSpecificResourceUriPart>
with the following components:
– The {apiRoot} shall be set as described in 3GPP TS 29.501 [5].
– The <apiName> shall be "nnef-smcontext".
– The <apiVersion> shall be "v1".
– The <apiSpecificResourceUriPart> shall be set as described in clause 6.1.3.
6.1.2 Usage of HTTP
6.1.2.1 General
HTTP/2, IETF RFC 7540 [11], shall be used as specified in clause 5 of 3GPP TS 29.500 [4].
HTTP/2 shall be transported as specified in clause 5.3 of 3GPP TS 29.500 [4].
The OpenAPI [6] specification of HTTP messages and content bodies for the Nnef_SMContext API is contained in Annex A.
6.1.2.2 HTTP standard headers
6.1.2.2.1 General
See clause 5.2.2 of 3GPP TS 29.500 [4] for the usage of HTTP standard headers.
6.1.2.2.2 Content type
JSON, IETF RFC 8259 [12], shall be used as content type of the HTTP bodies specified in the present specification as specified in clause 5.4 of 3GPP TS 29.500 [4]. The use of the JSON format shall be signalled by the content type "application/json".
"Problem Details" JSON object shall be used to indicate additional details of the error in a HTTP response body and shall be signalled by the content type "application/problem+json", as defined in IETF RFC 7807 [13].
6.1.2.3 HTTP custom headers
The mandatory HTTP custom header fields specified in clause 5.2.3.2 of 3GPP TS 29.500 [4] shall be applicable. In this release of the specification, no specific custom headers are defined for the Nnef_SMContext service.
6.1.3 Resources
6.1.3.1 Overview
Figure 6.1.3.1-1 describes the resource URI structure of the Nnef_SMContext API.
Figure 6.1.3.1-1: Resource URI structure of the Nnef_SMContext API
Table 6.1.3.1-1 provides an overview of the resources and applicable HTTP methods.
Table 6.1.3.1-1: Resources and methods overview
Resource name |
Resource URI |
HTTP method or custom operation |
Description |
SM Contexts Collection |
{apiRoot}/nnef-smcontext/<apiVersion>/sm-contexts |
POST |
Creates an Individual SM Context resource. |
Individual SM Context |
{apiRoot}/nnef-smcontext/<apiVersion>/sm-contexts/{smContextId}/release |
release (POST) |
Deletes an Individual SM Context resource. |
{apiRoot}/nnef-smcontext/<apiVersion>/sm-contexts/{smContextId}/update |
update (POST) |
Updates an Individual SM Context resource. |
|
{apiRoot}/nnef-smcontext/<apiVersion>/sm-contexts/{smContextId}/deliver |
deliver (POST) |
Delivers Mobile Originated data packet. |
6.1.3.2 Resource: SM Contexts Collection
6.1.3.2.1 Description
This resource represents the collection of the Individual SM Context resources created in the NEF.
This resource is modelled with the Collection resource archetype (see clause C.2 of 3GPP TS 29.501 [5]).
6.1.3.2.2 Resource Definition
Resource URI: {apiRoot}/nnef-smcontext/<apiVersion>/sm-contexts
This resource shall support the resource URI variables defined in table 6.1.3.2.2-1.
Table 6.1.3.2.2-1: Resource URI variables for this resource
Name |
Definition |
apiRoot |
See clause 6.1.1 |
apiVersion |
See clause 6.1.1 |
6.1.3.2.3 Resource Standard Methods
6.1.3.2.3.1 POST
This method creates an Individual SM Context resource in the SM Context Collection.
This method shall support the URI query parameters specified in table 6.1.3.2.3.1-1.
Table 6.1.3.2.3.1-1: URI query parameters supported by the POST method on this resource
Name |
Data type |
P |
Cardinality |
Description |
Applicability |
n/a |
This method shall support the request data structures specified in table 6.1.3.2.3.1-2 and the response data structures and response codes specified in table 6.1.3.2.3.1-3.
Table 6.1.3.2.3.1-2: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
SmContextCreateData |
M |
1 |
Representation of the Individual SM context to be created. |
Table 6.1.3.2.3.1-3: Data structures supported by the <method 1> Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
SmContextCreatedData |
M |
1 |
201 Created |
Successful creation of an Individual SM context. |
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if a request is redirected to the same target resource via a different SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. |
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if a request is redirected to the same target resource via a different SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. |
ProblemDetails |
O |
1 |
403 Forbidden |
The "cause" attribute may be used to indicate the following application errors: – USER_UNKNOWN – NIDD_CONFIGURATION_NOT_AVAILABLE See table 6.1.7.3-1 for the description of these errors. |
NOTE: The manadatory HTTP error status code for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] other than those specified in the table above also apply, with response body containing an object of ProblemDetails data type (see clause 5.2.7 of 3GPP TS 29.500 [4]). |
Table 6.1.3.2.3.1-4: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. Or the same URI, if a request is redirected to the same target resource via a different SCP. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the request is redirected |
Table 6.1.3.2.3.1-5: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. Or the same URI, if a request is redirected to the same target resource via a different SCP. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the request is redirected |
6.1.3.2.4 Resource Custom Operations
None.
6.1.3.3 Resource: Individual SM Context
6.1.3.3.1 Description
This resource represents an Individual SM Context resource in the NEF.
This resource is modelled with the Document resource archetype (see clause C.2 of 3GPP TS 29.501 [5]).
6.1.3.3.2 Resource Definition
Resource URI: {apiRoot}/nnef-smcontext/<apiVersion>/sm-contexts/{smContextId}
This resource shall support the resource URI variables defined in table 6.1.3.3.2-1.
Table 6.1.3.3.2-1: Resource URI variables for this resource
Name |
Definition |
apiRoot |
See clause 6.1.1 |
apiVersion |
See clause 6.1.1 |
smContextId |
SM context identifier assigned by the NEF during the Create service operation. |
6.1.3.3.3 Resource Standard Methods
There is no standard HTTP method supported by this resource.
6.1.3.3.4 Resource Custom Operations
6.1.3.3.4.1 Overview
This resource supports custom operation(s) as specified in table 6.1.3.3.4.1-1.
Table 6.1.3.3.4.1-1: Custom operations
Custom operaration URI |
Mapped HTTP method |
Description |
{resourceUri}/release |
POST |
Delete service operation. |
{resourceUri}/update |
POST |
Update service operation. |
{resourceUri}/deliver |
POST |
Deliver service operation |
6.1.3.3.4.2 Operation: release
6.1.3.3.4.2.1 Description
This custom operation releases an Individual SM Context resource previously created in the NEF.
6.1.3.3.4.2.2 Operation Definition
This operation shall support the request data structures specified in table 6.1.3.2.4.2.2-1 and the response data structure and response codes specified in table 6.1.3.2.4.2.2-2.
Table 6.1.3.3.4.2.2-1: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
SmContextReleaseData |
M |
1 |
Representation of the information to release the Individual SM context. |
Table 6.1.3.3.4.2.2-2: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
SmContextReleasedData |
M |
1 |
200 OK |
Successful release of an Individual SM context with information sent to the NF service consumer. |
n/a |
204 No Content |
Successful release of an Individual SM context without information sent to the NF service consumer. |
||
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if a request is redirected to the same target resource via a different SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. |
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if a request is redirected to the same target resource via a different SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. |
ProblemDetails |
O |
1 |
404 Not Found |
The "cause" attribute may be used to indicate the following application errors: – CONTEXT_NOT_FOUND See table 6.1.7.3-1 for the description of these errors. |
NOTE: The manadatory HTTP error status code for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] other than those specified in the table above also apply, with response body containing an object of ProblemDetails data type (see clause 5.2.7 of 3GPP TS 29.500 [4]). |
Table 6.1.3.3.4.2.2-3: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. Or the same URI, if a request is redirected to the same target resource via a different SCP. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the request is redirected |
Table 6.1.3.3.4.2.2-4: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. Or the same URI, if a request is redirected to the same target resource via a different SCP. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the request is redirected |
6.1.3.3.4.3 Operation: update
6.1.3.3.4.3.1 Description
This custom operation updates an individual SM Context resource.
6.1.3.3.4.3.2 Operation Definition
This operation shall support the request data structures specified in table 6.1.3.3.4.3.2-1 and the response data structure and response codes specified in table 6.1.3.3.4.3.2-2.
Table 6.1.3.3.4.3.2-1: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
SmContextUpdateData |
M |
1 |
Representation of the updates to apply to the Individual SM context. |
Table 6.1.3.3.4.3.2-2: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
204 No Content |
Successful update of the Individual SM context, when the NEF does not need to return information in the response. |
||
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if a request is redirected to the same target resource via a different SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. |
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if a request is redirected to the same target resource via a different SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. |
ProblemDetails |
O |
1 |
404 Not Found |
The "cause" attribute may be used to indicate the following application errors: – CONTEXT_NOT_FOUND See table 6.1.7.3-1 for the description of these errors. |
NOTE: The manadatory HTTP error status code for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] other than those specified in the table above also apply, with response body containing an object of ProblemDetails data type (see clause 5.2.7 of 3GPP TS 29.500 [4]). |
Table 6.1.3.3.4.3.2-3: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. Or the same URI, if a request is redirected to the same target resource via a different SCP. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the request is redirected |
Table 6.1.3.3.4.3.2-4: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. Or the same URI, if a request is redirected to the same target resource via a different SCP. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the request is redirected |
6.1.3.3.4.4 Operation: deliver
6.1.3.3.4.4.1 Description
This custom operation transports Mobile Originated data packet via NEF.
6.1.3.3.4.4.2 Operation Definition
This operation shall support the request data structures specified in table 6.1.3.3.4.4.2-1 and the response data structure and response codes specified in table 6.1.3.3.4.4.2-2.
Table 6.1.3.3.4.4.2-1: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
DeliverReqData |
M |
1 |
The data for Deliver service request, including the Mobile Originated data to be delivered via NEF. |
Table 6.1.3.3.4.4.2-2: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
204 No Content |
Successful delivery of Mobile Originate data via NEF. |
||
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if a request is redirected to the same target resource via a different SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. |
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if a request is redirected to the same target resource via a different SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. |
ProblemDetails |
O |
1 |
404 Not Found |
The "cause" attribute may be used to indicate the following application errors: – CONTEXT_NOT_FOUND See table 6.1.7.3-1 for the description of these errors. |
NOTE: The manadatory HTTP error status code for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] other than those specified in the table above also apply, with response body containing an object of ProblemDetails data type (see clause 5.2.7 of 3GPP TS 29.500 [4]). |
Table 6.1.3.3.4.4.2-3: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. Or the same URI, if a request is redirected to the same target resource via a different SCP. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the request is redirected |
Table 6.1.3.3.4.4.2-4: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. Or the same URI, if a request is redirected to the same target resource via a different SCP. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the request is redirected |
6.1.5 Notifications
6.1.5.1 General
This clause specifies the notifications provided by the Nnef_SMContext service.
Notifications shall comply to clause 6.2 of 3GPP TS 29.500 [4] and clause 4.6.2.3 of 3GPP TS 29.501 [5].
6.1.5.2 Status Notification
6.1.5.2.1 Description
If the NF Service Consumer (e.g. the SMF) has provided the Notification URI for getting notified about change of SM Context status, the NEF shall notify the NF Service Consumer when the SM Context status is updated.
6.1.5.2.2 Target URI
The Notification URI "{notificationUri}" shall be used with the resource URI variables defined in table 6.1.5.2.2-1.
Table 6.1.5.2.2-1: Resource URI variables for this resource
Name |
Definition |
notificationUri |
String formatted as URI with the Notification Uri |
6.1.5.2.3 Standard Methods
6.1.5.2.3.1 POST
This method shall support the request data structures specified in table 6.1.5.2.3.1-1 and the response data structures and response codes specified in table 6.1.5.2.3.1-2.
Table 6.1.5.2.3.1-1: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
SmContextStatusNotification |
M |
1 |
Representation of the SM Context status notification. |
Table 6.1.5.2.3.1-2: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
204 No Content |
Successful notification of the SM context status change |
||
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
Temporary redirection. The NF service consumer shall generate a Location header field containing a URI pointing to the endpoint of another NF service consumer to which the notification should be sent. If an SCP redirects the message to another SCP then the location header field shall contain the same URI or a different URI pointing to the endpoint of the NF service consumer to which the notification should be sent. |
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
Permanent redirection. The NF service consumer shall generate a Location header field containing a URI pointing to the endpoint of another NF service consumer to which the notification should be sent. If an SCP redirects the message to another SCP then the location header field shall contain the same URI or a different URI pointing to the endpoint of the NF service consumer to which the notification should be sent. |
NOTE: The mandatory HTTP error status codes for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply, with response body containing an object of ProblemDetails data type (see clause 5.2.7 of 3GPP TS 29.500 [4]). |
Table 6.1.5.2.3.1-3: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
A URI pointing to the endpoint of the NF service consumer to which the notification should be sent |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the notification is redirected |
Table 6.1.5.2.3.1-4: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
A URI pointing to the endpoint of the NF service consumer to which the notification should be sent |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the notification is redirected |
6.1.6 Data Model
6.1.6.1 General
This clause specifies the application data model supported by the API.
Table 6.1.6.1-1 specifies the data types defined for the Nnef_SMContext service based interface protocol.
Table 6.1.6.1-1: Nnef_SMContext specific Data Types
Data type |
Clause defined |
Description |
Applicability |
SmContextCreateData |
6.1.6.2.2 |
Information within Create SM Context Request |
|
SmContextCreatedData |
6.1.6.2.3 |
Information within Create SM Context Response |
|
SmContextReleaseData |
6.1.6.2.4 |
||
SmContextReleasedData |
6.1.6.2.5 |
||
SmContextStatusNotification |
6.1.6.2.6 |
Information within Notify SM Context Status Request |
|
NiddInformation |
6.1.6.2.7 |
NIDD information associated to the SM Context |
|
SmContextConfiguration |
6.1.6.2.8 |
NIDD related configurations that should be applied for the SM Context on NEF |
|
SmallDataRateControl |
6.1.6.2.9 |
Data rate control information |
|
SmContextUpdateData |
6.1.6.2.10 |
Information within Update SM Context Request |
|
DeliverReqData |
6.1.6.2.11 |
Information within Deliver Service Operation Request |
|
SmContextStatus |
6.1.6.3.3 |
Enumeration of the status for an Individual SM Context |
|
SmallDataRateControlTimeUnit |
6.1.6.3.4 |
Enumeration of the time units that are applied to data rate control |
|
ReleaseCause |
6.1.6.3.5 |
Enumeration of causes for SM Context release |
Table 6.1.6.1-2 specifies data types re-used by the Nnef_SMContext service based interface protocol from other specifications, including a reference to their respective specifications and when needed, a short description of their use within the N<NF> service based interface.
Table 6.1.6.1-2: Nnef_SMContext re-used Data Types
Data type |
Reference |
Comments |
Applicability |
Uri |
3GPP TS 29.571 [14] |
Uniform Resource Identifier |
|
Supi |
3GPP TS 29.571 [14] |
Subscription Permanent Identifier |
|
Gpsi |
3GPP TS 29.571 [14] |
General Public Subscription Identifier |
|
SupportedFeatures |
3GPP TS 29.571 [14] |
Supported features |
|
PduSessionId |
3GPP TS 29.571 [14] |
PDU Session Identifier |
|
Dnn |
3GPP TS 29.571 [14] |
Data Network Name |
|
Snssai |
3GPP TS 29.571 [14] |
Single Network Slice Selection Assistance Information |
|
ProblemDetails |
3GPP TS 29.571 [14] |
Error description |
|
SmallDataRateStatus |
3GPP TS 29.571 [14] |
Small Data Rate Control Status |
|
ExternalGroupId |
3GPP TS 29.571 [14] |
External Group Identifier |
|
RefToBinaryData |
3GPP TS 29.571 [14] |
Reference to binary data part |
|
RedirectResponse |
3GPP TS 29.571 [14] |
Redirect Response |
6.1.6.2 Structured data types
6.1.6.2.1 Introduction
This clause defines the structures to be used in resource representations.
6.1.6.2.2 Type: SmContextCreateData
Table 6.1.6.2.2-1: Definition of type SmContextCreateData
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
supi |
Supi |
M |
1 |
This IE shall contain the subscriber permanent identify of the UE. |
|
pduSessionId |
PduSessionId |
M |
1 |
This IE shall contain the PDU Session ID indicating the PDU session associated with the SM Context for NIDD to be created. |
|
dnn |
Dnn |
M |
1 |
This IE shall contain the requested DNN. |
|
snssai |
Snssai |
M |
1 |
This IE shall contain the requested S-NSSAI for the home PLMN. |
|
nefId |
string |
M |
1 |
This IE shall contain the NEF ID of the target NEF (see clause 6.1.6.2.48 of 3GPP TS 29.510 [10]). |
|
dlNiddEndPoint |
Uri |
M |
1 |
This IE shall contain the URI of the Individual PDU session resource (see clause 6.1.3.2 of 3GPP TS 29.542 [17]) provided by the NF service consumer to handle downlink NIDD data delivery. |
|
notificationUri |
Uri |
M |
1 |
This IE shall contain the URI to receive SM Context Status Notifications sent by the NEF. |
|
niddInfo |
NiddInformation |
O |
0..1 |
When present, this IE shall contain the information used for the SM Context. |
|
rdsSupport |
boolean |
O |
0..1 |
When present, this IE shall indicate the UE capability to support RDS. The value of this IE shall be set as following: |
|
smContextConfig |
SmContextConfiguration |
O |
0..1 |
When present, this IE shall contain the configuration for the NIDD. |
|
supportedFeatures |
SupportedFeatures |
C |
0..1 |
This IE shall be present if at least one optional feature defined in clause 6.1.8 is supported. |
6.1.6.2.3 Type: SmContextCreatedData
Table 6.1.6.2.3-1: Definition of type SmContextCreatedData
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
supi |
Supi |
M |
1 |
This IE shall contain the subscriber permanent identify of the UE. |
|
pduSessionId |
PduSessionId |
M |
1 |
This IE shall contain the PDU Session ID indicating the PDU session associated with the SM Context for NIDD to be created. |
|
dnn |
Dnn |
M |
1 |
This IE shall contain the requested DNN. |
|
snssai |
Snssai |
M |
1 |
This IE shall contain the requested S-NSSAI for the home PLMN. |
|
nefId |
string |
M |
1 |
This IE shall contain the NEF ID of the target NEF (see clause 6.1.6.2.48 of 3GPP TS 29.510 [10]). |
|
rdsSupport |
boolean |
O |
0..1 |
When present, this IE shall indicate the NEF capability to support RDS. The value of this IE shall be set as following: |
|
extBufSupport |
boolean |
O |
0..1 |
When present, this IE shall indicate whether Extended Buffering applies or not. The value of this IE shall be set as following: – true: Extended Buffering applies – false (default): Extended Buffering does not apply |
|
supportedFeatures |
SupportedFeatures |
C |
0..1 |
This IE shall be present if at least one optional feature defined in clause 6.1.8 is supported. |
|
maxPacketSize |
integer |
O |
0..1 |
Maximum Packet Size in bytes for NIDD data packet. When received from the NEF, SMF shall inform the UE of the Maximum Packet Size in the PCO in the PDU Session Establishment Accept message. |
6.1.6.2.4 Type: SmContextReleaseData
Table 6.1.6.2.4-1: Definition of type SmContextReleaseData
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
cause |
ReleaseCause |
M |
1 |
The cause to release the SM Context |
6.1.6.2.5 Type: SmContextReleasedData
Table 6.1.6.2.5-1: Definition of type SmContextReleasedData
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
smallDataRateStatus |
SmallDataRateStatus |
C |
0..1 |
This IE shall be present if the Small Data Rate Control is enabled for the SM Context. When present, this IE shall contain the Small Data Rate Control Status, as specified in clause 5.31.14.3 of 3GPP TS 23.501 [2]. |
|
apnRateStatus |
ApnRateStatus |
C |
0..1 |
This IE shall be present if the APN Rate Control is enabled for the SM Context. When present, this IE shall contain the APN Rate Status, as specified in clause 5.4.4.40 of 3GPP TS 29.571 [14]. |
6.1.6.2.6 Type: SmContextStatusNotification
Table 6.1.6.2.6-1: Definition of type SmContextStatusNotification
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
status |
SmContextStatus |
M |
1 |
This IE shall contain the current status of the SM Context |
|
smContextId |
Uri |
M |
1 |
This IE shall contain the URI of the SM Context resource that triggers the notification. |
|
cause |
ReleaseCause |
M |
1 |
The cause to release the SM Context |
|
smallDataRateStatus |
SmallDataRateStatus |
C |
0..1 |
This IE shall be present if the SM Context is released and Small Data Rate Control is enabled for the SM Context. When present, this IE shall contain the Small Data Rate Control Status, as specified in clause 5.31.14.3 of 3GPP TS 23.501 [2]. |
|
apnRateStatus |
ApnRateStatus |
C |
0..1 |
This IE shall be present if the APN Rate Control is enabled for the SM Context. When present, this IE shall contain the APN Rate Status, as specified in clause 5.4.4.40 of 3GPP TS 29.571 [14]. |
6.1.6.2.7 Type: NiddInformation
Table 6.1.6.2.7-1: Definition of type NiddInformation
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
extGroupId |
ExternalGroupId |
O |
0..1 |
When present, this IE shall contain the External group Id of the UE. |
|
gpsi |
Gpsi |
O |
0..1 |
When present, this IE shall contain the GPSI of the UE. |
|
afId |
string |
O |
0..1 |
The string identifying the AF as the owner of associated NIDD Configuration, which is received from Nidd Information in UDM (See clause 6.1.6.2.35 of 3GPP TS 29.503 [16]). |
|
NOTE: At least one of the attributes in the table shall be present. |
6.1.6.2.8 Type: SmContextConfiguration
Table 6.1.6.2.8-1: Definition of type SmContextConfiguration
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
smalDataRateControl |
SmallDataRateControl |
O |
0..1 |
When present, this IE shall contain the configured Small Data Rate Control for downlink data, as specified in clause 5.31.14.3 of 3GPP TS 23.501 [2]. |
|
smallDataRateStatus |
SmallDataRateStatus |
C |
0..1 |
This IE shall contain the Small Data Rate Status if the Small Data Rate Status is available (see clause 5.31.14.3 of 3GPP TS 23.501 [2]). |
|
servPlmnDataRateCtl |
integer |
O |
0..1 |
When present, this IE shall contain the maximum allowed number of Downlink NAS Data PDUs per deci hour of the serving PLMN, as specified in clause 5.31.14.2 of 3GPP TS 23.501 [2]. In Update service operation, this IE may be set to null value indicating the Serving PLMN Rate Control is disabled. Minimum: 10 |
|
NOTE: At least one of the attributes in the table shall be present. |
6.1.6.2.9 Type: SmallDataRateControl
Table 6.1.6.2.8-1: Definition of type SmallDataRateControl
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
timeUnit |
SmallDataRateControlTimeUnit |
M |
1 |
This IE shall indicate the time unit for which the data rate control is applied. |
|
maxPacketRateUl |
integer |
O |
0..1 |
If present, this IE shall indicate the maximum number of uplink packets allowed to be sent within the time unit. (NOTE 1) |
|
maxPacketRateDl |
integer |
O |
0..1 |
If present, this IE shall indicate the maximum number of downlink packets allowed to be sent within the time unit. (NOTE 1) |
|
maxAdditionalPacketRateUl |
integer |
O |
0..1 |
If present, this IE shall indicate the additional maximum number of uplink packets allowed to be sent within the time unit. (NOTE 2) |
|
maxAdditionalPacketRateDl |
integer |
O |
0..1 |
If present, this IE shall indicate the additional maximum number of downlink packets allowed to be sent within the time unit. (NOTE 3) |
|
NOTE 1: At least one of parameters maxPacketRateUl, or maxPacketRateDl should be included. NOTE 2: Parameter maxAdditionalPacketRateUl should be absent if parameter maxPacketRateUl is absent. NOTE 3: Parameter maxAdditionalPacketRateDl should be absent if parameter maxPacketRateDl is absent. |
6.1.6.2.10 Type: SmContextUpdateData
Table 6.1.6.2.10-1: Definition of type SmContextUpdateData
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
dlNiddEndPoint |
Uri |
O |
0..1 |
When present, this IE shall contain a new URI of Individual PDU session resource (see clause 6.1.3.2 of 3GPP TS 29.542 [17]) handling downlink NIDD data delivery. The NEF shall send downlink data to the resource identified by the new URI after the update is completed. |
|
notificationUri |
Uri |
O |
0..1 |
When present, this IE shall contain a new URI to receive SM Context Status Notifications sent by the NEF. The NEF shall send SM Contact Status Notification to this new URI after the update is completed. |
|
smContextConfig |
SmContextConfiguration |
O |
0..1 |
When present, this IE shall contain the configuration for the NIDD. |
|
NOTE: At least one of the attributes in the table shall be present. |
6.1.6.2.11 Type: DeliverReqData
Table 6.1.6.2.12-1: Definition of type DeliverReqData
Attribute name |
Data type |
P |
Cardinality |
Description |
data |
RefToBinaryData |
M |
1 |
This IE shall contain the reference to Mobile Originated data to be delivered via NEF. |
6.1.6.3 Simple data types and enumerations
6.1.6.3.1 Introduction
This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.
6.1.6.3.2 Simple data types
The simple data types defined in table 6.1.6.3.2-1 shall be supported.
Table 6.1.6.3.2-1: Simple data types
Type Name |
Type Definition |
Description |
Applicability |
6.1.6.3.3 Enumeration: SmContextStatus
The enumeration SmContextStatus represents status of Individual SM Context in the NEF. It shall comply with the provisions defined in table 6.1.5.3.3-1.
Table 6.1.6.3.3-1: Enumeration SmContextStatus
Enumeration value |
Description |
Applicability |
"RELEASED" |
Indicates that the Individual SM Context for NIDD is released. |
6.1.6.3.4 Enumeration: SmallDataRateControlTimeUnit
The enumeration SmallDataRateControlTimeUnit represents the allowed time unit. It shall comply with the provisions defined in table 6.1.5.3.3-1.
Table 6.1.6.3.4-1: Enumeration SmallDataRateControlTimeUnit
Enumeration value |
Description |
Applicability |
"MINUTE" |
Indicates the rate control is applied per minute. |
|
"HOUR" |
Indicates the rate control is applied per hour. |
|
"DAY" |
Indicates the rate control is applied per day. |
|
"WEEK" |
Indicates the rate control is applied per week. |
|
"6MINUTES" |
Indicates the rate control is applied per 6 minutes. |
6.1.6.3.5 Enumeration: ReleaseCause
The enumeration ReleaseCause represents cause for release of the SM Context in the NEF. It shall comply with the provisions defined in table 6.1.6.3.5-1.
Table 6.1.6.3.5-1: Enumeration ReleaseCause
Enumeration value |
Description |
Applicability |
"PDU_SESSION_RELEASED" |
Indicates the SM Context is to be released due to corresponding PDU Session is released. |
6.1.7 Error Handling
6.1.7.1 General
For the Nnef_SMContext API, HTTP error responses shall be supported as specified in clause 4.8 of 3GPP TS 29.501 [5]. Protocol errors and application errors specified in table 5.2.7.2-1 of 3GPP TS 29.500 [4] shall be supported for an HTTP method if the corresponding HTTP status codes are specified as mandatory for that HTTP method in table 5.2.7.1-1 of 3GPP TS 29.500 [4].
In addition, the requirements in the following clauses are applicable for the Nnef_SMContext API.
6.1.7.2 Protocol Errors
Protocol errors handling shall be supported as specified in clause 5.2.7 of 3GPP TS 29.500 [4]. No specific procedures for the Nnef_SMContext service are specified.
6.1.7.3 Application Errors
The application errors defined for the Nnef_SMContext service are listed in Table 6.1.7.3-1.
Table 6.1.7.3-1: Application errors
Application Error |
HTTP status code |
Description |
"USER_UNKNOWN" |
403 |
This application error indicates that the User Identity does not exist in the NEF. |
"NIDD_CONFIGURATION_NOT_AVAILABLE" |
403 |
This application error indicates that there is no valid NIDD configuration exists for the requested SM Context in the NEF, and NIDD configuration triggered by the NEF (see clause 4.4.12.2 of 3GPP TS 29.522 [15]) is not supported or has failed. |
"CONTEXT_NOT_FOUND" |
404 |
This application error indicates that the SM Context referred by the requested resource URI does not exist in the NEF. |
6.1.8 Feature negotiation
The optional features in table 6.1.8-1 are defined for the Nnef_SMContext API. They shall be negotiated using the extensibility mechanism defined in clause 6.6 of 3GPP TS 29.500 [4].
Table 6.1.8-1: Supported Features
Feature number |
Feature Name |
Description |
1 |
BIUMR |
Binding Indication Update for Multiple Resources This feature bit indicates whether the NF Service Consumer (i.e. SMF) and NEF supports Binding Indication Update for multiple resources and/or contexts, as specified in clauses 6.12.1 and 5.2.3.2.6 of 3GPP TS 29.500 [4]. |
6.1.9 Security
As indicated in 3GPP TS 33.501 [8] and 3GPP TS 29.500 [4], the access to the Nnef_SMContext API may be authorized by means of the OAuth2 protocol (see IETF RFC 6749 [9]), based on local configuration, using the "Client Credentials" authorization grant, where the NRF (see 3GPP TS 29.510 [10]) plays the role of the authorization server.
If OAuth2 is used, an NF Service Consumer, prior to consuming services offered by the Nnef_SMContext API, shall obtain a "token" from the authorization server, by invoking the Access Token Request service, as described in 3GPP TS 29.510 [10], clause 5.4.2.2.
NOTE: When multiple NRFs are deployed in a network, the NRF used as authorization server is the same NRF that the NF Service Consumer used for discovering the Nnef_SMContext service.
The Nnef_SMContext API defines a single scope "nnef-smcontext" for the entire service, and it does not define any additional scopes at resource or operation level.
6.1.10 HTTP redirection
An HTTP request may be redirected to a different NEF service instance, within the same NEF or a different NEF of an NEF set, e.g. when an NEF service instance is part of an NEF (service) set or when using indirect communications (see 3GPP TS 29.500 [4]).
An SCP that reselects a different NEF producer instance will return the NF Instance ID of the new NEF producer instance in the 3gpp-Sbi-Producer-Id header, as specified in clause 6.10.3.4 of 3GPP TS 29.500 [4].
If an NEF within an NEF set redirects a service request to a different NEF of the set using an 307 Temporary Redirect or 308 Permanent Redirect status code, the identity of the new NEF towards which the service request is redirected shall be indicated in the 3gpp-Sbi-Target-Nf-Id header of the 307 Temporary Redirect or 308 Permanent Redirect response as specified in clause 6.10.9.1 of 3GPP TS 29.500 [4].
6.2 Nnef_SMService Service API
6.2.1 Introduction
The Nnef_SMService shall use the Nnef_SMService API.
The API URI of the Nnef_SMService API shall be:
{apiRoot}/<apiName>/<apiVersion>
The request URIs used in HTTP requests from the NF service consumer towards the NF service producer shall have the Resource URI structure defined in clause 4.4.1 of 3GPP TS 29.501 [5], i.e.:
{apiRoot}/<apiName>/<apiVersion>/<apiSpecificResourceUriPart>
with the following components:
– The {apiRoot} shall be set as described in 3GPP TS 29.501 [5].
– The <apiName> shall be "nnef-smservice".
– The <apiVersion> shall be "v1".
– The <apiSpecificResourceUriPart> shall be set as described in clause 6.1.3.
6.2.2 Usage of HTTP
6.2.2.1 General
HTTP/2, IETF RFC 7540 [11], shall be used as specified in clause 5 of 3GPP TS 29.500 [4].
HTTP/2 shall be transported as specified in clause 5.3 of 3GPP TS 29.500 [4].
The OpenAPI [6] specification of HTTP messages and content bodies for the Nnef_SMService API is contained in Annex A.
6.2.2.2 HTTP standard headers
6.2.2.2.1 General
See clause 5.2.2 of 3GPP TS 29.500 [4] for the usage of HTTP standard headers.
6.2.2.2.2 Content type
JSON, IETF RFC 8259 [12], shall be used as content type of the HTTP bodies specified in the present specification as specified in clause 5.4 of 3GPP TS 29.500 [4]. The use of the JSON format shall be signalled by the content type "application/json".
"Problem Details" JSON object shall be used to indicate additional details of the error in a HTTP response body and shall be signalled by the content type "application/problem+json", as defined in IETF RFC 7807 [13].
Multipart messages shall also be supported (see clause 6.1.2.4) using the content type "multipart/related", comprising:
– one JSON body part with the "application/json" content type; and
– one binary body part with 3gpp vendor specific content subtypes.
The 3gpp vendor specific content subtypes defined in Table 6.2.2.2.2-1 shall be supported.
Table 6.2.2.2.2-1: 3GPP vendor specific content subtypes
content subtype |
Description |
vnd.3gpp.sms |
Binary encoded payload, encoding SMS payload, as specified in 3GPP TS 23.040 [20] and 3GPP TS 24.011 [21]. |
NOTE: Using 3GPP vendor content subtypes allows to describe the nature of the opaque payload (e.g. SMS payload) without having to rely on metadata in the JSON payload. |
See clause 6.1.2.4 for the binary payloads supported in the binary body part of multipart messages.
6.2.2.3 HTTP custom headers
The mandatory HTTP custom header fields specified in clause 5.2.3.2 of 3GPP TS 29.500 [4] shall be supported, and the optional HTTP custom header fields specified in clause 5.2.3.3 of 3GPP TS 29.500 [4] may be supported.
6.2.2.4 HTTP multipart messages
HTTP multipart messages shall be supported, to transfer opaque SMS payload (e.g. SMS message, CP Ack, etc.), in the following service operations (and HTTP messages):
– MoForwardSm service operation;
HTTP multipart messages shall include one JSON body part and one binary body part comprising content of SMS payload content (see clause 6.1.6.5).
The JSON body part shall be the "root" body part of the multipart message. It shall be encoded as the first body part of the multipart message. The "Start" parameter does not need to be included.
The multipart message shall include a "type" parameter (see IETF RFC 2387 [18]) specifying the media type of the root body part, i.e. "application/json".
NOTE: The "root" body part (or "root" object) is the first body part the application processes when receiving a multipart/related message, see IETF RFC 2387 [18]. The default root is the first body within the multipart/related message. The "Start" parameter indicates the root body part, e.g. when this is not the first body part in the message.
A binary body part shall include a Content-ID header (see IETF RFC 2045 [19]), and the JSON body part shall make a reference to the binary body part using the Content-ID header field.
Examples of multipart/related messages can be found in Annex B.
6.2.3 Resources
6.2.3.1 Overview
Figure 6.2.3.1-1 describes the resource URI structure of the Nnef_SMService API.
Figure 6.2.3.1-1: Resource URI structure of the Nnef_SMService API
Table 6.2.3.1-1 provides an overview of the resources and applicable HTTP methods.
Table 6.2.3.1-1: Resources and methods overview
Resource name |
Resource URI |
HTTP method or custom operation |
Description |
MoSmInfo |
{apiRoot}/nnef-smservice/<apiVersion>/mo-sm-info/{supi}/sendsms |
sendsms (POST) |
MO short message transfer |
6.2.3.2 Resource: MoSmInfo
6.2.3.2.1 Description
This resource represents the collection of Mobile Originated Short Message Information in NEF.
This resource is modelled with the Document resource archetype (see clause C.1 of 3GPP TS 29.501 [5]).
6.2.3.2.2 Resource Definition
Resource URI: {apiRoot}/nnef-smcontext/<apiVersion>/sm-contexts/{supi}/sendsms
This resource shall support the resource URI variables defined in table 6.2.3.2.2-1.
Table 6.2.3.2.2-1: Resource URI variables for this resource
Name |
Data type |
Definition |
apiRoot |
string |
See clause 6.1.1 |
supi |
Supi |
Represents the Subscription Permanent Identifier (see 3GPP TS 23.501 [2] clause 5.9.2) |
6.2.3.2.3 Resource Standard Methods
No HTTP method has been defined for the Mobile Originated Short Message Information collection resource.
6.2.3.2.4 Resource Custom Operations
6.2.3.2.4.1 Overview
Table 6.2.3.2.4.1-1: Custom operations
Operation name |
Custom operaration URI |
Mapped HTTP method |
Description |
sendsms |
/sm-contexts/{supi}/sendsms |
POST |
Send MO SMS message or the related Delivery Report. |
6.2.3.2.4.2 Operation: sendsms
6.2.3.2.4.2.1 Description
This custom operation is used for NF Service Consumers to send SMS message in uplink direction.
6.2.3.2.4.2.2 Operation Definition
This custom operation is used to send a SMS payload to an UE’s Mobile Originated Short Message Information resource in the NEF.
This operation shall support the request data structures specified in table 6.2.3.2.4.2.2-1 and the response data structure and response codes specified in table 6.2.3.2.4.2.2-2.
Table 6.2.3.2.4.2.2-1: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
SmsData |
M |
1 |
Representation of the MO SMS message to be sent. |
Table 6.2.3.2.4.2.2-2: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
SmsDeliveryData |
M |
1 |
200 OK |
This case represents the successful of sending SMS message in uplink direction, with necessary response data on the received delivery report. |
RedirectResponse |
O |
0..1 |
307 Temporary Redirect |
Temporary redirection. The response shall include a Location header field containing a different URI, or the same URI if a request is redirected to the same target resource via a different SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. |
RedirectResponse |
O |
0..1 |
308 Permanent Redirect |
Permanent redirection. The response shall include a Location header field containing a different URI, or the same URI if a request is redirected to the same target resource via a different SCP. In the former case, the URI shall be an alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. |
ProblemDetails |
O |
0..1 |
400 Bad Request |
This case represents an unsuccessful delivery of SMS message. The "cause" attribute may be used to indicate one of the following application errors: – SMS_PAYLOAD_MISSING, if the expected SMS payload content is missing; – SMS_PAYLOAD_ERROR, if error exists in the SMS payload content. |
ProblemDetails |
O |
0..1 |
403 Forbidden |
This case represents an unsuccessful delivery of SMS message. The "cause" attribute may be used to indicate one of the following application errors: – UNKNOWN_SERVICE_CENTRE_ADDRESS, if the SMS-SC was unknown; – SERVICE_CENTRE_CONGESTION, if the SMS-SC was in congestion; – USER_NOT_SERVICE_CENTER, if the user didn’t belongs to the SMS-SC; – FACILITY_NOT_SUPPORTED, if the facility not supported; – INVALID_SME_ADDRESS, if the SME address is invalid.. |
ProblemDetails |
O |
0..1 |
504 Gateway Timeout |
This case represents an unsuccessful delivery of SMS message. The "cause" attribute may be used to indicate one of the following application errors: – UNREACHABLE_SMS_SC, if the response is timeout. |
NOTE: The manadatory HTTP error status code for the <e.g. POST> method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply. |
Table 6.2.3.2.4.2.2-3: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. Or the same URI, if a request is redirected to the same target resource via a different SCP. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the request is redirected |
Table 6.2.3.2.4.2.2-4: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located on an alternative service instance within the same NEF or NEF (service) set. Or the same URI, if a request is redirected to the same target resource via a different SCP. |
3gpp-Sbi-Target-Nf-Id |
string |
O |
0..1 |
Identifier of the target NF (service) instance ID towards which the request is redirected |
6.2.4 Custom Operations without associated resources
In this release of this specification, no custom operations without associated resources are defined.
6.2.5 Notifications
In this release of this specification, no notification procedures are defined.
6.2.6 Data Model
6.2.6.1 General
This clause specifies the application data model supported by the API.
Table 6.2.6.1-1 specifies the data types defined for the Nnef_SMService service based interface protocol.
Table 6.2.6.1-1: Nnef_SMService specific Data Types
Data type |
Clause defined |
Description |
Applicability |
N/A |
Table 6.2.6.1-2 specifies data types re-used by the Nnef_SMContext service based interface protocol from other specifications, including a reference to their respective specifications and when needed, a short description of their use within the N<NF> service based interface.
Table 6.1.6.1-2: Nnef_SMService re-used Data Types
Data type |
Reference |
Comments |
Applicability |
ProblemDetails |
3GPP TS 29.571 [15] |
Common Data Type used in response bodies |
|
RedirectResponse |
3GPP TS 29.571 [15] |
Redirect Response |
|
Supi |
3GPP TS 29.571 [15] |
Subscription Permanent Identifier |
|
RefToBinaryData |
3GPP TS 29.571 [15] |
Information for indicating the binary content of SMS payload. |
|
SupportedFeatures |
3GPP TS 29.571 [15] |
Supported Features |
|
SmsData |
3GPP TS 29.577 [19] |
Information within request message invoking MoForwardSm service operation, for delivering MO SMS. |
|
SmsDeliveryData |
3GPP TS 29.577 [19] |
Information within response message invoking MoForwardSm service operation, for delivering MO SMS Delivery Report. |
|
AppPortId |
3GPP TS 29.503 [16] |
Application Port Id |
6.2.6.2 Structured data types
In this release of this specification, no structure to be used in resource representations is defined.
6.2.6.3 Simple data types and enumerations
6.2.6.3.1 Introduction
This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.
6.2.6.3.2 Simple data types
The simple data types defined in table 6.2.6.3.2-1 shall be supported.
Table 6.2.6.3.2-1: Simple data types
Type Name |
Type Definition |
Description |
Applicability |
N/A |
6.2.6.4 Data types describing alternative data types or combinations of data types
None.
6.2.6.5 Binary data
6.1.6.5.1 Binary Data Types
Table 6.2.6.5.1-1: Binary Data Types
Name |
Clause defined |
Content type |
SMS Payload Information |
6.2.6.5.2 |
vnd.3gpp.sms |
6.2.6.5.2 SMS Payload Information
SMS Payload Information shall encode a SMS payload as specified in 3GPP TS 23.040 [20] and 3GPP TS 24.011 [21], using the vnd.3gpp.sms content-type.
SMS Payload Information may encode e.g. the following content:
– CP-DATA, CP-ACK, CP-ERROR as specified in 3GPP TS 23.040 [20] and 3GPP TS 24.011 [21].
6.2.7 Error Handling
6.2.7.1 General
For the Nnef_SMService API, HTTP error responses shall be supported as specified in clause 4.8 of 3GPP TS 29.501 [5]. Protocol errors and application errors specified in table 5.2.7.2-1 of 3GPP TS 29.500 [4] shall be supported for an HTTP method if the corresponding HTTP status codes are specified as mandatory for that HTTP method in table 5.2.7.1-1 of 3GPP TS 29.500 [4].
In addition, the requirements in the following clauses are applicable for the Nnef_SMService API.
6.2.7.2 Protocol Errors
No specific procedures for the Nnef_SMService service are specified.
6.2.7.3 Application Errors
The application errors defined for the Nnef_SMService service are listed in Table 6.2.7.3-1.
Table 6.2.7.3-1: Application errors
Application Error |
HTTP status code |
Description |
SMS_PAYLOAD_MISSING |
400 Bad Request |
The expected SMS payload content is missing. |
SMS_PAYLOAD_ERROR |
400 Bad Request |
Errors exist in the format of SMS payload. |
SERVICE_CENTRE_CONGESTION |
403 Forbidden |
The delivery of the MO short message failed because SMS-SC was in congestion. |
USER_NOT_SERVICE_CENTER |
403 Forbidden |
The delivery of the short message failed because the user didn’t belongs to the SMS-SC. |
FACILITY_NOT_SUPPORTED |
403 Forbidden |
The delivery of the MO short message failed because of facility not supported. |
INVALID_SME_ADDRESS |
403 Forbidden |
The delivery of the MO short message failed because the SME address is invalid. |
UNREACHABLE_SMS_SC |
504 Gateway Timeout |
The delivery of the MO short message failed because the response is timeout. |
6.2.8 Feature negotiation
The optional features in table 6.2.8-1 are defined for the Nnef_SMService API. They shall be negotiated using the extensibility mechanism defined in clause 6.6 of 3GPP TS 29.500 [4].
Table 6.2.8-1: Supported Features
Feature number |
Feature Name |
Description |
N/A |
6.2.9 Security
As indicated in 3GPP TS 33.501 [8] and 3GPP TS 29.500 [4], the access to the Nnef_SMService API may be authorized by means of the OAuth2 protocol (see IETF RFC 6749 [9]), based on local configuration, using the "Client Credentials" authorization grant, where the NRF (see 3GPP TS 29.510 [10]) plays the role of the authorization server.
If OAuth2 is used, an NF Service Consumer, prior to consuming services offered by the Nnef_SMService API, shall obtain a "token" from the authorization server, by invoking the Access Token Request service, as described in 3GPP TS 29.510 [10], clause 5.4.2.2.
NOTE: When multiple NRFs are deployed in a network, the NRF used as authorization server is the same NRF that the NF Service Consumer used for discovering the Nnef_SMService service.
The Nnef_SMService API defines a single scope "nnef-smservice" for the entire service, and it does not define any additional scopes at resource or operation level.
Annex A (normative):
OpenAPI specification