ESME_RINVESMCLASS in SMPP
What is ESME_RINVESMCLASS?
ESME_RINVESMCLASS (Error Code: 0x00000043) is an SMPP error indicating that the esm_class
field in the PDU contains an invalid or unsupported value.
Possible Causes
- The
esm_class
value is outside the valid range. - An unsupported messaging mode, message type, or feature flag is set.
- The SMSC does not support the requested
esm_class
value. - Invalid flag combinations are used in the
esm_class
field.
When Does It Happen?
This error occurs when sending a submit_sm
or deliver_sm
PDU with an incorrect esm_class
value.
Example SMPP PDU Transaction
Incorrect submit_sm
PDU (Invalid ESM Class)
0000002F (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") FF (Invalid 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_RINVESMCLASS
00000010 (Length) 80000004 (Command ID for submit_sm_resp) 00000043 (Command Status - ESME_RINVESMCLASS) 00000001 (Sequence Number)
Issue: The esm_class
field is set to an invalid value (0xFF
), which is not recognized by the SMSC.
How to Solve It?
- Use a valid
esm_class
value based on SMPP specifications. - Ensure that messaging mode and type flags are correctly set.
- Check if the SMSC supports the requested
esm_class
features. - Refer to the SMPP documentation for valid
esm_class
flag combinations. - Enable debugging logs to inspect the exact values being sent in the PDU.
If the issue persists, contact the SMSC provider to confirm supported esm_class
values and resolve configuration issues.