SMPP Codes
This reference page collects the commonly used SMPP command ID values and SMPP error codes used alongside the World Text SMPP interface.
SMPP Command ID Values {#command-ids}
| Value | Name | Description |
|---|---|---|
| 0x80000000 | ESME_NACK | Negative acknowledgement |
| 0x00000001 | ESME_BNDRCV | Bind to SMSC kernel as a receiver |
| 0x80000001 | ESME_BNDRCV_RESP | Response to bind_receiver |
| 0x00000002 | ESME_BNDTRN | Bind to SMSC kernel as transmitter |
| 0x80000002 | ESME_BNDTRN_RESP | Response to bind_transmitter |
| 0x00000003 | ESME_QUERY_SM | Query status of a short-message |
| 0x80000003 | ESME_QUERY_SM_RESP | Response to query_sm |
| 0x00000004 | ESME_SUB_SM | Submit a short-message |
| 0x80000004 | ESME_SUB_SM_RESP | Response to submit_sm |
| 0x00000005 | SMSC_DELIVER_SM | Submit a short-message to ESME |
| 0x80000005 | SMSC_DELIVER_SM_RESP | Response to deliver_sm |
| 0x00000006 | ESME_UBD | Unbind from SMSC kernel |
| 0x80000006 | ESME_UBD_RESP | Response to unbind |
| 0x00000007 | ESME_REPLACE_SM | Replace a short message |
| 0x80000007 | ESME_REPLACE_SM_RESP | Response to replace_sm |
| 0x00000008 | ESME_CANCEL_SM | Cancel a short message |
| 0x80000008 | ESME_CANCEL_SM_RESP | Response to cancel_sm |
| 0x00000009 | ESME_BIND_TRANSCEIVER | Bind to SMSC kernel as transceiver |
| 0x80000009 | ESME_BIND_TRANSCEIVER_RESP | Response to bind_transceiver |
| 0x0000000B | SMSC_OUTBIND | Outbind request to a remote server |
| 0x00000015 | ESME_QRYLINK | Link confidence check |
| 0x80000015 | ESME_QRYLINK_RESP | Response to enquire_link |
| 0x00000021 | ESME_SUB_MULTI | Submit a short message to multiple recipients |
| 0x80000021 | ESME_SUB_MULTI_RESP | Response to submit_multi |
| 0x00000102 | SMSC_ALERT_NOTIFICATION | Notification that a device is ready to receive messages |
| 0x00000103 | ESME_DATA_SM | Submit a short data message |
| 0x80000103 | ESME_DATA_SM_RESP | Response to data_sm |
SMPP Error Codes {#error-codes}
| Value | Name | Description |
|---|---|---|
| 0 | ESME_ROK | OK - message acceptable |
| 1 | ESME_RINVMSGLEN | Invalid message length |
| 2 | ESME_RINVCMDLEN | Invalid command length |
| 3 | ESME_RINVCMDID | Invalid command ID |
| 4 | ESME_RINVBNDSTS | Invalid bind status |
| 5 | ESME_RALYBND | Bind attempted when already bound |
| 6 | ESME_RINVPRTFLG | Invalid priority flag |
| 7 | ESME_RINVREGDLVFLG | Invalid registered-delivery flag |
| 8 | ESME_RSYSERR | SMSC system error |
| 10 | ESME_RINVSRCADR | Invalid source address |
| 11 | ESME_RINVDSTADR | Invalid destination address |
| 12 | ESME_RINVMSGID | Invalid message-id |
| 13 | ESME_RBINDFAIL | Generic bind failure |
| 14 | ESME_RINVPASWD | Invalid password |
| 15 | ESME_RINVSYSID | Invalid system-id |
| 17 | ESME_RCANCELFAIL | Cancel failure |
| 19 | ESME_RREPLACEFAIL | Replace failure |
| 21 | ESME_RMSGQFUL | Too many messages in queue at present |
| 22 | ESME_RINVSERTYP | Invalid service type |
| 51 | ESME_RINVNUMDESTS | Invalid number of destination addresses |
| 52 | ESME_RINVDLNAME | Invalid name |
| 64 | ESME_RINVDESTFLAG | Invalid destination flag option |
| 66 | ESME_RINVSUBREP | Invalid value for submit with replace option |
| 67 | ESME_RINVESMCLASS | Invalid value for `esm_class` field |
| 68 | ESME_RCNTSUBDL | Cannot submit to a distribution list |
| 69 | ESME_RSUBMITFAIL | Generic submission failure |
| 72 | ESME_RINVSRCTON | Invalid type of number for source |
| 73 | ESME_RINVSRCNPI | Invalid numbering plan indicator for source |
| 74 | ESME_RINVDSTTON | Invalid type of number for destination |
| 75 | ESME_RINVDSTNPI | Invalid numbering plan indicator for destination |
| 77 | ESME_RINVSYSTYP | Invalid `esm` type |
| 78 | ESME_RINVREPFLAG | Invalid submit with replace flag option |
| 85 | ESME_RINVNUMMSGS | Invalid number of messages specified for `query_last_msgs` |
| 88 | ESME_RTHROTTLED | SMSC is throttling inbound messages |
| 97 | ESME_RINVSCHED | |
| 98 | ESME_RINVEXPIRY | Invalid validity date |
| 99 | ESME_RINVDFTMSGID | |
| 100 | ESME_RX_T_APPN | |
| 101 | ESME_RX_P_APPN | |
| 102 | ESME_RX_R_APPN | |
| 103 | ESME_RQUERYFAIL | Query failure |
| 192 | ESME_RINVOPTPARSTREAM | |
| 193 | ESME_ROPTPARNOTALLWD | |
| 194 | ESME_RINVPARLEN | Invalid optional parameter length |
| 195 | ESME_RMISSINGOPTPARAM | Missing optional parameter |
| 196 | ESME_RINVOPTPARAMVAL | Invalid optional parameter value |
| 254 | ESME_RDELIVERYFAILURE | Generic delivery failure |
| 255 | ESME_RUNKNOWNERR | Unknown error |
Transform Messaging with World-Text
Elevate your communication strategy with World-Text. Seamlessly integrate SMS, RCS, and WhatsApp messaging into your business to enable reliable one-way alerts and dynamic two-way conversations. Engage your customers on their preferred platforms with ease, scalability, and the power of cutting-edge messaging solutions.