Notice Sent to Customers (Jan 2, 2025)
Notice Sent to Customer
Important Notice - SMS Text Message Length
What's happening?
We have been alerted that long SMS messages may be rejected by major mobile carriers such as AT&T, T-Mobile & Verizon. Best practice is to keep messages under 160 characters for standard characters (GSM-7) or 70 characters for nonstandard & emojis (UCS-2)
Why Does This Matter?
When a SMS message is sent using characters not included in the GSM-7 character set, the message will be encoded using the UCS-2 character set. UCS-2 reduces the number of characters that can sent per message segment from 160 to 70 characters. If the SMS message is longer than these thresholds, it raises the potential for a rejected SMS message.
What is GSM-7 SMS Characters?
GSM-7 is a character set used in SMS messages that includes many common characters of the English alphabet, numbers, and a few special characters. It is a standard that allows for 160 characters per SMS message. This is because GSM-7 encodes each character using 7 bits of data.
Examples of GSM-7 Characters:
- Letters: A-Z, a-z
- Numbers: 0-9
- Common symbols: @, $, !, ( ), etc.
- The full 140 character set can be found here
What is UCS-2 SMS Characters?
UCS-2 is another character set that allows for a wider range of characters, including those from non-Latin alphabets (such as Cyrillic, Chinese, Arabic, etc.). It uses 16 bits to represent each character, which means fewer characters can be sent in a single SMS message - typically 70 characters per message.
Examples of UCS-2 Characters:
- Extended symbols: €, ©, ™, etc.
- Non-Latin alphabets: Cyrillic letters, Chinese characters, Arabic script, etc.
- Full character set (65,506 characters) can be found here
Please contact our Technical Support team for any additional questions.
Help Center: help.evolveip.net
P: 877.459.4347, Option 2
Notice from vendor Bandwidth
We recommend avoiding sending long messages as SMS
What's happening?
We’re reaching out as you are one of our top senders of SMS messages over 10 segments long. While sending long messages as SMS is a common practice, it isn’t always ideal due to the risk of carrier blocking or incorrect concatenation.
We recommend avoiding sending long messages as SMS to avoid potential blocking and because they may not be concatenated correctly, due to the differences in encoding and variances in what is supported by destination handsets.
What do I need to know?
Messages sent to carriers that do not support messages with greater than 10 segments will be blocked with error code (4)751.
For more information about SMS limits and concatenation best practices, check out these support articles:
What do I need to do?
If you plan to send a long message as an SMS, please limit it to nine or fewer segments, as some carriers are blocking messages that contain 10 or more.
Alternatively, if your message contains three or more segments, consider sending it as MMS using a text file as an attachment.
FAQ
- What is a message segment?
- Refer to help article here
- A message segment is up to 160 characters using GMS-7 or 70 characters using UCS-2.
- Note: The first message using either GSM-7 or UCS-2 will be the full length. Subsequent message length will be reduced to 153 & 67 characters to account for headers to concatenated Data Header for segment re-assembly
- 10 segments are technically allowed. However, noted from Bandwidth an SMS greater than 1 segment has potential for send rejection
How the math works
SMS messages are sent in 140 bytes
1 byte = 8 bits
In GSM encoding, 1 character = 7 bits
In Unicode, 1 character = 16 bits
UDH = 6 bytes
| Message Type | Calculation | Max Characters per Segment |
| GSM Single Segment | (140 bytes x 8 bits) / 7 bits | 160 characters |
| GSM Multi-Segment | ((140 bytes - 6 bytes) x 8 bits) / 7 bits | 153 characters |
| Unicode Single Segment | (140 bytes x 8 bits) / 16 bits | 70 characters |
| Unicode Multi-Segment | ((140 bytes - 6 bytes) x 8 bits) / 16 bits | 67 characters |
Characters used in a message | Total number of characters | Encoding | Message Segments | Calculation |
| Text Only | 160 | GSM-7 | 1 | No UDH is required, all 160 characters are available |
| Text Only | 240 | GSM-7 | 2 | 153+87=240 characters |
| Text and emojis | 150 | UCS-2 | 3 | 67+67+16=150 characters |
- What are Bandwidth's SMS character limits and concatenation practices?
- https://support.bandwidth.com/hc/en-us/articles/360010235373-What-are-Bandwidth-s-SMS-character-limits-and-concatenation-practices
Here's the maximum number of characters that can be sent to carriers in a single SMS segment:
Message Type Characters used in the message Encoding Max characters/ message(without UDH) Hello - good morning Text GSM Standard GSM-7 160 Emoji Unicode UCS-2 70 Unicode Unicode UCS-2 70
- https://support.bandwidth.com/hc/en-us/articles/360010235373-What-are-Bandwidth-s-SMS-character-limits-and-concatenation-practices
Error code (4)751 identified in the Bandwidth notice, this is at the developer level, screenshot below for reference
WIKI GSM-7 Encoding
140 Characters
|
Basic Character Set Extension
| 0x00 | 0x10 | 0x20 | 0x30 | 0x40 | 0x50 | 0x60 | 0x70 | |
|---|---|---|---|---|---|---|---|---|
| 0x00 | | | |||||||
| 0x01 | ||||||||
| 0x02 | ||||||||
| 0x03 | ||||||||
| 0x04 | ^ | |||||||
| 0x05 | € | |||||||
| 0x06 | ||||||||
| 0x07 | ||||||||
| 0x08 | { | |||||||
| 0x09 | } | |||||||
| 0x0A | FF | |||||||
| 0x0B | SS2 | |||||||
| 0x0C | [ | |||||||
| 0x0D | CR2 | ~ | ||||||
| 0x0E | ] | |||||||
| 0x0F | \ |
- FF is a Page Break control. If not recognized, it shall be treated like LF.
- CR2 is a control character. No language specific character shall be encoded at this position.
- SS2 is a second Single Shift Escape control reserved for future extensions.
UC-2 Character Set
Not show as UC-2 (UCS-2) represents a possible maximum of 65,506 characters, or in hexadecimals from 0000h - FFFFh (2 bytes). The characters in UCS-2 are synchronized to the Basic Multilingual Plane in Unicode.

