EMS stands for Enhance Message Services. EMS messages are just SMS messages with a twist.
EMS messages make use of the User Data Header to add some meta data to the SMS message being sent. This meta data is separate from the actual text and devices that don’t understand some or any of the EMS features will easily skip over them and just render the text.
The uses of EMS are many:
EMS lets you group a number of SMS messages into one large message
Normal SMS messages can have 140 octets of payload. GSM-7 is a 7 bit alphabet, so when encoding text in the default GSM-7 alphabet you can send 160 characters (septets) in a single message.
EMS lets you add metadata that says ‘this is message 1 of 3’. If the receiving device understands this EMS feature it will wait for all parts to arrive and render them as one big message. If it doesn’t the device will show the parts as individual messages. See combining SMS messages for more details.
EMS lets you add some basic formatting to your messages
Through EMS you can control:
- Alignment of text (choices: left, center, right)
- Font size (choices: normal, large or small)
- Font style (options: bold, italic, underlined and/or strikethrough)
- Text color (choose from 16 colors)
- Background color (choose from 16 colors)
More details on how to achieve this in the post “Text formatting with EMS“.
EMS lets you add sounds to your message
You can choose from 10 predefined sounds like ‘chimes’, ‘ding’, ‘ta-da’, ‘claps’ or create your own sound using the iMelody format.
EMS lets you add pictures to your message
You can choose from 15 predefined smileys like ‘I am glad’, ‘I am laughing’, ‘In love’, ‘I am winking’ or create your own image using a bit array representing black and white pixels.
Other features available through EMS
These are less frequently used, but you can add
- Scalable vector graphics
- Embedded vCards
- Embedded vCalendar items
Again EMS is designed so that devices that don’t understand EMS at all will just ignore all the EMS features. Even if a device supports EMS, it is unlikely to support every option available. The design of EMS lets devices also easily skip unsupported features.
If you want to send EMS messages using a GSM modem, you’ll have to use PDU mode. Note that if you use a phone as an SMS modem, the phone used for sending doesn’t need to understand EMS. The PDU mode lets you format messages in any way possible without relying on any other feature of the modem in use.
In a future post I’ll construct some EMS messages to show you how it works in detail.