Short answer
Most business SMS failures in India fall into three groups. The first is DLT mismatches: an unregistered header or template, text that doesn't match the approved template, a link that isn't whitelisted, or a missing PE-TM chain. The second is recipient-side reasons, such as a switched-off phone, an inactive number or the customer's preferences blocking promotional messages. The third is provider or network problems. A delivery report tells you the status, but the exact reason usually needs your provider's error details, and sometimes confirmation from the operator.
Possible causes vs confirmed diagnoses
A possible cause
A likely explanation based on the pattern you see. For example: "only messages with links fail, so the URL may not be whitelisted." It tells you where to look first.
A confirmed diagnosis
A reason backed by evidence: the failure status and error details from your provider, the records on your DLT portal, or an answer from the operator. Fix things only after you have this.
Error codes are not standard across providers. The SMPP protocol used between many providers and operators leaves error codes to each network or messaging centre. Always read codes against your own provider's documentation rather than a generic list.
DLT and compliance causes
| What you see | Possible cause | How to confirm |
|---|---|---|
| Every message from one template fails | The template isn't approved, is mapped to the wrong template ID, or the sent text doesn't match it | Compare the exact text sent with the approved template on your DLT portal, and check the template ID configured with your provider |
| Only messages with a link fail | The URL or app link isn't whitelisted. Since 1 October 2024, messages with non-whitelisted URLs are not delivered | Check the whitelisted URLs for your entity on the DLT portal |
| All traffic fails after changing provider or route | The PE-TM chain is undeclared or incomplete. Since 11 December 2024, such messages are rejected | Check the chain declared on your DLT portal and ask your provider which telemarketers carry your traffic |
| A header stopped working | The header was deactivated after 90 days without use, or blacklisted for misuse | Check the header's status on the DLT portal. Inactive headers can be reactivated on request |
| Promotional messages miss some numbers | Those customers have blocked promotional messages in their preferences - expected behaviour, not a fault | Check whether you hold recorded explicit consent for those customers |
| A service message is blocked like a promotion | It contains promotional content. Under TRAI's 2025 rules, mixed messages count as promotional | Review the wording against its category, and split offers into a separate promotional template |
Recipient-side causes
- Phone switched off or out of coverage: the network keeps trying for a limited period. The report may stay pending and then show as expired.
- Inactive or wrong number: numbers that are disconnected or mistyped can't receive messages. Clean your lists regularly.
- Blocked on the phone: a customer can block a sender or filter messages on their handset. The message may still show as delivered.
Content and format causes
- Variables used for fixed text: put only the parts that change (names, amounts, dates) in
{#var#}placeholders. Don't try to fit a different message into a variable. - Unexpected Unicode: one Unicode character, such as a curly quote pasted from a document, lowers the limit from 160 to 70 characters per segment. That can change how the message is split and charged.
- Wrong category: templates registered in the wrong category can be blacklisted, and repeated misuse can suspend the sender's traffic.
Provider and network causes
- A temporary problem on a route or operator network, often affecting one operator at a time
- Account settings, such as the wrong header or template mapped to a message, or an exhausted balance
- Delivery reports that arrive late, which can look like a failure at first
How to investigate, step by step
- Collect the factsNote the message IDs, send time, header and template, plus a few affected numbers. Share numbers in masked form where possible.
- Read the delivery reportsCheck the status and any error details your provider shows for those messages. See SMS delivery reports explained.
- Find the patternIs it one number, one operator, one template, messages with links, or everything? The pattern points to the likely cause.
- Check your DLT recordsConfirm the template, header, whitelisted URLs and PE-TM chain on your operator portal.
- Ask your provider to confirmYour provider can check its logs and, where needed, raise the issue with the operator.
- Fix and re-test on a small batchChange one thing at a time and send a few test messages before resuming a campaign.
Need help with the registration side? SMSTAKE offers free DLT registration support to any business.
Messages not reaching customers?
Share what you are seeing - which messages, which numbers and since when (please don't send customer personal data in your first message). Our team will help you work out the likely cause and what to check next.
Discuss Your SMS Delivery IssueSources
Checked on 30 September 2026. Rules and prices change, so confirm current requirements with the official source before acting.
- TRAI - TCCCPR (Second Amendment) Regulations, 12 February 2025 (PDF)
- TRAI Press Release No. 53/2024 - URL whitelisting and template rules (PDF)
- TRAI Direction, 30 November 2024 - message traceability through the PE-TM chain (PDF)
- SMPP Protocol Specification v3.4 - message states and delivery receipts (PDF)