โ† Back to Insights

Complete SMPP Command Status & DLR Error Code Reference (ESME_ROK to ESME_RSUBMITFAIL)

By NAMX Protocol Operations & NOC | 2026-10-31

1. Understanding SMPP Protocol Status Codes

In wholesale telecommunications, every Protocol Data Unit (PDU) response returned by an SMSC or SMS Gateway contains a 4-octet integer in its header known as command_status. A status of 0x00000000 denotes ESME_ROK (success), while any non-zero value represents a protocol, network, or billing exception.

2. Essential SMPP Command Status Reference Table

Hex CodeSMPP IdentifierRoot Cause & Technical MeaningRecommended Engineering Action
0x00000000ESME_ROKNo error. PDU processed successfully.Proceed with standard in-flight window transmission.
0x00000001ESME_RINVMSGLENMessage payload length is invalid.Verify character encoding (GSM 7-bit max 160 vs UCS-2 max 70). Ensure UDH bytes are subtracted for multi-part messages.
0x00000005ESME_RINVBNDSTSInvalid bind status for requested PDU.Do not issue submit_sm on an RX (Receiver) session. Re-bind as TRX (Transceiver).
0x0000000BESME_RINVDSTADRInvalid destination MSISDN address.Validate international E.164 phone formatting. Ensure country code and national subscriber number are valid without leading zeros.
0x0000000DESME_RBINDFAILBind authentication failed.Check system_id and password. Verify your source IP is whitelisted on the carrier edge firewall.
0x00000014ESME_RMSGQFULSMSC submission queue is full.Apply exponential backoff and reduce sliding window size temporarily.
0x00000045ESME_RSUBMITFAILGeneric submission failure at upstream carrier.Inspect destination corridor routing or switch to redundant SS7 peer.
0x00000058ESME_RTHROTTLEDESME exceeded negotiated TPS limit.Throttle client submission rate to match your provisioning tier. Check out our SMPP API documentation for sliding window flow control.

3. Decoding Delivery Receipts (DLR) & Handset Statuses

While submit_sm_resp confirms the gateway received the packet, the final delivery status is returned asynchronously via deliver_sm. Key DLR status fields include:

  • DELIVRD (000): Handset acknowledged message receipt via radio channel.
  • EXPIRED (001): Validity period lapsed while destination phone was powered off or out of cellular coverage.
  • DELETED (002): Message cancelled or purged by carrier SMSC.
  • UNDELIV (003): Hard bounce. Number unallocated, ported out, or rejected by handset.
  • ACCEPTD (004): Handed over to intermediate carrier transit peer without downstream DLR capability.
  • UNKNOWN (005): Temporary routing anomaly.
  • REJECTD (006): Blocked by carrier SS7 anti-spam firewall or unverified alphanumeric Sender ID.

For live connection testing and dedicated TRX binds, contact our 24/7 Connectivity Desk via our contact portal or inspect our real-time wholesale SMS rates.

Enterprise Consultation

Start Messaging with NAMX Telecom

Connect directly with our global wholesale connectivity team to discuss Web messaging platform access, SMPP v3.4/v5.0 binds, API connectivity, or custom pricing.

๐Ÿ“
NAMX Telecom Operations

Global Telecom Network Hub ยท International Carrier Exchange

24/7/365 Global Network Operations Center (NOC)
Need to check previously stored inquiry entries?

Request a Wholesale Proposal

Fill in your parameters to receive a custom route rate card and technical spec.

|
Available on:
โœ‰๏ธ Direct delivery to admin@namxtelecom.site & namxtelecom@gmail.com