Message Encoding
A message is encoded with different encoding schemes. A message can be composed in the following ways:
- With a non-zero data_coding indicator that defines the encoding used, for example ASCII. Encoding schemes are explained in section 5.2.19 data_coding of SMPP Protocol Specification v3.4.
- With a zero data_coding indicator (SMSC Default Alphabet). A message is created by using default settings on the SMPP server (also referred to as SMSC) or client. The exact encoding scheme is not indicated in the message and both the server and the client are configured to use the same encoding scheme.
SMSC Default Alphabet is configured through a list on the SMPP Connection shared resource. In addition to the standard encoding, the list contains GSM-7BIT and GSM-7BIT-PACKED. GSM-7BIT is a GSM-7 encoding and GSM-7BIT-PACKED is a GSM-7 encoding with each byte packed into 7 bits. Always configure your SMPP Connection resource with the short message service center settings.
Message encoding is handled by various activities in the following way:
SendShortMessage
Indicate a specific encoding for your message on the Encoding tab. If you select "SMSC Default Alphabet", then SMSC default alphabet is used from the SMPP Connection resource. The message contains data_coding 0, which means that SMCS should use it as a default alphabet to decode the text.
Alternatively, if you can select a specific value, such as "Latin 1 (ISO-8859-1)", your message is encoded with that encoding and data_coding is set to indicate it. SMCS is expected to follow the data_coding and decode the message correctly.
ReceiveShortMessage
The activity examines data_coding embedded in a message. If data_coding is zero, it uses the SMSC Default Alphabet from the SMPP Connection resource. Otherwise, it selects an encoding as indicated by the data_coding.
SMPP protocol does not explicitly define the encoding schemes for "Octet unspecified (8-bit binary)" data_codings. The plug-in attempts to decode those messages as UTF-8. Any other data_coding values that do not have a clear encoding associated with them (such as "reserved") fall back to SMSC Default Alphabet from the SMPP Connection resource.