MarioSMS

Delivery report (DLR)

The carrier's confirmation that an SMS reached the destination handset, or the error code explaining why the message never got there.

A delivery report is the receipt of the SMS world. The destination network reports back that the message was delivered, is still pending, or failed, and senders use those reports to trigger retries and fallbacks such as a voice call.

Reports can be wrong on poor routes, claiming delivery for messages that were filtered, which is why serious measurement counts codes users actually entered.

The states a report can carry

The common ones are delivered, expired after the network gave up retrying, undeliverable, rejected by a filter, and accepted, which only means an intermediary took the message.

Accepted is the one that misleads. It says a hop in the chain received the message and says nothing about whether the handset ever did.

What senders do with them

A platform watching its reports can switch routes, retry through a different provider, or offer you a voice call after a failure. Good platforms do this within a minute, which is why the second attempt often works when the first did not.

On the receiving side you see none of this, only the code or its absence. Developers building their own flows can watch the equivalent events through the API.

Why a receipt is not proof

A report comes from whichever system last handled the message, and on a long chain that is rarely the destination network. An intermediary can return a positive result for a message that a filter drops a hop later.

Platforms that care about this measure codes users actually entered against codes they sent. The gap between those two numbers is the real delivery rate, and it is always lower than what the receipts claim.