sms compliance
sms compliance
Maldives SMS Regulations & Sender ID Guide 2025 | MV SMS API
Complete Maldives SMS guide for 2025: CAM regulations, alphanumeric sender ID requirements, Dhiraagu & Ooredoo compliance, API integration examples, and best practices for reliable SMS delivery to +960 numbers.
Maldives SMS Best Practices, Compliance, and Features
Understanding the Maldives SMS Market
| Locale name: | Maldives |
|---|---|
| ISO code: | MV |
| Region | Asia |
| Mobile country code (MCC) | 472 |
| Dialing Code | +960 |
Market Conditions: The Maldives telecommunications market operates under the oversight of the Communications Authority of Maldives (CAM) with modern mobile infrastructure supporting widespread SMS usage. High mobile penetration rates and growing digital communications define the market. OTT messaging apps like WhatsApp and Viber have gained popularity, but SMS remains critical for business communications and authentication services due to its reliability and universal reach.
Mobile Network Operators (as of 2024-2025):
- Dhiraagu (MCC-MNC: 472-01) – Long-established operator with significant market presence
- Ooredoo Maldives (MCC-MNC: 472-02, formerly Wataniya Telecom) – Major competitor providing comprehensive mobile services
- Raajjé Online – Third operator focusing primarily on internet services
Dhiraagu and Ooredoo compete for market share, with the two operators collectively dominating the mobile market. 4G subscriptions account for approximately 50% of total mobile subscriptions as of 2024.
Recent Infrastructure Developments:
- Fiber Network Completion (2025): Dhiraagu achieved 100% fiber-optic coverage to all inhabited islands in January 2025, enhancing digital connectivity across the archipelago.
- Regulatory Oversight: The Communications Authority of Maldives (CAM) transferred to the Ministry of Homeland Security and Technology in 2024, alongside other key ICT agencies including the National Centre for Information Technology (NCIT).
SMS Features and Technical Capabilities in Maldives
The Maldives supports standard SMS features including concatenated messaging and alphanumeric sender IDs. Two-way SMS is not supported.
Two-way SMS Support
Two-way SMS is not supported in the Maldives. Design your messaging strategies around one-way communications. Provide alternative response channels such as:
- Web forms or landing pages
- WhatsApp Business accounts
- Email support addresses
- Customer service phone numbers
Concatenated Messages (Segmented SMS)
Support: Yes
Message length rules: Standard SMS length limits apply – 160 characters for GSM-7 encoding and 70 characters for UCS-2 encoding before splitting occurs.
Encoding considerations: GSM-7 and UCS-2 encodings are both supported. Use UCS-2 for messages containing non-Latin characters.
MMS Support
MMS messages automatically convert to SMS with an embedded URL link, ensuring compatibility across all devices while enabling rich media sharing through linked web pages.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in the Maldives, allowing users to keep their phone numbers when switching between mobile operators. Mobile Number Portability (MNP) launched in 2016. Port your number after 90 days from initial activation or last porting date.
MNP does not significantly impact SMS delivery or routing – messages automatically route to the correct carrier through Number Portability Database (NPDB) lookups. A number's original prefix may not indicate its current operator.
Number Prefixes by Original Operator:
| Operator | Typical Prefixes | Notes |
|---|---|---|
| Dhiraagu | 7xx-xxxx | Original prefixes; may now be on Ooredoo |
| Ooredoo | 9xx-xxxx | Original prefixes; may now be on Dhiraagu |
Note: Due to MNP, these prefixes indicate original assignment only, not current operator.
Sending SMS to Landlines
SMS to landline numbers is not supported. Attempts to message landline numbers result in failed delivery with error code 21614 (HTTP 400). These messages will not appear in logs, and your account will not be charged.
Landline Number Format: Landline numbers in Maldives typically use 3xx-xxxx or 6xx-xxxx prefixes, while mobile numbers use 7xx-xxxx, 9xx-xxxx prefixes.
SMS Compliance and CAM Regulatory Requirements
The Communications Authority of Maldives (CAM) is the primary regulatory body overseeing all telecommunications and SMS regulations in Maldives, operating under the Ministry of Homeland Security and Technology (as of 2024). While specific SMS marketing guidelines are limited, follow international best practices and comply with general telecommunications regulations.
Consent and Opt-In for SMS Marketing
While explicit consent regulations are not strictly defined, implement strong opt-in practices:
- Obtain clear, explicit consent before sending marketing messages
- Document and maintain records of how and when you obtained consent
- Provide clear information about message frequency and content type
- Include your business name and purpose in initial messages
Example Compliant Opt-In Message:
Welcome to [YourBrand]! Reply YES to receive exclusive offers, updates, and promotions (2-4 msgs/month). Reply STOP to opt out. Msg rates may apply.
Consent Form Elements:
- Clear description of message types (promotional, transactional, alerts)
- Expected frequency (e.g., "up to 4 messages per month")
- Opt-out instructions
- Link to privacy policy
- Checkbox for explicit consent (not pre-checked)
HELP/STOP and Other Commands
Though not legally required, implement standard opt-out mechanisms:
- Support standard STOP commands for opt-outs
- Include HELP functionality for user support
- Support both English and Dhivehi language commands
- Process opt-out requests within 24 hours
Supported Commands:
| English | Dhivehi (Romanized) | Action |
|---|---|---|
| STOP, UNSUBSCRIBE, CANCEL | NUGE | Remove from messaging list |
| HELP, INFO | MAƱLUMAATHU | Send help information |
| START, SUBSCRIBE | FUHTHALAA | Re-subscribe to messages |
Do Not Call / Do Not Disturb Registries
The Maldives does not maintain an official Do Not Call or Do Not Disturb registry. Maintain your own practices:
- Maintain internal suppression lists
- Honor opt-out requests immediately
- Regularly clean contact lists
- Document opt-out dates and reasons
Time Zone Sensitivity
No official time restrictions exist for SMS sending in the Maldives. Follow these best practices:
- Send messages between 9:00 AM and 9:00 PM Maldives Time (MVT, UTC+5)
- Respect religious observances, particularly during Ramadan
- Reserve early morning/late night sending for urgent messages only
Ramadan Considerations:
- Avoid sending messages during Iftar (breaking fast, typically 6:00-7:00 PM)
- Avoid messages during Suhoor (pre-dawn meal, typically 4:00-5:00 AM)
- Reduce message frequency during the holy month
- Focus on respectful, value-driven content
Friday Prayer Times:
- Avoid sending non-urgent messages during Friday prayers (typically 12:00-1:30 PM)
SMS Sender ID Types and Phone Number Options in Maldives
Alphanumeric Sender ID (Recommended for MV)
Operator network capability: Fully supported across all networks (Dhiraagu and Ooredoo)
Registration requirements: No pre-registration required; dynamic usage allowed
Sender ID preservation: Sender IDs display as sent
Character limits: 11 characters maximum (alphanumeric)
UCS-2 encoding support: Supported for Dhivehi and other non-Latin scripts
Formatting Rules:
- Use letters (A-Z) and numbers (0-9) only
- No spaces or special characters
- Must start with a letter
- Case-sensitive (appears as sent)
Effective Sender ID Examples:
BANKNAME– Financial servicesYourBrand– Retail/e-commerceHotelName– HospitalityDeliveryApp– LogisticsHealthPlus– Healthcare
Long Codes
Domestic vs. International: Domestic long codes not available; international long code support varies by provider (Twilio does not support international long codes for Maldives as of 2024-2025)
Sender ID preservation: Where supported, original sender IDs display as sent
Provisioning time: Provider-dependent, typically 1-2 business days where available
Use cases: Transactional messages and two-factor authentication (where supported by provider)
Recommendation: Use alphanumeric sender IDs for most use cases in Maldives due to limited long code support.
Short Codes
Support: Not supported in the Maldives
Provisioning time: N/A
Use cases: N/A
SMS Content Restrictions and Prohibited Industries in Maldives
The Dhiraagu network (MCC MNC: 472-01) enforces strict sender ID policies:
- Only authentic alpha sender IDs are permitted
- Numeric formats and generic alphanumerics are prohibited
- Financial services and healthcare messages must clearly identify the sender
Prohibited Sender IDs:
- Generic terms:
INFO,ALERT,UPDATE - Numeric-only:
12345,8888 - Misleading:
BANK(if not from a bank),GOVT - Short/vague:
SMS,TXT,MSG
Allowed Sender IDs:
- Registered brand names:
BMLBank,HDFC - Service names:
DeliveryPro,HealthApp - Company names:
TravelCo,RetailHub
Content Restrictions by Industry:
| Industry | Restriction Level | Requirements |
|---|---|---|
| Gambling/Betting | Prohibited | Not allowed in Maldives (Islamic law) |
| Alcohol | Prohibited | Not allowed in Maldives (Islamic law) |
| Adult Content | Prohibited | Not allowed |
| Financial Services | Regulated | Must use registered sender IDs, include clear disclaimers |
| Healthcare | Regulated | Must clearly identify sender, respect privacy |
| Pharmaceuticals | Regulated | Prescription medications require proper authorization |
Content Filtering
Carriers do not publish specific filtering rules. Follow these guidelines:
- Avoid URL shorteners in sensitive industries
- Include clear sender identification
- Maintain consistent sending patterns
- Avoid excessive punctuation and all-caps text
Common Spam Triggers to Avoid:
- Multiple exclamation marks (!!!) or question marks (???)
- ALL CAPS TEXT
- Excessive emojis
- Phrases like "FREE!!!", "CLICK NOW", "LIMITED TIME"
- Suspicious links or multiple URLs
- Requests for personal/financial information
Example of Filtered Message:
❌ CONGRATULATIONS!!! YOU WON $1000!!! CLICK HERE NOW → bit.ly/xyz
Example of Compliant Message:
✓ YourBrand: Your order #1234 shipped today. Track it here: yourbrand.com/track
SMS Best Practices for High Delivery Rates in Maldives
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear calls-to-action
- Maintain consistent sender IDs
- Personalize messages with recipient names when appropriate
Sending Frequency and Timing
- Limit marketing messages to 2-4 per month per recipient
- Space out messages to avoid overwhelming users
- Consider Maldivian holidays and prayer times
- Monitor engagement rates to optimize timing
Localization
- Support both Dhivehi and English languages
- Use Unicode (UCS-2) encoding for Dhivehi characters
- Consider cultural sensitivities in message content
- Test message rendering on popular local devices
Opt-Out Management
- Process opt-outs within 24 hours
- Maintain centralized opt-out databases
- Include opt-out instructions in marketing messages
- Regular audit of opt-out compliance
SMS Testing and Delivery Monitoring
- Test SMS delivery across Dhiraagu and Ooredoo networks
- Monitor delivery rates and latency by carrier
- Track key engagement metrics (open rates, conversions)
- Regularly test opt-out and HELP command functionality
- Use DLR (Delivery Receipt) webhooks for real-time status updates
SMS API Integration Examples for Maldives (+960)
Twilio SMS API for Maldives
Twilio provides a robust SMS API with comprehensive support for the Maldives market. Integration requires your Account SID and Auth Token for authentication.
import { Twilio } from "twilio";
// Initialize Twilio client with your credentials
const client = new Twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);
// Function to send SMS to Maldives
async function sendSMSToMaldives(
to: string,
message: string,
senderId: string
): Promise<void> {
try {
// Ensure phone number is in E.164 format for Maldives (+960)
const formattedNumber = to.startsWith("+960") ? to : `+960${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 SMS API for Maldives
Sinch offers flexible SMS API integration with support for alphanumeric sender IDs in the Maldives.
import axios from "axios";
class SinchSMSService {
private readonly apiToken: string;
private readonly serviceId: string;
private readonly baseUrl: string = "https://sms.api.sinch.com/xms/v1";
constructor(apiToken: string, serviceId: string) {
this.apiToken = apiToken;
this.serviceId = serviceId;
}
async sendSMS(to: string, message: string, senderId: string): Promise<void> {
try {
const response = await axios.post(
`${this.baseUrl}/${this.serviceId}/batches`,
{
from: senderId,
to: [to],
body: message
},
{
headers: {
"Authorization": `Bearer ${this.apiToken}`,
"Content-Type": "application/json"
}
}
);
console.log("Message sent successfully:", response.data);
} catch (error) {
console.error("Failed to send message:", error);
throw error;
}
}
}MessageBird SMS API for Maldives
Note: MessageBird rebranded to Bird in 2023. The legacy messagebird npm package (last updated 2022) remains functional. For new projects, consider the modern Bird API (docs.bird.com).
MessageBird provides reliable SMS delivery to the Maldives with support for various message types.
import messagebird from "messagebird";
class MessageBirdService {
private client: any;
constructor(apiKey: string) {
this.client = messagebird(apiKey);
}
sendSMS(to: string, message: string, senderId: string): Promise<void> {
return new Promise((resolve, reject) => {
// Configure message parameters
const params = {
originator: senderId,
recipients: [to],
body: message,
datacoding: "unicode" // Support for Dhivehi characters
};
// Send the message
this.client.messages.create(params, (err: any, response: any) => {
if (err) {
console.error("Error sending message:", err);
reject(err);
} else {
console.log("Message sent successfully:", response);
resolve();
}
});
});
}
}Plivo SMS API for Maldives
Plivo offers straightforward SMS integration with good coverage in the Maldives.
import plivo from "plivo";
class PlivoSMSService {
private client: any;
constructor(authId: string, authToken: string) {
this.client = new plivo.Client(authId, authToken);
}
async sendSMS(to: string, message: string, senderId: string): Promise<void> {
try {
const response = await this.client.messages.create({
src: senderId,
dst: to,
text: message,
url_strip_query_params: false // Preserve full URLs in messages
});
console.log("Message sent:", response);
} catch (error) {
console.error("Failed to send message:", error);
throw error;
}
}
}API Rate Limits and Throughput
- Default rate limits vary by provider (typically 1-10 messages per second)
- Implement exponential backoff for retry logic
- Consider using queue systems like Redis or RabbitMQ for high-volume sending
- Batch messages when possible to optimize throughput
Error Handling and Reporting
- Implement comprehensive error logging
- Monitor delivery receipts (DLRs)
- Track common error codes:
- Invalid number format
- Network errors
- Rate limit exceeded
- Store message metadata for troubleshooting
Frequently Asked Questions About Maldives SMS
How do I send SMS to Maldives phone numbers?
To send SMS to Maldives, format phone numbers in E.164 format starting with +960, use an alphanumeric sender ID (no registration required), and integrate with an SMS API provider that supports the Maldives market.
Do I need to register my sender ID in Maldives?
No pre-registration is required for alphanumeric sender IDs in Maldives. However, avoid generic sender IDs (INFO, SMS, ALERT) and use authentic brand names for best delivery rates.
What are the SMS delivery rates in Maldives?
SMS delivery rates in Maldives are typically high (95%+) when following best practices. Test across both Dhiraagu and Ooredoo networks for optimal results.
Can I send two-way SMS in Maldives?
No, two-way SMS is not supported in Maldives. Use alternative channels like WhatsApp Business, web forms, or email for customer responses.
Summary and Additional Resources
Key Takeaways:
- Alphanumeric sender IDs are supported without pre-registration on Dhiraagu and Ooredoo
- Two-way SMS is not supported – use alternative response channels
- Implement proper opt-out handling with STOP/HELP commands
- Consider local time zones (MVT, UTC+5) and cultural factors
- Support both English and Dhivehi languages for broader reach
- Format numbers in E.164 format (+960) for reliable delivery
Next Steps:
- Review the Communications Authority of Maldives (CAM) guidelines
- Implement proper consent management for marketing SMS
- Test message delivery across Dhiraagu and Ooredoo carriers
- Set up monitoring and delivery receipt (DLR) tracking systems
- Configure opt-out handling and suppression lists
Additional Information: