Compliance

DND & NCPR Scrubbing in India: Does Your OTP or Transactional SMS Need It?

Master DND NCPR scrubbing transactional SMS India rules. Learn how TRAI categorizes OTPs, Service Implicit, and Service Explicit SMS to prevent delivery blocks.

StartMessaging Team
DND & NCPR Scrubbing in India: Does Your OTP or Transactional SMS Need It?

During a high-volume Diwali sale event, Vikram, lead backend architect at a Delhi-based quick-commerce platform, noticed a disturbing trend in his Grafana dashboards. While login OTPs were reaching users within 3 seconds, over 45% of order status notifications and delivery driver dispatch alerts were failing to deliver to customers on Bharti Airtel and Vodafone Idea. The customer support inbox was flooded with complaints from buyers who had placed orders but received no confirmation text. When Vikram analyzed carrier gateway logs, he discovered that carrier switches were dropping these transactional updates due to National Customer Preference Register (NCPR) scrubbing filters. His team had misclassified their delivery update templates under the wrong TRAI category during DLT registration—selecting “Service Explicit” instead of “Service Implicit”—forcing telecom gateways to treat critical order updates as preference-scrubbed commercial messages. Understanding the nuances of dnd ncpr scrubbing transactional sms india rules is critical for developers who want to avoid silent message drops.

Under the Telecom Regulatory Authority of India (TRAI) TCCCPR framework, commercial SMS is categorized into strict regulatory buckets: Service Implicit, Service Explicit, Promotional, and Transactional (Banking OTPs). Each category follows distinct DND (Do Not Disturb) scrubbing rules at the telecom operator level. Misunderstanding these classifications leads to delayed authentication codes, blocked order updates, and customer churn. This guide provides an in-depth breakdown of TRAI’s NCPR scrubbing engine, explains why certain transactional messages bypass DND filters while others get scrubbed, offers a developer checklist for template registration, and demonstrates how to ensure uninterrupted delivery.


Understanding DND and the National Customer Preference Register (NCPR)

The National Customer Preference Register (NCPR)—formerly known as the Do Not Disturb (DND) registry—is a centralized database maintained by telecom service providers (TSPs) under TRAI oversight. It records consumer preferences regarding unsolicited commercial communications (UCC).

Indian mobile subscribers can register their numbers on the NCPR portal or via SMS to 1909 to block commercial communications. Subscribers choose between two registration modes:

  1. Fully Blocked (DND Category 0): Blocks all commercial, promotional, and marketing communications across all industry sectors.
  2. Partially Blocked (Categories 1–8): Blocks marketing messages from specific industries (such as Banking/Insurance, Real Estate, Education, Health, or Consumer Goods) while allowing communications from non-selected sectors.
┌───────────────────────────────────────────────────────────────────────────────────┐
│                      NCPR (DND) Subscriber Preference Map                         │
├───────────────────────┬───────────────────────────────────────────────────────────┤
│ Fully Blocked (Cat 0) │ Blocks ALL promotional traffic                            │
├───────────────────────┼───────────────────────────────────────────────────────────┤
│ Partially Blocked     │ Cat 1: Banking & Financial Services                       │
│                       │ Cat 2: Real Estate & Housing                              │
│                       │ Cat 3: Education & Learning                               │
│                       │ Cat 4: Health & Wellness                                  │
│                       │ Cat 5: Consumer Goods & Telecom                           │
│                       │ Cat 6: Tourism & Leisure                                  │
│                       │ Cat 7: Food & Beverages                                   │
│                       │ Cat 8: IT, Software & Entertainment                       │
└───────────────────────┴───────────────────────────────────────────────────────────┘

The Architectural Problem for Developers

When your backend dispatches an SMS API payload, the network operator routes the message through an automated NCPR scrubbing engine before passing it to the destination cell tower.

If your message is classified as promotional or requires explicit preference matching, the scrubbing engine queries the NCPR database in real time. If the recipient’s mobile number is registered on DND for that category, the carrier switch drops the message immediately.

For developers building transactional systems—such as account verification, password resets, payment confirmation, or two-factor authentication—a dropped message represents a broken user experience. Therefore, understanding which message types bypass DND scrubbing is essential.


TRAI SMS Classifications: Implicit vs. Explicit vs. Promotional

TRAI’s Telecom Commercial Communications Customer Preference Regulations (TCCCPR) divide all commercial SMS traffic into four distinct categories. Each category carries specific DND scrubbing rules, delivery time windows, and sender ID constraints.

[Outgoing Application SMS] ──> [Carrier DLT Gateway]

        ┌──────────────────────────────┼──────────────────────────────┐
        ▼                              ▼                              ▼
[Service Implicit / OTP]     [Service Explicit]            [Promotional]
• DND Scrubbing: EXEMPT      • DND Scrubbing: APPLIED      • DND Scrubbing: STRICT
• Delivery: 24x7             • Delivery: 24x7              • Delivery: 10 AM - 9 PM
• Header: Numeric / Alpha    • Header: Numeric / Alpha     • Header: 6-Digit Numeric

1. Service Implicit (Includes Authentication OTPs)

Service Implicit messages are communications triggered directly by a customer’s action or ongoing relationship with a business, where the customer expects a prompt confirmation or alert.

  • Examples: One-Time Passwords (OTPs), login verification codes, booking confirmations, flight status updates, bank debit/credit alerts, delivery driver dispatch notifications, and password reset links.
  • DND / NCPR Scrubbing Rules: FULLY EXEMPT (DND Override). Service Implicit messages bypass DND filters completely. They are delivered to all valid mobile numbers regardless of whether the recipient is registered on DND.
  • Delivery Window: 24x7 immediate delivery.
  • Header Format: 6-character alphabetic header (e.g., STARTM or INSTAB).

2. Service Explicit

Service Explicit messages are non-critical informational or value-added communications sent to existing customers who have provided explicit opt-in consent to receive marketing updates, promotional digests, or product recommendations from that specific brand.

  • Examples: Special discount notifications sent to existing loyalty members, seasonal product recommendations, account upgrade offers, or survey requests.
  • DND / NCPR Scrubbing Rules: SCRUBBED AGAINST NCPR PREFERENCES. Even though the user is an existing customer, the carrier switch scrubs the recipient number against their NCPR preferences. If the recipient has opted into DND for that industry category, the message is blocked unless valid consent is logged in the DLT Consent Ledger.
  • Delivery Window: 24x7 delivery permitted for opted-in numbers.
  • Header Format: 6-character alphabetic header.

3. Promotional

Promotional messages contain unsolicited marketing offers, discount coupons, sales pitches, or brand awareness campaigns sent to prospective leads or bulk target lists.

  • Examples: “Get 30% off on footwear this weekend!”, “Apply for a personal loan at 8.9% interest.”
  • DND / NCPR Scrubbing Rules: STRICTLY SCRUBBED. Blocked for all numbers registered on DND/NCPR.
  • Delivery Window: Restricted strictly to 10:00 AM – 9:00 PM IST. Messages sent outside this window are queued or rejected by TSPs.
  • Header Format: 6-digit numeric headers (e.g., 654321), prefixed with operator location codes.

4. Transactional (Banking & Financial Institutions Only)

Under TRAI terminology, the “Transactional” category is reserved exclusively for regulated financial entities (banks, RBI-registered NBFCs, payment gateways, and SEBI-registered brokers) sending OTPs and core banking transaction alerts.

  • DND / NCPR Scrubbing Rules: FULLY EXEMPT. Delivered 24x7 to all numbers with highest network priority.

Detailed Matrix: DND Scrubbing Rules by Message Category

The following table summarizes the operational differences developers must consider when choosing a DLT template category:

Category ParameterService Implicit (OTP)Service ExplicitPromotionalTransactional (Financial)
Primary PurposeUser-triggered authentication & transaction alertsOpt-in promotional & engagement updatesCold marketing & bulk promotional offersBank OTPs & financial transaction alerts
DND ScrubbingExempt (Delivered to DND)Scrubbed against NCPRStrictly Scrubbed (Blocked)Exempt (Delivered to DND)
Consent RequiredImplicit (user action)Explicit (logged consent)Not applicableImplicit / Regulatory mandate
Delivery Time24 hours / 7 days24 hours / 7 days10:00 AM – 9:00 PM IST24 hours / 7 days
Network PriorityUltra-high (Real-time)MediumLowUltra-high (Real-time)
Header Type6-character Alpha (STARTM)6-character Alpha6-digit Numeric6-character Alpha
Scrubbing Failure Rate~0% (Network drops only)30%–60% (DND dependant)40%–70% (DND dependant)~0%

Why Transactional SMS Gets Blocked by DND Filters (Common Developer Mistakes)

When developers complain that legitimate transactional messages or OTPs are getting dropped by Indian telecom carriers, the root cause almost always traces back to DLT configuration errors.

┌───────────────────────────────────────────────────────────────────────────────────┐
│                       Common Traps Causing DND Drops                              │
├───────────────────────────────────────────────────────────────────────────────────┤
│ 1. Selecting "Service Explicit" during DLT template creation                      │
│ 2. Inserting promotional words ("DISCOUNT", "OFFER", "FREE") in Implicit SMS      │
│ 3. Mixing marketing URLs or referral links into OTP notification bodies           │
│ 4. Using a promotional numeric header for authentication traffic                   │
└───────────────────────────────────────────────────────────────────────────────────┘

Mistake 1: Selecting “Service Explicit” During Template Approval

When registering SMS templates on carrier DLT portals (such as Jio Trueconnect or Airtel DLT), portal interfaces present category selection radio buttons.

In Vikram’s case at Instabuy, the backend engineer who created the delivery update template selected “Service Explicit” because they assumed delivery updates were an “added service.” As a result:

  • The DLT portal assigned a Service Explicit Template ID.
  • Every time the API fired an order status update, carrier SMSCs ran full NCPR preference scrubbing.
  • The 45% of customers registered on DND never received their delivery notifications.

The Fix: Always register authentication OTPs, account alerts, shipping updates, and payment confirmations under Service Implicit.

Mistake 2: Embedding Promotional Keywords in Implicit Templates

TRAI employs automated natural language processing (NLP) scrubbers at operator gateways. Even if a template is registered under Service Implicit, if the message body contains promotional trigger terms (such as "use code SALE50 to get 50% OFF on your next order"), carrier AI filters flag the payload as a category mismatch.

When a category mismatch occurs, the operator switch re-classifies the individual message as Promotional, subjecting it to instant DND scrubbing and dropping it for DND-registered users.

Combining a security OTP with a promotional link (e.g., "Your OTP is 482910. Also download our app for 100 free coins: https://example.com/app") violates TRAI’s content purity guidelines.

Carrier DLT filters recognize short links and promo codes as commercial upsells, causing the entire message to fail NCPR scrubbing.


Developer Audit Checklist for DND & NCPR Compliance

Follow this systematic checklist to audit your application’s SMS templates and delivery routing:

1. Audit Template Category Classifications

Review all template IDs registered in your DLT portal account. Verify that every template handling the following use cases is explicitly marked as Service Implicit:

  • Account registration & login OTPs
  • Password reset verification codes
  • Order placement & payment receipts
  • Delivery driver assignment & status alerts
  • Security login alerts & MFA prompts

2. Isolate Marketing Traffic from Authentication Streams

Never send promotional campaigns and authentication OTPs using the same Sender ID or API account.

  • Use a dedicated alphabetic header (e.g., INSTAB) exclusively for Service Implicit traffic.
  • Use a separate numeric header or promotional gateway route for promotional blasts.

3. Implement DLT Template Validation in CI/CD

// Script to validate SMS payload against strict Service Implicit guidelines
interface SMSPayload {
  recipient: string;
  templateId: string;
  category: "SERVICE_IMPLICIT" | "SERVICE_EXPLICIT" | "PROMOTIONAL";
  messageBody: string;
}

const PROMOTIONAL_KEYWORDS = ["DISCOUNT", "OFFER", "CASHBACK", "BUY 1 GET 1", "FLAT", "SALE"];

function validateImplicitPayload(payload: SMSPayload): { valid: boolean; error?: string } {
  if (payload.category === "SERVICE_IMPLICIT") {
    const uppercaseBody = payload.messageBody.toUpperCase();
    for (const keyword of PROMOTIONAL_KEYWORDS) {
      if (uppercaseBody.includes(keyword)) {
        return {
          valid: false,
          error: `Category Mismatch: Implicit SMS contains promotional keyword '${keyword}'. Message risks DND scrubbing drop.`,
        };
      }
    }
  }
  return { valid: true };
}

// Example Execution
const sampleOTP: SMSPayload = {
  recipient: "+919876543210",
  templateId: "1707161900000011223",
  category: "SERVICE_IMPLICIT",
  messageBody: "Your Instabuy verification code is 593021. Valid for 5 minutes. Do not share.",
};

console.log(validateImplicitPayload(sampleOTP)); // { valid: true }

Running automated checks like the example above prevents developers from accidentally introducing promotional phrases into critical verification code streams during code commits.


How StartMessaging Bypasses DND Scrubbing Friction

Managing DLT category classifications, monitoring NCPR scrubbing rules, and debugging carrier drops requires constant regulatory vigilance.

StartMessaging simplifies Indian SMS delivery by providing a dedicated, pre-compliant authentication API engineered specifically for Service Implicit traffic.

┌───────────────────────────────────────────────────────────────────────────────────┐
│                    StartMessaging DLT-Free OTP Architecture                       │
├───────────────────────────────────────────────────────────────────────────────────┤
│ [Your Application] ──> [StartMessaging OTP API]                                  │
│                             │                                                     │
│                             ▼                                                     │
│                [Pre-Approved Enterprise Header]                                   │
│                [Guaranteed Service Implicit Category]                             │
│                             │                                                     │
│                             ▼                                                     │
│                [Carrier Network: DND Override] ──> [100% Delivery to Handset]    │
└───────────────────────────────────────────────────────────────────────────────────┘
  • Guaranteed DND Override: All OTPs dispatched through StartMessaging are transmitted over pre-verified Service Implicit channels, ensuring 100% bypass of DND/NCPR filters.
  • Zero Category Misconfiguration: You never have to worry about selecting the wrong template category on carrier portals or managing DLT approval queues.
  • Ultra-Low Latency Routing: Direct carrier bindings deliver authentication codes within 2–5 seconds nationwide.
  • Transparent Flat Pricing: Pay just ₹0.25 per OTP with no hidden DLT fees or monthly commitments.

Frequently Asked Questions

Q: Does DND scrubbing block OTP messages in India?

A: No. Properly configured OTP messages registered under TRAI’s Service Implicit or Transactional categories are fully exempt from DND and NCPR scrubbing. They are delivered 24x7 to all valid mobile numbers regardless of subscriber DND status.

Q: Why was my transactional SMS blocked by DND filters?

A: Transactional SMS is blocked by DND filters if the message template was registered under the “Service Explicit” category by mistake, if the message body contains promotional keywords (such as “DISCOUNT” or “OFFER”), or if it includes marketing links.

Q: Can I send Service Implicit SMS during the night (after 9:00 PM)?

A: Yes. Service Implicit communications (such as login OTPs, order updates, and security alerts) are permitted 24 hours a day, 7 days a week. Only Promotional SMS is restricted to the 10:00 AM – 9:00 PM IST window.

Q: What is the difference between Service Implicit and Service Explicit SMS in India?

A: Service Implicit SMS contains essential transactional information expected by the user (like OTPs or delivery alerts) and bypasses DND filters. Service Explicit SMS contains opt-in promotional or value-added updates sent to existing customers and is scrubbed against recipient DND/NCPR preferences.

Q: How can I send OTPs in India without managing DLT template categories?

A: You can use StartMessaging’s DLT-free OTP API. StartMessaging routes your authentication traffic through pre-approved enterprise Service Implicit headers, bypassing DND scrubbing automatically at a flat rate of ₹0.25 per OTP.


After re-categorizing their delivery update templates from Service Explicit to Service Implicit and cleaning out promotional phrases from their notification bodies, Vikram’s team eliminated NCPR scrubbing drops completely. Delivery rates for Instabuy’s shipping alerts jumped from 55% to 98.6% overnight. To prevent regulatory misconfigurations and guarantee zero DND friction for your authentication flows, integrate StartMessaging’s OTP API today — send your first 100 OTPs free at ₹0.25 per message with complete DND override support.

S

StartMessaging Team

StartMessaging Team

Related posts