DLR SMS / Delivery Receipt is a feature of SMS system that acknowledges receipt of SMS/MMS messages in downstream systems and sometimes even receipt on a handset if the corresponding carrier(s) sends acknowledgement of receipt. Typically DLRs are shared via a series of designated codes assigned to indicate success or a range of causes for failure.
In a broad sence if the SMS re receieved by the end user recipient you will get a DLR which indicated SMS is receieved by the end user.
There are 4 basic Delivery Report (DLR) statuses:
Delivered: the SMS was delivered to the recipient phone. Scheduled: the SMS is in queue for scheduled delivery. Pending: this status means that delivery is in progress. The SMS was sent to the recipient's mobile operator (SMSC) but not delivered to the phone yet. This can happen due to a number of reasons: no signal, phone turned off, phone memory full, or any other phone/subscription error (for example unpaid invoices at the recipient). Undeliverable: a number of reasons can cause an SMS to be undeliverable. Most frequently the recipient phone number is inactive. In some special cases, phones roaming abroad are unable to receive messages, and we have seen mobile operators blocking delivery to recipients with unpaid invoices or expired prepaid cards. Some operators use spam filters to block the delivery of repeated identical messages as well.
Message states
The following is a list of allowable states for a short message. The MC returns the message_state
value to the ESME as part of the query_sm_resp
, query_broadcast_sm_resp
or deliver_sm
delivery receipt PDU.
Intermediate states are states that can change. Final states are states that represent an end of life state for a message.
For example, a message in retry may return an ENROUTE
state. At some point in the future, this message will either expire or be delivered. The state will then progress to EXPIRED
or DELIVERED
. Thus a message in ENROUTE
state is said to be in an intermediate state.
A message in DELIVERED
or EXPIRED
state cannot progress to another state. These states are therefore final states.
Message State | Value | Type |
---|---|---|
SCHEDULED |
0 | Intermediate |
The message is scheduled. Delivery has not yet been initiated.
A message submitted with a scheduled delivery time may return this state when queried. This value was added for SMPP v5.0. MCs supporting earlier version of SMPP v3.3 and SMPP v3.4 are likely to return ENROUTE for scheduled messages. |
||
ENROUTE or EN_ROUTE |
1 | Intermediate |
The message is in enroute state. This is a general state used to describe a message as being active within the MC. The message may be in retry or dispatched to a mobile network for delivery to the mobile. | ||
DELIVERED |
2 | Final |
Message is delivered to destination. The message has been delivered to the destination. No further deliveries will occur. | ||
EXPIRED |
3 | Final |
Message validity period has expired. The message has failed to be delivered within its validity period and/or retry period. No further delivery attempts will be made. | ||
DELETED |
4 | Final |
Message has been deleted. The message has been cancelled or deleted from the MC. No further delivery attempts will take place. | ||
UNDELIVERABLE |
5 | Final |
Message is undeliverable. The message has encountered a delivery error and is deemed permanently undeliverable. No further delivery attempts will be made. Certain network or MC internal errors result in the permanent non-delivery of a message. Examples of such errors would be an unknown subscriber or network error that indicated that the given destination mobile was denied SMS service or could not support SMS. |
Why DLR Important
SMS service providers have much difficulties figuring out who is responsible for sending back fake DLR’s. The routes that text messages travel sometimes lead to different operators and/or SMS aggregators. Within this route it may occur a fake DLR is returned. For the sender of the SMS it is often not clear whether its partner is directly responsible for the fake DLR, because the partner often co-operates with a third party to deliver text messages. A Fake DLR shows that an SMS message has been delivered correctly while the opposite is true. In a 'normal' failed delivery, the DLR clearly indicates that the text message could not be delivered for any reason. The only one who can actually discover this method of faking delivery is the customer who has sent the SMS messages.
A real-time logging which shows exactly whether an SMS is delivered or not in combination with a test message to a mobile phone controlled by the client, could be the method to check whether SMS arrives or not. If no text message on the mobile phone is displayed, but the DLR indicates it as delivered in the logging, you know you’re dealing with Fake DLR's. Another method to fight Fake DLR's is the use of so-called test boxes for voice and SMS. These boxes allow operators real-time testing of voice and text messages.
How Our SMS Gateway App Cope with The DLR?
SMS Gateway App collect and show all live DLR in realtime. Also you can check the system with SMS status and delete non deliver number. Also collect proper number which SMS are delivered.
Here in this image you can see the SMS Status. How many total SMS passed and delivered and waiting for DLR report.