Delivery Receipts (DLR)

SMPP Delivery Receipts

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

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.

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

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.

Last updated