# Delivery receipt (DLR)

> A delivery receipt (DLR) is the status report a network returns after an SMS is delivered or fails. What DLR statuses mean and why a missing receipt isn't proof of failure.

Canonical: https://mobilevalidate.com/glossary/delivery-receipt-dlr · Last updated: 2026-09-25

![A phone with chat bubbles; one messaging-app check says registered, another is unknown.](https://mobilevalidate.com/images/messaging-app-registration-check.svg)

*Messaging-app checks answer registered, not registered or unknown, with the time we checked.*


A delivery receipt (DLR) is a status report that tells the sender of an SMS what happened to it: delivered to the handset, failed, expired or still pending. The recipient's network generates it, and the messaging provider passes it back to the sending application, usually as a webhook. DLRs are how A2P senders measure delivery rates and spot broken routes.

## Where do delivery receipts come from?

In mobile networks, the receipt is the **SMS-STATUS-REPORT** defined in 3GPP [TS 23.040](https://www.3gpp.org/DynaReport/23040.htm), *Technical realization of the Short Message Service*. The sender sets a flag asking for a status report when it submits the message. When the message centre delivers the SMS, or gives up, it sends back a report with a status code.

Between businesses and messaging providers, receipts usually travel over the SMPP protocol or an HTTP API. The SMPP 3.4 specification suggests a text format with fields such as `stat` and `err`. Common `stat` values:

| Status | Meaning |
|---|---|
| `DELIVRD` | Delivered to the handset |
| `UNDELIV` | Could not be delivered (for example, invalid or barred number) |
| `EXPIRED` | Validity period ended before delivery, often because the phone was off |
| `REJECTD` | Rejected by the network or a filter |
| `ACCEPTD` / `ENROUTE` | Accepted or in transit, no final status yet |
| `UNKNOWN` | The final status can't be determined |

Providers usually map these, plus network-specific error codes, to their own simpler statuses.

## Why are delivery receipts unreliable?

DLRs are useful but not exact:

- **Coverage varies.** Some networks, countries and routes don't return receipts, or return only intermediate ones.
- **Timing varies.** A receipt can arrive seconds or hours later, or never.
- **Some routes misreport.** Low-cost routes have been known to report messages as delivered when they weren't, or to strip receipts. A sudden jump to near-perfect delivery on a cheap route deserves a check.
- **Delivered isn't read.** A receipt says nothing about whether a person saw the message, or whether the right person owns the number.

Treat a missing receipt as unknown, not as failed. Use test messages to handsets you control to check a route.

## What can you learn from failed receipts?

Patterns in failures point to list problems:

- Many `UNDELIV` results with "unknown subscriber" errors suggest **disconnected or mistyped numbers**.
- Failures to landlines mean **non-mobile numbers** are in the list. See [line type](/glossary/line-type).
- Many `EXPIRED` results suggest **phones that are off or out of coverage** for a long time, or abandoned SIMs.

Cleaning those numbers before the next send lowers cost and protects sender reputation.

## How does MobileValidate relate to delivery receipts?

MobileValidate doesn't send messages, so it doesn't produce DLRs. It answers questions you'd otherwise learn from failed receipts, before you pay for the send. The [carrier lookup](/services/carrier-lookup) returns the line type and current carrier. The upcoming [HLR lookup](/services/hlr-lookup) will report whether a mobile number is reachable right now, a direct measure of [number reachability](/glossary/number-reachability). Unknown answers are free. See [SMS cost reduction](/use-cases/sms-cost-reduction) for how teams combine pre-send checks with their own receipt data.

## Frequently asked questions

### Does a delivered DLR mean the person read the message?

No. It means the network reports that the message reached the handset. It says nothing about whether the recipient opened or read it.

### Why do some messages never get a DLR?

Not every network or route returns receipts, some return them late, and some messages expire before a final status is known. A missing receipt is an unknown, not a failure.

### Can I check whether a number can receive SMS before sending?

Partly. A carrier lookup shows whether the number is mobile, and an HLR lookup shows whether a mobile subscriber is currently reachable. Only an actual send produces a delivery receipt.
