What NCPR / NDNC is
The National Customer Preference Registry (NCPR — formerly called the National Do Not Call registry, NDNC) is TRAI's consumer opt-out database. Any Indian phone subscriber can register their number to block one or more categories of commercial calls. As of late 2024 the registry holds approximately 85 million numbers.
Calling a registered number for a category they've blocked is a TRAI violation — per-call fines of ₹500–₹10,000 depending on offence count, plus a permanent black mark on your DLT header. Carriers also throttle outbound from offenders aggressively.
The 7 NCPR preference categories
Subscribers register for one or more of these. Cualify maps each Cualify campaign category to the relevant NCPR categories at dispatch time.
- 1. Banking / financial products / insurance / credit cards
- 2. Real estate
- 3. Education
- 4. Health
- 5. Consumer goods + automobiles
- 6. Telecom / IT / broadcasting / entertainment
- 7. Tourism / leisure
Plus an "all categories" blanket opt-out — the most common choice. ~70% of NCPR registrants picked the blanket option.
How Cualify scrubs
We pull the full NCPR delta feed daily at 02:00 IST (via the DLT operator's API) and maintain a hash-indexed mirror in Mumbai-region Postgres. At dispatch time, every recipient phone hash is matched against the mirror in O(1).
- Hashed, not stored in plaintext. We hash recipient numbers with the same SHA-256 salt the NCPR feed uses, so a database leak doesn't expose any actual phone numbers.
- Within 24h of dispatch. A campaign launched at 09:00 IST runs against a registry no more than 7 hours stale (since the 02:00 IST refresh). New opt-ins after 02:00 are caught on the next day's run.
- Skipped, not failed. Numbers in NCPR are removed from the campaign silently and logged on the campaign report with reason
ncpr_match. Your dispatch quota isn't consumed; the analytics funnel excludes them.
Exceptions — transactional calls bypass NCPR
NCPR only applies to promotional and service-explanatory categories. Transactional calls (OTP delivery, EMI reminders, appointment confirmations, fraud alerts) bypass the scrub — TRAI considers these necessary service communications and exempts them.
If you mis-classify a promotional campaign as transactional to bypass NCPR, that's recorded in the audit log and the carrier will catch it within a week of high-volume dispatch. Don't do it.
Bring-your-own suppression list
On top of NCPR, you can upload your own suppression list (e.g., customers who churned and asked not to be contacted again). Cualify scrubs against both lists; either one matching is enough to skip.
- Go to /contacts → Suppression list
- Upload a CSV with column
phone(E.164 format) - Save. Effective immediately on the next campaign dispatch.
You can also auto-suppress on negative call outcomes: Campaign settings → On recipient says "remove me" → add to suppression list. Default-on for outbound sales playbooks.
What you see on the campaign report
Every campaign's post-mortem report includes a section called Filtered out showing:
- NCPR matches — count + percentage of list
- Suppression-list matches — count + percentage
- Duplicate / malformed numbers — count + reason
Useful both for compliance audits and for sizing the next campaign — a 40% NCPR rate on a list of 10,000 means you're really running a 6,000-contact campaign.