---
title: "Handling Carrier DLR Webhooks and Delivery Confirmation at Scale"
---

Handling Carrier DLR Webhooks and Delivery Confirmation at Scale: SMSRiver

- [Skip to main content](#main-content) [sms river .com](/) [Public Inboxes](/#numbers-section) [Country Codes](/country-codes/) [Workbench](/workbench/) [Tools](/tools/) [Developer API](/developer/) [Pricing](/pricing/) [Log In](/accounts/login/) [Log In](/accounts/login/) [Get API Key](/pricing/) [Home](/)

- [Articles](/articles/)

- OTP & 2FA Engineering

OTP & 2FA Engineering

Published 2026-08-29

•

8 min read

# Handling Carrier DLR Webhooks and Delivery Confirmation at Scale

Architecting resilient webhook handlers for SMS Delivery Receipts (DLR). Handle out-of-order deliveries, transient errors, and aggregator status state machines.

Key Takeaway & Executive Summary

Carrier DLR webhooks arrive asynchronously and frequently out of order; handlers must be idempotent and synchronize message state machines cleanly.

When you dispatch an SMS, an HTTP 200 response from Twilio or Telnyx merely confirms that the aggregator accepted your API request. Actual handset arrival is reported minutes later via asynchronous Delivery Receipts (DLR). Designing a robust ingestion pipeline for these webhooks is critical for deliverability telemetry.

## Table of Contents

- [DLR Status State Machine](#section-1)

- [Out-of-Order Webhook Concurrency](#section-2)

- [Frequently Asked Questions](#frequently-asked-questions)

## 1 DLR Status State Machine

Standard telecom DLR status codes follow a progression:

- queued: Stored in aggregator buffer.
- sending: Transmitted to upstream carrier over SMPP.
- sent: Dispatched to the destination carrier's SMSC.
- delivered: Mobile handset confirmed reception.
- undelivered / failed: Delivery failed due to disconnected number, carrier spam block, or handset offline.

## 2 Out-of-Order Webhook Concurrency

Because carrier networks operate distributed queuing pipelines, a 'delivered' DLR webhook can arrive before the initial 'sent' status. Handlers must use monotonic timestamp checks or state machine guards so late-arriving earlier statuses never overwrite a terminal 'delivered' state in the database.

## Frequently Asked Questions • OTP & 2FA Engineering

Does a 'sent' status guarantee the user received the SMS?

No. 'Sent' only confirms delivery to the recipient's mobile network operator. Handset delivery is only guaranteed when the terminal 'delivered' status receipt arrives.

What percentage of messages receive terminal DLR receipts?

On healthy Tier-1 carrier routes, 95-98% of messages receive terminal delivery receipts within 30 seconds. Some international carriers do not return terminal DLRs.

## Related Technical Articles & Deep Dives

[Carrier Spam Filters & Deliverability
9 min read

Why Carriers Silently Drop SMS: Deep Dive into Algorithmic Spam Filters](/articles/debugging-carrier-spam-filtering/)

[QA Automation & Testing
8 min read

Testing Webhook Idempotency: Handling Duplicate and Out-of-Order SMS Events](/articles/testing-webhook-idempotency-and-retries/)

[OTP & 2FA Engineering
8 min read

Optimizing SMS OTP Delivery Latency: Carrier Peering & Timeout Strategies](/articles/optimizing-sms-otp-delivery-latency/)

Developer Sandbox

### Automate Inbound SMS & OTP Testing

Eliminate flaky 2FA in CI/CD. Access dedicated virtual lines, programmable synthetic SMS webhooks, and Model Context Protocol (MCP) integrations.

[Explore Developer Tiers →](/pricing/)
[View MCP Setup Guide](/developer/mcp-setup/)

### Developer Utilities

- [SMS Segment Calculator Calculate segment counts and carrier costs in real time.](/tools/sms-segment-calculator/)

- [Webhook Payload Validator Verify JSON webhook payloads against provider schemas.](/tools/webhook-payload-validator/)

- [SMS Delivery Troubleshooter Diagnose carrier filtering and OTP delivery failure.](/tools/sms-delivery-troubleshooter/)

- [E.164 Phone Number Formatter Format phone numbers into international E.164 standard.](/tools/phone-number-formatter/)

### Public Verification Numbers

- [United States (+1) View Line →](/receive-sms/us/)

- [United Kingdom (+44) View Line →](/receive-sms/gb/)

- [Canada (+1) View Line →](/receive-sms/ca/)

- [Germany (+49) View Line →](/receive-sms/de/)

Copied to clipboard

FULL PACKET INSPECTION
SMS

### Line: DE +49 ...

Timestamp: Just now

Extracted code

Copy Code

Message Body:

Copy Full Message

[Open Live Inbox](#)

smsriver.com

Central Office carrier inventory platform & developer SMS verification sandbox. Receive OTP codes instantly with zero SIM card requirement.

Public numbers·Live inboxes·Developer tools

Public Inboxes

- [United States (+1)](/receive-sms/us/)

- [United Kingdom (+44)](/receive-sms/gb/)

- [Canada (+1)](/receive-sms/ca/)

- [Philippines (+63)](/receive-sms/ph/)

- [Germany (+49)](/receive-sms/de/)

Developer & Tools

- [SMS Debugging Workbench](/workbench/)

- [Phone Number Inspector](/tools/phone-number-inspector/)

- [Bulk Phone Validator](/tools/bulk-phone-validator/)

- [Phone Lookup API](/developer/phone-lookup-api/)

- [E.164 Phone Formatter](/tools/phone-number-formatter/)

- [SMS Segment Calculator](/tools/sms-segment-calculator/)

- [Webhook Validator](/tools/webhook-payload-validator/)

Guides & Trust

- [Country Calling Codes](/country-codes/)

- [Troubleshooting Hub](/troubleshooting/)

- [Carrier Comparisons](/compare/)

- [Developer Reference](/developer/)

- [OpenAPI Specification](/openapi.json)

- [MCP Tools Manifest](/.well-known/mcp.json)

- [Privacy & Security Guides](/guides/)

- [Engineering Articles](/articles/)

© 2026 SMSRiver. Operating on Cloudflare Workers & D1. Adheres to CTIA Messaging Principles and 10DLC compliance standards.

[About](/about/)
[Contact](/contact/)
[Privacy Policy](/privacy/)
[Terms of Service](/guides/terms-of-service/)
Cookie Preferences