Search Results

Message Formats

Plain Text

SMS which do not specify a particular format by length or UDH will arrive in “plain text,” which maximizes character count for all character sets.

Character-per-Message Limits

  • GSM 03.38: 160 seven-bit characters per message
  • Latin 1: 140 eight-bit characters per message
  • Unicode: 70 sixteen-bit characters per message

Binary Message Format

Binary-encoded SMS messages can contain a high data content and are therefore used to send more complex data, such as rich-content Over-the-Air configuration messages for Mobile Device Management. They can contain a maximum of 140 bytes per SMS.

Character-per-Message Limits

  • 7-bit: 160, PDU
  • 8-bit: 140, PDU


Carriers who support 7-bit ASCII characters–all US carriers and many more–limit usage of binary. Furthermore, binary SMS messages have different formats and meanings between the GSM and CDMA network technology worlds, which is another reason why it is not supported by US Carriers. It is required to encode binary data to a base 64 (or something similar), which unfortunately doubles the size of any message, thereby making it inefficient due to already strict size limitations inherent to SMS.

There are also some handsets which do not read binary messages properly. The iPhone, for example, is incapable of displaying binary messages. Aerialink is configured to pass your user data header intact to the carriers. The carriage of that UDH to the mobile end-user is carrier-dependent and will vary.

Flash Message Format

  • GSM 03.38
  • Unicode

Flash SMS push directly to the main screen of a handset’s display rather than arriving in or being stored within the inbox. They require no user interaction, and are therefore useful in emergencies (e.g., fire alarm, tornado siren) as well as cases in which confidentiality is important (e.g., a one-time password).

Presently, flash messaging is only supported by GSM networks.


While Unicode is a character set, it is also a message format type, as even when sending standard GSM or even Latin-1 characters, a message with a DCS of 8 will always treat the characters as unicode-specific. In other words, the message length will have a maximum of 70 characters, even if the characters sent are numeral integers.

Message Concatenation

A single SMS message has a maximum length of 140 bytes. This translates to 160 (GSM-7), 140 (ASCII, Latin-1, Latin-9) or 70 (Unicode) characters per message. Note that the inclusion of “special characters” not found in GSM may alter the way your message is encoded, thereby exceeding and/or reducing the allotted length. Furthermore, GSM does include the following 8-bit characters which may also cause your messages to exceed the 160-character GSM limit: |, ^, {, }, €, [, ~, ] and \

Long messages exceeding 140 bytes are cut into multiple messages (segments) and, when supported by the carrier, stitched back together into a single long message on the destination handset. These individual messages (segments) have a reduced character length per message segment to accommodate the UDH (User Data Header) which is used to reunite the message segments at-destination. This header encompasses six bytes (48 bits) of data, meaning that the number of allotted characters removed for the UDH will vary depending on the bit-size of that character.

Character SetDCSBits/CharacterChars/Msg (Single)Chars/Msg (Concat)
ASCII (Latin-1)18140134
UTF-16 (Unicode)8167067

For more information about individual character sets, check out our Character Sets page.

Quick Facts About Concatenation
  • Although a concatenated message is composed as one thought, it is charged as separate messages.
  • The “character” length of the UDH header changes depending on the bit-size of the characters in the character set used.
  • Long messages sent to the Aerialink HTTP API v4 will be segmented automatically and sent to the carrier SMSC with a UDH indicating that the messages are concatenated segments of a whole which are intended to be knit back together.
  • Your application will need to specify the segmentation in the message.
  • Aerialink sends message segments to the carrier in the order we receive them, but messages sent to carriers who don’t support concatenation may not always arrive to the destination handset in order.
  • Some providers offer “250 characters per message,” but this is a marketing spin - they are using concatenation to achieve this.

Short Code Concatenation

The concatenation of Short Code messages works well on all Tier 1 networks. It may work on other networks as well, but if sent through a network that does not support concatenation, the message will be sent as separate messages.

Long Code Concatenation

Message concatenation via long-code numbers works well on most Tier-1 networks, but varies by region on Sprint. Concatenated messages sent via networks which do not fully support concatenation will arrive at the handset as separate messages.

Concatenated Message Billing

Although sent in a single request, concatenated messages are composed of multiple message transactions, each with their own transaction GUID (Global Unique Identifier). Each message segment counts and is charged as a separate message. In other words, the cost of a concatenated message will be the sum of the cost its message segments.

Tips & Best Practices

  • Avoid concatenation usage with campaigns running on the Sprint network.
  • Limit the character count of each message to 160 whenever possible to ensure that the message will not be broken into multiple segments that risk arriving out of order or incomplete.
  • If possible, pass UDH header details in the message via an SMPP bind.

User Data Header

A UDH can be provided in SMS strings sent via GSM to dictate a message’s format and processing and is applicable to message concatenation, SMS containing enriched text content as well as MMS (Multimedia Messaging Service).

OctetDesignatesPossible ValueDetails
1stOverall UDH Length05Excludes first octet.
2ndInformation Element Identifier00CSMS 8-bit reference number.
3rdUDH Content Length03Excludes first three octets
4thCSMS Group Reference Number00-FFOne of 255 possibile values. Must be the same for all segments of CSMS.
5thTotal Number of Segments00-FFMust remain constant for all segments of message. If the value is zero, UDH will be ignored.
6thSegment Number00-FFThe current segment’s number in sequential order of total segments (“part 1 of 4,” in which 04 is the value of octet 5 and 01 is the value of octet 6). The value should begin with 01 as the first segment in the series. If the value of octet 6 is zero or is greater than the value of octet 5, UDH will be ignored.

Message Length

While the UDH does not contain any of a message’s text content itself, it does take space from an SMS’s already limited character length, which is why concatenated segments (as listed above) are shortened from 160 characters to 153 characters. The longer your UDH (and the more robust its information), the shorter the available text content within its SMS becomes.


Although Aerialink can fully process UDH content, its deliverability is subject to the processing capabilities of all carriers the message passes through. If a carrier cannot process the UDH correctly, your message’s UDH content may not display. This can result in concatenated messages arriving split, out of order, or displaying some of your usually invisible UDH within the message text.

This page was last updated 1549910958963