Timor-Leste SMS Best Practices, Compliance, and Features
Timor-Leste SMS Market Overview
Locale name: | Timor-Leste |
---|---|
ISO code: | TL |
Region | Oceania |
Mobile country code (MCC) | 514 |
Dialing Code | +670 |
Market Conditions: Timor-Leste's mobile market is dominated by Telkomcel, the primary mobile operator. SMS remains a critical communication channel due to its reliability and widespread accessibility. While OTT messaging apps are gaining popularity in urban areas, SMS continues to be the most dependable method for reaching users across both rural and urban regions, particularly for business communications and authentication services.
Key SMS Features and Capabilities in Timor-Leste
Timor-Leste offers basic SMS functionality with some limitations, notably requiring Alphanumeric Sender ID registration for all customers sending SMS messages through Telkomcel Timor-Leste.
Two-way SMS Support
Two-way SMS is not supported in Timor-Leste according to current provider specifications. This means businesses can only send outbound messages without the ability to receive replies through the same channel.
Concatenated Messages (Segmented SMS)
Support: Concatenated messaging is not supported in Timor-Leste.
Message length rules: Standard SMS character limits apply without concatenation support.
Encoding considerations: UCS-2 encoding is supported for messages containing non-Latin characters.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link. This conversion ensures message delivery while providing a way to share multimedia content through linked resources.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Timor-Leste. 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 Timor-Leste. Attempts to send messages to landline numbers will result in a 400 response with error code 21614, and the message will not be delivered or charged to the account.
Compliance and Regulatory Guidelines for SMS in Timor-Leste
SMS communications in Timor-Leste are regulated by the Autoridade Nacional de Comunicações (ANC) under Decree-Law No. 15/2012. All telecommunications service providers must register with the ANC and comply with their guidelines for message delivery and consumer protection.
Consent and Opt-In
Explicit Consent Requirements:
- Obtain clear, documented opt-in consent before sending any marketing messages
- Maintain detailed records of when and how consent was obtained
- Include clear terms of service and privacy policy information during opt-in
- Provide transparent information about message frequency and content type
HELP/STOP and Other Commands
While Timor-Leste doesn't have specific HELP/STOP requirements codified in law, implementing these features is considered best practice:
- Support standard STOP, CANCEL, UNSUBSCRIBE commands
- Include HELP functionality for user support
- Offer support in both Tetum and Portuguese languages
- Acknowledge opt-out requests within 24 hours
Do Not Call / Do Not Disturb Registries
Timor-Leste does not currently 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 and actions taken
- Regularly clean contact lists to remove inactive numbers
Time Zone Sensitivity
Timor-Leste observes TLT (UTC+9). Best practices for message timing include:
- Send messages between 9:00 AM and 8:00 PM TLT
- Avoid sending during religious observances and national holidays
- Only send urgent messages (like authentication codes) outside these hours
Phone Numbers Options and SMS Sender Types for in Timor-Leste
Alphanumeric Sender ID
Operator network capability: Supported by Telkomcel Timor Leste
Registration requirements: Pre-registration required; takes approximately 2 weeks
Sender ID preservation: Yes, registered IDs are preserved as-is
Long Codes
Domestic vs. International: International long codes supported; domestic not available
Sender ID preservation: Yes, original sender ID is preserved
Provisioning time: Immediate for international long codes
Use cases: Suitable for transactional messages and two-factor authentication
Short Codes
Support: Not currently available in Timor-Leste
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Restricted Industries and Content:
- Gambling and betting services
- Adult content or services
- Unauthorized financial services
- Political campaign messages without proper authorization
- Cryptocurrency promotions
Content Filtering
Known Carrier Rules:
- Messages containing certain keywords may be blocked
- URLs should be from reputable domains
- Avoid excessive capitalization and special characters
Best Practices to Avoid Filtering:
- Use clear, professional language
- Avoid spam trigger words
- Include company name in messages
- Keep URLs short and recognizable
Best Practices for Sending SMS in Timor-Leste
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-actions
- Maintain consistent sender ID across campaigns
- Personalize messages with recipient's name when appropriate
Sending Frequency and Timing
- Limit to 2-3 messages per week per recipient
- Respect local holidays and cultural events
- Schedule campaigns during business hours
- Space out bulk sends to prevent network congestion
Localization
- Primary languages: Tetum and Portuguese
- Consider English for business communications
- Use proper character encoding for local language support
- Respect cultural sensitivities in message content
Opt-Out Management
- Process opt-outs within 24 hours
- Maintain centralized opt-out database
- Include opt-out instructions in messages
- Regular audit of opt-out compliance
Testing and Monitoring
- Test messages across different devices
- Monitor delivery rates by carrier
- Track engagement metrics
- Regular review of bounce rates and invalid numbers
SMS API integrations for Timor-Leste
Twilio
Twilio provides a robust SMS API for sending messages to Timor-Leste. Authentication requires your Account SID and Auth Token.
import * as Twilio from 'twilio';
// Initialize Twilio client with credentials
const client = new Twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);
// Function to send SMS to Timor-Leste
async function sendSMSToTimorLeste(
to: string,
message: string,
senderId: string
): Promise<void> {
try {
// Ensure proper formatting for Timor-Leste numbers (+670)
const formattedNumber = to.startsWith('+670') ? to : `+670${to}`;
const response = await client.messages.create({
body: message,
from: senderId, // Must be pre-registered 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 requires API Token authentication and supports both REST and SDK approaches.
import { SinchClient } from '@sinch/sdk-core';
// Initialize Sinch client
const sinchClient = new SinchClient({
projectId: process.env.SINCH_PROJECT_ID,
apiToken: process.env.SINCH_API_TOKEN
});
// Function to send SMS using Sinch
async function sendSinchSMS(
to: string,
message: string,
senderId: string
): Promise<void> {
try {
const response = await sinchClient.sms.batches.send({
to: [to],
from: senderId,
body: message,
delivery_report: 'summary' // Enable delivery reporting
});
console.log('Message batch ID:', response.id);
} catch (error) {
console.error('Sinch SMS error:', error);
throw error;
}
}
MessageBird
MessageBird offers a straightforward API for SMS delivery to Timor-Leste.
import messagebird from 'messagebird';
// Initialize MessageBird client
const mbClient = messagebird(process.env.MESSAGEBIRD_API_KEY);
// Function to send SMS via MessageBird
function sendMessageBirdSMS(
to: string,
message: string,
senderId: string
): Promise<void> {
return new Promise((resolve, reject) => {
mbClient.messages.create({
originator: senderId,
recipients: [to],
body: message,
datacoding: 'unicode' // Support for local language characters
}, (err, response) => {
if (err) {
reject(err);
return;
}
console.log('MessageBird response:', response);
resolve();
});
});
}
Plivo
Plivo provides a reliable API with good coverage in Timor-Leste.
import plivo from 'plivo';
// Initialize Plivo client
const plivoClient = new plivo.Client(
process.env.PLIVO_AUTH_ID,
process.env.PLIVO_AUTH_TOKEN
);
// Function to send SMS via Plivo
async function sendPlivoSMS(
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 // Preserve URL parameters in messages
});
console.log('Message UUID:', response.messageUuid);
} catch (error) {
console.error('Plivo error:', error);
throw error;
}
}
API Rate Limits and Throughput
- Default rate limit: 100 messages per second
- Batch processing recommended for volumes over 1000/hour
- Implement exponential backoff for retry logic
Throughput Management Strategies:
- Queue messages using Redis or similar
- Implement batch sending for large campaigns
- Monitor delivery rates and adjust sending speed
Error Handling and Reporting
// Common error handling utility
function handleSMSError(error: any): void {
const errorTypes = {
INVALID_NUMBER: 'Invalid phone number format',
BLOCKED_NUMBER: 'Number is blocked',
CARRIER_ERROR: 'Carrier delivery failed',
RATE_LIMIT: 'Rate limit exceeded'
};
// Log error details
console.error({
timestamp: new Date().toISOString(),
errorType: error.code,
message: errorTypes[error.code] || 'Unknown error',
details: error
});
// Implement retry logic for specific error types
if (error.code === 'RATE_LIMIT') {
// Add to retry queue
}
}
Recap and Additional Resources
Key Takeaways
-
Compliance Requirements:
- Pre-register alphanumeric sender IDs
- Maintain opt-out lists
- Respect time zone restrictions
-
Technical Considerations:
- Implement proper error handling
- Use appropriate character encoding
- Monitor delivery rates
-
Best Practices:
- Test thoroughly before large campaigns
- Maintain clean contact lists
- Document consent and opt-outs
Next Steps
- Review ANC regulations at http://anc.tl/legislation/
- Consult with local legal counsel for compliance review
- Set up test accounts with preferred SMS providers
- Implement proper monitoring and reporting systems
Additional Resources
- Official Resources:
- Autoridade Nacional de Comunicações: http://anc.tl/
- Telecommunications Decree-Law: Decree-Law No. 15/2012
- Industry Guidelines:
- GSMA Guidelines for Timor-Leste
- Mobile Marketing Association Best Practices