A.2 Nnef_SMContext API
29.5413GPP5G SystemNetwork Exposure (NE) function services for Non-IP Data Delivery (NIDD) and Short Message Services (SMS)Release 18Stage 3TS
openapi: 3.0.0
info:
title: Nnef_SMContext
version: 1.2.0-alpha.1
description: |
Nnef SMContext Service.
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 29.541 V18.0.0; 5G System; Session Management Services for Non-IP Data Delivery (NIDD).
url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.541/
servers:
– url: ‘{apiRoot}/nnef-smcontext/v1’
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501
security:
– {}
– oAuth2ClientCredentials:
– nnef-smcontext
paths:
/sm-contexts:
post:
summary: Create SM Context
operationId: Create
tags:
– SM Contexts Collection (Collection)
requestBody:
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/SmContextCreateData’
responses:
‘201’:
description: Success
content:
application/json:
schema:
$ref: ‘#/components/schemas/SmContextCreatedData’
headers:
Location:
description: >
‘Contains the URI of the newly created Individual SM Context resource, according to the structure:
{apiRoot}/nnef-smcontext/<version>/sm-contexts/{smContextId}’
required: true
schema:
type: string
‘307’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/308’
‘400’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/400’
‘401’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/401’
‘403’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/403’
‘404’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/404’
‘411’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/411’
‘413’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/413’
‘415’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/415’
‘429’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/429’
‘500’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/500’
‘502’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/502’
‘503’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/503’
default:
$ref: ‘TS29571_CommonData.yaml#/components/responses/default’
callbacks:
StatusNotify:
‘{$request.body#/notificationUri}’:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/SmContextStatusNotification’
responses:
‘204’:
description: No Content, Notification was succesfull
‘307’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/308’
‘400’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/400’
‘401’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/401’
‘403’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/403’
‘404’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/404’
‘411’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/411’
‘413’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/413’
‘415’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/415’
‘429’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/429’
‘500’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/500’
‘502’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/502’
‘503’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/503’
default:
$ref: ‘TS29571_CommonData.yaml#/components/responses/default’
/sm-contexts/{smContextId}/release:
post:
summary: Delete SM Context
operationId: Delete
tags:
– Individual SM Context (Document)
parameters:
– name: smContextId
in: path
description: SM Context Resource ID
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/SmContextReleaseData’
responses:
‘200’:
description: OK. Resource representation is returned
content:
application/json:
schema:
$ref: ‘#/components/schemas/SmContextReleasedData’
‘204’:
description: No Content.
‘307’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/308’
‘400’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/400’
‘401’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/401’
‘403’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/403’
‘404’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/404’
‘406’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/406’
‘411’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/411’
‘413’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/413’
‘415’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/415’
‘429’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/429’
‘500’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/500’
‘502’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/502’
‘503’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/503’
default:
$ref: ‘TS29571_CommonData.yaml#/components/responses/default’
/sm-contexts/{smContextId}/update:
post:
summary: Update SM Context
operationId: Update
tags:
– Individual SM Context (Document)
parameters:
– name: smContextId
in: path
description: SM Context Resource ID
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/SmContextUpdateData’
responses:
‘204’:
description: No Content.
‘307’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/308’
‘400’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/400’
‘401’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/401’
‘403’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/403’
‘404’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/404’
‘406’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/406’
‘411’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/411’
‘413’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/413’
‘415’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/415’
‘429’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/429’
‘500’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/500’
‘502’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/502’
‘503’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/503’
default:
$ref: ‘TS29571_CommonData.yaml#/components/responses/default’
/sm-contexts/{smContextId}/deliver:
post:
summary: Deliver Uplink MO Data
operationId: Deliver
tags:
– Individual SM Context (Document)
parameters:
– name: smContextId
in: path
description: SM Context Resource ID
required: true
schema:
type: string
requestBody:
required: true
content:
multipart/related: # message with binary body part(s)
schema:
type: object
properties: # Request parts
jsonData:
$ref: ‘#/components/schemas/DeliverReqData’
binaryMoData:
type: string
format: binary
encoding:
jsonData:
contentType: application/json
binaryMoData:
contentType: application/octet-stream
headers:
Content-Id:
schema:
type: string
responses:
‘204’:
description: No Content.
‘307’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/308’
‘400’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/400’
‘401’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/401’
‘403’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/403’
‘404’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/404’
‘406’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/406’
‘411’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/411’
‘413’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/413’
‘415’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/415’
‘429’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/429’
‘500’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/500’
‘502’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/502’
‘503’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/503’
default:
$ref: ‘TS29571_CommonData.yaml#/components/responses/default’
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: ‘{nrfApiRoot}/oauth2/token’
scopes:
nnef-smcontext: Access to the Nnef_SMContext API
schemas:
#
# Structured Data Types
#
SmContextCreateData:
description: Representation of the Individual SM context to be created.
type: object
properties:
supi:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Supi’
pduSessionId:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/PduSessionId’
dnn:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Dnn’
snssai:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’
nefId:
type: string
description: This IE shall contain the NEF ID of the target NEF.
dlNiddEndPoint:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’
notificationUri:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’
niddInfo:
$ref: ‘#/components/schemas/NiddInformation’
rdsSupport:
type: boolean
description: |
When present, this IE shall indicate the UE capability to support RDS.
The value of this IE shall be set as following
– true UE supports RDS
– false (default) UE does not support RDS
smContextConfig:
$ref: ‘#/components/schemas/SmContextConfiguration’
supportedFeatures:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’
required:
– supi
– pduSessionId
– dnn
– snssai
– nefId
– dlNiddEndPoint
– notificationUri
SmContextCreatedData:
description: Representation of an Individual SM context successfully created.
type: object
properties:
supi:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Supi’
pduSessionId:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/PduSessionId’
dnn:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Dnn’
snssai:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’
nefId:
type: string
description: This IE shall contain the NEF ID of the target NEF.
rdsSupport:
type: boolean
default: false
description: |
When present, this IE shall indicate the NEF capability to support RDS.
The value of this IE shall be set as following
– true NEF supports RDS
– false (default) NEF does not support RDS
extBufSupport:
type: boolean
default: false
description: |
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:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’
maxPacketSize:
type: integer
required:
– supi
– pduSessionId
– dnn
– snssai
– nefId
SmContextReleaseData:
description: Representation of the information to release the Individual SM context.
type: object
properties:
cause:
$ref: ‘#/components/schemas/ReleaseCause’
required:
– cause
SmContextReleasedData:
description: Successful release of an Individual SM context with information sent to the NF service consumer.
type: object
properties:
smallDataRateStatus:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus’
apnRateStatus:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ApnRateStatus’
SmContextStatusNotification:
description: Representation of the SM Context status notification.
type: object
properties:
status:
$ref: ‘#/components/schemas/SmContextStatus’
smContextId:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’
cause:
$ref: ‘#/components/schemas/ReleaseCause’
smallDataRateStatus:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus’
apnRateStatus:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ApnRateStatus’
required:
– status
– smContextId
NiddInformation:
description: Informaiton related to NIDD used for the SM Context.
type: object
properties:
extGroupId:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ExternalGroupId’
gpsi:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’
afId:
type: string
description: When present, this IE shall contain the AF Id used for the SM Context.
SmContextConfiguration:
description: NIDD Configuration for the SM context.
type: object
properties:
smalDataRateControl:
$ref: ‘#/components/schemas/SmallDataRateControl’
smallDataRateStatus:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus’
servPlmnDataRateCtl:
type: integer
minimum: 10
nullable: true
description: >
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 subclause 5.31.14.2 of 3GPP TS 23.501 [2].
Minimum 10
SmallDataRateControl:
description: Configuration of Small Data Rate Control for the SM Context.
type: object
properties:
timeUnit:
$ref: ‘#/components/schemas/SmallDataRateControlTimeUnit’
maxPacketRateUl:
type: integer
maxPacketRateDl:
type: integer
maxAdditionalPacketRateUl:
type: integer
maxAdditionalPacketRateDl:
type: integer
required:
– timeUnit
SmContextUpdateData:
description: Representation of the updates to apply to the Individual SM context.
type: object
properties:
dlNiddEndPoint:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’
notificationUri:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’
smContextConfig:
$ref: ‘#/components/schemas/SmContextConfiguration’
DeliverReqData:
description: The data for Deliver service request, including the Mobile Originated data to be delivered via NEF.
type: object
properties:
data:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/RefToBinaryData’
required:
– data
#
# Simple Data Types
#
#
# Enumeration Data Types
#
SmContextStatus:
anyOf:
– type: string
enum:
– RELEASED
– type: string
description: >
This string provides forward-compatibility with future
extensions to the enumeration but is not used to encode
content defined in the present version of this API.
description: |
Possible values are
– RELEASED: Indicates that the Individual SM Context for NIDD is released.
SmallDataRateControlTimeUnit:
anyOf:
– type: string
enum:
– MINUTE
– HOUR
– DAY
– WEEK
– 6MINUTES
– type: string
description: >
This string provides forward-compatibility with future
extensions to the enumeration but is not used to encode
content defined in the present version of this API.
description: |
Possible values are
– 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.
ReleaseCause:
anyOf:
– type: string
enum:
– PDU_SESSION_RELEASED
– type: string
description: >
This string provides forward-compatibility with future
extensions to the enumeration but is not used to encode
content defined in the present version of this API.
description: |
The cause to release the SM Context. Possible values are
– PDU_SESSION_RELEASED: Indicates that the Individual SM Context for NIDD is released.