Everything you never wanted to know about SMS
Messages
SMS messages are made up of 'segments'
Each segment is 160 characters long, providing you use 'standard' (GSM-7) characters
If you use any 'extended' (UCS-2) characters, each segment is 70 characters long
Segments are combined by most carriers to display as one message
Messages
Here is the full set of characters that can be encoded using GSM-7.
Any character entered that is not in this table will result in the whole message being sent as UCS-2.
Messages
But, there's more...
Some countries have adopted a 'shift-set' of characters that can fit into GSM-7.
This supports more commonly used characters in that country.
A special header is added to SMS messages that use a different shift set.
Sender Phone Numbers
Long Codes: 'local' numbers . π°
Short Codes: vanity numbers. π°π°π°
Toll-Free: US-only. π°
Alphanumeric: change to anything! (as long as its only A-Z. And shorter than 12 characters. And you don't send it to the US or other unsupported countries. But otherwise, anything!!)
You can set the 'from' number when sending an SMS programmatically.
Speed
Long Codes: 1 segment per second. π’
Short Codes: designed for marketing messages. As many as you can handle! π°π°π°
Toll-Free: 3 segments per second. π°
Filtering
Carriers in some countries (πΊπΈ) read your messages and filter out any that don't meet their requirements.
This is comprehensively covered in The Messaging Principles and Best Practices - essential bedtime reading.
You can use a toll-free number or a short code to reduce/eliminate filtering respectively.
WTF Stuff
Carriers in the US will block your long code number if you send more than 250 messages per day.
Local Indian companies can only send pre-approved messages to India, but international companies can do what they want. π€·ββοΈ
In France, some carriers will only deliver messages between 8am and 8pm Monday to Saturday.
And... we're done!
Essential SMS Facts
By Tom Spencer
Essential SMS Facts
Everything you never wanted to know about SMS.
- 101