SMPP error status codes
The SMPP error status codes are returned by an SMPP server (SMSC) when an SMS cannot be sent.
The SMSC will also set one of these error status codes when a command or PDU is invalid.
This list of error status codes is from the SMPP 3.4 specification.
The range from 0x00000100 to 0x000003FF (256 to 1023) is reserved for SMPP extensions.
The range from 0x00000400 to 0x000004FF (1023 to 1279) is reserved for SMSC vendor specific errors.
Error code | Value | Decimal | Description |
ESME_ROK | 0x00000000 | 0 | No Error |
ESME_RINVMSGLEN | 0x00000001 | 1 | Message Length is invalid |
ESME_RINVCMDLEN | 0x00000002 | 2 | Command Length is invalid |
ESME_RINVCMDID | 0x00000003 | 3 | Invalid Command ID |
ESME_RINVBNDSTS | 0x00000004 | 4 | Incorrect BIND Status for given command |
ESME_RALYBND | 0x00000005 | 5 | ESME Already in Bound State |
ESME_RINVPRTFLG | 0x00000006 | 6 | Invalid Priority Flag |
ESME_RINVREGDLVFLG | 0x00000007 | 7 | Invalid Registered Delivery Flag |
ESME_RSYSERR | 0x00000008 | 8 | System Error |
ESME_RINVSRCADR | 0x0000000A | 10 | Invalid Source Address |
ESME_RINVDSTADR | 0x0000000B | 11 | Invalid Destination Address |
ESME_RINVMSGID | 0x0000000C | 12 | Message ID is invalid |
ESME_RBINDFAIL | 0x0000000D | 13 | Bind Failed |
ESME_RINVPASWD | 0x0000000E | 14 | Invalid Password |
ESME_RINVSYSID | 0x0000000F | 15 | Invalid System ID |
ESME_RCANCELFAIL | 0x00000011 | 17 | Cancel SM Failed |
ESME_RREPLACEFAIL | 0x00000013 | 19 | Replace SM Failed |
ESME_RMSGQFUL | 0x00000014 | 20 | Message Queue Full |
ESME_RINVSERTYP | 0x00000015 | 21 | Invalid Service Type |
ESME_RINVNUMDESTS | 0x00000033 | 51 | Invalid number of destinations |
ESME_RINVDLNAME | 0x00000034 | 52 | Invalid Distribution List name |
ESME_RINVDESTFLAG | 0x00000040 | 64 | Destination flag is invalid (submit_multi) |
ESME_RINVSUBREP | 0x00000042 | 66 | Invalid ‘submit with replace’ request (i.e. submit_sm withreplace_if_present_flag set) |
ESME_RINVESMCLASS | 0x00000043 | 67 | Invalid esm_class field data |
ESME_RCNTSUBDL | 0x00000044 | 68 | Cannot Submit to Distribution List |
ESME_RSUBMITFAIL | 0x00000045 | 69 | submit_sm or submit_multi failed |
ESME_RINVSRCTON | 0x00000048 | 72 | Invalid Source address TON |
ESME_RINVSRCNPI | 0x00000049 | 73 | Invalid Source address NPI |
ESME_RINVDSTTON | 0x00000050 | 80 | Invalid Destination address TON |
ESME_RINVDSTNPI | 0x00000051 | 81 | Invalid Destination address NPI |
ESME_RINVSYSTYP | 0x00000053 | 83 | Invalid system_type field |
ESME_RINVREPFLAG | 0x00000054 | 84 | Invalid replace_if_present flag |
ESME_RINVNUMMSGS | 0x00000055 | 85 | Invalid number of messages |
ESME_RTHROTTLED | 0x00000058 | 88 | Throttling error (ESME has exceeded allowed message limits) |
ESME_RINVSCHED | 0x00000061 | 97 | Invalid Scheduled Delivery Time |
ESME_RINVEXPIRY | 0x00000062 | 98 | Invalid message validity period (Expiry time) |
ESME_RINVDFTMSGID | 0x00000063 | 99 | Predefined Message Invalid or Not Found |
ESME_RX_T_APPN | 0x00000064 | 100 | ESME Receiver Temporary App Error Code |
ESME_RX_P_APPN | 0x00000065 | 101 | ESME Receiver Permanent App Error Code |
ESME_RX_R_APPN | 0x00000066 | 102 | ESME Receiver Reject Message Error Code |
ESME_RQUERYFAIL | 0x00000067 | 103 | query_sm request failed |
ESME_RINVOPTPARSTREAM | 0x000000C0 | 192 | Error in the optional part of the PDUBody. |
ESME_ROPTPARNOTALLWD | 0x000000C1 | 193 | Optional Parameter not allowed |
ESME_RINVPARLEN | 0x000000C2 | 194 | Invalid Parameter Length. |
ESME_RMISSINGOPTPARAM | 0x000000C3 | 195 | Expected Optional Parameter missing |
ESME_RINVOPTPARAMVAL | 0x000000C4 | 196 | Invalid Optional Parameter Value |
ESME_RDELIVERYFAILURE | 0x000000FE | 254 | Delivery Failure (used fordata_sm_resp) |
ESME_RUNKNOWNERR | 0x000000FF | 255 | Unknown Error |