Sponsored by
Melrose Labs

SMPP Error Codes

SMPP error codes indicating the outcome of an SMPP operation.

The following is a partial list of SMPP error codes (command_status and error_status_code) where applicable to SMPP v3.x and v5. A full list can be found in section 4.7.6 of the SMPP v5 specification.

Command Status NameValue (hex)Value (dec)Description
ESME_ROK0x000000000No error.
ESME_RINVMSGLEN0x000000011Message Length is invalid.
ESME_RINVCMDLEN0x000000022Command Length is invalid.
PDU length is considered invalid, either because the value is too short or too large for the given PDU.
ESME_RINVCMDID0x000000033Invalid Command ID.
ESME_RINVBNDSTS0x000000044Incorrect BIND Status for given command.
PDU has been sent in the wrong session state. E.g. sending a submit_sm without first establishing a Bound_TX session state.
ESME_RALYBND0x000000055ESME Already in Bound State.
A bind request has been issued within a session that is already bound.
ESME_RINVPRTFLG0x000000066Invalid Priority Flag. Priority flag contains an illegal or unsupported value.
ESME_RINVREGDLVFLG0x000000077Invalid Registered Delivery Flag.
Registered field contains an invalid setting.
ESME_RSYSERR0x000000088System Error.
MC system error indicating that all or part of the MC is currently unavailable. This can be returned in any response PDU.
ESME_RINVSRCADR0x0000000A10Invalid Source Address.
ESME_RINVDSTADR0x0000000B11Invalid Destination Address.
ESME_RINVMSGID0x0000000C12Message ID is invalid.
ESME_RBINDFAIL0x0000000D13Bind 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.
ESME_RINVPASWD0x0000000E14Invalid Password.
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.
ESME_RINVSYSID0x0000000F15Invalid 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.
ESME_RCANCELFAIL0x0000001117Cancel SM Failed.
Generic failure error for cancel_sm operation.
ESME_RREPLACEFAIL0x0000001319Replace SM Failed.
Generic failure for replace_sm operation.
ESME_RMSGQFUL0x0000001420Message 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.
ESME_RINVSERTYP0x0000001521Invalid Service Type.
Service type is rejected either because it is not recognised by the MC or because its length is not within the defined range.
ESME_RINVNUMDESTS0x0000003351Invalid number of destinations.
The number_of_dests field in the submit_multi PDU is invalid.
ESME_RINVDLNAME0x0000003452Invalid Distribution List name.
The dl_name field specified in the submit_multi PDU is either invalid, or non-existent.
ESME_RINVDESTFLAG0x0000004064Destination flag is invalid (submit_multi).
The dest_flag field in the submit_multi PDU has been encoded with an invalid setting.
ESME_RINVSUBREP0x0000004266Submit 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.
ESME_RINVESMCLASS0x0000004367Invalid esm_class field data.
The esm_class field has an unsupported setting.
ESME_RCNTSUBDL0x0000004468Cannot Submit to Distribution List.
Distribution lists are not supported, are denied or unavailable.
ESME_RSUBMITFAIL0x0000004569submit_sm, data_sm or submit_multi failed. Generic failure.
Generic failure error for submission operations.
ESME_RINVSRCTON0x0000004872Invalid Source address TON.
The source TON of the message is either invalid or unsupported.
ESME_RINVSRCNPI0x0000004973Invalid Source address NPI.
The source NPI of the message is either invalid or unsupported.
ESME_RINVDSTTON0x0000005080Invalid Destination address TON.
The destination TON of the message is either invalid or unsupported.
ESME_RINVDSTNPI0x0000005181Invalid Destination address NPI.
The destination NPI of the message is either invalid or unsupported.
ESME_RINVSYSTYP0x0000005383Invalid system_type field.
The System type of bind PDU has an incorrect length or contains illegal characters.
ESME_RINVREPFLAG0x0000005484Invalid replace_if_present flag.
The replace_if_present flag has been encoded with an invalid or unsupported setting.
ESME_RINVNUMMSGS0x0000005585Invalid number of messages.
ESME_RTHROTTLED0x0000005888Throttling 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.
ESME_RINVSCHED0x0000006197Invalid Scheduled Delivery Time.
ESME_RINVEXPIRY0x0000006298Invalid message validity period (Expiry time).
ESME_RINVDFTMSGID0x0000006399Predefined 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.
ESME_RX_T_APPN0x00000064100ESME 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.
ESME_RX_P_APPN0x00000065101ESME 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.
ESME_RX_R_APPN0x00000066102ESME 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.
ESME_RQUERYFAIL0x00000067103query_sm request failed.
Generic failure scenario for a query request.
ESME_RINVTLVSTREAM0x000000C0192Error in the optional part of the PDU Body.
Decoding of TLVs (Optional Parameters) has resulted in one of the following scenarios:
  • PDU decoding 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).
ESME_RTLVNOTALLWD0x000000C1193TLV not allowed.
A TLV has been used in an invalid context, either inappropriate or deliberately rejected by the operator.
ESME_RINVTLVLEN0x000000C2194Invalid Parameter Length.
A TLV has specified a length that is considered invalid.
ESME_RMISSINGTLV0x000000C3195Expected TLV missing.
A mandatory TLV such as the message_payload TLV within a data_sm PDU is missing.
ESME_RINVTLVVAL0x000000C4196Invalid TLV Value.
The data content of a TLV is invalid and cannot be decoded.
ESME_RDELIVERYFAILURE0x000000FE254Transaction Delivery Failure. A data_sm or submit_sm operation issued in transaction mode has resulted in a failed delivery.
ESME_RUNKNOWNERR0x000000FF255Unknown Error.
Some unexpected error has occurred.
ESME_RSERTYPUNAUTH0x00000100256ESME Not authorised to use specified service_type.
Specific service_type has been denied for use by the given ESME.
ESME_RPROHIBITED0x00000101257ESME Prohibited from using specified operation.
The PDU request was recognised but is denied to the ESME.
ESME_RSERTYPUNAVAIL0x00000102258Specified service_type is unavailable.
Due to a service outage within the MC, a service is unavailable.
ESME_RSERTYPDENIED0x00000103259Specified service_type is denied.
Due to inappropriate message content wrt. the selected service_type.
ESME_RINVDCS0x00000104260Invalid Data Coding Scheme.
Specified DCS is invalid or MC does not support it.
ESME_RINVSRCADDRSUBUNIT0x00000105261Source Address Subunit is invalid.
ESME_RINVDSTADDRSUBUNIT0x00000106262Destination Address Subunit is invalid.
ESME_RINVBCASTFREQINT0x00000107263Broadcast Frequency Interval is invalid.
Specified value is either invalid or not supported.
ESME_RINVBCASTALIAS_NAME0x00000108264Broadcast Alias Name is invalid.
Specified value has an incorrect length or contains invalid/unsupported characters.
ESME_RINVBCASTAREAFMT0x00000109265Broadcast Area Format is invalid.
Specified value violates protocol or is unsupported.
ESME_RINVNUMBCAST_AREAS0x0000010A266Number of Broadcast Areas is invalid.
Specified value violates protocol or is unsupported.
ESME_RINVBCASTCNTTYPE0x0000010B267Broadcast Content Type is invalid.
Specified value violates protocol or is unsupported.
ESME_RINVBCASTMSGCLASS0x0000010C268Broadcast Message Class is invalid.
Specified value violates protocol or is unsupported.
ESME_RBCASTFAIL0x0000010D269broadcast_sm operation failed.
ESME_RBCASTQUERYFAIL0x0000010E270query_broadcast_sm operation failed.
ESME_RBCASTCANCELFAIL0x0000010F271cancel_broadcast_sm operation failed.
ESME_RINVBCAST_REP0x00000110272Number of Repeated Broadcasts is invalid.
Specified value violates protocol or is unsupported.
ESME_RINVBCASTSRVGRP0x00000111273Broadcast Service Group is invalid.
Specified value violates protocol or is unsupported.
ESME_RINVBCASTCHANIND0x00000112274Broadcast Channel Indicator is invalid.
Specified value violates protocol or is unsupported.
Reserved0x00000400- 0x000004FF1024-1279Reserved for MC vendor specific errors.

Copyright © 2019-2024 SMPP.org