This entry is part 15 of 17 in the series Sending out an SMS

I have added a page with references to the official 3GPP, Open Mobile Alliance (formerly WAP Forum) and other specifications that are relevant for the topics in this blog so far.

See here.

I’ll keep that page up-to-date.

How to pack GSM-7 characters into septets

This entry is part 14 of 17 in the series Sending out an SMS

Once we have our text in the GSM-7 character set, we’re ready to write the septets. As is show before, the mapping is kind of awkward, see 3GPP TS 23.038.

Here is the algorithm I use to achieve this: Read More…

GSM-7 Encoding with the GNU iconv library

This entry is part 13 of 17 in the series Sending out an SMS

To produce the GSM-7 encoded text that is needed for SMS text messages sent with a GSM modem in PDU mode we need 2 steps.

First we need to convert our text to the GSM-7 character set.

The GSM-7 character set is described in 3GPP TS 23.038.

I’ve always been a fan of the GNU iconv library (libiconv). This library lets you convert practically any character set to any other character set. It does this by internally:

  • converting the source character set to Unicode and
  • converting from Unicode to the destination character set

Unfortunately libiconv does not have support for the GSM-7 character set, so I have added it myself. Read More…