How do I send concatenated messages via SMPP? How do I send concatenated messages via SMPP?

How do I send concatenated messages via SMPP?

Nexmo Support

Objective

Sending concatenated messages via SMPP.

Applies To

  • SMPP
  • Concatenated Messages
  • SMS

Procedure

  1. In the SMPP submit_sm operation, the UDHI(User Data Header Indicator) is signalled by setting the esm_class parameter to 0x40 (64 in decimal) to indicate that there is a UDH.
  2. The concatenation UDH values are inserted at the start of the message body.

Example

  1. Message Part 1 of 2 (UDH + 153 chars length message, 7-bit encoded)
    • esm_class = 0x40
    • short_message= 0x05 0x00 0x03 0x05 0x02 0x01 Barcelona are to appeal against Uefa's proposal to ban Andres Iniesta for an additional Champions League match for allegedly provoking a yellow card. The
  2. Message part 2 of 2(UDH, + rest of the message)
    • esm_class = 0x40
    • short_message = 0x05 0x00 0x03 0x05 0x02 0x02 26-year-old Spain midfielder was booked in the quarter-final against Shakhtar Donetsk, meaning he missed the return leg but would then be available.

Concatenation UDH Structure

The UDH requires 6 bytes, reducing the number of characters you can send in each message part. The UDH required in each message part is described in this table.

Byte Description
05 Length of the rest of the UDH. This is "5" bytes.
00 Indicates it is a multipart message.
03 Length of the subheader, e.g., the rest of the UDH. This is "3" bytes.
XX

An identifier for the specific multipart message. If the value is the same for all message parts, this can be any hexadecimal number. In the example above, it is "05."

YY

Total number of parts in the multipart message. In the example below, there are "02" parts in total.

ZZ The sequence number for the message part. This ensures that the message is reconstructed on the mobile phone in the correct order. The numbering begins at 1

Maximum Characters Per Concatenated Message

The maximum number of characters per concatenated message depends on the encoding.

  • 153 characters for 7-bit encoding (e.g., Latin-1/9 and GSM8)
  • 134 characters for 8-bit encoding (Binary)
  • 67 characters for 16-bit encoding (Unicode)