A.2 Nsmsf_SMService API
29.5403GPP5G SystemRelease 18SMS ServicesStage 3TS
openapi: 3.0.0
info:
version: ‘2.3.0-alpha.1’
title: ‘Nsmsf_SMService Service API’
description: |
SMSF SMService.
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 29.540 V18.0.0; 5G System; SMS Services; Stage 3
url: ‘https://www.3gpp.org/ftp/Specs/archive/29_series/29.540/’
security:
– oAuth2ClientCredentials:
– nsmsf-sms
– {}
servers:
– url: ‘{apiRoot}/nsmsf-sms/v2’
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501.
paths:
/ue-contexts/{supi}:
put:
summary: Activate SMS Service for a given UE
operationId: SMServiceActivation
tags:
– Activation of SMS service
parameters:
– name: supi
in: path
required: true
description: Subscriber Permanent Identifier (SUPI)
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: ‘#/components/schemas/UeSmsContextData’
required: true
responses:
‘201’:
description: UE Context for SMS is created in SMSF
content:
application/json:
schema:
$ref: ‘#/components/schemas/UeSmsContextData’
headers:
Location:
description: ‘Contains the URI of the newly created resource, according to the structure: {apiRoot}/nsmsf-sms/<apiVersion>/ue-contexts/{supi}’
required: true
schema:
type: string
ETag:
description: Entity Tag, containing a strong validator, as described in IETF RFC 7232, 2.3
schema:
type: string
‘204’:
description: UE Context for SMS is updated in SMSF
headers:
ETag:
description: Entity Tag, containing a strong validator, as described in IETF RFC 7232, 2.3
schema:
type: string
‘307’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/308’
‘400’:
description: Invalid Service Request
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘401’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/401’
‘403’:
description: Unable to create/update UE Context for SMS in SMSF
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘404’:
description: Unable to found subscription for service user or UE Context for SMS in SMSF
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘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’
‘503’:
description: Service Unavailable
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
default:
description: Unexpected error
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
patch:
summary: Update a parameter in the UE SMS Context in SMSF
operationId: SMSServiceParameterUpdate
tags:
– Parameter update in the UE SMS Context in SMSF
parameters:
– name: supi
in: path
required: true
description: Subscriber Permanent Identifier (SUPI)
schema:
type: string
– name: supported-features
in: query
description: Features required to be supported by the target NF
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’
requestBody:
content:
application/json-patch+json:
schema:
type: array
items:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/PatchItem’
minItems: 1
required: true
responses:
‘200’:
description: Expected response to a valid request
content:
application/json:
schema:
oneOf:
– $ref: ‘TS29571_CommonData.yaml#/components/schemas/PatchResult’
– $ref: ‘#/components/schemas/UeSmsContextData’
‘204’:
description: Successful response
‘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’
‘422’:
description: Unprocessable Request
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘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:
description: Unexpected error
delete:
summary: Deactivate SMS Service for a given UE
operationId: SMServiceDeactivation
tags:
– Deactivation of SMS service
parameters:
– name: supi
in: path
required: true
description: Subscriber Permanent Identifier (SUPI)
schema:
type: string
– name: If-Match
in: header
description: Validator for conditional requests, as described in IETF RFC 7232, 3.1
schema:
type: string
responses:
‘204’:
description: UE Context for SMS is deleted from SMSF
‘307’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/308’
‘400’:
description: Invalid Service Request
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘401’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/401’
‘403’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/403’
‘404’:
description: Unable to found UE Context for SMS in SMSF
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘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’:
description: Service Unavailable
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
/ue-contexts/{supi}/sendsms:
post:
summary: Send SMS payload for a given UE
operationId: SendSMS
tags:
– Send SMS payload in uplink direction
parameters:
– name: supi
in: path
required: true
description: Subscriber Permanent Identifier (SUPI)
schema:
type: string
requestBody:
content:
multipart/related:
schema:
type: object
properties:
jsonData:
$ref: ‘#/components/schemas/SmsRecordData’
binaryPayload:
type: string
format: binary
encoding:
jsonData:
contentType: application/json
binaryPayload:
contentType: application/vnd.3gpp.sms
headers:
Content-Id:
schema:
type: string
required: true
responses:
‘200’:
description: SMS payload is received by SMSF, and is being delivered out
content:
application/json:
schema:
$ref: ‘#/components/schemas/SmsRecordDeliveryData’
‘307’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/308’
‘400’:
description: Invalid Service Request
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘401’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/401’
‘403’:
description: Unable to deliver SMS at SMSF
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘404’:
description: Unable to found UE Context for SMS in SMSF
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘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’:
description: Service Unavailable
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
/ue-contexts/{supi}/send-mt-sms:
post:
summary: Send MT SMS payload for a given UE
operationId: SendMtSMS
tags:
– Send SMS payload in downlink direction
parameters:
– name: supi
in: path
required: true
description: Subscriber Permanent Identifier (SUPI)
schema:
type: string
requestBody:
content:
multipart/related:
schema:
type: object
properties:
jsonData:
$ref: ‘TS29577_Nipsmgw_SMService.yaml#/components/schemas/SmsData’
binaryPayload:
type: string
format: binary
encoding:
jsonData:
contentType: application/json
binaryPayload:
contentType: application/vnd.3gpp.sms
headers:
Content-Id:
schema:
type: string
required: true
responses:
‘200’:
description: sending delivery report
content:
multipart/related:
schema:
type: object
properties:
jsonData:
$ref: ‘TS29577_Nipsmgw_SMService.yaml#/components/schemas/SmsDeliveryData’
binaryPayload:
type: string
format: binary
encoding:
jsonData:
contentType: application/json
binaryPayload:
contentType: application/vnd.3gpp.sms
headers:
Content-Id:
schema:
type: string
‘307’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/308’
‘400’:
description: Invalid Service Request
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘401’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/401’
‘403’:
description: Unable to deliver SMS at SMSF
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘404’:
description: Unable to found UE Context for SMS in SMSF
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
‘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’:
description: Service Unavailable
content:
application/problem+json:
schema:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/ProblemDetails’
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: ‘{nrfApiRoot}/oauth2/token’
scopes:
nsmsf-sms: Access to the nsmsf-sms API
schemas:
UeSmsContextData:
description: Represents the information used for activating the SMS service for a service user, or updating the parameters of the SMS service.
type: object
required:
– supi
– amfId
– accessType
properties:
supi:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Supi’
pei:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Pei’
amfId:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/NfInstanceId’
guamis:
type: array
items:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Guami’
minItems: 1
accessType:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/AccessType’
additionalAccessType:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/AccessType’
gpsi:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’
ueLocation:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/UserLocation’
ueTimeZone:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/TimeZone’
traceData:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/TraceData’
backupAmfInfo:
type: array
items:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo’
minItems: 1
udmGroupId:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/NfGroupId’
routingIndicator:
type: string
hNwPubKeyId:
type: integer
ratType:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/RatType’
additionalRatType:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/RatType’
supportedFeatures:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’
SmsRecordData:
description: Represents the information sent within a request message of the UplinkSMS service operation, for delivering SMS payload.
type: object
required:
– smsRecordId
– smsPayload
properties:
smsRecordId:
$ref: ‘#/components/schemas/RecordId’
smsPayload:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/RefToBinaryData’
accessType:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/AccessType’
gpsi:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’
pei:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Pei’
ueLocation:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/UserLocation’
ueTimeZone:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/TimeZone’
RecordId:
description: Represents a record ID, used to identify a message carrying SMS payload.
type: string
SmsRecordDeliveryData:
description: Represents information on the result of invoking the UplinkSMS service operation.
type: object
required:
– smsRecordId
– deliveryStatus
properties:
smsRecordId:
$ref: ‘#/components/schemas/RecordId’
deliveryStatus:
$ref: ‘#/components/schemas/SmsDeliveryStatus’
SmsDeliveryStatus:
description: Represents the Status of an SMS delivery attempt.
type: string
enum:
– SMS_DELIVERY_PENDING
– SMS_DELIVERY_COMPLETED
– SMS_DELIVERY_FAILED
– SMS_DELIVERY_SMSF_ACCEPTED
Annex B (Informative):
HTTP Multipart Messages