If you're a business sending SMS in India, DND is the single setting that decides whether your campaigns are legal. This guide explains what DND means for senders, how scrubbing actually works, and the practical rules that keep your sender ID unsuspended.
What DND means for you as a sender
The National Customer Preference Register (NCPR) is the master list of every Indian mobile number that has opted out of promotional SMS. Before you send a promotional message, you — or more accurately, your SMS provider — is legally required to scrub your recipient list against the NCPR and remove every number on it.
If you send anyway, the operator drops the message at the gateway, logs a violation against your header, and after a few incidents, suspends your sender ID. In repeat cases, TRAI can blacklist your company from sending SMS entirely.

How scrubbing actually works
Scrubbing happens in two places:
- Sender-side scrub (before submission). A compliant SMS platform pulls the latest NCPR deltas every 24 hours and filters your list before it leaves the platform. This is what SMSLocal does automatically.
- Operator-side scrub (at the gateway). Each operator also scrubs every submitted message against its copy of NCPR. If your sender-side scrub missed a number, the operator drops the message and records a violation.

Promotional vs. transactional — the DND boundary
DND only applies to promotional SMS. Transactional and service-explicit messages are exempt, so OTPs and delivery updates still reach every number. The challenge is that the category is determined by the header you send from and the approved template body — not by your intent.
| Category | Hits DND-activated numbers? | Send window | Header type |
|---|---|---|---|
| Transactional | No (exempt) | 24×7 | Transactional header |
| Service-explicit | No (exempt) | 24×7 | Transactional header |
| Service-implicit | Partially exempt | 9am–9pm IST | Transactional or promotional |
| Promotional | Yes (blocked) | 9am–9pm IST | Promotional header only |
If you try to send a marketing offer through a transactional header, the template gets rejected during DLT approval. If it somehow gets through, the operator catches it at the gateway and suspends the header. There's no "grey area" — messages must match their header's declared category exactly.
How to check if a number is on DND
You don't check numbers one at a time — you scrub a list. Three practical options:
Option 1: Let your SMS provider handle it (recommended)
Every legitimate Indian SMS provider does NCPR scrub automatically. When you upload a list to SMSLocal, we scrub it against the latest NCPR snapshot before the first message goes out, and we show you exactly how many numbers were filtered.
Option 2: TRAI's NCPR API (for in-house stacks)
TRAI exposes an NCPR lookup API that you can query programmatically. This is only useful if you're building your own SMS platform — in which case you'll also need DLT registration, operator bindings, and scrub infrastructure. Most teams don't do this.
Option 3: Manual check at trai.gov.in
For individual number lookups (e.g., a customer complaint investigation), you can check a single number at trai.gov.in. Not suitable for list-scale work.

Send windows: when you can send what
TRAI restricts promotional and service-implicit SMS to a daily time window:
- Promotional: 9am to 9pm IST only
- Service-implicit: 9am to 9pm IST only
- Service-explicit: 24×7, any time
- Transactional: 24×7, any time (OTPs, payment alerts, delivery updates)
Consent: the other half of compliance
DND tells you who to skip. Consent tells you who you're allowed to message in the first place. Even if a number is not on DND, if you don't have documented consent for promotional SMS, you're non-compliant.
Consent for SMS has three attributes that every operator will ask for if a complaint is raised:
- Timestamp: when did the user opt in?
- Channel: web form, in-app toggle, hard-copy signup, call recording?
- Scope:what exactly did they consent to? "Marketing offers" is not specific enough. "Weekly offer emails and 2 SMS/month from Brand X" is.
What happens when you violate DND
| Violation | First offence | Repeat offence |
|---|---|---|
| Sending promotional SMS to DND number | Message dropped, violation logged | Header suspended 7–30 days |
| Sending outside 9am–9pm window | Message dropped | Header suspended |
| Using transactional header for marketing | Template rejected or header suspended | PE blacklisted, re-registration required |
| No valid consent for recipients | Consumer complaint escalated to TRAI | ₹1–10 lakh fines; header suspension |
Practical playbook: staying compliant
- Use a provider that scrubs NCPR automatically. Verify in the dashboard that scrub counts are non-zero on every promotional send.
- Register separate headers for transactional and promotional. Never reuse a header across categories.
- Log every consent event with timestamp, IP, user-ID, and the exact consent text. Retain for at least 2 years.
- Honour STOP keyword within 24 hours. Every promotional template must include an opt-out instruction. When a user replies STOP, remove them everywhere.
- Respond to complaints within 48 hours. Operators forward every consumer complaint; ignoring them is how headers get suspended.
- Monitor delivery reports for DND drops.Your DLR feed distinguishes "DND filtered" from other failure reasons. A sudden spike in DND drops usually means your list is stale — clean it.
How to recover a suspended sender ID
A suspended header means your messages stop being delivered — silently, with no error shown to your application. Recovery follows a defined process, but it takes time. Here is what to do the moment you suspect a suspension.
- Confirm the suspension.Log in to your operator's DLT portal and check the Header status. A suspended header shows as “Blocked” or “Suspended”. SMSLocal also flags this in your dashboard under Sender IDs.
- Identify the violation. The DLT portal lists the complaint or violation that triggered the suspension — usually a DND breach, a send-window violation, or template mismatch. Read it carefully before submitting a response.
- File a re-instatement request.On the DLT portal (Jio, Airtel, Vi, or BSNL), there is a “Raise Dispute” or “Re-instatement Request” option against the suspended header. Attach evidence: your NCPR scrub logs, consent records, and a corrective action plan.
- During suspension: register a new header. If you need to keep sending while the dispute is resolved, register a second header under your PE and use that for production traffic. Migrating DLT-approved templates to a new header takes 2–4 hours.
- Fix the root cause before re-instating. Operators reinstate suspended headers but will not tolerate a second violation. If you sent to DND numbers because your list was stale, clean it. If a template was mis-categorised, correct the template category before sending again.

Consent in 2026 — DPDP Act adds a new layer
India's Digital Personal Data Protection (DPDP) Act 2023 adds a statutory consent framework on top of TRAI's existing DND rules. The practical difference: TRAI governs what you can send and when; DPDP governs how you collected the data and whether the consent is legally valid.
Under DPDP, consent for receiving promotional SMS must be:
- Free — not bundled with other terms or gated on a product purchase
- Specific — covering the exact type of SMS you plan to send
- Informed — the user must understand what they are consenting to
- Unambiguous — a pre-ticked checkbox is not valid consent
- Withdrawable — a STOP mechanism must be provided and honoured
Enforcement is through the Data Protection Board, which can impose penalties up to ₹250 crore per breach for large data principals. Most SMS compliance teams are revisiting their opt-in flows in 2026 to ensure DPDP alignment sits alongside existing TRAI compliance.
FAQ
The companies that never hit a violation are the boring ones. They scrub on every send, log consent obsessively, and treat complaints as a priority. There's no shortcut.


