I was working with a customer around the issue of certain GroveStreams SMS messages arriving as several messages. The messages seemed to be under 160 characters but were still being split into multiple messages. I decided to write up what I discovered so that others are aware of SMS size limitations.

GS uses a 3rd party company, Twilio, to send SMS text messages. They are good at what they do and can SMS to almost any country in the world.

Twilio States:
"If your body is greater than 160 GSM-7 characters (or 70 UCS-2 characters), Twilio will segment and annotate your messages to attempt proper reassembly on the recipient's handset (not supported by all carriers and handsets). This ensures your body text is transmitted with the highest fidelity."

Twilio will scan each SMS message and if it finds certain characters, it will automatically use UCS-2 which limits the length to 70 characters.

Here's an example we worked with. The following message is under 160 characters, but the degree symbol triggers the conversion to UCS-2 which then limits the message size to 70 characters. The message arrived as two separate SMS messages:

Alert Warn : Température supérieure à 15°C . Identifiant : Réfrigérateur; Valeur: 15.3°C

The Accents in the messaged did not trigger the UCS-2 conversion, only the degree symbol did for this example.