Check phone number activity, carrier details, line type and more.
Bhutan SMS Best Practices, Compliance, and Features
Bhutan SMS Market Overview
Locale name:
Bhutan
ISO code:
BT
Region
Asia
Mobile country code (MCC)
402
Dialing Code
+975
Market Conditions: Bhutan's mobile market is dominated by B-Mobile as the primary operator. SMS remains an important communication channel, though delivery is considered "best effort" through B-Mobile networks. The market shows growing adoption of OTT messaging apps, particularly in urban areas, but SMS maintains relevance for business communications and notifications due to its reliability and universal reach.
Key SMS Features and Capabilities in Bhutan
Bhutan supports basic SMS functionality with some limitations, primarily operating through B-Mobile's network infrastructure with best-effort delivery guarantees.
Two-way SMS Support
Two-way SMS is not supported in Bhutan according to current operator capabilities. This means businesses cannot receive replies to their outbound messages through standard SMS channels.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenated messages are supported, though with some limitations based on sender ID type. Message length rules: Standard SMS length limits apply before concatenation occurs. Encoding considerations: Both GSM-7 and UCS-2 encoding are supported, with UCS-2 particularly important for local Dzongkha language support.
MMS Support
MMS messages are not directly supported in Bhutan. When attempting to send MMS content, messages are automatically converted to SMS format with an embedded URL link where recipients can access the multimedia content.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Bhutan. This means mobile numbers remain tied to their original carrier, simplifying message routing but limiting consumer flexibility.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported in Bhutan. Attempts to send messages to landline numbers will result in a failed delivery with a 400 response error (code 21614), and no charges will be incurred.
Compliance and Regulatory Guidelines for SMS in Bhutan
SMS communications in Bhutan are regulated by the Bhutan InfoComm and Media Authority (BICMA) under the Information, Communications and Media Act of 2018. The Code of Practice for SMS-CB Service provides specific guidelines for mobile service providers and message senders.
Consent and Opt-In
Explicit Consent Requirements:
Written or electronic consent must be obtained before sending marketing messages
Consent records should be maintained and easily accessible
Purpose of communication must be clearly stated during opt-in
Consent should specify the types of messages subscribers will receive
HELP/STOP and Other Commands
All SMS campaigns must support HELP and STOP commands
Commands should be recognized in both English and Dzongkha
Response to HELP/STOP commands must be immediate and free of charge
Subscribers must have the option to unsubscribe from SMS-CB services at any time
Do Not Call / Do Not Disturb Registries
While Bhutan does not maintain a centralized Do Not Call registry, businesses should:
Maintain their own suppression lists
Honor opt-out requests immediately
Document all opt-out requests
Remove opted-out numbers within 24 hours
Regularly clean contact lists to ensure compliance
Time Zone Sensitivity
Bhutan follows BTT (UTC+6), and while there are no strict legal time restrictions, best practices include:
Sending messages between 9:00 AM and 8:00 PM BTT
Avoiding messages during religious holidays and festivals
Limiting urgent messages outside business hours to genuine emergencies
Phone Numbers Options and SMS Sender Types for in Bhutan
Alphanumeric Sender ID
Operator network capability: Supported Registration requirements: Pre-registration not required Sender ID preservation: Yes, sender IDs are preserved and displayed as sent
Long Codes
Domestic vs. International:
Domestic long codes not supported
International long codes fully supported
Sender ID preservation: Yes, original sender ID is preserved Provisioning time: Immediate to 24 hours Use cases: Ideal for transactional messages and two-factor authentication
Short Codes
Support: Not currently supported in Bhutan Provisioning time: N/A Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Restricted Content:
Gambling and betting services
Adult content or explicit material
Unauthorized financial services
Political campaign messages without proper authorization
Religious content without appropriate permissions
Content Filtering
Carrier Filtering Rules:
Messages containing restricted keywords may be blocked
URLs should be from verified domains
High-volume identical messages may be flagged as spam
Best Practices to Avoid Blocking:
Avoid excessive punctuation and special characters
Use registered and approved sender IDs
Maintain consistent sending patterns
Include clear business identification in messages
Best Practices for Sending SMS in Bhutan
Messaging Strategy
Keep messages under 160 characters when possible
Include clear call-to-actions
Identify your business in each message
Use approved templates for consistent messaging
Sending Frequency and Timing
Limit to 3-4 messages per week per recipient
Respect Bhutanese holidays and festivals
Schedule messages during business hours
Space out bulk campaigns to avoid network congestion
Localization
Support both English and Dzongkha
Consider Unicode requirements for local language
Use culturally appropriate messaging
Respect local customs and sensitivities
Opt-Out Management
Include clear opt-out instructions in messages
Process opt-outs within 24 hours
Maintain accurate opt-out records
Provide multiple opt-out channels
Testing and Monitoring
Test messages across different devices
Monitor delivery rates closely
Track engagement metrics
Regular review of bounce rates and failed deliveries
SMS API integrations for Bhutan
Twilio
Twilio provides a straightforward REST API for sending SMS to Bhutan. Here's how to implement it:
import{ Twilio }from'twilio';// Initialize the client with your credentialsconst client =newTwilio( process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);// Function to send SMS to BhutanasyncfunctionsendSmsToBhutan( to:string, message:string, senderId:string):Promise<void>{try{// Ensure proper formatting for Bhutan numbers (+975)const formattedNumber = to.startsWith('+975')? to :`+975${to}`;const response =await client.messages.create({ body: message, from: senderId,// Alphanumeric sender ID to: formattedNumber,});console.log(`Message sent successfully! SID: ${response.sid}`);}catch(error){console.error('Error sending message:', error);throw error;}}
Sinch
Sinch offers robust SMS capabilities for Bhutan through their REST API:
import{ SinchClient }from'@sinch/sdk-core';// Initialize Sinch clientconst sinchClient =newSinchClient({ projectId: process.env.SINCH_PROJECT_ID, keyId: process.env.SINCH_KEY_ID, keySecret: process.env.SINCH_KEY_SECRET, smsRegion:'ap'// Asia Pacific region for Bhutan});// Function to send SMS using SinchasyncfunctionsendSinchSms( to:string, message:string):Promise<void>{try{const response =await sinchClient.sms.batches.send({ sendSMSRequestBody:{ to:[to], from:'YourBrand',// Alphanumeric sender ID body: message, type:'mt_text'}});console.log(`Batch ID: ${response.id}`);}catch(error){console.error('Sinch SMS Error:', error);throw error;}}
MessageBird
MessageBird provides a reliable API for sending SMS to Bhutan:
import messagebird from'messagebird';// Initialize MessageBird clientconst messageBirdClient =messagebird(process.env.MESSAGEBIRD_API_KEY);// Function to send SMS via MessageBirdfunctionsendMessageBirdSms( to:string, message:string, senderId:string):Promise<void>{returnnewPromise((resolve, reject)=>{const params ={ originator: senderId, recipients:[to], body: message, datacoding:'unicode'// Support for local language}; messageBirdClient.messages.create(params,(err, response)=>{if(err){reject(err);return;}resolve(response);});});}
Plivo
Plivo's API integration for Bhutan SMS:
import plivo from'plivo';// Initialize Plivo clientconst plivoClient =newplivo.Client( process.env.PLIVO_AUTH_ID, process.env.PLIVO_AUTH_TOKEN);// Function to send SMS via PlivoasyncfunctionsendPlivoSms( to:string, message:string, senderId:string):Promise<void>{try{const response =await plivoClient.messages.create({ src: senderId, dst: to, text: message, url_strip_query_params:false});console.log('Message UUID:', response.messageUuid);}catch(error){console.error('Plivo Error:', error);throw error;}}
API Rate Limits and Throughput
Default rate limit: 30 requests per second
Batch processing recommended for volumes over 1000/hour