SMPP codecs

Smartswitch supports following codecs:

SMPP ID codec
0x00 SMSC Default Alphabet (see below)
0x01 IA5 (CCITT T.50)/ASCII (ANSI X3.4)
0x02 Octet unspecified (8-bit binary)
0x03 Latin 1 (ISO-8859-1)
0x04 Octet unspecified (8-bit binary)
0x05 JIS (X 0208-1990)
0x06 Cyrllic (ISO-8859-5)
0x07 Latin/Hebrew (ISO-8859-8)
0x08 UCS2 (ISO/IEC-10646)
0x09 Pictogram Encoding
0x0A ISO-2022-JP (Music Codes)
0x0D Extended Kanji JIS
0x0E KS C 5601

SMPP ID is encoded into SMPP message and receiver can learn from it the codec which should be used to decode message.
Besides codec 0x00 - by ID 0x00 it's impossible to know which codec was used to encode message, and one should appeal to partner to tell which codec is used for SMPP ID 0x00.

Codec 0x00.

This is special SMPP ID.
In case if in SMS body codec 0x00 is specified, it means that peers have arranged (verbally or in written form) to use some special codec, which doesn't have dedicated by standard SMPP ID - so called default codec.
Both peers should configure the same default codec in settings of their systems.
In Smartswitch default codec is configured using an option with a same name in SMPP settings of a dial-peer.
As far SMS message doesn't contain used codec identifier (unlike other SMPP IDs), SMS delivery will work correctly only in case if both peers configure the same default codec.

Cyrillic and non-cyrillic codecs.

It's desirable to use codec 0x08 - UCS2.
This is Unicode, which supports codecs of all languages.
Other codecs should be used only if partner doesn't support UCS2 for some reason.

Codec translation.

Smartswitch supports message translation on fly.
Translation occurs, if, according to terminator's settings, it's requested to send a message to him in codec, which differs from codec, which is used in incoming message from originator.
Smartswitch accepts messages from originator in any codec, and sends to terminator using the codec with greatest priority.
In case if terminator has several codecs configured, and one of them matches with accepted message codec, then translation doesn't occur.
In case if there is no way to avoid translation, Smartswitch tries to translate message to codec with highest priority.
In case if during message translation some symbols have been lost, for example when translating from cyrillic message to 0x03 - Latin 1, then Smartswitch tries to encode using the next priority codec from list.
In case if it's impossible to encode with none of the configured codecs without symbol loss - the message is not sent to terminator.

Русский перевод

Also available in: PDF HTML TXT