ESME_RINVDCS in SMPP

What is ESME_RINVDCS?

ESME_RINVDCS (Error Code: 0x000000C5) indicates that the Data Coding Scheme (DCS) value specified in the SMPP PDU is invalid or not supported by the SMSC.

Possible Causes

  • An incorrect or unsupported DCS value is used in the submit_sm PDU.
  • The SMSC does not support the specified encoding type.
  • Incorrect mapping of character sets between the ESME and SMSC.
  • The SMSC has restrictions on certain DCS values.

When Does It Happen?

This error occurs when an ESME submits a message using an invalid or unsupported DCS value in the submit_sm PDU.

Example SMPP PDU Transaction

Request PDU (submit_sm) Sent by ESME

00000034 (Length)
00000004 (Command ID for submit_sm)
00000000 (Command Status)
00000001 (Sequence Number)
00 (Service Type - Default)
01 (Source Address TON - International)
01 (Source Address NPI - ISDN)
31323334 00 (Source Address: "1234")
01 (Destination Address TON - International)
01 (Destination Address NPI - ISDN)
39383736 00 (Destination Address: "9876")
00 (ESM Class)
00 (Protocol ID)
FF (Data Coding Scheme - Invalid Value)  <-- Incorrect DCS
00 (Priority Flag)
00000000 (Schedule Delivery Time - Not Set)
00000000 (Validity Period - Not Set)
00 (Replace If Present Flag)
00 (Sm Default Msg ID)
0005 (Message Length)
48656C6C 6F (Message: "Hello")

Response PDU (submit_sm_resp) Indicating ESME_RINVDCS

00000010 (Length)
80000004 (Command ID for submit_sm_resp)
000000C5 (Command Status - ESME_RINVDCS)
00000001 (Sequence Number)

How to Solve It?

  • Ensure the DCS value is valid and supported by the SMSC.
  • Use standard DCS values, such as:
    • 0x00 – Default GSM 7-bit
    • 0x04 – 8-bit data
    • 0x08 – UCS2 (Unicode)
  • Consult the SMSC provider for a list of supported DCS values.
  • Test with different DCS values to identify a working configuration.

To resolve this issue, use a valid DCS value that aligns with the SMSC's supported encoding schemes.

More information