sms compliance

Sent logo
Sent TeamMay 3, 2025 / sms compliance / Article

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
RegionAsia
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.

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 number
  • to: Recipient number in E.164 format (+855)
  • body: Message content (supports Unicode for Khmer)
typescript
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 ID
  • to: Array of recipient numbers
  • body: Message content
  • delivery_report: Delivery status tracking
typescript
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 numbers
  • content: Message content and type
typescript
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

typescript
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

  1. Compliance Priorities

    • Register alphanumeric sender IDs with Smart Axiata
    • Maintain proper opt-in/opt-out processes
    • Follow time zone considerations
  2. Technical Requirements

    • Use E.164 number formatting
    • Support Unicode for Khmer language
    • Implement proper error handling
  3. Best Practices

    • Test across all major carriers
    • Monitor delivery rates
    • Maintain clean contact lists

Next Steps

  1. Review the Telecommunication Regulator of Cambodia (TRC) guidelines
  2. Register sender IDs with relevant carriers
  3. Implement proper error handling and monitoring
  4. Set up delivery tracking systems

Additional Resources

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.