Expertise technical

DLR pending, delivered, failed, unknown: what these SMS statuses really mean

Dlr pending delivered failed unknown: real causes, method of diagnosis and concrete solutions for the Moroccan market.

DLR pending, delivered, failed, unknown: what these SMS statuses really mean
Table of Contents
  1. When you send thousands of SMS to Morocco, the API response (`HTTP 202 Accepted`) only confirms one thing: the gateway has received your request correctly.
  2. The 4 DLR statutes explained simply
  3. Why SMS is long pending
  4. When an unknown status should alert your technical team
  5. How to Automatize Status Failed Reloads

When you send thousands of SMS to Morocco, the API response (`HTTP 202 Accepted`) only confirms one thing: the gateway has received your request correctly.

These asynchronous receipt notifications are sent by the operator (IAM, Orange, inwi) to the gateway, which sends them to you via a Webhook.

Accurate understanding of these 4 statutes is vital to monitoring the health of your shipments, identifying a corrupt database, or responding to an operator network failure.

The 4 DLR statutes explained simply

1. DELIVERED (Successfully Delivered) This is the ideal final status. It formally confirms that the SMS has reached the recipient's phone number. Technical Delay: This status arrives when the carrier confirms delivery; the delay varies by carrier and network conditions (in September 2026, the median time to that confirmation on our Moroccan routes was between 46 and 58 seconds).

PENDING The message has been sent to the local carrier, but the carrier has not yet been able to deliver it to the carrier. Why? The phone is turned off, in airplane mode, out of coverage area, or the customer’s SMS inbox is full. Duration: The carrier will keep the message in ‘Pending’ for a defined period (Validity Period, often 24h or 48h).

The message could not be delivered, and the operator abandoned the attempts. Why? The number no longer exists, is not assigned (Non-Existent Number), the validity period is exceeded, or the phone has specifically blocked receipt. A high rate of 'Failed' indicates that your database is not cleaned and contains many 'dead numbers'.

4. UNKNOWN/REJECTED The operator has received the request but categorically refuses to forward it. Why? The Sender ID is not authorized on this network, the content has been marked as SPAM by the network filters, or the route to this prefix is temporarily closed.

Why SMS is long pending

A small share of ‘Pending’ at the end of a campaign is normal (phones switched off or offline).

However, if you see a massive block of messages blocked in Pending (e.g. 40% of the campaign) on a specific operator (e.g. only numbers in 0661), this indicates a network congestion incident (Throttling) or an SMSC failure in that operator.

When an unknown status should alert your technical team

The 'Unknown' or 'Rejected' status is the most critical. If it appears in isolation, it is often a minor anti-spam filter. If it hits an entire campaign from the start, immediately alert your developers: your Sender ID is likely to have been blacklisted, or the account has been blocked for non-compliance.

Example of real webhook JSON payload:```json
{
"event": "message.failed",
"data": {
"id": "msg_8f2da1b2c3d4e5f6a7b8c9d0",
"to": "+212612345678",
"channel": "sms",
"status": "failed",
"error_code": "DLR_REJECTD",
"error_message": "The destination network did not deliver this message and gave no reason."
},
"timestamp": "2026-06-27T10:05:22Z"
}

*Here, the DLR gives you the exact reason for the failure. Branch your logic on `error_code`; `error_message` is display text.*

How to Automatize Status Failed Reloads

The analysis of DLRs only makes sense if it triggers a business action.

  • Basic Hygiene: Set up a script that detects ‘Failed’ statuses (with ‘Number Not Allocated’ error) and removes or marks those numbers as inactive in your CRM.
  • Smart Release: If a critical SMS (OTP, order confirmation) falls to 'Failed', configure your system to trigger an automatic fallback: send the alert by email, via WhatsApp, or trigger a voice call.

DLR mastery is the difference between an application that “sends SMS” and an enterprise-level notification system.

Why choose EnvoiSMS for your business?

Carrier Delivery

Local routes to IAM, Orange and Inwi, with automatic failover between routes and delivery status sent by webhook.

Cost Optimization

WhatsApp Business API from 0.65 MAD per message with optimal ROI.

Sovereign Data (CNDP)

Full compliance with Moroccan personal data protection regulations (CNDP).

How do I track routing on the IAM, Inwi and Orange networks?
Our local routes to Maroc Telecom (IAM), Orange and inwi, with automatic failover between routes, return a carrier delivery status for every message, by webhook. Delivery time depends on the recipient's carrier and network.
How does the platform manage the format of Moroccan numbers?
EnvoiSMS automatically normalizes the numbers entered (06..., 07..., 00212...) to the E.164 standard (+212) to avoid any delivery failure.

Suggested Articles

SMS Formatting in Morocco: Line Breaks, GSM-7 vs UCS-2 Encoding and Cost Optimization
technical

SMS Formatting in Morocco: Line Breaks, GSM-7 vs UCS-2 Encoding and Cost Optimization

WhatsApp Business Formatting in Morocco: Enriched Text, Emojis and Interactive Buttons
technical

WhatsApp Business Formatting in Morocco: Enriched Text, Emojis and Interactive Buttons

One-Tap Autofill & 1-Click WhatsApp OTP Authentication in Morocco
technical

One-Tap Autofill & 1-Click WhatsApp OTP Authentication in Morocco