Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

ESMEs can request intermediate and final delivery statuses for MT messages. Delivery Receipts are sent back to the ESME via DeliverSM PDUs, and can be sent on any of the RX or TRX binds bound to the SMSC.

Intermediate Notifications

The ESME can request notifications to track the progress of a message before the final delivery outcome of the message. The only intermediate notification supported right now is when the message is submitted to the carrier.

Final Delivery Notifications

These will have the final delivery outcome of a message. If a message fails due to a temporary error within the SMSC or during delivery to the Carrier, the message is retried automatically and failure is reported back to the ESME after the SMSC has given up retrying the message.

Final Delivery notifications include

  • The message was successfully delivered to the phone by the Carrier
  • The Carrier could not deliver the message to the phone.
  • The message delivery failed in the SMSC before attempting to or while attempting to send to the Carrier.

Requesting a Delivery Receipt

Delivery Receipts can be requested from the SMSC by setting the registered_delivery parameter in a SubmitSM PDU. The SMSC uses the bits 0,1 and 4  of the registered_delivery param as per the SMPP 3.4 spec to determine the types of delivery receipts that will be returned. The supported combinations for the param are listed below

7 6 5 4 3 2 1 0

Suggested Value


x x x 0 x x 0 0


No Delivery Receipts requested.

x x x 0 x x 0 1


Final successful and failure outcome notifications requested.

x x x 0 x x 1 0


Final failure outcomes notifications requested.

x x x 1 x x 0 1


All intermediate and final delivery outcome notifications requested.

Parsing a Delivery Receipt PDU

Delivery Receipts are sent back to the ESME via DeliverSM PDUs. 

The following params are set in Delivery Receipt PDUs

  • The esm_class is set to 4
  • The message_id is set in the receipted_message_id param.
  • The status of the message is set in message_status. Refer to Sec 5.2.28 in the SMPP 3.4 spec for the all the possible values. All statuses except ENROUTE are Final Delivery Notifications.
  • The short_message is formatted with more information, refer to Appendix B in the SMPP 3.4 spec for more information on the format. Ignore the "id" field in the short_message because it does not have enough characters to fit the message_id.
Network Specific Error Code

The network specific error code in the short_message will have more information on the cause for the message failure. Some of these errors should never occur because Vibes checks and ensures that these will not happen prior to transmission, but the error codes are included in the list for completeness.

Carrier Submission Error Codes ( 21 - 100 )

Carrier submission error codes are errors that occur during the transmission of a message to the carrier.  They indicate a failure of the Carrier to accept the message for delivery, along with the reason for the failure.  

Error Code




Message content too long

The maximum message length has been exceeded.


Message failed due to internal bind configuration error 

Contact Vibes Support to check source of configuration error.


Message failed due to internal error while submitting message

Contact Vibes Support to check cause of the error.


Invalid source address 

For T-Mobile messages, this error is also thrown when we are not able to send messages from a Shortcode to an MDN for the following reasons:

  • Content Blocking is on.  The subscriber does not want to be addressed by billable content. This setting blocks all content sent through the SDG: standard, premium, FTEU, etc.
  • T-mobile support selected a subscriber at random and found that the subscriber’s ability to access shortcode content had been set to “block all” within the 3PG. They selected 2 others and found that premium content had been blocked within the billing system on them.  If these types of settings are in place, then no matter whether message is free, the message will be rejected by the SDG.


Source address blacklisted



Invalid destination address

The destination MDN for the message is invalid, due to:

  • The MDN is not a valid subscriber on the Carrier
  • The MDN cannot accept SMS messages.
  • A prepaid user account has run out of funds.
  • The MDN account is suspended


Destination address blacklisted



Carrier message queue full



Exceeded allowed Carrier throttle rates



Carrier failed while delivering message due to temporary error 



Carrier failed while delivering message 



Carrier temporarily unable to route message 



Carrier unable to route message 



Carrier system unavailable 



Destination not opted in to receive messages from source address 



Invalid number of destinations 



Invalid distribution list name



Invalid submit to distribution list 



Invalid number of messages 



Invalid scheduled delivery time 



Invalid Validity Period value 



MDN not active on the carrier network

The MDN is not currently active based on the response code we have received from the Carrier. When this error code is received, the MDN should be removed from any subscription lists.


Unknown Error while submitting to the Carrier 


Carrier Delivery Receipt Error Codes ( 100 - 140 )

Delivery Receipt error responses indicate the failure of the carrier to deliver a message to the phone.  

Error Code




Carrier returned that the receipt state of the message is Unknown.



Message validity expired before the Carrier could deliver to the phone



Message was deleted by the Carrier



Message was undeliverable by the Carrier to the phone



Message was accepted on behalf of the phone



Message was rejected by the phone



The MDN is not opted in for premium/subscription services

Verizon specific status when the VMP does not have an opt-in for the MDN. Not a part of the SMPP spec.


Carrier failed while submitting message

Verizon specific status. Not a part of the SMPP spec.
1) Not a Verizon subscriber
2) Subscriber is without SMS service
3) Subscriber is unauthorized (not opted in)
4) Content has been blocked by the subscriber


Unknown Error.

A general catch-all error when Vibes is not able to parse the status of the message returned by the Carrier.

  • No labels