Skip to main content

DLT Compliance

DLT (Distributed Ledger Technology) is India's regulatory framework for commercial SMS, mandated by TRAI. Every business sending SMS in India must register on a DLT portal and get their message templates pre-approved. This guide covers the registration process, requirements, and how DLT integrates with Exotel.


What is DLT?​

DLT is a blockchain-based registration system that tracks every commercial SMS in India. It was introduced by TRAI to reduce SMS spam and ensure accountability. The system requires:

  1. Business registration (Entity registration) on a DLT portal
  2. Sender ID registration (the header/brand name shown to recipients)
  3. Template registration (pre-approval of every message content)

Without DLT registration, SMS messages sent through any Indian telecom operator are blocked at the operator level.


DLT Registration Steps​

Step 1: Choose a DLT Portal​

Register on any one operator's DLT portal. Your registration propagates to all operators:

OperatorPortalURL
JioJioTrueConnecttrueconnect.jio.com
AirtelAirtel IQ DLTwww.airtel.in/business/commercial-communications
Vodafone-IdeaVIL Powerwww.vilpower.in
BSNLBSNL UCCwww.ucc-bsnl.co.in
tip

You only need to register on one DLT portal. Registrations are shared across all operators via the blockchain. However, propagation may take 24-48 hours.

Step 2: Register Your Entity​

Entity registration creates your business identity on the DLT platform:

Required information:

FieldDescriptionExample
Business nameRegistered company nameAcme Technologies Pvt Ltd
Business typeCompany, Partnership, Proprietorship, etc.Private Limited
Registration numberCIN, GST, or equivalentU74999KA2015PTC123456
Business PANPermanent Account NumberAABCA1234B
Authorized signatoryName and contact of authorized personRahul Kumar, +919876543210
EmailBusiness email for communicationsadmin@acmetech.com
AddressRegistered business addressFull postal address

Documents required:

DocumentFormatMax Size
Certificate of IncorporationPDF5 MB
PAN cardPDF or image5 MB
GST certificatePDF5 MB
Authorized signatory ID proofPDF or image5 MB
Letter of authorizationPDF5 MB

After submission, the DLT portal reviews and approves your entity registration. This typically takes 3-5 business days.

Upon approval, you receive your Entity ID -- a unique numeric identifier required for all SMS API calls.

Step 3: Register Sender IDs (Headers)​

Sender IDs are the names that appear as the SMS sender on the recipient's phone.

Sender TypeFormatExampleUse Case
Alphabetical (6 chars)Letters onlyEXOTLTransactional and service messages
Numeric (6 digits)Numbers only567890Promotional messages

Registration process:

  1. Log in to your DLT portal
  2. Navigate to Headers / Sender IDs
  3. Enter the desired Sender ID
  4. Select the associated template category
  5. Submit for approval (typically 1-2 business days)
warning

Sender IDs must be unique across the DLT ecosystem. If your desired Sender ID is already taken by another entity, you will need to choose a different one. Abbreviations of your brand name are commonly used.

Step 4: Register Message Templates​

Every unique message you plan to send must be registered as a template:

  1. Log in to your DLT portal
  2. Navigate to Templates > Create New Template
  3. Select template type (Transactional, Promotional, Service Implicit, Service Explicit)
  4. Associate the template with a registered Sender ID
  5. Enter the message body using {#var#} for variable placeholders
  6. Submit for approval (typically 1-3 business days)

Template example:

Dear {#var#}, your payment of INR {#var#} has been received for invoice {#var#}.
Thank you for your business. - {#var#}

For detailed template management, see SMS Campaign Templates.


Using DLT Credentials with Exotel​

SMS API​

When sending individual SMS via the Exotel API, include DLT parameters:

curl -X POST "https://<api_key>:<api_token>@api.exotel.com/v2/accounts/<account_sid>/sms/send" \
-H "Content-Type: application/json" \
-d '{
"to": "+919876543210",
"body": "Dear Rahul, your payment of INR 5000 has been received for invoice INV-001. Thank you for your business. - Acme Corp",
"sender_id": "EXOTL",
"dlt_entity_id": "1234567890123456789",
"dlt_template_id": "9876543210123456789"
}'

SMS Campaigns​

When creating bulk SMS campaigns, DLT parameters are part of the campaign configuration:

{
"dlt_entity_id": "1234567890123456789",
"dlt_template_id": "9876543210123456789",
"sender_id": "EXOTL",
"body": "Dear @@first_name, your payment of INR @@amount has been received..."
}

API Reference: See the SMS API and SMS Campaigns API for complete endpoint documentation.


DLT Validation and Delivery​

How DLT Validation Works​

Your application sends SMS via Exotel API
--> Exotel validates Entity ID and Template ID
--> Message submitted to telecom operator
--> Operator validates message body against DLT template
--> Message delivered (or rejected if mismatch)

Common DLT Validation Failures​

ErrorDescriptionFix
Entity ID not foundEntity ID is invalid or not yet propagatedVerify your Entity ID on the DLT portal
Template ID not foundTemplate not approved or not propagatedCheck template approval status; wait 24-48 hours
Content mismatchMessage body does not match the registered templateEnsure static text and variable positions match exactly
Sender ID mismatchSender ID not associated with the templateUse the Sender ID registered with this specific template
Entity blacklistedYour entity has been blocked by the operatorContact the DLT portal for resolution
info

DLT template matching is strict. The telecom operator compares your message character-by-character against the template, with {#var#} positions accepting any content. Even minor differences in punctuation, spacing, or capitalization can cause a mismatch.


Managing DLT Templates​

Template Lifecycle​

StageStatusAction Needed
SubmittedPending reviewWait for DLT portal approval
ApprovedActive and usableUse in Exotel API with the Template ID
RejectedCannot be usedReview rejection reason; fix and resubmit
DeactivatedNo longer usableResubmit if needed or create a new template

Template Modification​

DLT templates cannot be edited after approval. To change a template:

  1. Create a new template with the updated content
  2. Submit for approval
  3. Update your application to use the new Template ID
  4. The old template remains active (do not delete it until all campaigns using it are complete)

Template Limits​

Most DLT portals allow unlimited template registrations per entity. However, templates with excessive variables (mostly {#var#} with very little static text) may be flagged for review.


DLT Compliance Checklist​

Before sending any SMS through Exotel in India, verify:

RequirementStatus
Entity registered on a DLT portalRequired
Entity ID available and validRequired
Sender ID(s) registered and approvedRequired
Message template(s) registered and approvedRequired per message type
Template body matches your API message contentRequired
Correct template type for your use caseRequired
DLT credentials configured in ExotelRequired

Frequently Asked Questions​

Do I need separate DLT registrations for voice and SMS?​

No. DLT registration is only required for SMS. Voice calls do not require DLT templates or Entity IDs. However, voice campaigns must still comply with other TRAI regulations (calling hours, DND filtering).

Can I use one DLT registration for multiple Exotel accounts?​

Yes. Your DLT Entity ID is tied to your business, not to your Exotel account. You can use the same Entity ID and templates across multiple Exotel accounts.

How long does DLT template propagation take?​

After approval on one operator's portal, templates typically propagate to all operators within 24-48 hours. During this period, messages may fail on operators where the template has not yet propagated.

Is DLT required for WhatsApp messages?​

No. WhatsApp messages use Meta's template approval system, not DLT. However, DLT registration may be needed if you send SMS as a fallback when WhatsApp delivery fails.