ESME_RMSGQFUL in SMPP

What is ESME_RMSGQFUL?

ESME_RMSGQFUL (Error Code: 0x00000014) is an SMPP error indicating that the message queue at the SMSC is full, preventing new messages from being accepted.

Possible Causes

  • The SMSC's message queue has reached its capacity.
  • There is high traffic or congestion at the SMSC.
  • The ESME has exceeded its allowed message submission rate.
  • System limitations prevent further messages from being stored.
  • The SMSC has imposed temporary restrictions on message processing.

When Does It Happen?

This error occurs when sending a submit_sm PDU, and the SMSC is unable to accept the message due to queue overflow.

Example SMPP PDU Transaction

Example submit_sm PDU

00000033 (Length)
00000004 (Command ID for submit_sm)
00000000 (Command Status)
00000001 (Sequence Number)
00 (Service Type)
01 (Source Address TON)
01 (Source Address NPI)
31323334 00 (Source Address: "1234")
01 (Destination Address TON)
01 (Destination Address NPI)
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 (Registered Delivery)
00 (Replace If Present Flag)
00 (Sm Default Msg ID)
0005 (Message Length)
48656C6C 6F (Message: "Hello")

Response PDU (submit_sm_resp) with ESME_RMSGQFUL

00000010 (Length)
80000004 (Command ID for submit_sm_resp)
00000014 (Command Status - ESME_RMSGQFUL)
00000001 (Sequence Number)

Issue: The SMSC is unable to process the message due to a full queue.

How to Solve It?

  • Reduce the message submission rate to avoid overloading the SMSC.
  • Implement message queuing on the ESME side to retry later.
  • Check with the SMSC provider to see if capacity limits can be increased.
  • Ensure that messages are being dequeued and processed correctly.
  • Monitor traffic patterns and adjust sending strategies to avoid congestion.
  • Enable debugging logs to inspect the exact values being sent in the PDU.

If the issue persists, contact the SMSC provider for further troubleshooting and potential capacity adjustments.

More information