auviaGateway
Reference

SMPP error codes: the command_status reference

Every command_status value defined by SMPP 3.4 and 5.0, with its hex value and meaning, and the codes Auvia Gateway returns when it rejects a submit_sm.

67 codesSMPP 3.4 and 5.0Updated 26 October 2026
What Auvia returns

Codes sent back when the gateway rejects a message

Checks run before the message is stored and acknowledged. The customer receives one of these values in submit_sm_resp.

Reasoncommand_statusName in the SMPP specification
Destination address is required0x0000000BESME_RINVDSTADR
Source address is required0x0000000AESME_RINVSRCADR
Message text is empty0x00000001ESME_RINVMSGLEN
Invalid phone number format0x0000000BESME_RINVDSTADR
Network prefix not recognized for this destination0x0000000BESME_RINVDSTADR
No routing configured for this destination0x00000045ESME_RSUBMITFAIL
No supplier pricing configured for this destination0x00000065ESME_RX_P_APPN
No active trunk available for supplier0x00000065ESME_RX_P_APPN
Content blocked by moderation0x00000101ESME_RPROHIBITED
Content blocked by firewall0x00000045ESME_RSUBMITFAIL
No pricing found for this destination0x00000065ESME_RX_P_APPN
Insufficient balance0x0000040BVendor-specific code
Customer account not found0x00000065ESME_RX_P_APPN
Could not identify country code0x0000000BESME_RINVDSTADR
Rate limit exceeded0x00000058ESME_RTHROTTLED
Number does not exist (HLR)0x0000000BESME_RINVDSTADR
Subscriber not provisioned for SMS (HLR barred)0x00000042ESME_RINVSUBREP
Subscriber absent / unreachable (HLR)0x00000042ESME_RINVSUBREP
Duplicate of a message already accepted for this recipient0x00000042ESME_RINVSUBREP
Sender not approved for this destination0x00000042ESME_RINVSUBREP
Every matching route is below the minimum margin0x00000045ESME_RSUBMITFAIL
Every matching route has used its quota for the period0x00000045ESME_RSUBMITFAIL
Message loop detected (same text to the same number came back)0x00000045ESME_RSUBMITFAIL
Full table

All SMPP command_status values

Hex and decimal value, the name used by the specification and libraries, and what it means.

HexDecimalNameMeaning
0x000000000ESME_ROKNo Error
0x000000011ESME_RINVMSGLENMessage Length is invalid
0x000000022ESME_RINVCMDLENCommand Length is invalid
0x000000033ESME_RINVCMDIDInvalid Command ID
0x000000044ESME_RINVBNDSTSIncorrect BIND Status for given command
0x000000055ESME_RALYBNDESME Already in Bound State
0x000000066ESME_RINVPRTFLGInvalid Priority Flag
0x000000077ESME_RINVREGDLVFLGInvalid Registered Delivery Flag
0x000000088ESME_RSYSERRSystem Error
0x0000000A10ESME_RINVSRCADRInvalid Source Address
0x0000000B11ESME_RINVDSTADRInvalid Destination Address
0x0000000C12ESME_RINVMSGIDMessage ID is invalid
0x0000000D13ESME_RBINDFAILBind Failed
0x0000000E14ESME_RINVPASWDInvalid Password
0x0000000F15ESME_RINVSYSIDInvalid System ID
0x0000001117ESME_RCANCELFAILCancel SM Failed
0x0000001319ESME_RREPLACEFAILReplace SM Failed
0x0000001420ESME_RMSGQFULMessage Queue Full
0x0000001521ESME_RINVSERTYPInvalid Service Type
0x0000003351ESME_RINVNUMDESTSInvalid number of destinations
0x0000003452ESME_RINVDLNAMEInvalid Distribution List name
0x0000004064ESME_RINVDESTFLAGDestination flag is invalid
0x0000004266ESME_RINVSUBREPInvalid submit with replace request
0x0000004367ESME_RINVESMCLASSInvalid esm_class field data
0x0000004468ESME_RCNTSUBDLCannot Submit to Distribution List
0x0000004569ESME_RSUBMITFAILsubmit_sm or submit_multi failed
0x0000004872ESME_RINVSRCTONInvalid Source address TON
0x0000004973ESME_RINVSRCNPIInvalid Source address NPI
0x0000005080ESME_RINVDSTTONInvalid Destination address TON
0x0000005181ESME_RINVDSTNPIInvalid Destination address NPI
0x0000005383ESME_RINVSYSTYPInvalid system_type field
0x0000005484ESME_RINVREPFLAGInvalid replace_if_present flag
0x0000005585ESME_RINVNUMMSGSInvalid number of messages
0x0000005888ESME_RTHROTTLEDThrottling error (ESME has exceeded allowed message limits)
0x0000006197ESME_RINVSCHEDInvalid Scheduled Delivery Time
0x0000006298ESME_RINVEXPIRYInvalid message validity period (Expiry time)
0x0000006399ESME_RINVDFTMSGIDPredefined Message ID is Invalid or not found
0x00000064100ESME_RX_T_APPNESME Receiver Temporary App Error Code
0x00000065101ESME_RX_P_APPNESME Receiver Permanent App Error Code
0x00000066102ESME_RX_R_APPNESME Receiver Reject Message Error Code
0x00000067103ESME_RQUERYFAILquery_sm request failed
0x000000C0192ESME_RINVTLVSTREAMError in the optional part of the PDU Body
0x000000C1193ESME_RTLVNOTALLWDTLV not allowed
0x000000C2194ESME_RINVTLVLENInvalid Parameter Length
0x000000C3195ESME_RMISSINGTLVExpected TLV missing
0x000000C4196ESME_RINVTLVVALInvalid TLV Value
0x000000FE254ESME_RDELIVERYFAILURETransaction Delivery Failure
0x000000FF255ESME_RUNKNOWNERRUnknown Error
0x00000100256ESME_RSERTYPUNAUTHESME Not authorised to use specified service_type
0x00000101257ESME_RPROHIBITEDESME Prohibited from using specified operation
0x00000102258ESME_RSERTYPUNAVAILSpecified service_type is unavailable
0x00000103259ESME_RSERTYPDENIEDSpecified service_type is denied
0x00000104260ESME_RINVDCSInvalid Data Coding Scheme
0x00000105261ESME_RINVSRCADDRSUBUNITSource Address Sub unit is Invalid
0x00000106262ESME_RINVDSTADDRSUBUNITDestination Address Sub unit is Invalid
0x00000107263ESME_RINVBCASTFREQINTBroadcast Frequency Interval is invalid
0x00000108264ESME_RINVBCASTALIAS_NAMEBroadcast Alias Name is invalid
0x00000109265ESME_RINVBCASTAREAFMTBroadcast Area Format is invalid
0x0000010A266ESME_RINVNUMBCAST_AREASNumber of Broadcast Areas is invalid
0x0000010B267ESME_RINVBCASTCNTTYPEBroadcast Content Type is invalid
0x0000010C268ESME_RINVBCASTMSGCLASSBroadcast Message Class is invalid
0x0000010D269ESME_RBCASTFAILbroadcast_sm operation failed
0x0000010E270ESME_RBCASTQUERYFAILquery_broadcast_sm operation failed
0x0000010F271ESME_RBCASTCANCELFAILcancel_broadcast_sm operation failed
0x00000110272ESME_RINVBCAST_REPNumber of Repeated Broadcasts is invalid
0x00000111273ESME_RINVBCASTSRVGRPBroadcast Service Group is invalid
0x00000112274ESME_RINVBCASTCHANINDBroadcast Channel Indicator is invalid
FAQ

SMPP error questions

What is command_status in SMPP?
A 4-byte field in every SMPP response PDU. 0x00000000 (ESME_ROK) means the request was accepted; any other value is an error code from the table on this page.
Which SMPP errors are usually temporary?
Throttling (0x00000058 ESME_RTHROTTLED), a full message queue (0x00000014 ESME_RMSGQFUL), system errors (0x00000008 ESME_RSYSERR) and temporary application errors (0x00000064 ESME_RX_T_APPN) are usually retried later. Address, length and permission errors are usually final.
How does Auvia handle supplier error codes?
Every supplier code goes through an error-code registry. For each code you decide whether the message is retransmitted later, rerouted to another route or supplier, or closed. A message is sent at most 6 times in total.
What does a customer receive when Auvia rejects a message?
A submit_sm_resp with the command_status listed in the table "What Auvia returns", sent before the message is stored, so a rejected message is never charged.
Talk to us

Let’s talk about your traffic.

Tell us your business type, the protocols towards customers and suppliers, cloud or on-premise, and the capabilities you care about. Our team comes back with a demo on the console or a technical evaluation on your scenario.