National language shift
Along with the standard features of SMPP 3.4, we also provide National Language Shift functionality, which enables you to use special characters from language-specific character sets. In addition to SMPP, national language shift functionality is also available over Broadcast and HTTP API.
National Language Shift Tables are character sets that are customized for specific characters according to the language. The following tables show list of supported languages.
Using the extended character sets, you can send messages with language-specific special characters at the same price as standard GSM-7 messages. As an example, Turkish locking shift characters like ğ, Ğ,€ are then at the cost of a single GSM-7 character - there is no need for Unicode messages that would limit the total message amount down to 70 characters. Using the User Data Header (UDH) we only reduce the message to 155 characters (since UDH takes up additional space in the message payload).
When a single shift of a particular character set is used, each extended letter will take up double space because an invisible space character has to be used to access the shift table.
For example, when using Spanish NLI Ú is only accessible in the single shift character set extension, which requires the use of an escape character. With each new single shift character introduced, the message length reduces by 1 respectively. This means in case there are 3 single shift characters, the default limit of 155 characters per NLI message is reduced to 152.
Example:
1B55 (1B is the escape character, 55 is Ú that is used from the extended character set)
Language selection is possible by using language identifiers within the UDH part of the message payload. The IEI (Information-Element-Identifier) specifies whether the single or locking shift will be used.
- ESM class parameter, in this case, must be defined to 64.
- Data coding values that can be used are 0 or 1.
Locking Shift example UDH
UDH Length | IEI (Information Element Identifier) | IE Length | Selected shift |
---|---|---|---|
03 | 25 | 01 | 01 |
Remaining UDH length in bytes | National Language Locking Shift | Locking Shift - Turkish |
Single Shift example UDH
UDH Length | IEI (Information Element Identifier) | IE Length | Selected shift |
---|---|---|---|
03 | 24 | 01 | 02 |
Remaining UDH length in bytes | National Language Single Shift | Single Shift - Spanish |
UDH Identifier reference
Below is a UDH reference for each language and here is a detailed character set reference for GSM 7 (opens in a new tab).
Language | Single Shift | Locking Shift | UDH Identifier |
---|---|---|---|
Reserved | Basic | Basic | 0x00 |
Turkish | Turkish | Turkish | 0x01 |
Spanish | Basic | Spanish | 0x02 |
Portuguese | Portuguese | Portuguese | 0x03 |
Bengali | Bengali | Bengali | 0x04 |
Gujarati | Gujarati | Gujarati | 0x05 |
Hindi | Hindi | Hindi | 0x06 |
Kannada | Kannada | Kannada | 0x07 |
Malayalam | Malayalam | Malayalam | 0x08 |
Oriya | Oriya | Oriya | 0x09 |
Punjabi | Punjabi | Punjabi | 0x0A |
Tamil | Tamil | Tamil | 0x0B |
Telugu | Telugu | Telugu | 0x0C |
Urdu | Urdu | Urdu | 0x0D |