The data coding scheme (DCS) is a field in the SMPP protocol that specifies the encoding of the short message. The DCS can indicate the character set, message class, and message compression used in the short message.

There are two types of DCS: a general data coding scheme (GSM 03.38) and a message waiting indicator data coding scheme (GSM 03.34). The GSM 03.38 DCS is used to encode the character set and message class of the short message, while the GSM 03.34 DCS is used to encode message waiting indicators for voicemail, fax, email, and other types of messages.


The DCS field is an 8-bit field, and the values of the field are divided into two groups:

  • 0 to 127: These values are reserved for the GSM 03.38 DCS.
  • 128 to 255: These values are reserved for the GSM 03.34 DCS.

The GSM 03.38 DCS consists of the following fields:

  • Bits 0 to 1: These bits specify the character set of the short message. The possible values are:
    • 00: GSM 7-bit default alphabet
    • 01: 8-bit data
    • 10: Unicode (16-bit)
    • 11: Reserved
  • Bit 2: This bit specifies the message class of the short message. The possible values are:
    • 0: No message class
    • 1: Message class specified
  • Bits 3 to 7: These bits are reserved for future use.

The GSM 03.34 DCS consists of the following fields:

  • Bits 0 to 2: These bits specify the message waiting indicator group. The possible values are:
    • 000: Voicemail message waiting
    • 001: Fax message waiting
    • 010: Electronic mail message waiting
    • 011: Other message waiting
    • 100-111: Reserved for future use
  • Bits 3 to 7: These bits specify the message waiting indicator type. The possible values depend on the message waiting indicator group.

By using the DCS field in the SMPP protocol, SMSCs and ESMEs can ensure that the short message is encoded and transmitted correctly. It is important to note that the DCS field is not the only field that specifies the encoding of the short message. The short message payload itself also contains information about the encoding of the message.


Check out Understanding SMPP protocolL Comprehensive Guide for more information.