ESME_RTLVNOTALLWD in SMPP

What is ESME_RTLVNOTALLWD?

ESME_RTLVNOTALLWD (Error Code: 0x00000068) is an SMPP error indicating that a Tag-Length-Value (TLV) parameter included in the request is not allowed or is unsupported by the SMSC.

Possible Causes

  • The request contains an invalid or unsupported TLV parameter.
  • The TLV is not applicable for the type of request being sent.
  • The SMSC has strict policies on which TLVs can be included.
  • Incorrect formatting or encoding of TLV fields.

When Does It Happen?

This error occurs when an ESME includes an unsupported TLV in an SMPP request, and the SMSC rejects the request due to policy or capability limitations.

Example SMPP PDU Transaction

Request PDU (submit_sm) Sent by ESME with an Invalid TLV

00000040 (Length)
00000004 (Command ID for submit_sm)
00000000 (Command Status)
00000001 (Sequence Number)
00 (Service Type)
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)
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")
0421 0001 01 (Invalid TLV: Tag 0x0421, Length 1, Value 01)

Response PDU (submit_sm_resp) with ESME_RTLVNOTALLWD

00000010 (Length)
80000004 (Command ID for submit_sm_resp)
00000068 (Command Status - ESME_RTLVNOTALLWD)
00000001 (Sequence Number)

Issue: The SMSC rejected the request due to the presence of an unsupported TLV (e.g., Tag 0x0421).

How to Solve It?

  • Check the SMPP specification for valid TLV parameters for the specific operation.
  • Remove any unnecessary TLVs from the request.
  • Ensure the TLV values are correctly formatted and within allowed ranges.
  • Consult the SMSC provider for a list of supported TLVs.
  • Test without the TLV to confirm that it is the cause of the rejection.

Fixing this issue requires verifying the correct TLV usage and aligning with SMSC capabilities.

More information