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.