GATUM
By Sempico Solutions

Detailed description of SMPP error codes

SMPP error codes are typically shown as a four-byte hexadecimal value. Only the last two bytes of this value are used to indicate different error situations. The following table displays the error number, the error name specified by the SMPP protocol, the corresponding error message and error description.

Error Number in HexadecimalError Number in DecimalError NameError Description
0x000000000ESME_ROKNo Error
0x000000011ESME_RINVMSGLENMessage Length is invalid.
0x000000022ESME_RINVCMDLENCommand Length is invalid. PDU length is considered invalid, either because the value is too short or too large for the given PDU.
0x000000033ESME_RINVCMDIDInvalid Command ID.
0x000000044ESME_RINVBNDSTSIncorrect BIND Status for given command. PDU has been sent in the wrong session state. E.g., sending a submits without first establishing a Bound TX session state.
0x000000055ESME_RALYBNDESME is Already in Bound State.
A bind request has been issued within a session that is already bound.
0x000000066ESME_RINVPRTFLGInvalid Priority Flag. Priority flag contains an illegal or unsupported value.
0x000000077ESME_RINVREGDLVFLGInvalid Registered Delivery Flag.
Registered field contains an invalid setting.
0x000000088ESME_RSYSERRSystem Error.
0x000000099Reserved
0x0000000A10ESME_RINVSRCADRInvalid source address
0x0000000B11ESME_RINVDSTADRInvalid destination address
0x0000000C12ESME_RINVMSGIDMessage ID is invalid
0x0000000D13ESME_RBINDFAILBind Failed.
A generic failure scenario for a bind attempt. This may be due to a provisioning error, incorrect password, or other reason. A MC will typically return this error for an invalid system id, system type, password or other attribute that may cause a bind failure.
0x0000000E14ESME_RINVPASWDInvalid Password.
The password field in bind PDU is invalid. This is usually returned when the length is too short or too long. It is not supposed to be returned when the ESME has specified the incorrect password.
0x0000000F15ESME_RINVSYSIDInvalid System ID.
The System ID field in bind PDU is invalid. This is usually returned when the length is too short or too long. It is not supposed to be returned when the ESME has specified the incorrect system id.
0x0000001016Reserved
0x0000001117ESME_RCANCELFAILCancel SM Failed.
Generic failure error for cancel_sm operation.
0x0000001218Reserved
0x0000001319ESME_RREPLACEFAILReplace SM Failed.
Generic failure for replace_sm operation.
0x0000001420ESME_RMSSQFULMessage Queue Full.
Used to indicate a resource error within the MC. This may be interpreted as the maximum number of messages addressed to a single destination or a global maximum of undelivered messages within the MC.
0x0000001521ESME_RINVSERTYPInvalid Service Type.
Service type is rejected either because it is not recognized by the MC or because its length is not within the defined range.
0x0000003351ESME_RINVNUMDESTSInvalid number of destinations.
The number_of_dests field in the submit_multi PDU is invalid.
0x0000003452ESME_RINVDLNAMEInvalid Distribution List name.
The dl_name field specified in the submit_multi PDU is either invalid, or non-existent.
0x0000004064ESME_RINVDESTFLAGDestination flag is invalid (submit_multi).
The dest_flag field in the submit_multi PDU has been encoded with an invalid setting.
0x0000004165Reserved
0x0000004266ESME_RINVSUBREPSubmit w/replace functionality has been requested where it is either unsupported or inappropriate for the particular MC. This can typically occur with submit_multi where the context of “replace if present” is often a best effort operation and MCs may not support the feature in submit_multi.
Another reason for returning this error would be where the feature has been denied to an ESME.
0x0000004367ESME_RINVESMCLASSInvalid esm_class field data.
The esm_class field has an unsupported setting.
0x0000004468ESME_RCNTSUBDLCannot Submit to Distribution List.
Distribution lists are not supported, are denied or unavailable.
0x0000004569ESME_RSUBMITFAILsubmit_sm, data_sm or submit_multi failed. Generic failure.
Generic failure error for submission operations.
0x0000004670Reserved
0x0000004771Reserved
0x0000004872ESME_RINVSRCTONInvalid Source address TON.
The source TON of the message is either invalid or unsupported.
0x0000004973ESME_RINVSRCNPIInvalid Source address NPI.
The source NPI of the message is either invalid or unsupported.
0x0000005080ESME_RINVDSTTONInvalid Destination address TON.
The destination TON of the message is either invalid or unsupported.
0x0000005181ESME_RINVDSTNPIInvalid Destination address NPI.
The destination NPI of the message is either invalid or unsupported.
0x0000005282Reserved
0x0000005383ESME_RINVSYSTYPInvalid system_type field.
The System type of bind PDU has an incorrect length or contains illegal characters.
0x0000005484ESME_RINVREPFLAGInvalid replace_if_present flag.
The replace_if_present flag has been encoded with an invalid or unsupported setting.
0x0000005585ESME_RINVNUMMSGSInvalid number of messages
0x0000005686Reserved
0x0000005787Reserved
0x0000005888ESME_RTHROTTLEDThrottling error (ESME has exceeded allowed message limits).
This type of error is usually returned where an ESME has exceeded a predefined messaging rate restriction applied by the operator.
0x0000005989Reserved
0x0000006096Reserved
0x0000006197ESME_RINVSCHEDInvalid scheduled delivery time
0x0000006298ESME_RINVEXPIRYInvalid Validity Period value (Expiry time).
0x0000006399ESME_RINVDFTMSGIDPredefined Message ID is Invalid or specified predefined message was not found.
The default (pre-defined) message id is either invalid or refers to a non-existent pre-defined message.
0x00000064100ESME_RX_T_APPNESME Receiver Temporary App Error Code.
RX or TRX ESME is unable to process a delivery due to a temporary problem and is requesting that the message be retried at some future point.
0x00000065101ESME_RX_P_APPNESME Receiver Permanent App Error Code.
RX or TRX ESME is unable to process a delivery due to a permanent problem relating to the given destination address and is requesting that the message and all other messages queued to the same destination should NOT be retried any further.
0x00000066102ESME_RX_R_APPNESME Receiver Reject Message Error Code.
RX or TRX ESME is unable to process a delivery due to a problem relating to the given message and is requesting that the message is rejected and not retried. This does not affect other messages queued for the same ESME or destination address.
0x00000067103ESME_RQUERYFAILquery_sm request failed.
Generic failure scenario for a query request.
0x00000068-0x000000BF104 -191Reserved
0x000000C0192ESME_RINVTLVSTREAMError in the optional part of the PDU Body.
Decoding of TLVs (Optional Parameters) has resulted in one of the following scenarios:
PDU decoding is completed with 1-3 octets of data remaining, indicating a corrupt PDU.
A TLV indicated a length that was not present in the remaining PDU data (e.g., a TLV specifying a length of 10 where only 6 octets of PDU data remain).
0x000000C1193ESME_RTLVNOTALLWDA TLV has been used in an invalid context, either inappropriate or deliberately rejected by the operator.
0x000000C2194ESME_RINVTLVLENInvalid Parameter Length.
A TLV has specified a length that is considered invalid.
0x000000C3195ESME_RMISSINGTLVExpected TLV missing.
A mandatory TLV such as the message_payload TLV within a data_sm PDU is missing.
0x000000C4196ESME_RINVTLVVALInvalid TLV value. The data content of a TLV is invalid and cannot be decoded.
0x000000C5-0x000000FD197 -253Reserved
0x000000FE254ESME_RDELIVERYFAILURETransaction delivery failure. A data_sm or submit_sm operation issued in transaction mode has resulted in a failed delivery.
0x000000FF255ESME_RUNKNOWNERRUnknown error. Some unexpected error has occurred.
0x00000100256ESME_RSERTYPUNAUTHESME Not authorised to use specified service_type.
Specific service_type has been denied for use by the given ESME.
0x00000101257ESME_RPROHIBITEDESME Prohibited from using specified operation.
The PDU request was recognised but is denied to the ESME.
0x00000102258ESME_RSERTYPUNAVAILSpecified service_type is unavailable.
Due to a service outage within the MC, a service is unavailable.
0x00000103259ESME_RSERTYPDENIEDSpecified service_type is denied.
Due to inappropriate message content wrt. the selected service_type.
0x00000104260ESME_RINVDCSInvalid Data Coding Scheme.
Specified DCS is invalid or MC does not support it.
0x00000105261ESME_RINVSRCADDRSUBUNITSource Address Subunit is invalid.
0x00000106262ESME_RINVSTDADDRSUBUNIRDestination Address Subunit is invalid.
0x00000400-1024 –Operator specific error codes
0x00000107263ESME_RINVBCASTFREQINTBroadcast Frequency Interval is invalid.
Specified value is either invalid or not supported.
0x00000108264ESME_RINVBCASTALIAS_NAMEBroadcast Alias Name is invalid.
Specified value has an incorrect length or contains invalid/unsupported characters.
0x00000109265ESME_RINVBCASTAREAFMTBroadcast Area Format is invalid.
Specified value violates protocol or is unsupported.
0x0000010A266ESME_RINVNUMBCAST_AREASNumber of Broadcast Areas is invalid.
Specified value violates protocol or is unsupported.
0x0000010B267ESME_RINVBCASTCNTTYPEBroadcast Content Type is invalid.
Specified value violates protocol or is unsupported.
0x0000010C268ESME_RINVBCASTMSGCLASSBroadcast Message Class is invalid.
Specified value violates protocol or is unsupported.
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.
Specified value violates protocol or is unsupported.
0x00000111273ESME_RINVBCASTSRVGRPBroadcast Service Group is invalid.
Specified value violates protocol or is unsupported.
0x00000112274ESME_RINVBCASTCHANINDBroadcast Channel Indicator is invalid.
Specified value violates protocol or is unsupported.
0x00000400- 0x000004FF1024-1279ReservedReserved for MC vendor specific errors.

This detailed table will help you understand SMPP error codes.

Share the Post: