8 Message Server API definition

29.5383GPPApplication Programming Interfaces (API) specificationEnabling MSGin5G ServiceRelease 18Stage 3TS

8.1 MSGS_ASRegistration API

8.1.1 API URI

The MSGS_ASRegistration service shall use the MSGS_ASRegistration API.

The request URIs used in HTTP requests from the AS towards the MSGin5G Server shall have the Resource URI structure as defined in clause 7.5 with the following clarifications:

– The <apiName> shall be "msgs-asregistration".

– The <apiVersion> shall be "v1".

– The <apiSpecificResourceUriPart> shall be set as described in clause 8.1.2.

8.1.2 Resources

8.1.2.1 Overview

Figure 8.1.2.1-1: Resource URI structure of the MSGS_ASRegistration API

Table 8.1.2.1-1 provides an overview of the resources and applicable HTTP methods.

Table 8.1.2.1-1: Resources and methods overview

Resource name

Resource URI

HTTP method or custom operation

Description

AS Registrations

/registrations

POST

Registers a new AS at the MSGin5G Server.

AS DeRegistration

/registrations/{registrationId}

DELETE

Removes an AS registration resource.

8.1.2.2 Resource: AS Registrations

8.1.2.2.1 Description

This resource represents all the Application Servers that are registered at a given MSGin5G Server.

8.1.2.2.2 Resource Definition

Resource URI: {apiRoot}/msgs-asregistration/<apiVersion>/registrations

This resource shall support the resource URI variables defined in the table 8.1.2.2.2-1.

Table 8.1.2.2.2-1: Resource URI variables for this resource

Name

Data Type

Definition

apiRoot

string

See clause 7.5

apiVersion

string

See clause 8.1.1

8.1.2.2.3 Resource Standard Methods
8.1.2.2.3.1 POST

This method shall support the URI query parameters specified in table 8.1.2.2.3.1-1.

Table 8.1.2.2.3.1-1: URI query parameters supported by the POST method on this resource

Name

Data type

P

Cardinality

Description

n/a

This method shall support the request data structures specified in table 8.1.2.2.3.1-2 and the response data structures and response codes specified in table 8.1.2.2.3.1-3.

Table 8.1.2.2.3.1-2: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

ASRegistration

M

1

AS registration request information.

Table 8.1.2.2.3.1-3: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

ASRegistrationAck

M

1

201 Created

AS information is registered successfully at MSGin5G Server.

The URI of the created resource shall be returned in the "Location" HTTP header.

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] shall also apply.

Table 8.1.2.2.3.1-4: Headers supported by the POST method on this resource

Name

Data type

P

Cardinality

Description

n/a

Table 8.1.2.2.3.1-5: Headers supported by the 201 response code on this resource

Name

Data type

P

Cardinality

Description

Location

String

M

1

Contains the URI of the newly created resource, according to the structure: {apiRoot}/msgs-asregistration/<apiVersion>/registrations/{registrationId}

Table 8.1.2.2.3.1-6: Links supported by the 200 Response Code on this endpoint

Name

Resource name

HTTP method or custom operation

Link parameter(s)

Description

n/a

8.1.2.3 Resource: AS DeRegistration

8.1.2.3.1 Description

This resource represents all the Application Servers that are deregistered at a given MSGin5G Server.

8.1.2.3.2 Resource Definition

Resource URI: {apiRoot}/msgs-asregistration/<apiVersion>/registrations/{registrationId}

This resource shall support the resource URI variables defined in the table 8.1.2.3.2-1.

Table 8.1.2.3.2-1: Resource URI variables for this resource

Name

Data Type

Definition

apiRoot

string

See clause 7.5

apiVersion

string

See clause 8.1.1

registrationId

string

The AS registration resource id

8.1.2.3.3 Resource Standard Methods
8.1.2.3.3.1 DELETE

This method deregisters an AS registration from the MSGin5G Server. This method shall support the URI query parameters specified in the table 8.1.2.3.3.1-1.

Table 8.1.2.3.3.1-1: URI query parameters supported by the DELETE method on this resource

Name

Data type

P

Cardinality

Description

n/a

This method shall support the request data structures specified in table 8.1.2.3.3.1-2 and the response data structures and response codes specified in table 8.1.2.3.3.1-3.

Table 8.1.2.3.3.1-2: Data structures supported by the DELETE Request Body on this resource

Data type

P

Cardinality

Description

n/a

Table 8.1.2.3.3.1-3: Data structures supported by the DELETE Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

ASRegistrationAck

M

1

200 OK

The AS DeRegistration information matching the registrationId is deleted.

n/a

204 No Content

Successful response. The individual AS registration matching the registrationId is successfully deleted.

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] shall also apply.

Table 8.1.2.3.3.1-4: Headers supported by the DELETE method on this resource

Name

Data type

P

Cardinality

Description

n/a

Table 8.1.2.3.3.1-5: Headers supported by the 204 response code on this resource

Name

Data type

P

Cardinality

Description

n/a

Table 8.1.2.3.3.1-6: Links supported by the 200 Response Code on this endpoint

Name

Resource name

HTTP method or custom operation

Link parameter(s)

Description

n/a

8.1.3 Custom Operations without associated resources

None.

8.1.4 Notifications

None.

8.1.5 Data Model

8.1.5.1 General

This clause specifies the application data model supported by the API. Data types listed in clause 7.2 apply to this API Table 8.1.5.1-1 specifies the data types defined specifically for the MSGS_ASRegistration API service.

Table 8.1.5.1-1: MSGS_ASRegistration API specific Data Types

Data type

Section defined

Description

Applicability

ASRegistration

8.1.5.2.2

The AS registration request information.

ASRegistrationAck

8.1.5.2.3

The AS registration response information.

ASProfile

8.1.5.2.4

The profile information related to the AS in the ASRegistration data type.

Table 8.1.5.1-2 specifies data types re-used by the MSGS_ASRegistration API service.

Table 8.1.5.1-2: Re-used Data Types

Data type

Reference

Comments

Applicability

ProblemDetails

3GPP TS 29.571 [5]

Uri

3GPP TS 29.571 [5]

8.1.5.2 Structured data types

8.1.5.2.1 Introduction
8.1.5.2.2 Type: ASRegistration

Table 8.1.5.2.2-1: Definition of type ASRegistration

Attribute name

Data type

P

Cardinality

Description

Applicability

asSvcId

string

M

1

The MSGin5G identifier of the Application Server.

appId

string

O

0..1

The identifier of the application specified by the application provider

targetUri

Uri

O

0..1

The URL for receiving message, message delivery status report, etc. The MSGin5G Server uses this URL to interact to AS.

asProf

ASProfile

O

0..1

The profile information of the AS.

8.1.5.2.3 Type: ASRegistrationAck

Table 8.1.5.2.3-1: Definition of type ASRegistrationAck

Attribute name

Data type

P

Cardinality

Description

Applicability

asSvcId

string

M

1

The MSGin5G identifier of the Application Server.

result

ProblemDetails

M

1

The result of the registration.

8.1.5.2.4 Type: ASProfile

Table 8.1.5.2.4-1: Definition of type ASProfile

Attribute name

Data type

P

Cardinality

Description

Applicability

appName

string

O

1

The name of the Application Server

appProviders

array(string)

O

1..N

The provider of the Application Server

appSenarios

array(string)

O

1..N

The application scenario description.

appCategory

string

O

0..1

The category or type of Application Server.

asStatus

string

O

0..1

AS status (e.g. Enabled, Disabled etc.)

8.1.5.3 Simple data types and enumerations

None.

8.1.6 Error Handling

8.1.6.1 General

HTTP error handling shall be supported as specified in clause 7.7.

In addition, the requirements in the following clauses shall apply.

8.1.6.2 Protocol Errors

In this Release of the specification, there are no additional protocol errors applicable for the MSGS_ASRegistration API.

8.1.6.3 Application Errors

The application errors defined for the MSGS_ASRegistration API are listed in table 8.1.6.3-1.

Table 8.1.6.3-1: Application errors

Application Error

HTTP status code

Description

Applicability

8.1.7 Feature negotiation

General feature negotiation procedures are defined in clause 7.8. Table 8.1.7-1 lists the supported features for AS_Registration API.

Table 8.1.7-1: Supported Features

Feature number

Feature Name

Description

8.2 MSGS_MSGDelivery API

8.2.1 API URI

The MSGS_MSGDelivery service shall use the MSGS_MSGDelivery API, The MSGS_MSGDelivery API corresponding to Mm5s APIs as defined in in 3GPP TS 23.554 [2].

The request URIs used in HTTP requests from the Message Gateway (on behalf of Legacy 3GPP UE or Non-3GPP UE) or the Application Server towards the MSGin5G Server shall have the Resource URI structure as defined in clause 7.5 with the following clarifications:

– The <apiName> shall be "msgs-msgdelivery".

– The <apiVersion> shall be "v1".

– The <apiSpecificResourceUriPart> shall be set as described in clause 8.2.2.

8.2.2 Resources

None.

8.2.3 Custom Operations without associated resources

8.2.3.1 Overview

The structure of the custom operation URIs of the MSGS_MSGDelivery service is shown in Figure 8.2.3.1-1.

Figure 8.2.3.1-1: Custom operation URI structure of the MSGS_MSGDelivery API

Table 8.2.3.1-1 provides an overview of the custom operations and applicable HTTP methods.

Table 8.2.3.1-1: Custom operations without associated resources

Custom operation URI

Mapped HTTP method

Description

{apiRoot}/msgs-msgdelivery/<apiVersion>/deliver-as-message

POST

Request of AS to deliver message to a given MSGin5G Server.

{apiRoot}/msgs-msgdelivery/<apiVersion>/deliver-ue-message

POST

Request of Message Gateway (on behalf of Legacy 3GPP UE or Non-3GPP UE) to deliver message to a given MSGin5G Server.

{apiRoot}/msgs-msgdelivery/<apiVersion>/deliver-report

POST

Request of Message Gateway (on behalf of Legacy 3GPP UE or Non-3GPP UE) to deliver status report to a given MSGin5G Server.

8.2.3.2 Operation: deliver-as-message

8.2.3.2.1 Description

This operation is used by the Application Server to deliver message to a given MSGin5G Server.

8.2.3.2.2 Operation Definition

This operation shall support the response data structures and response codes specified in Table 8.2.3.2.2-1 and Table 8.2.3.2.2-2.

Table 8.2.3.2.2-1: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

ASMessageDelivery

M

1

Represents the data to be used for AS to deliver message.

Table 8.2.3.2.2-2: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

MessageDeliveryAck

M

1

200 OK

AS Message is delivered successfully.

NOTE: The mandatory HTTP error status code for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

8.2.3.3 Operation: deliver-ue-message

8.2.3.3.1 Description

This operation is used by the Message Gateway (on behalf of Legacy 3GPP UE or Non-3GPP UE) to deliver message to a given MSGin5G Server.

8.2.3.3.2 Operation Definition

This operation shall support the response data structures and response codes specified in Table 8.2.3.3.2-1 and Table 8.2.3.3.2-2.

Table 8.2.3.3.2-1: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

UEMessageDelivery

M

1

Represents the data to be used for Message Gateway (on behalf of Legacy 3GPP UE or Non-3GPP UE) to deliver message.

Table 8.2.3.3.2-2: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

MessageDeliveryAck

M

1

200 OK

UE Message is delivered successfully.

NOTE: The mandatory HTTP error status code for the POST method listed in Table 5.2.7.1-1 of 3GPP TS 29.500 [4] also apply.

8.2.3.4 Operation: deliver-report

8.2.3.4.1 Description

This operation is used by the Message Gateway (on behalf of Legacy 3GPP UE or Non-3GPP UE) or the Application Server to deliver status report to a given MSGin5G Server.

8.2.3.4.2 Operation Definition

This operation shall support the response data structures and response codes specified in Table 8.2.3.4.2-1 and Table 8.2.3.4.2-2.

Table 8.2.3.4.2-1: Data structures supported by the POST Request Body on this resource

Data type

P

Cardinality

Description

DeliveryStatusReport

M

1

Represents the data to be used for Message Gateway (on behalf of Legacy 3GPP UE or Non-3GPP UE) or the Application Server to deliver status report.

Table 8.2.3.4.2-2: Data structures supported by the POST Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

MessageDeliveryAck

M

1

200 OK

The status report is delivered successfully.

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] also apply.

8.2.4 Notifications

None.

8.2.5 Data Model

8.2.5.1 General

This clause specifies the application data model supported by the API. Data types listed in clause 7.2 apply to this API. Table 8.2.5.1-1 specifies the data types defined specifically for the MSGS_MSGDelivery API service.

Table 8.2.5.1-1: API specific Data Types

Data type

Section defined

Description

Applicability

ASMessageDelivery

8.2.5.2.2

The AS message delivery request information.

DeliveryStatus

8.2.5.3.3

Indicates if delivery is a failure, or if the message is stored for deferred delivery.

DeliveryStatusReport

8.2.5.2.7

The message delivery status report request information.

MessageDeliveryAck

8.2.5.2.4

The message delivery response information.

MessageSegmentParameters

8.2.5.2.5

Contains the message segment information of the message.

Priority

8.2.5.3.5

Application priority level requested for this message.

ReportDeliveryStatus

8.2.5.3.4

The delivery status description, including success or failure in delivery.

StoreAndForwardParameters

8.2.5.2.6

Contains the store forward information of the message.

UEMessageDelivery

8.2.5.2.3

The UE message delivery request information.

Table 8.2.5.1-2 specifies data types re-used by the MSGS_MSGDelivery API service.

Table 8.2.5.1-2: Re-used Data Types

Data type

Reference

Comments

Applicability

Address

9.1.5.2.3

The data type of the oriAddr and destAddr.

DateTime

3GPP TS 29.571 [5]

String with format "date-time" as defined in OpenAPI Specification [6].

8.2.5.2 Structured data types

8.2.5.2.1 Introduction
8.2.5.2.2 Type: ASMessageDelivery

Table 8.2.5.2.2-1: Definition of type ASMessageDelivery

Attribute name

Data type

P

Cardinality

Description

Applicability

oriAddr

Address

M

1

The service identity of the sending Application Server (NOTE).

destAddr

Address

M

1

The service identity of the receiving Legacy 3GPP UE, Non-3GPP UE or MSGin5G UE.

The service identifier of the target MSGin5G Group.

The service identifier of the Broadcast Service Area where the message needs to be broadcast.

Indicates which Messaging Topic this message is related to.

appId

string

O

0..1

Identifies the application(s) for which the payload is intended.

This list of Application IDs IE is required when the message is sent to one or multiple Application Clients served by same MSGin5G Client.

msgId

string

M

1

Unique identifier of this message.

secCred

string

O

0..1

Security information required by the MSGin5G Server.

This is a placeholder for SA3 security information.

delivStReqInd

boolean

O

0..1

Indicates if delivery acknowledgement from the recipient is requested.

Set to "true" if delivery acknowledgement from the recipient is requested. otherwise set to "false". Default value is "false".

payload

string

O

0..1

Payload of the message.

priority

Priority

O

0..1

Application priority level requested for this message.

segInd

boolean

O

0..1

Indicates this message is part of a segmented message.

Set to "true" if the message is part of a segmented message. otherwise set to "false". Default value is "false".

segParams

MessageSegmentParameters

O

0..1

The message segment parameters.

This IE shall be included only if the value of the message Segment Flag IE indicates that message Segment services are requested.

stoAndFwInd

boolean

M

1

An indicator of whether store and forward services are requested for this message.

Set to "true" if it is required to store and forward services for this message. otherwise set to "false".

stoAndFwParams

StoreAndForwardParameters

O

0..1

Parameters used by MSGin5G Server for providing store and forward services, This IE shall be included only if the value of the Store and forward flag IE indicates that store and forward services are requested.

latency

integer

O

0..1

The latency requirement for the message which only applies to AS Originating MSGin5G Message. Unit: millisecond.

NOTE: Only "AS" is applicable to the addrType attribute in the Address data type to represent the originating type of message request.

8.2.5.2.3 Type:UEMessageDelivery

Table 8.2.5.2.3-1: Definition of type UEMessageDelivery

Attribute name

Data type

P

Cardinality

Description

Applicability

oriAddr

Address

M

1

The service identity of the sending Legacy 3GPP UE or Non-3GPP UE (NOTE).

destAddr

Address

M

1

The service identity of the receiving Application Server or MSGin5G UE.

appId

string

O

0..1

Identifies the application(s) for which the payload is intended.

This list of Application IDs IE is required when the message is sent to one or multiple Application Clients served by same MSGin5G Client.

msgId

string

M

1

Unique identifier of this message.

secCred

string

O

0..1

Security information required by the MSGin5G Server.

This is a placeholder for SA3 security information.

delivStReqInd

boolean

O

0..1

Indicates if delivery acknowledgement from the recipient is requested.

Set to "true" if delivery acknowledgement from the recipient is requested. otherwise set to "false". Default value is "false".

payload

string

O

0..1

Payload of the message.

segInd

boolean

O

0..1

Indicates this message is part of a segmented message.

Set to "true" if the message is part of a segmented message. otherwise set to "false". Default value is "false".

segParams

MessageSegmentParameters

O

0..1

The message segment parameters.

This IE shall be included only if the value of the message Segment Flag IE indicates that message Segment services are requested.

stoAndFwInd

boolean

M

1

An indicator of whether store and forward services are requested for this message.

Set to "true" if it is required to store and forward services for this message. otherwise set to "false".

stoAndFwParams

StoreAndForwardParameters

O

0..1

Parameters used by MSGin5G Server for providing store and forward services, This IE shall be included only if the value of the Store and forward flag IE indicates that store and forward services are requested.

NOTE: Only "UE" is applicable to the addrType attribute in the Address data type to represent the originating type of message request.

8.2.5.2.4 Type: MessageDeliveryAck

Table 8.2.5.2.4-1: Definition of type MessageDeliveryAck

Attribute name

Data type

P

Cardinality

Description

Applicability

oriAddr

Address

M

1

The service identity of the sending Legacy 3GPP UE, Non-3GPP UE or the sending Application Server (NOTE).

msgId

string

M

1

Unique identifier of this message.

status

DeliveryStatus

O

0..1

Indicates if delivery is a failure, or if the message is stored for deferred delivery.

failureCause

string

C

0..1

The reason for failure.

May only be present if the "status" attribute is set to "DELY_FAILED".

NOTE: Either "UE" or "AS" shall be included in the "addrType" attribute within the Address data type to represent the originating type of message request.

8.2.5.2.5 Type:MessageSegmentParameters

Table 8.2.5.2.5-1: Definition of type MessageSegmentParameters

Attribute name

Data type

P

Cardinality

Description

Applicability

segId

string

O

0..1

All segmented messages associated within the same set of segmented messages (i.e. associated with the same MSGin5G message) are assigned the same unique identifier.

totalSegCount

integer

O

0..1

Indicates the total number of segments for the message.

segNumb

integer

O

0..1

Indicates segmented message number of each segmented message within a set of segmented messages.

lastSegFlag

boolean

O

0..1

An indicator of whether this segmented message is the last segment in the set of segmented messages or not.

Set to "true" if the segmented message is the last segment in the set of segmented messages. otherwise set to "false". Default value is "false".

8.2.5.2.6 Type:StoreAndForwardParameters

Table 8.2.5.2.6-1: Definition of type StoreAndForwardParameters

Attribute name

Data type

P

Cardinality

Description

Applicability

exprTime

DateTime

O

0..1

Indicates message expiration time.

8.2.5.2.7 Type:DeliveryStatusReport

Table 8.2.5.2.5-1: Definition of type DeliveryStatusReport

Attribute name

Data type

P

Cardinality

Description

Applicability

oriAddr

Address

M

1

The service identity of the sending Legacy 3GPP UE, Non-3GPP UE or the sending Application Server (NOTE).

destAddr

Address

M

1

The service identity of the receiving Legacy 3GPP UE, Non-3GPP UE or the receiving Application Server (NOTE).

msgId

string

M

1

Unique identifier of this message.

secCred

string

O

0..1

Security information required by the MSGin5G Server.

This is a placeholder for SA3 security information.

failureCause

string

C

0..1

The Failure Cause indicates the failure reason, if applicable.

May only be present if the ReportDeliveryStatus sets to "REPT_DELY_FAILED".

delivSt

ReportDeliveryStatus

M

1

The delivery status description, including success or failure in delivery.

NOTE: Either "UE" or "AS" shall be included in the addrType attribute in Address data type to represent the originating type of message request.

8.2.5.3 Simple data types and enumerations

8.2.5.3.1 Introduction

This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.

8.2.5.3.2 Simple data types

None.

8.2.5.3.3 Enumeration: DeliveryStatus

Table 8.2.5.3.3-1: Enumeration DeliveryStatus

Enumeration value

Description

Applicability

DELY_FAILED

Indicates that the message delivery is failed.

DELY_STORED

Indicates that the message is stored for deferred delivery.

8.2.5.3.4 Enumeration: ReportDeliveryStatus

Table 8.2.5.3.4-1: Enumeration ReportDeliveryStatus

Enumeration value

Description

Applicability

REPT_DELY_SUCCESS

Indicates that the report delivery is successful.

REPT_DELY_FAILED

Indicates that the report delivery is failed.

8.2.5.3.5 Enumeration:Priority

Table 8.2.5.3.5-1: Enumeration Priority

Enumeration value

Description

Applicability

HIGH

Indicates the messages should be sent in high priority.

MIDDLE

Indicates the messages should be sent in middle priority.

LOW

Indicates the messages should be sent in low priority.

8.2.6 Error Handling

8.2.6.1 General

HTTP error handling shall be supported as specified in clause 7.7.

In addition, the requirements in the following clauses shall apply.

8.2.6.2 Protocol Errors

In this Release of the specification, there are no additional protocol errors applicable for the MSGS_MSGDelivery API.

8.2.6.3 Application Errors

The application errors defined for the MSGS_MSGDelivery API are listed in table 8.2.6.3-1.

Table 8.2.6.3-1: Application errors

Application Error

HTTP status code

Description

Applicability

8.2.7 Feature negotiation

General feature negotiation procedures are defined in clause 7.8. Table 8.2.7-1 lists the supported features for MSGS_MSGDelivery API.

Table 8.2.7-1: Supported Features

Feature number

Feature Name

Description