sms compliance
sms compliance
Eritrea SMS Best Practices, Compliance, and Features
Comprehensive guide to sending SMS in Eritrea including compliance, regulations, provider options, and technical requirements
Eritrea SMS Best Practices, Compliance, and Features
Eritrea SMS Market Overview
| Locale name: | Eritrea |
|---|---|
| ISO code: | ER |
| Region | Middle East & Africa |
| Mobile country code (MCC) | 657 |
| Dialing Code | +291 |
Market Conditions: EriTel operates Eritrea's telecommunications as a state monopoly, controlling all landline and mobile infrastructure. As of January 2025, internet penetration reaches approximately 20 – 26.6% (around 714,000 users), making Eritrea one of the least connected countries globally. Mobile penetration sits at 20%, with no mobile data services available. SMS serves as the primary mobile communication method. SMS costs range from $0.075 – $0.1166 per message (Twilio: $0.1166/SMS, Plivo: $0.10778/SMS). OTT messaging apps have minimal penetration due to strict internet controls and absent mobile data infrastructure. Android dominates the mobile market, with minimal iOS presence.
SMS Features and Capabilities in Eritrea
Eritrea supports basic SMS functionality through EriTel's single-carrier system, with limitations on advanced features.
Two-way SMS Support
Eritrea does not support two-way SMS according to current provider capabilities. This limitation affects interactive messaging campaigns, automated response systems, and customer feedback collection via SMS.
Affected use cases:
- Interactive surveys and polls
- Automated customer support with SMS replies
- Opt-in confirmation workflows requiring user response
- Two-factor authentication confirmation
- Appointment confirmations requiring user reply
Workarounds:
- Use web-based forms with SMS notification links
- Implement voice-based IVR systems for two-way interaction
- Provide alternative contact methods (email, phone) for responses
- Use one-way informational messages with callback numbers
Concatenated Messages (Segmented SMS)
Support: Concatenated messages are supported, though availability varies by sender ID type.
Message length rules:
- GSM-7 encoding: 160 characters for single SMS; messages exceeding 160 characters split into 153-character segments
- UCS-2 encoding (Unicode): 70 characters for single SMS; longer messages split into 67-character segments
Encoding considerations: GSM-7 and UCS-2 encoding are both supported. Use UCS-2 for messages containing emojis, special characters, or non-Latin scripts (Arabic, Tigrinya).
Costs: Each segment costs one SMS. A 320-character GSM-7 message equals 3 segments, costing 3× the per-message rate (approximately $0.35 total via Twilio).
MMS Support
MMS messages are automatically converted to SMS with an embedded URL link. This conversion ensures message delivery while maintaining rich media access through web links. Recipients click the URL to view images, videos, or other media content via mobile browser.
Phone Number Formats and Compatibility
Number Portability
Number portability is unavailable in Eritrea. Phone numbers remain tied to their original carrier (EriTel).
Sending SMS to Landlines
Eritrea does not support sending SMS to landline numbers. Messages sent to landline numbers fail with a 400 response error (code 21614) from messaging APIs, with no charges incurred.
SMS Compliance and Regulations in Eritrea
The Ministry of Information and Communications regulates SMS communications in Eritrea under EriTel's oversight. While specific SMS marketing laws are not extensively documented, operators must follow general telecommunications guidelines and international best practices, including obtaining explicit opt-in consent before sending marketing messages.
Consent and Opt-In Requirements
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
- Support for standard STOP and HELP commands is recommended
- Primary languages for opt-out messages should be Tigrinya, Arabic, and English
- Implement immediate processing of opt-out requests
- Maintain clear documentation of opt-out requests and processing times
Do Not Call / Do Not Disturb Registries
Eritrea does not maintain an official Do Not Call registry. Businesses should:
- Maintain their own suppression lists
- Honor opt-out requests within 24 hours
- Implement proper list hygiene practices
- Document all opt-out requests and actions taken
Time Zone Sensitivity
Eritrea follows EAT (East Africa Time, UTC+3). Best practices include:
- Sending messages between 8:00 AM and 8:00 PM local time
- Avoiding messages during religious holidays and national celebrations
- Limiting urgent messages outside of standard hours
- Respecting Friday prayer times (12:00 PM – 2:00 PM)
Key holidays to avoid (2025):
- January 1: New Year's Day
- January 7: Orthodox Christmas Day
- January 19: Timket (Epiphany)
- March 8: Women's Day
- March 30: Eid al-Fitr
- April 18: Coptic Good Friday
- April 20: Coptic Easter
- May 1: International Workers' Day
- May 24: Independence Day (National Day)
- June 6: Eid al-Adha
- June 20: Martyrs' Day
- September 1: Commencement Day of Armed Struggle
- September 5: The Prophet's Birthday (Mawlid)
- September 11: Geez New Year
- September 27: Meskel
- December 25: Christmas Day
Islamic holidays follow the lunar calendar and shift annually; verify dates each year.
SMS Sender ID Types and Phone Number Options
Alphanumeric Sender ID
Operator network capability: Not supported for pre-registration, but supported for dynamic usage
Dynamic usage: Alphanumeric sender IDs (e.g., "BrandName") can be sent without advance registration, but delivery and display depend on carrier acceptance at send-time. No advance approval process is required.
Registration requirements: No pre-registration required
Sender ID preservation: Varies by carrier and message type; some carriers may replace alphanumeric IDs with short codes or numeric IDs
Long Codes
Domestic vs. International: International long codes are supported; domestic availability is limited
Sender ID preservation: International sender IDs are generally preserved
Provisioning time: 1 – 2 business days for international numbers
Use cases: Ideal for transactional messages and two-factor authentication
Pricing: International numbers start at $1.15/month plus per-message costs ($0.1166/SMS via Twilio)
Format: Eritrea uses +291 country code followed by 7-digit subscriber number
Short Codes
Support: Limited availability in Eritrea
Provisioning time: Not specified due to limited availability
Use cases: Not recommended due to limited support
Restricted SMS Content, Industries, and Use Cases
Restricted Content Types:
- Gambling and betting content
- Adult or inappropriate material
- Political messaging without proper authorization
- Cryptocurrency and unauthorized financial services
- Religious content without proper permits
Authorization requirements: Given Eritrea's state-controlled telecommunications monopoly and strict government oversight, obtain written approval from the Ministry of Information and Communications. Contact EriTel or the Ministry directly for specific authorization processes.
Consequences of violations: Carriers may block messages containing restricted content. Repeated violations can result in sender ID suspension, account termination, and potential legal action under Eritrean telecommunications regulations.
Content Filtering
Known Filtering Rules:
- Messages containing restricted keywords may be blocked
- URLs should be from approved domains or reputable sources
- Message content should not violate local cultural norms
Cultural considerations: Eritrea's population is predominantly Christian (Orthodox, Catholic) and Muslim. Avoid content that:
- Criticizes government, military, or political leadership
- Contains profanity or sexually suggestive language
- Promotes religious conversion or inter-religious conflict
- Contains politically sensitive topics or references to ongoing conflicts
- Includes unauthorized journalism or news content
URL best practices: Use well-known URL shorteners (bit.ly, tinyurl.com) or your own branded domain. Avoid suspicious or newly-registered domains that may trigger filtering.
Best Practices to Avoid Filtering:
- Avoid excessive punctuation and special characters
- Use approved URL shorteners
- Keep content professional and culturally appropriate
- Avoid sensitive topics or controversial subjects
Best Practices for Sending SMS in Eritrea
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-actions
- Use simple, direct language
- Avoid slang or colloquialisms
Sending Frequency and Timing
- Limit messages to 2 – 3 per week per recipient (based on general SMS marketing best practices for markets with limited digital infrastructure)
- Respect local holidays and observances (see Time Zone Sensitivity section for complete holiday list)
- Avoid sending during national celebrations
- Space out messages appropriately (minimum 48 – 72 hours between marketing messages)
Localization
- Primary languages: Tigrinya, Arabic, and English
- Consider cultural context in message content
- Use appropriate date and time formats:
- English: DD/MM/YYYY or DD Month YYYY (e.g., 04/10/2025 or 04 October 2025), 24-hour time preferred
- Tigrinya: Similar to English format, 24-hour time
- Arabic: DD/MM/YYYY format with Arabic-Indic numerals (٠-٩) optional, 24-hour time
- Include language preference options during opt-in
- Arabic text handling: Use UCS-2 encoding for right-to-left (RTL) text. Test rendering on both Android and iOS devices. Avoid mixing LTR and RTL text in the same message.
Opt-Out Management
- Process opt-outs within 24 hours
- Maintain clear opt-out records
- Provide multiple opt-out channels
- Confirm opt-out requests with acknowledgment message
Testing and Monitoring
- Test messages across different devices (especially Android, given its market dominance)
- Monitor delivery rates regularly
- Track engagement metrics
- Maintain delivery reports for compliance
Key metrics and thresholds:
- Delivery rate: Target > 95%; investigate if < 90%
- Delivery time: Monitor average time-to-delivery; flag if > 60 seconds
- Failure rate by error code: Track 21614 (landline) and other common errors
- Segment usage: Monitor average segments per message to control costs
- Opt-out rate: Investigate if > 2% per campaign
Common delivery issues:
- Invalid number format: Ensure +291 prefix and 7-digit number
- Landline numbers: Filter out landline numbers before sending (error 21614)
- Character encoding: Verify GSM-7 vs UCS-2 detection is working correctly
- Rate limiting: Implement queuing if exceeding 1 message/second/destination
- Content filtering: Test messages without URLs/special characters if delivery fails
SMS API Integrations and Providers for Eritrea
Twilio
Twilio provides reliable SMS delivery to Eritrea through its REST API. Authentication requires your Account SID and Auth Token.
import { 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 Eritrea
async function sendSMSToEritrea(
to: string,
message: string
): Promise<void> {
try {
// Ensure proper formatting for Eritrea numbers (+291)
const formattedNumber = to.startsWith('+291') ? to : `+291${to}`;
const response = await client.messages.create({
body: message,
to: formattedNumber,
from: process.env.TWILIO_PHONE_NUMBER,
// Optional: Set status callback URL
statusCallback: 'https://your-domain.com/sms/status'
});
console.log(`Message sent successfully: ${response.sid}`);
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}Sinch
Sinch offers SMS capabilities for Eritrea through its REST API, requiring API Token authentication.
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): Promise<void> {
try {
const response = await axios.post(
`${this.baseUrl}/${this.serviceId}/batches`,
{
from: 'YourSenderID',
to: [to],
body: message
},
{
headers: {
'Authorization': `Bearer ${this.apiToken}`,
'Content-Type': 'application/json'
}
}
);
console.log('Message sent:', response.data);
} catch (error) {
console.error('Sinch SMS error:', error);
throw error;
}
}
}MessageBird
MessageBird provides SMS connectivity to Eritrea with straightforward REST API integration.
import { MessageBird } from 'messagebird';
class MessageBirdService {
private client: MessageBird;
constructor(apiKey: string) {
this.client = new MessageBird(apiKey);
}
async sendSMS(
to: string,
message: string,
originator: string
): Promise<void> {
const params = {
originator,
recipients: [to],
body: message,
// Optional parameters for delivery reporting
reportUrl: 'https://your-domain.com/delivery-reports'
};
return new Promise((resolve, reject) => {
this.client.messages.create(params, (err, response) => {
if (err) {
console.error('MessageBird error:', err);
reject(err);
} else {
console.log('Message sent:', response);
resolve();
}
});
});
}
}Plivo
Plivo offers SMS services to Eritrea with REST API support and detailed delivery tracking.
import { Client } from 'plivo';
class PlivoService {
private client: Client;
constructor(authId: string, authToken: string) {
this.client = new Client(authId, authToken);
}
async sendSMS(
src: string,
dst: string,
text: string
): Promise<void> {
try {
const response = await this.client.messages.create({
src, // Sender ID
dst, // Destination number (Eritrea format)
text,
// Optional parameters
url: 'https://your-domain.com/delivery-status',
method: 'POST'
});
console.log('Message sent:', response);
} catch (error) {
console.error('Plivo error:', error);
throw error;
}
}
}SMS Provider Comparison for Eritrea
| Provider | SMS Cost (Outbound) | International Number Cost | Key Features | Best For |
|---|---|---|---|---|
| Twilio | $0.1166/SMS | $1.15/month | Comprehensive API, excellent docs, global reliability | Enterprise, developers needing robust support |
| Plivo | $0.10778/SMS | Varies | Competitive pricing, good API | Cost-conscious projects |
| Sinch | Varies by account | Varies | Strong carrier relationships | High-volume senders |
| MessageBird | Varies | Varies | Multi-channel platform | Omnichannel communication needs |
Pricing as of 2025; verify current rates with providers
API Rate Limits and Throughput
General guidelines (verify with your provider):
- Standard rate limit: 1 message per second per destination
- Batch sending limit: 100 messages per request (varies by provider)
- Daily sending quota varies by provider and account tier
Provider-specific considerations:
- Twilio: Rate limits based on account type; Enterprise accounts support higher throughput
- Plivo: Default 10 messages/second globally; contact support for country-specific limits
- Sinch: Throughput negotiated per account; typically 10 – 50 messages/second
- MessageBird: Rate limits based on pricing tier
Check your provider's documentation for Eritrea-specific throughput limits and special restrictions.
Throughput Management Strategies:
- Implement queuing systems for large volumes
- Use batch APIs when available
- Monitor delivery rates and adjust sending patterns
- Implement exponential backoff for retries
Error Handling and Reporting
- Implement comprehensive logging for all API calls
- Monitor delivery receipts and status callbacks
- Track common error codes and their resolutions
- Maintain error logs for compliance purposes
Common error codes for Eritrea:
| Error Code | Description | Resolution |
|---|---|---|
| 21614 | Cannot send to landline | Filter landline numbers before sending; validate number type |
| 30003 | Unreachable destination | Verify number format (+291 + 7 digits); check if number is active |
| 30005 | Unknown destination | Validate recipient number; may be disconnected or invalid |
| 30006 | Landline or unreachable | Same as 21614; implement number validation |
| 30007 | Message filtered/blocked | Review content for restricted keywords; check URL reputation |
| 30008 | Unknown error | Retry with exponential backoff; contact provider support |
Twilio-specific: Error 21614 indicates a landline SMS attempt. Implement HLR lookup or number type validation to prevent.
Frequently Asked Questions About SMS in Eritrea
How much does it cost to send SMS in Eritrea?
SMS pricing in Eritrea ranges from $0.075 to $0.1166 per message, with Twilio charging $0.1166/SMS and Plivo charging $0.10778/SMS. International long codes cost approximately $1.15/month plus per-message fees.
Does Eritrea support two-way SMS messaging?
No, Eritrea does not currently support two-way SMS. Businesses must use alternative methods like web forms, IVR systems, or callback numbers for interactive communications.
What phone number format is required for Eritrea SMS?
Eritrea uses the E.164 format with country code +291 followed by a 7-digit subscriber number (e.g., +2917123456). Learn more about E.164 phone number formatting.
Can I send SMS to landlines in Eritrea?
No, SMS to landline numbers is not supported in Eritrea. Messages sent to landlines will fail with error code 21614 and no charges will be incurred.
What languages should I use for SMS in Eritrea?
The primary languages for SMS in Eritrea are Tigrinya, Arabic, and English. Use UCS-2 encoding for Arabic and Tigrinya text to ensure proper rendering.
Summary and Next Steps
Key Takeaways
-
Compliance Priorities
- Obtain explicit consent
- Honor opt-out requests promptly
- Maintain proper documentation
- Respect time zone restrictions
-
Technical Considerations
- Proper number formatting (+291)
- Message encoding support
- Delivery receipt handling
- Rate limit management
-
Best Practices
- Local language support
- Cultural sensitivity
- Testing and monitoring
- Error handling
Next Steps
- Review EriTel's telecommunications guidelines
- Consult legal counsel for compliance requirements
- Set up test accounts with preferred SMS providers
- Implement proper error handling and monitoring
Additional Resources
Frequently Asked Questions
How to send SMS messages to Eritrea?
Use a reputable SMS provider like Twilio, Sinch, MessageBird, or Plivo. Ensure the recipient's number includes the +291 country code and follow provider-specific API guidelines for successful delivery. Due to Eritrea's telecommunications landscape, two-way SMS isn't currently supported, and other limitations may apply.
What is the MCC for Eritrea for SMS messaging?
The Mobile Country Code (MCC) for Eritrea is 657. This code is essential for routing international SMS messages correctly to Eritrean mobile numbers.
Why does Eritrea not support two-way SMS?
According to current provider capabilities, Eritrea, under its sole operator EriTel, does not support two-way SMS. This restricts interactive messaging campaigns and automated response systems.
What are the rules for SMS marketing in Eritrea?
Specific SMS marketing regulations aren't extensively documented, but adhere to general telecom guidelines. Prioritize obtaining explicit opt-in consent, honor opt-outs promptly, and respect local customs regarding messaging times and content.
When should I send SMS messages in Eritrea?
The best time to send SMS messages in Eritrea is between 8:00 AM and 8:00 PM local time (EAT, UTC+3). Avoid sending during religious holidays, national celebrations, and Friday prayer times (12:00 PM - 2:00 PM).
Can I send SMS to landlines in Eritrea?
No, sending SMS to landline numbers in Eritrea is not supported. Attempts will result in delivery failure and a 400 response error (code 21614) from messaging APIs, without incurring charges.
How to manage SMS opt-outs in Eritrea?
Process opt-out requests within 24 hours, regardless of whether Eritrea has an official Do Not Call list. Maintain clear records, provide multiple opt-out channels (like STOP commands), and send acknowledgment messages.
What SMS sender IDs are available in Eritrea?
While short codes have limited availability, international long codes are supported and preferred for transactional messages. Alphanumeric sender IDs are supported dynamically, but not for pre-registration.
What is the process for sending concatenated SMS in Eritrea?
Eritrea supports concatenated SMS messages. Standard SMS length limits apply before concatenation. Both GSM-7 and UCS-2 encoding are supported for handling special characters if necessary.
What content is restricted in SMS messages to Eritrea?
Restricted content includes gambling, adult material, unauthorized political or religious content, and cryptocurrency promotions. Content filtering may block messages with restricted keywords or unapproved URLs.
How can I integrate with an SMS API for Eritrea?
Several providers like Twilio, Sinch, MessageBird, and Plivo offer SMS APIs with Eritrea support. Their documentation provides code examples and guidelines for integration and best practices.
What are the SMS API rate limits for Eritrea?
A standard rate limit of 1 message per second per destination and a batch sending limit of 100 messages per request typically apply. Daily quotas vary by provider, so check their specific guidelines.
What are some best practices for SMS messaging in Eritrea?
Key best practices include obtaining explicit consent, localizing content, respecting time zones, and managing opt-outs efficiently. Also, consider using clear call-to-actions, testing messages, and monitoring delivery rates.