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_classvalue is outside the valid range. - An unsupported messaging mode, message type, or feature flag is set.
- The SMSC does not support the requested
esm_classvalue. - Invalid flag combinations are used in the
esm_classfield.
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_classvalue based on SMPP specifications. - Ensure that messaging mode and type flags are correctly set.
- Check if the SMSC supports the requested
esm_classfeatures. - Refer to the SMPP documentation for valid
esm_classflag 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.