8.5 MSGin5G Message Segmentation and Reassembly

23.5543GPPApplication architecture for MSGin5G ServiceRelease 18Stage 2TS

8.5.1 General

This clause introduces MSGin5G message segmentation and reassembly functionality to the MSGin5G Service.

Segmentation and reassembly operations are performed either by the MSGin5G Server or by the MSGin5G Client, depending on the communication models. For Application-to-Point use case, the MSGin5G Server performs MSGin5G message segmentation while the MSGin5G Client performs MSGin5G message reassembly. For Point-to-Application use case, the MSGin5G Client performs MSGin5G message segmentation while the MSGin5G Server performs MSGin5G message reassembly.

The Aggregated message request should not be segmented. If aggregated message is sent to a recipient whose supported message segment size is smaller than the aggregated message, the MSGin5G Server should handle the Aggregated message as specified in clause 8.4.2.

The maximum segmentation size of MSGin5G message is 2048 bytes and can be configurable.

8.5.2 Application-to-Point Segmentation and Reassembly

Figure 8.5.2-1 shows the MSGin5G message segmentation and reassembly procedure for Application-to-Point MSGin5G message use cases (e.g. AOMT).

NOTE 1: Segmentation can also be done by the Application Server, in this case the Application Server will create a segmented message and send it as a regular MSGin5G message. In this case it is implementation specific and out of the scope of the current specification.

Pre-conditions:

1. A UE hosts an MSGin5G Client and an Application Client.

2. The MSGin5G Client registers with the MSGin5G Server.

3. An Application Server needs to deliver application data to the Application Client on the UE and the size of the application data exceeds the maximum allowed packet size (e.g. due to limitation by the UE’s access network transport).

Figure 8.5.2-1: Application-to-Point MSGin5G Message Segmentation and Reassembly

1. An Application Server sends a message to an MSGin5G Server that targets an Application Client on a UE.

2. The MSGin5G Server compares the size of the received message to the maximum allowed packet size and detects that the size exceeds the limit. As a result, the MSGin5G Sever segments the received message into a set of segmented messages. Within each segmented message, the information elements defined in Table 8.3.3-1 are included to enable the MSGin5G Client on the targeted UE to reassemble the segmented messages, with following clarifications.

a) The MSGin5G message request includes following information elements from Table 8.3.3-1:

i) Originating AS Service ID, Recipient UE Service ID, Message ID, Segmentation Set Identifier and Message segment number in each segmented message

ii) Delivery status required and Total number of message segments, only if it is the first segment of the message

iii) Last Segment Flag, only if it is the last segment of the message.

3. The MSGin5G Server sends each segmented message to the targeted UE. If any segment is not received within the expected time (based on configuration) then proceed to step 4.

4. If MSGin5G Client has received all segments (determined based on First segment and Last Segment), the MSGin5G Client reassembles all the segmented messages into a single MSGin5G message based on the information elements mentioned in step 2. If not all segments are received within expected time, then the MSGin5G Client recovers the segments as described in clause 8.5.6 MSGin5G message segment recovery procedure, before continuing with rest of the steps.

NOTE 2: When no further segments received within expected time and if both first segment and last segment are missing, recovery can be initiated as described in clause 8.5.6 MSGin5G message segment recovery procedure for recovering the first segment and then for remaining segments.

Editor’s note: For Application-to-Point messages to UEs without MSGin5G Clients, reassembly and the responsibility of the Message Gateway in this procedure are FFS.

5. The MSGin5G Client sends Message status request to the MSGin5G Server. The information elements defined in Table 8.5.2-2 are included in the request. The result information element will contain "success" if the reassembly of the segments is success. Otherwise, the result information element will contain "failure".

Table 8.5.2-2: Message Received Confirmation Request Information Elements

Information element

Status

Description

Segmentation Set Identifier

M

The Segmentation Set Identifier as received in segments.

Result

M

Indicates the "success" or "failure"

NOTE 3: The MSGin5G Server may send acknowledge back to MSGin5G Client based on application requirement.

Editor’s note: Whether table 8.5.2-2 can be replaced with the existing Table 8.3.2-3 is FFS.

6. If reassembly of segments is success, the MSGin5G Client delivers the contents of the MSGin5G message to the targeted Application Client. If MSGin5G Client has not received all messages (even after recovery procedure) or reassembly of segments failed for any reason (e.g. corrupt data) then the MSGin5G Client will notify receiving of failed message to Application Client.

8.5.3 Point-to-Application Message Segmentation and Reassembly

Figure 8.5.3-1 shows the MSGin5G message segmentation and reassembly procedure for Point-to-Application MSGin5G message use cases (e.g. MOAT).

Pre-conditions:

1. A UE hosts an MSGin5G Client and an Application Client.

2. The MSGin5G Client registers with the MSGin5G Server.

3. An Application Client on the UE needs to deliver application data to an Application Server and the size of the application data exceeds the maximum allowed packet size (e.g. due to limitation by the UE’s access network transport).

Figure 8.5.3-1: Point-to-Application MSGin5G Message Segmentation and Reassembly

1. An Application Client on a UE sends a message to an MSGin5G Client that targets an Application Server and that has a size that exceeds the maximum allowed packet size.

2. The MSGin5G Client compares the size of the received message to the maximum allowed packet size and detects that the size exceeds the limit. As a result, the MSGin5G Client segments the received message into a set of segmented messages such that each segmented message can fit within the maximum allowed packet size. Within each segmented message, the information elements defined in Table 8.3.2-1 are included to enable the MSGin5G Server to reassemble the segmented messages, with following clarifications.

a) The MSGin5G message request includes following information elements from Table 8.3.2-1:

i) Originating UE Service ID, Recipient AS Service ID, Message ID, Segmentation set identifier and Message segment number in each segmented message

ii) Delivery status required and Total number of message segments, only if it is the first segment of the message

iii) Last segment flag, only if it is the last segment of the message.

Editor’s note: For UEs without MSGin5G Clients, the segmentation of Point-to-Application messages and the responsibility of the Message Gateway in this procedure are FFS.

3. The MSGin5G Client sends each segmented message to the MSGin5G Server. If any segment is not received within the expected time (based on configuration) then proceed to step 4.

4. If MSGin5G Server has received all segments (determined based on first segment and last Segment), the MSGin5G Server reassembles all the segmented messages into a single MSGin5G message based on the information elements mentioned in step 2. If not all segments are received within expected time, then the MSGin5G Server recovers the segments as described in clause 8.5.6 MSGin5G message segment recovery procedure, before continuing with rest of the steps.

NOTE 1: When no further segments received within expected time and if both first segment and last segment are missing, recovery can be initiated as described in clause 8.5.6 MSGin5G message segment recovery procedure for recovering the first segment and then for remaining segments.

5. The MSGin5G Server sends message received confirmation to the MSGin5G Client. The information elements defined in Table 8.5.2-2 are included in the request. The result information element will contain "success" if the reassembly of the segments is success. Otherwise, the result information element will contain "failure".

NOTE 2: The MSGin5G Client may send acknowledge back to MSGin5G Server based on application requirement.

6. If reassembly of segments is success, the MSGin5G Server delivers the contents of the MSGin5G message to the targeted Application Server. If MSGin5G Server has not received all messages (even after recovery procedure) or reassembly of segments failed for any reason (e.g. corrupt data) then the MSGin5G Server will notify receiving of failed message to application server.

Editor’s note: MSGin5G message segmentation and reassembly for Broadcast messages is FFS.

8.5.4 Point-to-Point Message Segmentation and Reassembly

Figure 8.5.4-1 shows the MSGin5G message segmentation and reassembly procedure for Point-to-Point MSGin5G message use cases (e.g. MOMT).

This procedure assumes that a UE is only aware of the maximum payload size of the delivery mechanism it is currently using, and it is not aware of the maximum payload size of the recipient UE.

Pre-conditions:

1. Both UEs host an MSGin5G Client and an Application Client.

2. The MSGin5G Clients register with the MSGin5G Server.

3. An Application Client on the UE needs to deliver application data to an Application Client on another UE and the size of the application data exceeds the allowed maximum packet size (e.g. due to limitation by the UE’s access network transport).

Figure 8.5.4-1: Point-to-Point MSGin5G Message Segmentation and Reassembly

1. An Application Client on UE 1 sends a message to MSGin5G Client 1 that targets Application Client on UE 2.

2. The MSGin5G Client 1 compares the size of the received message to the maximum allowed packet size and detects that the size exceeds the limit of the originating UE. As a result, the MSGin5G Client segments the received message into a set of segmented messages such that each segmented message can fit within the maximum allowed packet size. Within each segmented message, the information elements defined in Table 8.51.2-1 are included to enable reassembly of the segmented messages, with following clarifications.

a) The MSGin5G message request includes following information elements from Table 8.3.2-1:

i) Originating UE Service ID, Recipient UE Service ID, Message ID, Segmentation set identifier and Message segment number in each segmented message

ii) Delivery status required and Total number of message segments, only if it is the first segment of the message

iii) Last segment flag, only if it is the last segment of the message.

3. The MSGin5G Client 1 sends each segmented message to the MSGin5G Server. If any segment is not received within the expected time (based on configuration) then proceed to step 4.

4. The MSGin5G Server checks if each segment does not exceed the configured maximum packet size of the targeted UE. If the maximum packet size is not exceeded, then the MSGin5G Server proceeds with step 6.

If the maximum packet size is exceeded, the MSGin5G Server performs the following operations:

a) If all segments are received within expected time, then the MSGin5G Server reassembles subsequent segmented messages into a single MSGin5G message until the Last segment flag indication is received. The re-assembled message is then segmented such that each segment is smaller than the maximum allowed packet size of the targeted UE. Within each segmented message, the information elements as mentioned in step 2 are included to enable reassembly at the target, then proceeds with step 6.

b) If not all segments are received within expected time, then the MSGin5G Server acts as Message Receiver to recover the segments as described in clause 8.5.6 MSGin5G message segment recovery procedure, before continuing with rest of the steps. If all segments are received after recovery procedure, then the MSGin5G Server skips to step 4-a, otherwise proceed to step 5.

5. The MSGin5G Server sends Message received confirmation to the MSGin5G Client 1. The information elements defined in Table 8.5.2-2 are included in the request, the Result information element is "failure", and further steps are not executed.

6. The MSGin5G Server sends each segmented message to the MSGin5G Client 2. If any segment as a separate message is not received within the expected time (based on configuration) then proceed to step 8.

7. The MSGin5G Client 2 reassembles all the segmented messages into a single MSGin5G message based on the information elements defined mentioned in step 2. If not all segments are received within expected time, then the MSGin5G Client 2 acts as Message receiver to recover the segments as described in clause 8.5.6 MSGin5G message segment recovery procedure, before continuing with rest of the steps.

8. The MSGin5G Client 2 sends Message received confirmation to the MSGin5G Client. The information elements defined in Table 8.5.2-2 are included in the request. The Result information element will contain "success" if the reassembly of the segments is success. Otherwise, the Result information element will contain "failure".

NOTE: The MSGin5G Client may send acknowledge back to MSGin5G Server based on application requirement.

9. The MSGin5G Client 2 delivers the contents of the MSGin5G message to the targeted Application Client. If MSGin5G Client has not received all messages (even after recovery procedure) or reassembly of segments failed for any reason (e.g. corrupt data) then the MSGin5G Client will notify receiving of failed message to Application Client.

8.5.5 Group Message Segmentation and Reassembly

A Group Message is sent from the MSGin5G Server to a group of recipient UEs. The MSGin5G Server sends the message to each individual recipient taking into account the maximum packet size that is supported by the recipient and segments the message as described in clause 8.5.4.

Editor’s note: For group member UEs without MSGin5G Client, how the segmentation is carried out and the responsibility of the Message Gateway in this procedure are FFS

8.5.6 MSGin5G Message Segment Recovery

Figure 8.5.6-1 illustrates an MSGin5G message segmentation recovery procedure. The procedure is applicable to Application-to-Point messages, Point-to-Application messages, Point-to-Point message and Group messages.

Pre-conditions:

1. The Message sender has delivered segmented messages to Message receiver.

Figure 8.5.6-1: MSGin5G Message Segmentation and Reassembly

1. The Message Receiver detects that few segments are missing to reassemble complete message.

2. The Message receiver sends Segment recovery request to Message sender. The information elements defined in Table 8.5.6-1 are included in the request message.

Table 8.5.6-1: Segment Recovery Request Information Elements

Information element

Status

Description

Segmentation Set Identifier

M

The Segmentation Set Identifier as received in segments.

List of Segment range

M

List of Segment range which the client wants to recover, each segment range consist of start and end sequence number of missing segments e.g. (5-7, 10-10, 15-19)

3. The Message sender sends Segment recovery acknowledgement to the MSGin5G Receiver.

4. The Message sender sends each segmented message to the Message receiver within an individual access network transport packet. If any segment is not received within the expected time (based on configuration) then the Message receiver may consider as recovery failed or may initiate the procedure again with updated list of segment range.

NOTE: The MSGin5G message segment recovery procedure may repeat based on the configuration.

5. If Message receiver has received all segments (determined based on First segment and Last Segment), the Message receiver reassembles all the segmented messages into a single MSGin5G message.