SMPP Error Codes
Command Status as defined in [SMPP] (5.1.3).
Please note that SMPP protocol Command Status Error Codes below are specified as hexadecimal numbers.
Remember to do appropriate conversion before checking on results returned by SMSC through library functions.
| Value | Description |
|---|---|
| 0x00000000 | No Error |
| 0x00000001 | Message Length is invalid |
| 0x00000002 | Command Length is invalid |
| 0x00000003 | Invalid Command ID |
| 0x00000004 | Incorrect BIND Status for given command |
| 0x00000005 | ESME Already in Bound State |
| 0x00000006 | Invalid Priority Flag |
| 0x00000007 | Invalid Registered Delivery Flag |
| 0x00000008 | System Error |
| 0x00000009 | Reserved |
| 0x0000000A | Invalid Source Address |
| 0x0000000B | Invalid Destination Address |
| 0x0000000C | Message ID is invalid |
| 0x0000000D | Bind Failed |
| 0x0000000E | Invalid Password |
| 0x0000000F | Invalid System ID |
| 0x00000010 | Reserved |
| 0x00000011 | Cancel SM Failed |
| 0x00000012 | Reserved |
| 0x00000013 | Replace SM Failed |
| 0x00000014 | Message Queue Full |
| 0x00000015 | Invalid Service Type |
| 0x00000016- 0x00000032 |
Reserved |
| 0x00000033 | Invalid number of destinations |
| 0x00000034 | Invalid Distribution List name |
| 0x00000035- 0x0000003F |
Reserved |
| 0x00000040 | Destination flag is invalid (submit_multi) |
| 0x00000041 | Reserved |
| 0x00000042 | Invalid 'submit with replace' request (e.g. submit_sm with replace_if_present_flag set) |
| 0x00000043 | Invalid esm_class field data |
| 0x00000044 | Cannot Submit to Distribution List |
| 0x00000045 | submit_sm or submit_multi failed |
| 0x00000046- 0x00000047 |
Reserved |
| 0x00000048 | Invalid Source address TON |
| 0x00000049 | Invalid Source address NPI |
| 0x00000050 | Invalid Destination address TON |
| 0x00000051 | Invalid Destination address NPI |
| 0x00000052 | Reserved |
| 0x00000053 | Invalid system_type field |
| 0x00000054 | Invalid replace_if_present flag |
| 0x00000055 | Invalid number of messages |
| 0x00000056- 0x00000057 |
Reserved |
| 0x00000058 | Throttling error (ESME has exceeded allowed message limits) |
| 0x00000059- 0x00000060 |
Reserved |
| 0x00000061 | Invalid Scheduled Delivery Time |
| 0x00000062 | Invalid message validity period (Expiry time) |
| 0x00000063 | Predefined Message Invalid or Not Found |
| 0x00000064 | ESME Receiver Temporary App Error Code |
| 0x00000065 | ESME Receiver Permanent App Error Code |
| 0x00000066 | ESME Receiver Reject Message Error Code |
| 0x00000067 | query_sm request failed |
| 0x00000068- 0x000000BF |
Reserved |
| 0x000000C0 | Error in the optional part of the PDU Body |
| 0x000000C1 | Optional Parameter not allowed |
| 0x000000C2 | Invalid Parameter Length. |
| 0x000000C3 | Expected Optional Parameter missing |
| 0x000000C4 | Invalid Optional Parameter Value |
| 0x000000C5- 0x000000FD |
Reserved |
| 0x000000FE | Delivery Failure (used for data_sm_resp) |
| 0x000000FF | Unknown Error |
| 0x00000100- 0x000003FF |
Reserved for SMPP extension |
| 0x00000400- 0x000004FF |
Reserved for SMSC vendor specific errors |
| 0x00000500- 0xFFFFFFFF |
Reserved |
Message State as defined in [SMPP] (5.2.28).
| Value | Description |
|---|---|
| 1 | The message is in "en route" state |
| 2 | Message is delivered to destination |
| 3 | Message validity period has expired |
| 4 | Message has been deleted |
| 5 | Message is undeliverable |
| 6 | Message is in accepted state (e.g. has been manually read on behalf of the subscriber by customer service) |
| 7 | Message is in invalid state |
| 8 | Message is in a rejected state |
Network Error Code as defined in [SMPP] (5.3.2.31).
The Network Error Code parameter is used to indicate the actual network error code for a delivery failure. The network error code is technology specific. It's a 3 Octet String which consists of 2 sub fields: Network Type (1 Integer) and Error Code (2 Integer). The first octet indicates the network type. The following values are defined: 1 = ANSI-136, 2 = IS-95, 3 = GSM, 4 = Reserved. All other values reserved. The remaining two octets specify the actual network error code appropriate to the network type.