ESME_RQUERYFAIL in SMPP

What is ESME_RQUERYFAIL?

ESME_RQUERYFAIL (Error Code: 0x00000067) is an SMPP error indicating that a query_sm request failed. This occurs when the SMSC is unable to find or retrieve the message details based on the provided message ID.

Possible Causes

  • The message ID provided in the query_sm request does not exist.
  • The message has already been delivered and removed from the system.
  • The SMSC does not support message querying.
  • The ESME does not have permission to query messages.
  • Internal SMSC errors preventing message retrieval.

When Does It Happen?

This error occurs when the ESME sends a query_sm request to retrieve the status of a previously submitted message, but the SMSC cannot locate or process the request.

Example SMPP PDU Transaction

Request PDU (query_sm) Sent by ESME

0000001D (Length)
00000003 (Command ID for query_sm)
00000000 (Command Status)
00000002 (Sequence Number)
31323334 35363738 00 (Message ID: "12345678")
01 (Source Address TON - International)
01 (Source Address NPI - ISDN)
31323334 00 (Source Address: "1234")

Response PDU (query_sm_resp) with ESME_RQUERYFAIL

00000010 (Length)
80000003 (Command ID for query_sm_resp)
00000067 (Command Status - ESME_RQUERYFAIL)
00000002 (Sequence Number)

Issue: The SMSC could not find the message associated with the provided message ID.

How to Solve It?

  • Verify that the message ID in the query_sm request is correct.
  • Check if the message was already delivered and removed from the system.
  • Ensure the ESME has the necessary permissions to query messages.
  • Consult SMSC logs to determine if the message was ever processed.
  • Contact the SMSC provider for further clarification if the issue persists.

Resolving this error often requires checking the message lifecycle and ensuring the correct message ID is used.

More information