ESME_RCANCELFAIL in SMPP
What is ESME_RCANCELFAIL?
ESME_RCANCELFAIL (Error Code: 0x00000011) is an SMPP error indicating that the cancel_sm
request failed.
Possible Causes
- The message ID provided in the
cancel_sm
request does not exist. - The message has already been delivered and cannot be canceled.
- The message is in a state where cancellation is not allowed.
- The ESME does not have permission to cancel messages.
- The message ID belongs to another ESME account.
- The SMSC does not support message cancellation.
When Does It Happen?
This error occurs when sending a cancel_sm
PDU, and the SMSC is unable to cancel the requested message.
Example SMPP PDU Transaction
Incorrect cancel_sm
PDU (Invalid Message ID)
0000001E (Length) 00000008 (Command ID for cancel_sm) 00000000 (Command Status) 00000002 (Sequence Number) 31323334 35363738 39300000 (Invalid Message ID: "1234567890") 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")
Response PDU (cancel_sm_resp
) with ESME_RCANCELFAIL
00000010 (Length) 80000008 (Command ID for cancel_sm_resp) 00000011 (Command Status - ESME_RCANCELFAIL) 00000002 (Sequence Number)
Issue: The message ID provided ("1234567890") does not exist or cannot be canceled.
How to Solve It?
- Verify that the message ID exists and was correctly retrieved from a
submit_sm_resp
. - Ensure the message has not already been delivered.
- Check if the SMSC supports message cancellation.
- Confirm that the ESME has the necessary permissions to cancel messages.
- Enable debugging logs to inspect the exact values being sent in the PDU.
If the issue persists, contact the SMSC provider to verify message cancellation policies and resolve the issue.