Contact Us

cancel
Showing results for 
Search instead for 
Did you mean: 
Community Manager
Community Manager

Sending a concatenated SMS using a User Data Header (UDH)

Concatenated SMS 

In the cellular phone industry, mobile phones and their networks sometimes support concatenated short message service (or concatenated SMS) to overcome the limitation on the number of characters that can be sent in a single SMS text message transmission (which is usually 160). Using this method, long messages are split into smaller messages by the sending device and recombined at the receiving end. Each message is then billed separately.

 

The way concatenation works in GSM and UMTS networks is specified in SMS Point to Point specification: 3GPP TS 23.040.

 

On networks which do not support Concatenated SMS (neither the standard scheme nor the simplified one), the message is delivered as individual SMS text messages rather than one concatenated message

 

PDU Mode SMS 

In technical terms, the concatenated SMS could also be referred to as a PDU Mode SMS. The number of parts that a multi-part or PDU mode SMS message may contain depends technically upon a header message but mostly upon the device sending or receiving the SMS and also upon the service provider.

 

Procedures

One way of sending concatenated SMS (CSMS) is to:

 

  1. Split the message into 153-7 bit character parts and sending each part with a User Data Header (UDH) tacked onto the beginning. A UDH can be used for various purposes and its contents and size varies accordingly, but a UDH for concatenating SMSes look like this:

    Field 1 (1 octet): Length of User Data Header, in this case 05.
    Field 2 (1 octet): Information Element Identifier, equal to 00 (Concatenated short messages, 8-bit reference number)
    Field 3 (1 octet): Length of the header, excluding the first two fields; equal to 03
    Field 4 (1 octet): 00-FF, CSMS reference number, must be same for all the SMS parts in the CSMS
    Field 5 (1 octet): 00-FF, total number of parts. The value shall remain constant for every short message which makes up the concatenated short message. If the value is zero then the receiving entity shall ignore the whole information element
    Field 6 (1 octet): 00-FF, this part's number in the sequence. The value shall start at 1 and increment for every short message which makes up the concatenated short message. If the value is zero or greater than the value in Field 5 then the receiving entity shall ignore the whole information element. [ETSI Specification: GSM 03.40 Version 5.3.0: July 1996]

  2. UDH value on the API call body should be like 050003CC0201 (1st part) and 050003CC0202 (2nd part)

  3. So it will be a two set of API call. The last 2 bits for each UDH value should tell you which is first SMS part and the second SMS part. 050003CC02 [01]  for the first part of SMS and  050003CC02 [02] - 2nd part of SMS. As per below which will split the message into 153-7 bit character parts and it depends on the receiver/endpoint on how the sms will be received and manage.

 

Sample API Call

POST https://cdn.emnify.net/api/v1/endpoint/<endpoint_id>/sms

 

First API Call:

{
  "source_address": 1234567890,
  "udh": "050003CC0201",
  "payload": "This is just a test from EMnify Support and Operations Team. Please ignore this SMS. this is just a test from EMnify Support and Operations Team. Please"
}

Second API Call:

{
  "source_address": 1234567890,
  "udh": "050003CC0202",
  "payload": "ignore and disregard this SMS!!"
}

 

Shahzad Ismail
Community Manager – SAP Digital Interconnect
Labels (1)
Tags (2)
0 Kudos