Enum rusmpp::commands::types::command_status::CommandStatus

source ·
#[repr(u32)]
pub enum CommandStatus {
Show 68 variants EsmeRok = 0, EsmeRinvmsglen = 1, EsmeRinvcmdlen = 2, EsmeRinvcmdid = 3, EsmeRinvbndsts = 4, EsmeRalybnd = 5, EsmeRinvprtflg = 6, EsmeRinvregdlvflg = 7, EsmeRsyserr = 8, EsmeRinvsrcadr = 10, EsmeRinvdstadr = 11, EsmeRinvmsgid = 12, EsmeRbindfail = 13, EsmeRinvpaswd = 14, EsmeRinvsysid = 15, EsmeRcancelfail = 17, EsmeRreplacefail = 19, EsmeRmsgqful = 20, EsmeRinvsertyp = 21, EsmeRinvnumdests = 51, EsmeRinvdlname = 52, EsmeRinvdestflag = 64, EsmeRinvsubrep = 66, EsmeRinvesmclass = 67, EsmeRcntsubdl = 68, EsmeRsubmitfail = 69, EsmeRinvsrcton = 72, EsmeRinvsrcnpi = 73, EsmeRinvdstton = 80, EsmeRinvdstnpi = 81, EsmeRinvsystyp = 83, EsmeRinvrepflag = 84, EsmeRinvnummsgs = 85, EsmeRthrottled = 88, EsmeRinvsched = 97, EsmeRinvexpiry = 98, EsmeRinvdftmsgid = 99, EsmeRxTAppn = 100, EsmeRxPAppn = 101, EsmeRxRAppn = 102, EsmeRqueryfail = 103, EsmeRinvtlvstream = 192, EsmeRtlvnotallwd = 193, EsmeRinvtlvlen = 194, EsmeRmissingtlv = 195, EsmeRinvtlvval = 196, EsmeRdeliveryfailure = 254, EsmeRunknownerr = 255, EsmeRsertypunauth = 256, EsmeRprohibited = 257, EsmeRsertypunavail = 258, EsmeRsertypdenied = 259, EsmeRinvdcs = 260, EsmeRinvsrcaddrsubunit = 261, EsmeRinvdstaddrsubunit = 262, EsmeRinvbcastfreqint = 263, EsmeRinvbcastaliasName = 264, EsmeRinvbcastareafmt = 265, EsmeRinvnumbcastAreas = 266, EsmeRinvbcastcnttype = 267, EsmeRinvbcastmsgclass = 268, EsmeRbcastfail = 269, EsmeRbcastqueryfail = 270, EsmeRbcastcancelfail = 271, EsmeRinvbcastRep = 272, EsmeRinvbcastsrvgrp = 273, EsmeRinvbcastchanind = 274, Other(u32),
}
Expand description

The CommandStatus represents the means by which an ESME or MC sends an error code to its peer. This field is only relevant in response PDUs. Thus PDU requests always have this field set to NULL (0x00000000).

The CommandStatus field of a SMPP message response indicates the success or failure of a SMPP request. It is relevant only in the SMPP response message and should be set to NULL in SMPP request messages.

The SMPP Error status codes are returned by the MC in the CommandStatus field of the SMPP message header and in the error_status_code field of a submit_multi_resp message.

Variants§

§

EsmeRok = 0

No Error.

Specified in a response PDU to indicate the success of the corresponding request PDU.

§

EsmeRinvmsglen = 1

Message Length is invalid.

short_message field or message_payload TLV has an invalid length (usually too long for the given MC or underlying network technology).

§

EsmeRinvcmdlen = 2

Command Length is invalid.

PDU length is considered invalid, either because the value is too short or too large for the given PDU.

§

EsmeRinvcmdid = 3

Invalid Command ID.

Command ID is not recognised, either because the operation is not supported or unknown.

§

EsmeRinvbndsts = 4

Incorrect 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.

§

EsmeRalybnd = 5

ESME Already in Bound State.

A bind request has been issued within a session that is already bound.

§

EsmeRinvprtflg = 6

Invalid Priority Flag.

Priority flag contains an illegal or unsupported value.

§

EsmeRinvregdlvflg = 7

Invalid Registered Delivery Flag.

Registered field contains an invalid setting.

§

EsmeRsyserr = 8

System Error.

MC system error indicating that all or part of the MC is currently unavailable. This can be returned in any response PDU.

§

EsmeRinvsrcadr = 10

Invalid Source Address.

Source address of message is considered invalid. Usually this is because the field is either too long or contains invalid characters.

§

EsmeRinvdstadr = 11

Invalid Destination Address.

Destination address of message is considered invalid. Usually this is because the field is either zero length, too long or contains invalid characters.

§

EsmeRinvmsgid = 12

Message ID is invalid.

Message ID specified in cancel_sm, query_sm or other operations is invalid.

§

EsmeRbindfail = 13

Bind 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.

§

EsmeRinvpaswd = 14

Invalid 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.

§

EsmeRinvsysid = 15

Invalid 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.

§

EsmeRcancelfail = 17

Cancel SM Failed.

Generic failure error for cancel_sm operation.

§

EsmeRreplacefail = 19

Replace SM Failed.

Generic failure for replace_sm operation.

§

EsmeRmsgqful = 20

Message 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.

§

EsmeRinvsertyp = 21

Invalid 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.

§

EsmeRinvnumdests = 51

Invalid number of destinations.

The number_of_dests field in the submit_multi PDU is invalid.

§

EsmeRinvdlname = 52

Invalid Distribution List name.

The dl_name field specified in the submit_multi PDU is either invalid, or non-existent.

§

EsmeRinvdestflag = 64

Destination flag is invalid (submit_multi).

The dest_flag field in the submit_multi PDU has been encoded with an invalid setting.

§

EsmeRinvsubrep = 66

Submit 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.

§

EsmeRinvesmclass = 67

Invalid esm_class field data.

The esm_class field has an unsupported setting.

§

EsmeRcntsubdl = 68

Cannot Submit to Distribution List.

Distribution lists are not supported, are denied or unavailable.

§

EsmeRsubmitfail = 69

submit_sm, data_sm or submit_multi failed.

Generic failure error for submission operations.

§

EsmeRinvsrcton = 72

Invalid Source address TON.

The source TON of the message is either invalid or unsupported.

§

EsmeRinvsrcnpi = 73

Invalid Source address NPI.

The source NPI of the message is either invalid or unsupported.

§

EsmeRinvdstton = 80

Invalid Destination address TON.

The destination TON of the message is either invalid or unsupported.

§

EsmeRinvdstnpi = 81

Invalid Destination address NPI.

The destination NPI of the message is either invalid or unsupported.

§

EsmeRinvsystyp = 83

Invalid system_type field.

The System type of bind PDU has an incorrect length or contains illegal characters.

§

EsmeRinvrepflag = 84

Invalid replace_if_present flag.

The replace_if_present flag has been encoded with an invalid or unsupported setting.

§

EsmeRinvnummsgs = 85

Invalid number of messages.

§

EsmeRthrottled = 88

Throttling 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.

§

EsmeRinvsched = 97

Invalid Scheduled Delivery Time.

Scheduled delivery time is either the incorrect length or is invalid.

§

EsmeRinvexpiry = 98

Invalid message validity period (Expiry time).

Expiry time is either the incorrect length or is invalid.

§

EsmeRinvdftmsgid = 99

Predefined 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.

§

EsmeRxTAppn = 100

ESME 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.

§

EsmeRxPAppn = 101

ESME 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.

§

EsmeRxRAppn = 102

ESME 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.

§

EsmeRqueryfail = 103

query_sm request failed.

Generic failure scenario for a query request.

§

EsmeRinvtlvstream = 192

Error 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).

§

EsmeRtlvnotallwd = 193

TLV not allowed.

A TLV has been used in an invalid context, either inappropriate or deliberately rejected by the operator.

§

EsmeRinvtlvlen = 194

Invalid Parameter Length.

A TLV has specified a length that is considered invalid

§

EsmeRmissingtlv = 195

Expected TLV missing.

A mandatory TLV such as the message_payload TLV within a data_sm PDU is missing.

§

EsmeRinvtlvval = 196

Invalid TLV Value.

The data content of a TLV is invalid and cannot be decoded.

§

EsmeRdeliveryfailure = 254

Transaction Delivery Failure.

A data_sm or submit_sm operation issued in transaction mode has resulted in a failed delivery.

§

EsmeRunknownerr = 255

Unknown Error.

Some unexpected error has occurred.

§

EsmeRsertypunauth = 256

ESME Not authorised to use specified service_type.

Specific service_type has been denied for use by the given ESME.

§

EsmeRprohibited = 257

ESME Prohibited from using specified operation.

The PDU request was recognised but is denied to the ESME.

§

EsmeRsertypunavail = 258

Specified service_type is unavailable.

Due to a service outage within the MC, a service is unavailable.

§

EsmeRsertypdenied = 259

Specified service_type is denied.

Due to inappropriate message content wrt. the selected service_type.

§

EsmeRinvdcs = 260

Invalid Data Coding Scheme.

Specified DCS is invalid or MC does not support it.

§

EsmeRinvsrcaddrsubunit = 261

Source Address Sub unit is Invalid.

§

EsmeRinvdstaddrsubunit = 262

Destination Address Sub unit is Invalid.

§

EsmeRinvbcastfreqint = 263

Broadcast Frequency Interval is invalid.

Specified value is either invalid or not supported.

§

EsmeRinvbcastaliasName = 264

Broadcast Alias Name is invalid.

Specified value has an incorrect length or contains invalid/unsupported characters.

§

EsmeRinvbcastareafmt = 265

Broadcast Area Format is invalid.

Specified value violates protocol or is unsupported.

§

EsmeRinvnumbcastAreas = 266

Number of Broadcast Areas is invalid.

Specified value violates protocol or is unsupported.

§

EsmeRinvbcastcnttype = 267

Broadcast Content Type is invalid.

Specified value violates protocol or is unsupported.

§

EsmeRinvbcastmsgclass = 268

Broadcast Message Class is invalid.

Specified value violates protocol or is unsupported.

§

EsmeRbcastfail = 269

broadcast_sm operation failed.

§

EsmeRbcastqueryfail = 270

query_broadcast_sm operation failed.

§

EsmeRbcastcancelfail = 271

cancel_broadcast_sm operation failed.

§

EsmeRinvbcastRep = 272

Number of Repeated Broadcasts is invalid.

Specified value violates protocol or is unsupported.

§

EsmeRinvbcastsrvgrp = 273

Broadcast Service Group is invalid.

Specified value violates protocol or is unsupported.

§

EsmeRinvbcastchanind = 274

Broadcast Channel Indicator is invalid.

Specified value violates protocol or is unsupported.

§

Other(u32)

Trait Implementations§

source§

impl Clone for CommandStatus

source§

fn clone(&self) -> CommandStatus

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CommandStatus

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CommandStatus

source§

fn default() -> CommandStatus

Returns the “default value” for a type. Read more
source§

impl From<CommandStatus> for u32

source§

fn from(value: CommandStatus) -> u32

Converts to this type from the input type.
source§

impl From<u32> for CommandStatus

source§

fn from(value: u32) -> Self

Converts to this type from the input type.
source§

impl Hash for CommandStatus

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for CommandStatus

source§

fn cmp(&self, other: &CommandStatus) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for CommandStatus

source§

fn eq(&self, other: &CommandStatus) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for CommandStatus

source§

fn partial_cmp(&self, other: &CommandStatus) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Copy for CommandStatus

source§

impl Eq for CommandStatus

source§

impl StructuralPartialEq for CommandStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more