Delivery Receipts (DLR)
Last updated
Last updated
Many pre-v3.4 APIs and Message Centers supporting v3.3 are likely to have a means of passing receipt information within the short_message
field. This applies to MC Delivery Receipts and Intermediate Notifications. The format specifics of this information are SMS gateway and SMSC platform specific and beyond the scope of the specification. However, the following shows the approach typically taken:
id:123A456B sub:1 dlvrd:1 submit date:1702281424 done date:1702281424 stat:DELIVRD err:0 text:
The fields are specified as follows:
Field | Size (octets) | Description |
---|---|---|
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 |
---|---|---|
id
Variable
The message ID allocated to the message by the SMSC when originally submitted.
sub
3
Number of short messages originally submitted. The value may be padded with leading zeros.
dlvrd
3
Number of short messages delivered. The value may be padded with leading zeros.
submit date
10
The time and date at which the short message was submitted. In the case of a message which has been replaced, this is the date that the original message was replaced. The format is as follows:
YYMMDDhhmm where: YY last two digits of the year (00-99) MM = month (01-12) DD day (01-31) hh hour (00-23) mm minute (00-59
done date
10
The time and date at which the short message reached it’s final state. The format is the same as for the submit date.
stat
7
The final status of the message. See Message states below. State text may be abbreviated.
err
3
A network or SMSC error code for the message. See Error codes below.
text
20
Unused field, result will be blank.
SCHEDULED
0
Intermediate
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.