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.