Delivery Status Tracking

What is DLR & Why It's Important

Delivery Reports (DLR) tell you if your SMS got delivered. Learn how DLR works. See the different statuses. Know why it matters for your SMS.

SMS Delivery Tracking

Understanding Delivery Reports

DLR (Delivery Report) or SMS Delivery Receipt tells you if your SMS got delivered. It's like a receipt. The carrier sends it back to confirm the message reached the phone. Wire our SMS webhook system when you want HTTP callbacks as statuses arrive—not as a fixed-latency SLA.

If the SMS reaches the person's phone, you get a DLR. It says the message was received. DLRs use codes to tell you if it worked or why it failed. Check our API documentation to see how to track delivery status programmatically.

01
Delivered
Success Status
02
Pending
In Progress
03
Failed
Error Status
04
Live
Status feed
Statuses

4 Basic Delivery Report Statuses

Every SMS message will have one of these four delivery statuses

01

Delivered

The SMS was delivered to the recipient phone successfully.

Example: Best case scenario - message reached the user

02

Scheduled

The SMS is in queue for scheduled delivery at a future time.

Example: Message waiting to be sent at specified time

03

Pending

Delivery is in progress. SMS sent to carrier but not delivered to phone yet. Phone may be off, no signal, memory full, or subscription error.

Example: Common when recipient's phone is temporarily unavailable

04

Undeliverable

Message permanently failed. Most common cause is inactive phone number. Can also be due to roaming restrictions, unpaid bills, or spam filters.

Example: Number disconnected or carrier blocking delivery

Message states

Complete SMPP Message States

Technical breakdown of all message states as per SMPP protocol

SMPP states
  1. Intermediate

    SCHEDULED

    Value: 0

    The message is scheduled. It hasn't been sent yet. If you set a future delivery time, you'll see this status.

    Message will move to ENROUTE when delivery begins

  2. Intermediate

    ENROUTE / EN_ROUTE

    Value: 1

    The message is on its way. It's active in the message center. It might be retrying or going to the mobile network.

    Message is actively being processed by carrier

  3. Final

    DELIVERED

    Value: 2

    Message reached the phone. It's delivered. No more delivery attempts. This is success.

    Success! Message reached recipient's phone

  4. Final

    EXPIRED

    Value: 3

    Message expired. It didn't get delivered in time. The phone was unreachable too long. No more delivery attempts.

    Message expired - phone was unreachable too long

  5. Final

    DELETED

    Value: 4

    Message was deleted. It's been cancelled or removed from the message center. No more delivery attempts.

    Message manually cancelled or removed

  6. Final

    UNDELIVERABLE

    Value: 5

    Message can't be delivered. It failed permanently. Examples: number doesn't exist, network error, number doesn't support SMS, or carrier blocking.

    Permanent failure - number inactive or blocked

Fake DLR

Why DLR is Critical

Understanding the importance of delivery reports for SMS operations

Warning

The Fake DLR Problem

SMS service providers face difficulties figuring out who is responsible for sending back fake DLRs. The routes that text messages travel sometimes lead to different operators and/or SMS aggregators. Within this route, it may occur that a fake DLR is returned.

How to Detect Fake DLRs

  1. 01

    Test with Controlled Phone

    Send a test message to a mobile phone you control. If the DLR shows 'delivered' but you didn't receive the SMS, you're dealing with fake DLRs.

  2. 02

    Status Logging

    Log DLR statuses as they arrive and compare them with whether the destination handset actually received the SMS.

  3. 03

    Use SMS Test Boxes

    Where available, professional SMS test boxes help operators sample voice and text paths and cross-check DLR accuracy against observed delivery.

In the product

How SMS Gateway Handles DLR

Delivery status reporting as events arrive from the device and carrier path

01

Event Collection

SMS Gateway collects and displays DLR reports as they arrive from the device/carrier path, so you can track delivery status without inventing absolute timelines.

02

Status Dashboard

View comprehensive statistics: total SMS sent, delivered count, pending messages, and failed deliveries all in one dashboard.

03

Smart Management

Delete non-delivered numbers, collect successfully delivered contacts, and optimize your sending list based on DLR reports.

Monitor SMS delivery status with DLR tracking—API, dashboard, and optional webhooks

Download SMS Gateway Now
FAQ

Frequently Asked Questions

Common questions about SMS Delivery Reports and tracking

01What is a Delivery Report (DLR) in SMS?

A Delivery Report (DLR) tells you if your SMS got delivered. It's like a receipt. You'll know if the message reached the phone, is still waiting, or failed. Integrate with our SMS webhook system for status callbacks when your device reports delivery events (latency follows device + carrier path).

02What are the main DLR status types?

There are 4 basic DLR statuses: 1) Delivered - SMS reached the phone, 2) Scheduled - SMS is waiting to be sent, 3) Pending - SMS sent to carrier but phone is off or no signal, 4) Undeliverable - Message failed. Number inactive or blocked.

03What does 'ENROUTE' DLR status mean?

ENROUTE means the message is on its way. The carrier is processing it. It might be retrying or going to the mobile network. This status will change to DELIVERED, EXPIRED, or UNDELIVERABLE.

04How does SMS Gateway handle DLR reporting?

SMS Gateway surfaces DLR reports as they arrive from the device and carrier path. Check SMS status, review delivery stats, and manage numbers that failed vs succeeded. The dashboard shows total sent, delivered count, and messages still waiting for a status. Timing is not a fixed SLA—handset radio and operator DLR return can lag. Check our API documentation to poll or listen for delivery programmatically.

05What is a Fake DLR and how do I detect it?

A Fake DLR says your SMS was delivered when it wasn't. To catch it, send a test message to your own phone. If the DLR says 'delivered' but you didn't get it, that's a fake DLR. Test messages help you spot this.

06Why would a message be stuck in 'Pending' status?

Messages stay Pending when the SMS went to the carrier but hasn't reached the phone yet. Common reasons: phone is off, no signal, phone memory full, roaming issues, or unpaid bills blocking messages.

07What causes 'UNDELIVERABLE' DLR status?

UNDELIVERABLE means the message failed permanently. Usually the phone number is inactive or disconnected. Other causes: phone roaming can't receive SMS, carrier blocking due to unpaid bills, spam filters blocking messages, or network errors.

08How long should I wait for a DLR response?

DLR responses come in seconds to a few minutes. PENDING messages can take 24-48 hours if the phone is off. Messages without a DLR after 24-72 hours get marked as EXPIRED.

Get started

Start Tracking SMS Delivery Today

Get delivery reports, status tracking, and list hygiene tools with SMS Gateway—status timing still depends on the SIM path.