Assume that we have an ESME which communicates with an SMSC and the SMSC with a mobile station. If the text message contains a character that needs to be escaped then the ESC (0x1B) symbol will be used. However, I take it that the ESC is a control character in the GSM alphabet so Latin-1 will be used for the encoding. (According to the SMPP v3.4 specification page 8). Assume further that the available encoding from the SMSC to the Mobile station is GSM default alphabet. Would it be possible to interpret the escape character (ESC) encoded in Latin-1 by the ESME ? In short are there any strange characters going to arise when escaping a text message's characters in GSM ESME that might be misinterpreted by the SMSC or the mobile station ?
1 Answers
The encoding you need to use heavily depends on the used data_coding value. Assuming you use data_coding=0 which means "Default Alphabet", then still it depends which the "Default Alphabet" of your SMSC is.
For example, there are SMSCs which are running Latin1 as charset, however chars which are not part of the GSM default alphabet need to be escaped.
First you need to determine which is the default charset of your SMSC (better the SMPP component). The 0x1b sequence basically hasn't anything to do with Latin1. If your SMSC is running GSM and you want to send a € sign, you send 0x1b0x65 as byte sequence in the short_message field of your submit_sm operation.
Finally, if your SMSC is using GSM and the ESME is using Latin1, then strange chars may arise, since GSM has for example greek chars which are not part of Latin1.

- 640
- 7
- 11