sms compliance
sms compliance
Cambodia SMS Guide
Explore Cambodia SMS: compliance, features, & best practices. Understand sender ID registration (Smart Axiata requires pre-registration, 14-day provisioning), message encoding (GSM-7/UCS-2), & error codes (400 for landlines). Implement opt-in/opt-out; crucial for A2P SMS.
Cambodia SMS Best Practices, Compliance, and Features
Cambodia SMS Market Overview
| Locale name: | Cambodia |
|---|---|
| ISO code: | KH |
| Region | Asia |
| Mobile country code (MCC) | 456 |
| Dialing Code | +855 |
Market Conditions: Cambodia has a growing mobile market with several major operators including Smart Axiata, Metfone, and Cellcard. SMS remains an important communication channel, particularly for business messaging and notifications, though OTT apps like LINE and Facebook Messenger are increasingly popular. The market shows strong Android dominance, with iOS having a relatively small market share. A2P (Application-to-Person) SMS services face some challenges with gray routes, which account for approximately 39% of SMS traffic.
Key SMS Features and Capabilities in Cambodia
Cambodia supports basic SMS functionality with some limitations on two-way messaging and specific requirements for sender ID registration, particularly for messages sent to Smart Axiata networks.
Two-way SMS Support
Two-way SMS is not supported in Cambodia through major SMS providers. This means businesses cannot receive replies to their messages through standard SMS channels.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenated messages are supported in Cambodia, though support may vary by sender ID type.
Message length rules: Standard SMS length limits apply, with messages being split according to encoding type.
Encoding considerations: Both GSM-7 and UCS-2 encoding are supported, with UCS-2 being particularly important for local Khmer language support.
MMS Support
MMS messages are not directly supported in Cambodia. Instead, MMS content is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content. This ensures compatibility while still allowing rich media sharing capabilities.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Cambodia. This means mobile numbers remain tied to their original carrier, which can simplify message routing but limits consumer flexibility.
Sending SMS to Landlines
Sending SMS to landline numbers is not possible in Cambodia. Attempts to send messages to landline numbers will result in a failed delivery and typically generate a 400 response error (error code 21614) through SMS APIs. These messages will not appear in logs and accounts will not be charged for failed attempts.
Compliance and Regulatory Guidelines for SMS in Cambodia
Cambodia's SMS regulations are primarily overseen by the Telecommunication Regulator of Cambodia (TRC). While specific SMS marketing laws are still evolving, businesses must adhere to general telecommunications guidelines and carrier-specific requirements.
Consent and Opt-In
Explicit Consent Required: You must obtain and document explicit opt-in consent before sending marketing or promotional messages. Best practices include:
- Maintaining clear records of how and when consent was obtained
- Using double opt-in processes for marketing campaigns
- Providing clear terms and conditions at the point of opt-in
- Specifying the types of messages users will receive
HELP/STOP and Other Commands
While Cambodia doesn't have strict HELP/STOP requirements, implementing these features is considered best practice:
- Support both English and Khmer language keywords
- Common commands should include: STOP, CANCEL, END, HELP
- Process opt-out requests within 24 hours
- Send confirmation messages in the user's preferred language
Do Not Call / Do Not Disturb Registries
Cambodia does not maintain an official Do Not Call registry. However, businesses should:
- Maintain their own suppression lists
- Honor opt-out requests immediately
- Document all opt-out requests for compliance purposes
- Regularly clean contact lists to remove unsubscribed numbers
Time Zone Sensitivity
Cambodia follows ICT (UTC+7) time zone. While there are no strict time restrictions, recommended practices include:
- Sending messages between 8:00 AM and 8:00 PM ICT
- Avoiding messages during religious holidays and festivals
- Limiting late-night messages to urgent communications only
Phone Numbers Options and SMS Sender Types for in Cambodia
Alphanumeric Sender ID
Operator network capability: Fully supported across major networks
Registration requirements: Pre-registration required for Smart Axiata (effective August 1, 2023); Dynamic usage supported for other carriers
Sender ID preservation: Preserved for Smart Axiata when registered; May be overwritten by Metfone with generic sender ID
Provisioning time: 14 business days for registration
Long Codes
Domestic vs. International:
- Domestic long codes not supported
- International long codes supported (except for Smart Axiata)
Sender ID preservation: No, typically overwritten with generic sender ID
Provisioning time: Immediate for international long codes
Use cases: Transactional messaging, alerts, notifications
Short Codes
Support: Not currently supported in Cambodia
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
The following content types are restricted:
- Political content
- Religious messaging
- Adult content
- Gambling-related content
- Spam or unsolicited promotional content
Content Filtering
Known carrier filters:
- Messages containing restricted keywords
- High-volume sending from unregistered sender IDs
- Messages with suspicious URLs
Best practices to avoid filtering:
- Use registered sender IDs
- Avoid URL shorteners
- Maintain consistent sending patterns
- Use clear, professional language
Best Practices for Sending SMS in Cambodia
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-actions
- Personalize messages using recipient's name or relevant details
- Maintain consistent branding across messages
Sending Frequency and Timing
- Limit to 2-3 messages per week per recipient
- Respect Cambodian holidays and festivals
- Schedule campaigns during business hours
- Space out bulk sends to avoid network congestion
Localization
- Support both Khmer and English languages
- Use proper character encoding for Khmer script
- Consider cultural context in message content
- Provide language preference options
Opt-Out Management
- Process opt-outs within 24 hours
- Send opt-out confirmation messages
- Maintain updated suppression lists
- Regular audit of opt-out processes
Testing and Monitoring
- Test messages across all major carriers
- Monitor delivery rates by carrier
- Track engagement metrics
- Regular testing of opt-out functionality
SMS API integrations for Cambodia
Twilio
Twilio provides a robust SMS API with comprehensive support for Cambodia. Integration requires an account SID and auth token for authentication.
Key Parameters:
from: Registered alphanumeric sender ID or phone numberto: Recipient number in E.164 format (+855)body: Message content (supports Unicode for Khmer)
import { Twilio } from 'twilio';
// Initialize client with environment variables
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
async function sendSMSCambodia(
to: string,
message: string,
senderId: string
): Promise<void> {
try {
// Send message with error handling
const response = await client.messages.create({
from: senderId, // Registered alphanumeric sender ID
to: to, // Format: +85512345678
body: message,
// Optional parameters for delivery tracking
statusCallback: 'https://your-callback-url.com/status'
});
console.log(`Message sent successfully: ${response.sid}`);
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}Sinch
Sinch offers direct carrier connections in Cambodia with support for both text and binary messages.
Key Parameters:
from: Registered sender IDto: Array of recipient numbersbody: Message contentdelivery_report: Delivery status tracking
import axios from 'axios';
interface SinchMessage {
from: string;
to: string[];
body: string;
delivery_report: string;
}
async function sendSinchSMS(
apiToken: string,
message: SinchMessage
): Promise<void> {
const baseUrl = 'https://sms.api.sinch.com/xms/v1';
const servicePlanId = process.env.SINCH_SERVICE_PLAN_ID;
try {
const response = await axios.post(
`${baseUrl}/${servicePlanId}/batches`,
message,
{
headers: {
'Authorization': `Bearer ${apiToken}`,
'Content-Type': 'application/json'
}
}
);
console.log('Batch ID:', response.data.id);
} catch (error) {
console.error('Sinch SMS Error:', error);
throw error;
}
}MessageBird
MessageBird provides reliable SMS delivery in Cambodia with support for Unicode messages.
Key Parameters:
originator: Sender ID (alphanumeric or number)recipients: Array of recipient numberscontent: Message content and type
import messagebird from 'messagebird';
class MessageBirdService {
private client: any;
constructor(apiKey: string) {
this.client = messagebird(apiKey);
}
async sendSMS(
originator: string,
recipient: string,
message: string
): Promise<void> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator,
recipients: [recipient],
body: message,
type: 'sms'
}, (err: any, response: any) => {
if (err) {
reject(err);
return;
}
resolve(response);
});
});
}
}API Rate Limits and Throughput
- Default Rate Limits:
- Twilio: 250 messages per second
- Sinch: 30 requests per second
- MessageBird: 60 messages per second
Throughput Management Strategies:
- Implement exponential backoff for retries
- Use batch APIs for bulk sending
- Queue messages during peak times
- Monitor delivery rates by carrier
Error Handling and Reporting
interface SMSError {
code: string;
message: string;
timestamp: Date;
recipient: string;
}
class SMSErrorHandler {
private errors: SMSError[] = [];
logError(error: SMSError): void {
this.errors.push(error);
// Implement your logging logic
console.error(`SMS Error [${error.code}]: ${error.message}`);
}
async retryFailedMessages(): Promise<void> {
// Implement retry logic with exponential backoff
const retryDelay = (attempt: number) => Math.pow(2, attempt) * 1000;
// Retry implementation
}
}Recap and Additional Resources
Key Takeaways
-
Compliance Priorities
- Register alphanumeric sender IDs with Smart Axiata
- Maintain proper opt-in/opt-out processes
- Follow time zone considerations
-
Technical Requirements
- Use E.164 number formatting
- Support Unicode for Khmer language
- Implement proper error handling
-
Best Practices
- Test across all major carriers
- Monitor delivery rates
- Maintain clean contact lists
Next Steps
- Review the Telecommunication Regulator of Cambodia (TRC) guidelines
- Register sender IDs with relevant carriers
- Implement proper error handling and monitoring
- Set up delivery tracking systems
Additional Resources
- Telecommunication Regulator of Cambodia
- Smart Axiata Business Solutions
- Cambodia Telecommunications Law
Industry Guidelines:
Frequently Asked Questions
How to send SMS messages in Cambodia?
Use an SMS API like Twilio, Sinch, or MessageBird, ensuring correct parameters such as recipient number in E.164 format (+855) and a registered alphanumeric sender ID. Remember to handle Unicode for Khmer language support and implement error handling for reliable delivery.
What is the SMS market like in Cambodia?
Cambodia's mobile market is growing, with SMS remaining important for business communication despite rising OTT app usage. Key operators include Smart Axiata, Metfone, and Cellcard, with Android dominating the device market. Gray routes pose a challenge, impacting about 39% of SMS traffic.
Why does Cambodia not support two-way SMS?
Two-way SMS is not supported through major providers in Cambodia, meaning businesses cannot receive replies via standard SMS channels. Alternative communication methods like OTT apps may be more suitable for interactive messaging.
When should I send SMS messages in Cambodia?
Adhere to best practices by sending messages between 8:00 AM and 8:00 PM ICT, avoiding religious holidays and festivals, and limiting late-night messages to urgent communications. Respect recipient preferences and limit marketing messages to 2-3 per week.
Can I use a short code for SMS in Cambodia?
No, short codes are not currently supported in Cambodia. Alternatives include alphanumeric sender IDs and international long codes (except for Smart Axiata), each with its own registration and usage requirements.
What are the rules for alphanumeric sender IDs in Cambodia?
Alphanumeric sender IDs are supported but require pre-registration with Smart Axiata as of August 1, 2023. Other carriers support dynamic usage. Sender ID preservation varies; Smart Axiata preserves registered IDs, while Metfone may overwrite them.
What is the process for getting consent for SMS marketing in Cambodia?
Obtain explicit opt-in consent before sending marketing messages, including clear terms and conditions. Document consent and consider double opt-in processes. Although not mandatory, offering HELP/STOP commands is best practice.
How to send long SMS messages in Cambodia?
Concatenated messages are supported, allowing longer messages to be split and delivered. Standard length limits apply based on encoding (GSM-7 or UCS-2). UCS-2 is essential for Khmer language support.
How are MMS messages handled in Cambodia?
MMS is not directly supported. Instead, MMS content converts to SMS with a URL link to the multimedia content. This approach maintains compatibility while allowing rich media sharing.
What content is restricted from SMS in Cambodia?
Restricted content includes political, religious, adult, gambling-related, and spam/unsolicited promotional material. Content filtering exists, so use registered sender IDs, avoid URL shorteners, and use professional language.
How to handle SMS opt-outs in Cambodia?
Process opt-out requests within 24 hours and send confirmation messages. Maintain updated suppression lists and regularly audit these processes to ensure compliance and best practices.
What are the key takeaways for SMS messaging in Cambodia?
Prioritize compliance by registering sender IDs, managing opt-outs, and adhering to time zone best practices. Technically, use E.164 formatting, Unicode for Khmer, and proper error handling. Test across carriers, monitor delivery rates, and maintain clean contact lists.
What SMS API parameters are important for Cambodia?
Essential parameters include 'from' (registered sender ID), 'to' (recipient in E.164 format), and 'body' (message content). Other parameters like status callbacks and delivery reports enhance tracking and reliability.
How to handle API rate limits for SMS in Cambodia?
Manage throughput by implementing strategies like exponential backoff for retries, using batch APIs for bulk sends, queueing messages during peak times, and monitoring delivery rates by carrier.
Where can I find additional resources on Cambodia's telecommunications regulations?
Refer to resources like the Telecommunication Regulator of Cambodia (TRC) website, Smart Axiata Business Solutions, and the GSMA guidelines for detailed information and updates on regulations and best practices.