ESME_RINVPRTFLG in SMPP
What is ESME_RINVPRTFLG?
ESME_RINVPRTFLG (Error Code: 0x0000000D) is an SMPP error indicating that an invalid priority flag was specified in the SMPP request.
Possible Causes
- The
priority_flag
field in the PDU contains an invalid value. - A non-supported priority value is used that is not recognized by the SMSC.
- Corrupt or malformed PDU where the
priority_flag
is incorrectly set.
When Does It Happen?
This error occurs when submitting an SMPP PDU (such as submit_sm
) with an incorrect or unsupported priority flag value.
Example SMPP PDU Transaction
The following is an example of an incorrect submit_sm
PDU with an invalid priority_flag
value:
0000002C (Length) 00000004 (Command ID for submit_sm) 00000000 (Command Status) 00000002 (Sequence Number) 00000000 (Service Type) 35363137 38363530 30303000 (Destination Address) FF (Invalid Priority Flag) 00000000 (Message Length) 48656C6C6F (Message: "Hello")
Issue: The priority_flag
field contains 0xFF
, which is invalid.
Correct submit_sm
PDU example with a valid priority flag:
0000002C (Length) 00000004 (Command ID for submit_sm) 00000000 (Command Status) 00000002 (Sequence Number) 00000000 (Service Type) 35363137 38363530 30303000 (Destination Address) 01 (Valid Priority Flag) 00000000 (Message Length) 48656C6C6F (Message: "Hello")
How to Solve It?
- Ensure the
priority_flag
field has a valid value: 0
– Level 0 (lowest priority, default)1
– Level 12
– Level 23
– Level 3 (highest priority)- Check the SMSC documentation for supported priority values.
- Validate the PDU structure before sending.
- Enable SMPP debugging to log and inspect PDUs.
If the issue persists, contact your SMSC provider to confirm the allowed priority flag values.