When sending SMS broadcasts or transactional OTPs, you may occasionally see a message remain in the Submitted (or In Transit) state instead of immediately turning Delivered.
This guide explains how telecom carrier delivery receipts (DLRs) work under the hood, why messages enter a pending state, and how Nyota’s automated 10-minute polling daemon guarantees accurate audit reporting.
1. How Delivery Receipts (DLR) Work Under the Hood
When Nyota SMS dispatches a message, it transitions through distinct telecommunication carrier milestones:
1. NYOTA DISPATCH (status: "queued" -> "submitted")
Nyota submits message over direct binds to Safaricom/Airtel/Telkom SMSCs
(Short Message Service Centers) in under 500 milliseconds.
│
▼
2. CELLULAR TOWER ATTEMPTS DELIVERY
Telecom tower searches for recipient's handset:
- Handset Active & In Coverage -> Tower delivers SMS -> Emits DLR Code 32.
- Handset Off / Out of Coverage -> Tower queues SMS for retry (up to 48h).
│
▼
3. HYBRID DLR SYNCHRONIZATION
- Real-Time Callback: Carrier sends webhook to Nyota -> status updates to "delivered".
- Automated 10-Minute Sweeper: Nyota background daemon polls carrier logs
for any stuck messages, eliminating "pending status" limbo.2. Common Reasons Messages Stay in "Submitted"
If a message remains in submitted status for several hours, it is almost always due to recipient handset conditions, not a failure on the Nyota gateway:
Handset Condition | What Happens at the Carrier Level | Resolution |
Phone Powered Off / Flat Battery | The carrier SMSC holds the message in its tower queue and attempts redelivery as soon as the phone turns on. | Message delivers automatically within 48 hours. |
Out of Coverage Area | The tower retries delivery periodically whenever the device reconnects to a cell signal. | Message delivers when user enters network coverage. |
Do-Not-Disturb (DND) Filter | The recipient has activated carrier-level marketing blocks (e.g., Safaricom DND registry). | Promotional broadcasts are deferred; transactional OTPs bypass DND. |
Full Handset Storage | Older feature phones with full SMS inboxes reject incoming packets until space is freed. |
3. Telecom Carrier DLR Status Codes Matrix
In your delivery logs at sms.nyotaimara.com/logs, you can review raw carrier status codes:
Carrier Code | System Status | Meaning & Next Step |
|
| DeliveredToTerminal: Message successfully reached recipient’s handset. |
|
| EnRoute / QueuedAtTower: Carrier is actively retrying delivery to handset. |
|
| UnknownSubscriber: Number does not exist. Reserved units refunded. |
|
|
4. Automatic Refunds for Invalid or Undeliverable Numbers
Nyota SMS uses an atomic hold-and-settlement architecture:
- If a recipient number is malformed, deactivated, or permanently rejected by the mobile network operator (Status:
failed), the reserved SMS units are automatically refunded back to your workspace unit balance. - You are never penalized for invalid numbers in your uploaded customer lists.
5. How to Check Live Message Status in Console
- Log in to sms.nyotaimara.com.
- Click Logs & Delivery Reports in the left sidebar (
/logs). - Search by recipient phone number (e.g.,
254712345678) or Campaign Name. - Review the real-time status pill (
Delivered,Submitted, orFailed) and carrier timestamp.