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.
- 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.
- 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
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.
When a message’s length exceeds 160 characters (or 140 in Canada) the message must be sent in multiple parts. Message concatenation reassembles the split segments of 161+ character messages so that they arrive in one piece. This capability must be supported by both the recipient’s device and the carriers through which the message passes in order to be successfully stitched back together. Devices are built to carrier specifications for concatenation. On networks that don’t support concatenation, messages are delivered as individual SMS rather than a full concatenated message, and may arrive out of order.
The maximum length of two concatenated messages (strung together) is 306 characters, and 459 characters for three messages. A three-SMS concatenation is generally considered to be the longest concatenation string that will display correctly on the majority of mobile handsets.
Concatenated SMS are billed by the number of individual SMS messages used, so a 306-character message will be billed as two. Major U.S. carriers support concatenation, but details vary by GSM and CDMA networks. For incoming messages whose length exceed 160 characters, the sending carrier will break messages prior to delivery to Aerialink. Because of this, Aerialink treats these strings as separate messages and will deliver them to your application in the order in which they were received.
Quick Facts About Concatenation
- Although a concatenated message is composed as one thought, it is charged as separate messages.
- A concatenated message segment’s character limit is seven characters smaller than that of a normal message (so if the message’s max length was originally 160, each segment will have a maximum length of 153). The excess characters (or 7 bytes) are used to communicate the concatenation details to the carrier, instructing them how to stitch the message together again once it reaches the handset.
- 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.
- Message segments will always be sent in the order intended from Aerialink to the carrier, but if the carrier doesn’t support concatenation, they may not always deliver the segments 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
The concatenation of long-code numbers works well on networks that are “GSM,” such as AT&T and T-Mobile as well as Verizon. However, CDMA network Sprint varies on their coverage of long code concatenation depending on region. Concatenated messages sent via networks which do not fully support concatenation will arrive at the handset as separate messages. There are currently carrier initiatives underway to increase the widespread support of message concatenation via long code.
Risks & Mitigation
- Avoid concatenation usage with campaigns on CDMA networks (Sprint).
- 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).
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 1521058685114