sms compliance
sms compliance
Brunei SMS Guide
Brunei SMS guide covering compliance, features, and best practices. Learn about alphanumeric sender IDs, message concatenation (160 GSM-7/70 UCS-2 chars), and AITI regulations. Includes opt-in (2yr min record), regulated hours (8AM-8PM UTC+8), plus Twilio/Sinch/MessageBird API integration.
Brunei SMS Best Practices, Compliance, and Features
Brunei SMS Market Overview
| Locale name: | Brunei |
|---|---|
| ISO code: | BN |
| Region | Asia |
| Mobile country code (MCC) | 528 |
| Dialing Code | +673 |
Market Conditions: Brunei has a highly developed mobile telecommunications infrastructure with widespread SMS usage. The market is dominated by major operators including DST, Progresif, and imagine. While OTT messaging apps like WhatsApp and WeChat are popular, SMS remains crucial for business communications and authentication services due to its reliability and universal reach.
Key SMS Features and Capabilities in Brunei
Brunei supports standard SMS features including alphanumeric sender IDs and concatenated messages, though two-way SMS functionality is limited.
Two-way SMS Support
Two-way SMS is not supported in Brunei for A2P messaging.
No special requirements are available as this feature is not currently supported.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is supported, though availability may vary by sender ID type.
Message length rules: Standard SMS length limits apply - 160 characters for GSM-7 encoding, 70 characters for UCS-2 encoding.
Encoding considerations: Both GSM-7 and UCS-2 encodings are supported, with messages automatically split and rejoined based on the encoding used.
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link for accessing multimedia content.
Best Practice: When sending multimedia content, ensure the URL is short and clearly labeled, and consider including the content's file size in the message.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Brunei.
This means phone numbers remain tied to their original mobile network operators, simplifying message routing and delivery.
Sending SMS to Landlines
Sending SMS to landline numbers is not possible in Brunei.
Attempts to send SMS 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 Brunei
The Authority for Info-communications Technology Industry (AITI) oversees SMS communications in Brunei under the Telecommunications Order, 2001. AITI enforces strict regulations focusing on consumer protection and data privacy.
Consent and Opt-In
Explicit Consent Requirements:
- Implement a multi-layer consent capture system
- Record timestamps and consent actions
- Generate unique consent identifiers
- Maintain consent records for minimum 2 years
Documentation Must Include:
- User ID
- Phone number
- Consent timestamp
- Consent channel
- Purpose codes
- Terms version
HELP/STOP and Other Commands
Required Keywords:
- English: "STOP", "CANCEL", "UNSUBSCRIBE", "END"
- Malay: "BERHENTI", "TAMAT"
Implementation Requirements:
- Process opt-out requests within 24 hours
- Send confirmation messages in both English and Malay
- Update centralized opt-out database in real-time
Do Not Call / Do Not Disturb Registries
While Brunei doesn't maintain a centralized DNC registry, businesses must:
- Maintain their own suppression lists
- Honor opt-out requests immediately
- Document all opt-out actions
- Regularly audit and update suppression lists
Time Zone Sensitivity
Regulated Hours:
- Permitted sending window: 8:00 AM - 8:00 PM Brunei Standard Time (UTC+8)
- Automated business hours validation required
- Exception for urgent messages (must be clearly marked as urgent)
Phone Numbers Options and SMS Sender Types for Brunei
Alphanumeric Sender ID
Operator network capability: Supported
Registration requirements: Pre-registration not required, dynamic usage supported
Sender ID preservation: Yes, sender IDs are preserved as specified
Long Codes
Domestic vs. International:
- Domestic long codes: Not supported
- International long codes: 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 supported in Brunei
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Prohibited Content:
- Gambling and betting services
- Adult content or explicit material
- Unauthorized financial services
- Cryptocurrency promotions without proper licensing
- Political campaign messages without authorization
Content Filtering
Carrier Filtering Rules:
- Messages containing restricted keywords are automatically blocked
- URLs must be from approved domains
- Message content must comply with local cultural and religious sensitivities
Best Practices to Avoid Blocking:
- Avoid excessive punctuation and special characters
- Use approved URL shorteners
- Include clear business identification
- Follow character encoding standards
Best Practices for Sending SMS in Brunei
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-action
- Use business name consistently
- Avoid excessive capitalization
Sending Frequency and Timing
- Maximum 3 messages per recipient per day
- Respect religious observances (especially during Ramadan)
- Avoid sending during Friday prayers (12:00 PM - 2:00 PM)
- Consider public holidays and royal celebrations
Localization
- Use both English and Malay for wider reach
- Malay language messages should use proper formal Malay
- Consider cultural sensitivities in message content
- Use appropriate honorifics when addressing recipients
Opt-Out Management
- Include clear opt-out instructions in every message
- Process opt-outs within 24 hours
- Send opt-out confirmation in both English and Malay
- Maintain accurate opt-out records
Testing and Monitoring
- Test messages across all major carriers (DST, Progresif, imagine)
- Monitor delivery rates by carrier
- Track opt-out rates and patterns
- Regular audit of consent records and suppression lists
SMS API integrations for Brunei
Twilio
Twilio provides a robust SMS API with comprehensive support for Brunei. Integration requires an Account SID and Auth Token from your Twilio dashboard.
import * as Twilio from 'twilio';
// Initialize Twilio client
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID, // Your Account SID
process.env.TWILIO_AUTH_TOKEN // Your Auth Token
);
// Function to send SMS to Brunei
async function sendSmsToBrunei(
to: string, // Recipient number (format: +673XXXXXXX)
message: string, // Message content
senderId: string = 'YOUR_SENDER' // Alphanumeric sender ID
) {
try {
const response = await client.messages.create({
body: message,
to: to, // Brunei number in E.164 format
from: senderId, // Your approved sender ID
// Optional parameters for delivery tracking
statusCallback: 'https://your-webhook.com/status'
});
console.log(`Message sent successfully! SID: ${response.sid}`);
return response;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}Sinch
Sinch offers direct carrier connections in Brunei with high deliverability rates. Authentication uses a service plan ID and API token.
import axios from 'axios';
class SinchSmsService {
private readonly apiToken: string;
private readonly servicePlanId: string;
private readonly baseUrl: string = 'https://sms.api.sinch.com/xms/v1';
constructor(servicePlanId: string, apiToken: string) {
this.servicePlanId = servicePlanId;
this.apiToken = apiToken;
}
async sendSmsToBrunei(
to: string, // Recipient number
message: string, // Message content
senderId: string // Sender ID
) {
try {
const response = await axios.post(
`${this.baseUrl}/${this.servicePlanId}/batches`,
{
from: senderId,
to: [to],
body: message,
// Brunei-specific delivery options
delivery_report: 'summary'
},
{
headers: {
'Authorization': `Bearer ${this.apiToken}`,
'Content-Type': 'application/json'
}
}
);
return response.data;
} catch (error) {
console.error('Sinch SMS error:', error);
throw error;
}
}
}MessageBird
MessageBird provides reliable SMS delivery in Brunei with support for both alphanumeric and numeric sender IDs.
import { MessageBird } from 'messagebird';
class MessageBirdService {
private client: MessageBird;
constructor(apiKey: string) {
this.client = new MessageBird(apiKey);
}
sendMessage(
recipient: string, // Brunei number
message: string, // Message content
originator: string // Sender ID
): Promise<any> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator,
recipients: [recipient],
body: message,
// Brunei-specific parameters
datacoding: 'auto', // Automatic character encoding
type: 'sms' // Message type
}, (err, response) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}API Rate Limits and Throughput
Rate Limits for Brunei:
- Maximum 3 messages per recipient per day
- Batch sending limit: 100 messages per request
- API calls: 100 requests per second
Throughput Management Strategies:
- Implement message queuing using Redis or RabbitMQ
- Use batch sending for large campaigns
- Implement exponential backoff for retries
- Monitor delivery rates and adjust sending speed
Error Handling and Reporting
Logging Best Practices:
- Log all API responses and delivery statuses
- Implement webhook endpoints for delivery receipts
- Track message lifecycle events
- Store delivery receipts for compliance
Troubleshooting Tips:
- Verify phone number format (E.164)
- Check sender ID compliance
- Monitor rate limit headers
- Implement circuit breakers for API calls
Recap and Additional Resources
Key Takeaways:
- Always use E.164 format for phone numbers (+673XXXXXXX)
- Implement proper consent management
- Respect local business hours (8:00 AM - 8:00 PM)
- Support both English and Malay opt-out keywords
Next Steps:
- Review AITI regulations at www.aiti.gov.bn
- Implement consent collection system
- Set up delivery monitoring
- Test message delivery across all carriers
Additional Resources:
- AITI Guidelines: www.aiti.gov.bn/sms-guidelines
- Telecommunications Order, 2001: www.agc.gov.bn
- SMS Best Practices Guide: www.aiti.gov.bn/sms-best-practices
Contact Information:
- AITI Support: +673 232 3232
- Technical Support: support@aiti.gov.bn
Frequently Asked Questions
How to send SMS messages in Brunei?
Use a reputable SMS API provider like Twilio, Sinch, or MessageBird, ensuring your messages comply with local regulations. Make sure to format phone numbers correctly (+673XXXXXXX) and respect business hours (8:00 AM to 8:00 PM Brunei time).
What is the process for sending SMS to Brunei?
You'll need to use an SMS API with Brunei support, such as Twilio, Sinch, or MessageBird. Remember to adhere to Brunei's regulations regarding consent, content, and sending times, and format numbers in E.164 format (+673XXXXXXX).
Why does Brunei not support two-way SMS for A2P messaging?
The article states that two-way SMS is not supported for Application-to-Person (A2P) messaging in Brunei. No specific reasons or alternative solutions are provided within the article's content.
When should I send SMS messages in Brunei?
Send messages between 8:00 AM and 8:00 PM Brunei Standard Time (UTC+8). Avoid sending during Friday prayers (12:00 PM - 2:00 PM) and respect religious holidays, especially Ramadan. Limit messages to a maximum of 3 per recipient per day.
Can I send SMS to landlines in Brunei?
No, sending SMS to landline numbers in Brunei is not supported. Attempts to do so will result in a 400 response with error code 21614, and the message won't be delivered or charged.
What are the rules for concatenated SMS messages in Brunei?
Brunei supports concatenated SMS with standard length limits: 160 characters for GSM-7 and 70 for UCS-2. Both encodings are supported, and messages are automatically split and rejoined.
What SMS compliance regulations exist in Brunei?
Brunei's AITI enforces strict regulations under the Telecommunications Order, 2001. These include obtaining explicit consent, honoring opt-out requests ("STOP", "CANCEL", "UNSUBSCRIBE", "END", "BERHENTI", "TAMAT") within 24 hours, and adhering to permitted sending hours.
How to handle opt-outs for SMS in Brunei?
Process opt-out requests within 24 hours and send confirmation messages in both English and Malay. Maintain an updated suppression list and honor opt-out requests immediately, documenting all actions for compliance.
What is the role of AITI in Brunei SMS communications?
The Authority for Info-communications Technology Industry (AITI) regulates SMS communications in Brunei, focusing on consumer protection and data privacy under the Telecommunications Order, 2001.
What are the character limits for SMS in Brunei?
Standard SMS limits apply: 160 characters for GSM-7 encoding and 70 characters for UCS-2 encoding. Messages exceeding these limits will be concatenated (segmented).
What is the best way to manage consent for SMS in Brunei?
Implement a multi-layer consent capture system, recording timestamps and consent actions. Generate unique consent identifiers and retain records for at least two years, including user ID, phone number, consent details, and purpose.
What content is prohibited in SMS messages in Brunei?
Gambling, adult content, unauthorized financial services, unlicensed cryptocurrency promotions, and unauthorized political campaign messages are all prohibited in Brunei SMS.
How to send MMS messages in Brunei?
MMS messages are automatically converted to SMS with a URL link. Use short, clear URLs, include the file size, and ensure the link leads to accessible content.
What sender ID types are supported for SMS in Brunei?
Alphanumeric sender IDs and international long codes are supported. Domestic long codes and short codes are not supported in Brunei.
How to integrate with SMS APIs for Brunei?
The article provides code examples for Twilio, Sinch, and MessageBird. Each requires specific credentials (Account SID and Auth Token for Twilio, service plan ID and API token for Sinch, and API key for MessageBird). Follow the provided code examples for integration and ensure proper setup.