BroadNet
Operations BroadNet answer

Why are my SMS messages not being delivered?

Last reviewed 1 min readReviewed by BroadNet engineering
Quick answer

Undelivered SMS almost always trace to one of a few causes — an unregistered sender ID, an invalid or unreachable number, grey-route filtering, wrong encoding, or a handset that is off — and each shows up differently in the delivery receipt.

Plain-language definitionVendor-neutralReviewed July 31, 2026
DiagramHow an A2P message reaches the phone
  1. Your applicationSends over the REST API or SMPP
  2. BroadNet platformValidates, routes and bills each message
  3. Operator SMSCDirect operator connection
  4. Subscriber handsetThe message is delivered
The delivery receipt (DLR) travels back along the same path to your webhook
The long answer

Everything worth knowing, nothing that isn't.

§01

Sender ID not registered

In regulated markets the operator drops A2P traffic from sender IDs that aren't on the registry. The DLR typically reads as rejected. Registering the ID in that market clears the block.

§02

Invalid or unreachable number

Numbers that are disconnected, ported, or roaming out of coverage fail at the network level. An HLR lookup before sending flags these so they don't count against your delivery rate or your bill.

§03

Grey-route filtering

If your traffic is routed over a grey path, operator SMS firewalls silently discard it and you may see no receipt at all. Moving to a direct operator route restores delivery.

§04

Encoding or content

A Unicode body submitted as GSM-7 (or the reverse) can be rejected or arrive garbled, and spam-like content or forbidden keywords are filtered. Read the DLR — 'rejected' versus 'expired' versus 'undelivered' points straight at the cause.

BNWritten by the BroadNet engineering team·Operating carrier-grade messaging since 2003, headquartered in Dubai·Editorial standards
FAQ

Frequently asked questions

My API call returns success but the SMS never arrives — why?
A success on submission only means the gateway accepted the message. The handset outcome comes later in the DLR, and a submitted message can still fail at the operator for an unregistered sender ID, an invalid number, or grey-route filtering. Read the DLR, not the submit response.
Does an invalid or ported number count against my delivery rate?
Yes. Sending to disconnected, invalid, or out-of-coverage numbers produces failures that lower your delivery ratio and cost you money. Run an HLR lookup first to drop them before you send.
Why do messages deliver in one country but not another?
Delivery is operator- and market-specific. A route that's direct in one country may be grey (and firewall-filtered) in another, and some regulators require a registered sender ID per market. Confirm each destination is on a direct route with a registered ID.
Build with this

Need help wiring this up?

The pages below are the products and integration guides that put this concept on the wire. If you'd rather walk through it live, our engineering team takes calls same-day during MENA working hours.

Talk to our engineering team
Feedback

Was this answer helpful?

Your vote helps us prioritise which answers to expand with examples, diagrams, and code snippets.

Was this answer helpful?
Thanks — noted. We'll keep this answer maintained.
Got it. Tell us what was missing — send a quick note.

How we write and review content

Still need help?

Talk to a real engineer about your build.

We reply within one business day, and production accounts get 24/7 support. Our solutions engineers ship code, not scripts.

$ curl -X POST https://api.broadnet.me/sms/sendSms
Response SLA
Test-access requestsReply within 1 business day
Production24 / 7 · < 15 min
Operator NOC24 / 7 · pager