9 Message Gateway API definition
29.5383GPPApplication Programming Interfaces (API) specificationEnabling MSGin5G ServiceRelease 18Stage 3TS
9.1 MSGG_L3GDelivery API
9.1.1 API URI
The MSGG_L3GDelivery service shall use the MSGG_L3GDelivery API, The MSGG_L3GDelivery API corresponding to Ml3g APIs as defined in in 3GPP TS 23.554 [2].
The request URIs used in HTTP requests from the MSGin5G Server towards the Legacy 3GPP Message Gateway shall have the Resource URI structure as defined in clause 7.5 with the following clarifications:
– The <apiName> shall be "msgg-l3gdelivery".
– The <apiVersion> shall be "v1".
– The <apiSpecificResourceUriPart> shall be set as described in clause 9.1.3.
9.1.2 Resources
None.
9.1.3 Custom Operations without associated resources
9.1.3.1 Overview
The structure of the custom operation URIs of the MSGG_L3GDelivery service is shown in Figure 9.1.3.1-1.
Figure 9.1.3.1-1: Custom operation URI structure of the MSGG_L3GDelivery API
Table 9.1.3.1-1 provides an overview of the custom operations and applicable HTTP methods.
Table 9.1.3.1-1: Custom operations without associated resources
Custom operation URI |
Mapped HTTP method |
Description |
{apiRoot}/msgg-l3gdelivery/<apiVersion>/deliver-message |
POST |
Request of MSGin5G Server to deliver message to a given Legacy 3GPP Message Gateway. |
{apiRoot}/msgg-l3gdelivery/<apiVersion>/deliver-report |
POST |
Request of MSGin5G Server to deliver status report to a given Legacy 3GPP Message Gateway. |
9.1.3.2 Operation: deliver-message
9.1.3.2.1 Description
This operation is used by the MSGin5G Server to deliver message to a given Legacy 3GPP Message Gateway.
9.1.3.2.2 Operation Definition
This operation shall support the response data structures and response codes specified in table 9.1.3.2.2-1 and table 9.1.3.2.2-2.
Table 9.1.3.2.2-1: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
L3gMessageDelivery |
M |
1 |
Represents the data to be used for MSGin5G Server to deliver message. |
Table 9.1.3.2.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 |
The 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. |
9.1.3.3 Operation: deliver-report
9.1.3.3.1 Description
This operation is used by the MSGin5G Server to deliver status report to a given Legacy 3GPP Message Gateway.
9.1.3.3.2 Operation Definition
This operation shall support the response data structures and response codes specified in Table 9.1.3.3.2-1 and Table 9.1.3.3.2-2.
Table 9.1.3.3.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 MSGin5G Server to deliver status report. |
Table 9.1.3.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 |
The status report 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. |
9.1.4 Notifications
None.
9.1.5 Data Model
9.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 9.1.5.1-1 specifies the data types defined specifically for the MSGG_L3GDelivery API service.
Table 9.1.5.1-1: MSGG_L3GDelivery API specific Data Types
Data type |
Section defined |
Description |
Applicability |
L3gMessageDelivery |
9.1.5.2.2 |
Information within message delivery request. |
Table 9.1.5.1-2 specifies data types re-used by the MSGG_L3GDelivery API service.
Table 9.1.5.1-2: Re-used Data Types
Data type |
Reference |
Comments |
Applicability |
DeliveryStatusReport |
8.2.5.2.7 |
The message delivery status report request information. |
|
MessageSegmentPapameters |
8.2.5.2.5 |
Contains the message segment information of the message. |
9.1.5.2 Structured data types
9.1.5.2.1 Introduction
9.1.5.2.2 Type: L3gMessageDelivery
Table 9.1.5.2.2-1: Definition of type L3gMessageDelivery
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
oriAddr |
Address |
M |
1 |
The service identity of the originating MSGin5G Client or the originating Application Server. This IE is copied from the associated inbound message (NOTE). |
|
destAddr |
Address |
M |
1 |
The service identity of the receiving entity. The receiving entity can only be Legacy 3GPP UE Service ID in MSGG_L3GDelivery API. |
|
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. This IE is copied from the associated inbound message request |
|
delivStReqInd |
boolean |
O |
0..1 |
Indicates if delivery acknowledgement from the recipient is requested. This IE is copied from the associated inbound message. 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. This IE is copied from the associated inbound 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 segInd is true to indicate that message Segment services are requested. |
|
NOTE: The addrType in Address data type shall only include AS or UE to represent the originating of message request. |
9.1.5.2.3 Type: Address
Table 9.1.5.2.3-1: Definition of type Address
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
addrType |
AddressType |
M |
1 |
Represent the type of message request. |
|
addr |
string |
M |
1 |
Refer to UE Service ID or AS Service ID or Group Service ID or Broadcast Area ID or Messaging Topic. |
9.1.5.3 Simple data types and enumerations
9.1.5.3.1 Introduction
This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.
9.1.5.3.2 Enumeration: AddressType
Table 9.1.5.3.2-1: Enumeration AddressType
Enumeration value |
Description |
Applicability |
UE |
The address type is UE. |
|
AS |
The address type is AS. |
|
GROUP |
The address type is GROUP. |
|
BC |
The address type is BC. |
|
TOPIC |
The address type is TOPIC. |
9.1.6 Error Handling
9.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.
9.1.6.2 Protocol Errors
In this Release of the specification, there are no additional protocol errors applicable for the MSGG_L3GDelivery API.
9.1.6.3 Application Errors
The application errors defined for the MSGG_L3GDelivery API are listed in table 9.1.6.3-1.
Table 9.1.6.3-1: Application errors
Application Error |
HTTP status code |
Description |
Applicability |
9.1.7 Feature negotiation
General feature negotiation procedures are defined in clause 7.8. Table 9.1.7-1 lists the supported features for MSGG_L3GDelivery API.
Table 9.1.7-1: Supported Features
Feature number |
Feature Name |
Description |
9.2 MSGG_N3GDelivery API
9.2.1 API URI
The MSGG_N3GDelivery service shall use the MSGG_N3GDelivery API, The MSGG_N3GDelivery API corresponding to Mn3g APIs as defined in in 3GPP TS 23.554 [2].
The request URIs used in HTTP requests from the MSGin5G Server towards the Non-3GPP Message Gateway shall have the Resource URI structure as defined in clause 7.5 with the following clarifications:
– The <apiName> shall be "msgg-n3gdelivery".
– The <apiVersion> shall be "v1".
– The <apiSpecificResourceUriPart> shall be set as described in clause 9.2.3.
9.2.2 Resources
None.
9.2.3 Custom Operations without associated resources
9.2.3.1 Overview
The structure of the custom operation URIs of the MSGG_N3GDelivery service is shown in Figure 9.2.3.1-1.
Figure 9.2.3.1-1: Custom operation URI structure of the MSGG_N3GDelivery API
Table 9.2.3.1-1 provides an overview of the custom operations and applicable HTTP methods.
Table 9.2.3.1-1: Custom operations without associated resources
Custom operation URI |
Mapped HTTP method |
Description |
{apiRoot}/msgg-n3gdelivery/<apiVersion>/deliver-message |
POST |
Request of MSGin5G Server to deliver message to a given Non-3GPP Message Gateway |
{apiRoot}/msgg-n3gdelivery/<apiVersion>/deliver-report |
POST |
Request of MSGin5G Server to deliver status report to a given Non-3GPP Message Gateway |
9.2.3.2 Operation: deliver-message
9.2.3.2.1 Description
This operation is used by the MSGin5G Server to deliver message to a given Non-3GPP Message Gateway.
9.2.3.2.2 Operation Definition
This operation shall support the response data structures and response codes specified in table 9.2.3.2.2-1 and table 9.2.3.2.2-2.
Table 9.2.3.2.2-1: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
N3gMessageDelivery |
M |
1 |
Represents the data to be used for MSGin5G Server to deliver message. |
Table 9.2.3.2.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 |
The Message 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. |
9.2.3.3 Operation: deliver-report
9.2.3.3.1 Description
This operation is used by the MSGin5G Server to deliver status report to a given Non-3GPP Message Gateway.
9.2.3.3.2 Operation Definition
This operation shall support the response data structures and response codes specified in table 9.2.3.3.2-1 and table 9.2.3.3.2-2.
Table 9.2.3.3.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 MSGin5G Server to deliver status report. |
Table 9.2.3.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 |
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. |
9.2.4 Notifications
None.
9.2.5 Data Model
9.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 9.2.5.1-1 specifies the data types defined specifically for the MSGG_N3GDelivery API service.
Table 9.2.5.1-1: MSGG_N3GDelivery API specific Data Types
Data type |
Section defined |
Description |
Applicability |
N3gMessageDelivery |
9.2.5.2.2 |
Information within message delivery request. |
Table 9.2.5.1-2 specifies data types re-used by the MSGG_N3GDelivery API service.
Table 9.2.5.1-2: Re-used Data Types
Data type |
Reference |
Comments |
Applicability |
DeliveryStatusReport |
8.2.5.2.7 |
The message delivery status report request information. |
|
MessageSegmentPapameters |
8.2.5.2.5 |
Contains the message segment information of the message. |
|
Address |
9.1.5.2.3 |
The data type of the oriAddr and destAddr. |
9.2.5.2 Structured data types
9.2.5.2.1 Introduction
9.2.5.2.2 Type: N3gMessageDelivery
Table 9.2.5.2.2-1: Definition of type N3gMessageDelivery
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
oriAddr |
Address |
M |
1 |
The oriAddr is the service identity of the originating MSGin5G Client or the originating Application Server. This IE is copied from the associated inbound message (NOTE). |
|
destAddr |
Address |
M |
1 |
The destAddr is the service identity of the receiving entity. The receiving entity can only be Non-3GPP UE Service ID in MSGG_N3GDelivery API. |
|
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. This IE is copied from the associated inbound message request. |
|
delivStReqInd |
boolean |
O |
0..1 |
Indicates if delivery acknowledgement from the recipient is requested. This IE is copied from the associated inbound message. 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. This IE is copied from the associated inbound 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 segInd is true to indicate that message Segment services are requested. |
|
NOTE: The addrType in Address data type shall only include AS or UE to represent the originating of message request. |
9.2.6 Error Handling
9.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.
9.2.6.2 Protocol Errors
In this Release of the specification, there are no additional protocol errors applicable for the MSGG_N3GDelivery API.
9.2.6.3 Application Errors
The application errors defined for the MSGG_N3GDelivery API are listed in table 9.2.6.3-1.
Table 9.2.6.3-1: Application errors
Application Error |
HTTP status code |
Description |
Applicability |
9.2.7 Feature negotiation
General feature negotiation procedures are defined in clause 7.8. Table 9.2.7-1 lists the supported features for MSGG_N3GDelivery API.
Table 9.2.7-1: Supported Features
Feature number |
Feature Name |
Description |