Lebanon SMS Guide: Send SMS with Alfa & Touch Carriers – Compliance & API Integration
Learn how to send SMS in Lebanon with Alfa and Touch carriers. Complete guide covering TRA compliance, alphanumeric sender IDs, Arabic encoding, opt-out requirements, and API integration with Twilio, Sinch, and MessageBird.
Sending SMS in Lebanon requires understanding the country's unique telecom landscape. Lebanon has two main mobile operators – Alfa and touch (formerly MTC Touch) – both state-run providers that share the market nearly equally with approximately 4.7 million combined subscribers. While OTT messaging apps like WhatsApp have gained popularity, SMS remains a critical channel for business communications. Both operators provide comprehensive 2G/3G/4G coverage across urban and rural areas. Industry forecasts project Lebanon's telecom services market to grow at approximately 5.2% CAGR through 2031, driven by smartphone adoption and emerging services. Android holds a larger market share than iOS due to its wider range of affordable devices.
Lebanon SMS Features and Capabilities
Lebanon supports basic SMS functionality with limitations on advanced features. You can use one-way messaging with concatenated messages and alphanumeric sender IDs for your SMS campaigns.
Two-Way SMS Support
Two-way SMS is not supported in Lebanon through standard A2P (Application-to-Person) channels. Use alternative communication channels like email or web forms to receive customer responses.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is supported, though availability may vary by sender ID type.
Message length rules:
GSM-7 encoding: 160 characters per segment
UCS-2 encoding (Arabic and special characters): 70 characters per segment
Cost implications: Concatenated messages count as multiple segments. A 300-character message using GSM-7 encoding will be billed as 2 segments (160 + 140 characters), while a 150-character Arabic message using UCS-2 will be billed as 3 segments (70 + 70 + 10 characters).
Example: Sending "Thank you for your order. Your tracking number is 123456789. Visit our website for updates." uses 91 characters (1 segment). Adding Arabic text like "شكراً لطلبك" increases the character count and triggers UCS-2 encoding, reducing each segment to 70 characters.
MMS Support
MMS messages are not directly supported in Lebanon. Carriers automatically convert MMS content to SMS with an embedded URL link where recipients can view the multimedia content. This ensures compatibility while maintaining the ability to share rich media.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Lebanon. Mobile numbers remain tied to their original carrier, simplifying message routing and delivery for your SMS gateway.
Sending SMS to Landlines
You cannot send SMS to landline numbers in Lebanon. Attempts to send messages to landlines will result in a 400 response error (code 21614), and the message will not be delivered or logged.
SMS Compliance Requirements: Lebanon TRA Regulations
The Telecommunications Regulatory Authority (TRA) regulates SMS communications in Lebanon. While specific SMS marketing laws are still evolving, you must adhere to general telecommunications regulations and international best practices for message consent and privacy when sending bulk SMS campaigns.
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 you obtained consent
Include clear terms of service and privacy policy information during opt-in
Specify the type and frequency of messages users can expect
Documentation Best Practices:
Store consent records with timestamp and source
Maintain audit trails of opt-in methods
Regularly update and verify consent status
Implement double opt-in for marketing campaigns
HELP/STOP and Other Commands
Support these standard opt-out keywords in both English and Arabic:
STOP/إيقاف
CANCEL/إلغاء
HELP/مساعدة
Send response messages to these commands in both English and Arabic. Send opt-out confirmations immediately upon receiving a STOP command.
Example automated responses:
STOP command received: "You have been unsubscribed from our messages. Reply START to opt back in."
HELP command received: "Reply STOP to unsubscribe or visit example.com/help for support."
Opt-out processing flow:
User sends STOP command
System immediately adds number to suppression list
Automated confirmation sent within 5 seconds
Database updated with opt-out timestamp
No further marketing messages sent to that number
Do Not Call / Do Not Disturb Registries
Lebanon does not maintain an official Do Not Call registry. However, you should:
Maintain your own suppression lists
Honor opt-out requests within 24 hours
Regularly clean contact lists to remove unsubscribed numbers
Implement automated systems to prevent messaging to opted-out numbers
Time Zone Sensitivity
Lebanon observes Eastern European Time (EET/UTC+2 in winter, EEST/UTC+3 during daylight saving time). Follow these best practices:
Send messages between 9:00 AM and 8:00 PM local time
Account for seasonal time changes when scheduling campaigns
Avoid sending during religious holidays and Friday prayers
Consider Ramadan timing adjustments when applicable
Send emergency messages outside these hours only if necessary
Sender ID Options for Lebanon SMS
Alphanumeric Sender ID
Operator network capability: Fully supported by Alfa and touch carriers
Registration requirements: No pre-registration required – dynamic usage supported
Sender ID preservation: Yes, sender IDs are preserved as specified
International long codes: Supported but with limitations
Sender ID preservation: No – carriers typically overwrite international numeric sender IDs
Provisioning time: N/A
Use cases: Not recommended for marketing campaigns; better suited for transactional messages
Short Codes
Support: Not currently supported in Lebanon
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Restricted Content Types:
Gambling and betting services
Adult content or explicit material
Political messaging without proper authorization
Cryptocurrency and unauthorized financial services
Religious content without proper permits
Regulated Industries:
Financial services require additional disclaimers
Healthcare messages must comply with privacy regulations
Insurance services need specific regulatory approvals
Content Filtering
Known Carrier Filters:
URLs from unknown domains may be blocked
Messages containing specific keywords related to restricted content
Multiple exclamation marks or all-caps messages
Best Practices:
Avoid URL shorteners in your messages
Use clear, professional language
Include your company name in each message
Avoid excessive punctuation and special characters
Testing strategies:
Send test messages to both Alfa and touch numbers
Test with various message lengths and content types
Include URLs and special characters in test scenarios
Monitor delivery reports for filtering patterns
Adjust content based on delivery success rates
Lebanon SMS Best Practices
Messaging Strategy
Keep messages under 160 characters when possible
Include a clear call-to-action
Use personalization tokens thoughtfully
Maintain a consistent brand voice
Sending Frequency and Timing
Limit to 2–4 messages per month per user
Respect religious and cultural observances
Avoid sending during major holidays
Space out messages appropriately
Arabic SMS and Localization for Lebanon
Support both Arabic and English in your SMS campaigns targeting Lebanon. Use proper Arabic character encoding (UCS-2) and ensure proper right-to-left text display for Arabic content. For guidance on international messaging formats, review our international SMS best practices.
Bilingual message example (English/Arabic):
Code
Your order #12345 has shipped. Track: example.com/track
تم شحن طلبك #12345. التتبع: example.com/track
Test messages across both Alfa and touch carriers before launching campaigns. Monitor delivery rates by carrier, track engagement metrics, and regularly test opt-out functionality. Consider implementing two-factor authentication for transactional messages.
Invalid sender ID → Verify alphanumeric format and length
FAQ: Sending SMS in Lebanon
What carriers operate SMS services in Lebanon?
Lebanon has two main mobile carriers: Alfa and touch (formerly MTC Touch). Both are state-run providers that share the market nearly equally and support SMS messaging with alphanumeric sender IDs.
Do I need to register my sender ID in Lebanon?
No, Lebanon does not require pre-registration for alphanumeric sender IDs. You can use dynamic sender IDs (up to 11 characters) without prior approval from carriers.
What is the SMS character limit in Lebanon?
Standard SMS messages in Lebanon support 160 characters using GSM-7 encoding. For Arabic text using UCS-2 encoding, the limit is 70 characters per segment. Messages exceeding these limits are automatically concatenated.
Is two-way SMS supported in Lebanon?
No, two-way SMS is not supported through standard A2P channels in Lebanon. Use alternative methods like email or web forms to receive customer responses.
What are the compliance requirements for SMS in Lebanon?
The TRA (Telecommunications Regulatory Authority) regulates SMS in Lebanon. You must obtain explicit consent before sending marketing messages, support bilingual opt-out commands (STOP/إيقاف), and send messages between 9:00 AM and 8:00 PM local time.
Can I use Unicode characters for Arabic SMS in Lebanon?
Yes, you can send Arabic SMS using UCS-2 encoding. Each segment supports 70 characters when using Arabic or other Unicode characters, compared to 160 characters for standard GSM-7 encoding.
Recap and Additional Resources
Key Takeaways
Compliance Priorities
Obtain explicit consent before sending marketing messages
Respect time zone restrictions (9:00 AM – 8:00 PM EET/EEST)
Support bilingual opt-out commands (English and Arabic)
Technical Considerations
Use proper character encoding (GSM-7 or UCS-2 for Arabic)
Implement retry logic with exponential backoff
Monitor delivery rates across Alfa and touch carriers
Best Practices
Test thoroughly across both carriers before launching campaigns
Maintain clean contact lists with real-time opt-out processing
Use an SMS API like Twilio, Sinch, or MessageBird, ensuring your message content complies with local regulations and best practices. Remember to obtain explicit opt-in consent from recipients before sending any marketing messages and include clear opt-out instructions in both English and Arabic. Test messages across both major carriers (Alfa and Touch) to ensure deliverability.
Initialize the Twilio client with your account SID and auth token. Use the client's messages.create method, providing the recipient's number in E.164 format (+961...), your alphanumeric sender ID, and the message body. Optional parameters include statusCallback for delivery tracking.
Create a SinchSMSService instance with your service plan ID and API token. Call the sendSMS method, passing the recipient number, message body, and sender ID. You can enable delivery reports using the optional 'delivery_report' parameter in the request.
Lebanon primarily supports one-way SMS, concatenated messages (up to 160 characters in GSM-7 encoding), and alphanumeric sender IDs. Two-way SMS, MMS (converted to SMS with a URL), and sending to landlines are not supported. Number portability is also not available.
You must obtain explicit opt-in consent before sending marketing messages, provide clear opt-out instructions (STOP, CANCEL, HELP in English and Arabic), and respect local time zones (EET/UTC+2). While Lebanon lacks a DNC registry, maintain your own suppression list and honor opt-out requests promptly.
The article doesn't explain why, but it states that two-way SMS is not supported through standard A2P channels. Businesses should consider alternative methods like email or web forms for receiving customer feedback.
Standard SMS messages are limited to 160 characters using GSM-7 encoding. If you use UCS-2 encoding for Arabic or special characters, the limit is 70 characters per segment. Concatenated messages are supported for longer content.
Adhere to Lebanon's Eastern European Time (EET/UTC+2) and send messages between 9:00 AM and 8:00 PM local time. Avoid sending during religious holidays, Friday prayers, and consider Ramadan timing adjustments. Emergency messages can be sent outside these hours.
No, sending SMS to landline numbers in Lebanon is not supported. Attempts to do so will result in a 400 response error (code 21614), and the message won't be delivered.
MMS messages are not directly supported. They are automatically converted to SMS messages containing a URL where recipients can view the original multimedia content.
Process opt-out requests immediately and send a confirmation message. Use keywords like STOP, CANCEL, and HELP in both English and Arabic. Maintain a centralized opt-out database and conduct regular audits to ensure compliance.
Standard rate limits are around 30 messages per second, with burst limits up to 50 messages per second for short durations. Implement queuing systems and exponential backoff for high-volume sending to manage throughput and avoid exceeding rate limits.
Alphanumeric sender IDs are fully supported and do not require pre-registration. You can dynamically set the sender ID in your API requests. The sender ID will be preserved as specified, ensuring consistent branding.
Restricted content includes gambling, adult material, unauthorized political or religious content, and cryptocurrency promotions. Financial and healthcare industries require additional compliance measures.
Using the correct encoding (like UCS-2) ensures that Arabic characters display correctly on recipients' devices. It enhances readability and professionalism, showing respect for the local language and culture.
Lebanon SMS Market Overview
Sending SMS in Lebanon requires understanding the country's unique telecom landscape. Lebanon has two main mobile operators – Alfa and touch (formerly MTC Touch) – both state-run providers that share the market nearly equally with approximately 4.7 million combined subscribers. While OTT messaging apps like WhatsApp have gained popularity, SMS remains a critical channel for business communications. Both operators provide comprehensive 2G/3G/4G coverage across urban and rural areas. Industry forecasts project Lebanon's telecom services market to grow at approximately 5.2% CAGR through 2031, driven by smartphone adoption and emerging services. Android holds a larger market share than iOS due to its wider range of affordable devices.
Lebanon SMS Features and Capabilities
Lebanon supports basic SMS functionality with limitations on advanced features. You can use one-way messaging with concatenated messages and alphanumeric sender IDs for your SMS campaigns.
Two-Way SMS Support
Two-way SMS is not supported in Lebanon through standard A2P (Application-to-Person) channels. Use alternative communication channels like email or web forms to receive customer responses.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is supported, though availability may vary by sender ID type.
Message length rules:
Cost implications: Concatenated messages count as multiple segments. A 300-character message using GSM-7 encoding will be billed as 2 segments (160 + 140 characters), while a 150-character Arabic message using UCS-2 will be billed as 3 segments (70 + 70 + 10 characters).
Example: Sending "Thank you for your order. Your tracking number is 123456789. Visit our website for updates." uses 91 characters (1 segment). Adding Arabic text like "شكراً لطلبك" increases the character count and triggers UCS-2 encoding, reducing each segment to 70 characters.
MMS Support
MMS messages are not directly supported in Lebanon. Carriers automatically convert MMS content to SMS with an embedded URL link where recipients can view the multimedia content. This ensures compatibility while maintaining the ability to share rich media.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Lebanon. Mobile numbers remain tied to their original carrier, simplifying message routing and delivery for your SMS gateway.
Sending SMS to Landlines
You cannot send SMS to landline numbers in Lebanon. Attempts to send messages to landlines will result in a 400 response error (code 21614), and the message will not be delivered or logged.
SMS Compliance Requirements: Lebanon TRA Regulations
The Telecommunications Regulatory Authority (TRA) regulates SMS communications in Lebanon. While specific SMS marketing laws are still evolving, you must adhere to general telecommunications regulations and international best practices for message consent and privacy when sending bulk SMS campaigns.
Consent and Opt-In Requirements
Explicit Consent Requirements:
Documentation Best Practices:
HELP/STOP and Other Commands
Support these standard opt-out keywords in both English and Arabic:
Send response messages to these commands in both English and Arabic. Send opt-out confirmations immediately upon receiving a STOP command.
Example automated responses:
Opt-out processing flow:
Do Not Call / Do Not Disturb Registries
Lebanon does not maintain an official Do Not Call registry. However, you should:
Time Zone Sensitivity
Lebanon observes Eastern European Time (EET/UTC+2 in winter, EEST/UTC+3 during daylight saving time). Follow these best practices:
Sender ID Options for Lebanon SMS
Alphanumeric Sender ID
Operator network capability: Fully supported by Alfa and touch carriers
Registration requirements: No pre-registration required – dynamic usage supported
Sender ID preservation: Yes, sender IDs are preserved as specified
Character restrictions:
Best practices:
Long Codes
Domestic vs. International:
Sender ID preservation: No – carriers typically overwrite international numeric sender IDs
Provisioning time: N/A
Use cases: Not recommended for marketing campaigns; better suited for transactional messages
Short Codes
Support: Not currently supported in Lebanon
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content, Industries, and Use Cases
Restricted Content Types:
Regulated Industries:
Content Filtering
Known Carrier Filters:
Best Practices:
Testing strategies:
Lebanon SMS Best Practices
Messaging Strategy
Sending Frequency and Timing
Arabic SMS and Localization for Lebanon
Support both Arabic and English in your SMS campaigns targeting Lebanon. Use proper Arabic character encoding (UCS-2) and ensure proper right-to-left text display for Arabic content. For guidance on international messaging formats, review our international SMS best practices.
Bilingual message example (English/Arabic):
Encoding implementation:
// Detect if message contains Arabic characters function requiresUCS2Encoding(message: string): boolean { // Arabic Unicode range: U+0600 to U+06FF return /[\u0600-\u06FF]/.test(message); } // Calculate segment count function calculateSegments(message: string): number { const encoding = requiresUCS2Encoding(message) ? 'UCS2' : 'GSM7'; const segmentLength = encoding === 'UCS2' ? 70 : 160; const headerLength = message.length > segmentLength ? (encoding === 'UCS2' ? 3 : 7) : 0; return Math.ceil(message.length / (segmentLength - headerLength)); }Opt-Out Management
Testing and Monitoring
Test messages across both Alfa and touch carriers before launching campaigns. Monitor delivery rates by carrier, track engagement metrics, and regularly test opt-out functionality. Consider implementing two-factor authentication for transactional messages.
Key metrics to track:
Monitoring dashboard elements:
interface SMSMetrics { totalSent: number; delivered: number; failed: number; pending: number; deliveryRate: number; averageLatency: number; // in seconds carrierBreakdown: { alfa: { sent: number; delivered: number }; touch: { sent: number; delivered: number }; }; }SMS API Integration for Lebanon
Twilio SMS API for Lebanon
Twilio provides robust SMS API support for Lebanon. You need an account SID and auth token for authentication.
Key Parameters:
accountSid: Your Twilio account identifierauthToken: Your authentication tokenfrom: Alphanumeric sender ID (up to 11 characters)to: Recipient number in E.164 format (+961)body: Message content (supports Unicode)import { Twilio } from 'twilio'; // Initialize Twilio client const client = new Twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN); // Function to send SMS to Lebanon async function sendSMSToLebanon( to: string, message: string, senderId: string ): Promise<void> { try { // Validate Lebanon phone number format if (!to.startsWith('+961')) { throw new Error('Invalid Lebanon phone number format'); } const response = await client.messages.create({ body: message, from: senderId, // Alphanumeric sender ID to: to, // Optional parameters for delivery tracking statusCallback: 'https://your-webhook.com/status' }); console.log(`Message sent successfully! SID: ${response.sid}`); } catch (error) { console.error('Error sending message:', error); throw error; } }For comprehensive compliance guidance, review our SMS compliance requirements documentation.
Sinch SMS API for Lebanon
Sinch offers a straightforward REST API for sending SMS to Lebanon. You need an API token and service plan ID.
Key Parameters:
serviceplanId: Your Sinch service plan identifierapiToken: Bearer token for authenticationfrom: Sender IDto: Array of recipient numbersbody: Message contentimport axios from 'axios'; class SinchSMSService { private readonly baseUrl: string; private readonly headers: Record<string, string>; constructor(serviceplanId: string, apiToken: string) { this.baseUrl = `https://sms.api.sinch.com/xms/v1/${serviceplanId}/batches`; this.headers = { 'Authorization': `Bearer ${apiToken}`, 'Content-Type': 'application/json' }; } async sendSMS(to: string, message: string, senderId: string): Promise<void> { try { const response = await axios.post( this.baseUrl, { from: senderId, to: [to], body: message, // Enable delivery reports delivery_report: 'summary' }, { headers: this.headers } ); console.log('Message sent:', response.data.id); } catch (error) { console.error('Sinch SMS error:', error.response?.data || error); throw error; } } }MessageBird SMS API for Lebanon
MessageBird (now branded as "Bird") provides a feature-rich API for Lebanon SMS messaging.
Key Parameters:
apiKey: Your MessageBird API keyoriginator: Sender ID (alphanumeric or phone number)recipients: Array of recipient numbersbody: Message contentimport { MessageBirdClient, MessageParameters } from 'messagebird'; class MessageBirdService { private client: MessageBirdClient; constructor(apiKey: string) { this.client = new MessageBirdClient(apiKey); } async sendSMS( to: string, message: string, senderId: string ): Promise<void> { const params: MessageParameters = { originator: senderId, recipients: [to], body: message, // Optional parameters reportUrl: 'https://your-webhook.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.id); resolve(); } }); }); } }API Rate Limits and Throughput
Rate Limits for Lebanon:
Throughput Management Strategies:
Rate limiting implementation with retry logic:
import { setTimeout } from 'timers/promises'; class RateLimiter { private queue: Array<() => Promise<void>> = []; private processing = false; private messagesPerSecond: number; private retryConfig = { maxRetries: 3, baseDelay: 1000, // 1 second maxDelay: 32000 // 32 seconds }; constructor(messagesPerSecond: number = 30) { this.messagesPerSecond = messagesPerSecond; } async enqueue(task: () => Promise<void>): Promise<void> { return new Promise((resolve, reject) => { this.queue.push(async () => { try { await this.executeWithRetry(task); resolve(); } catch (error) { reject(error); } }); if (!this.processing) { this.processQueue(); } }); } private async executeWithRetry( task: () => Promise<void>, attempt: number = 0 ): Promise<void> { try { await task(); } catch (error: any) { if ( attempt < this.retryConfig.maxRetries && (error.code === 'RATE_LIMIT' || error.code === 'TIMEOUT') ) { const delay = Math.min( this.retryConfig.baseDelay * Math.pow(2, attempt), this.retryConfig.maxDelay ); console.log(`Retry attempt ${attempt + 1} after ${delay}ms`); await setTimeout(delay); return this.executeWithRetry(task, attempt + 1); } throw error; } } private async processQueue(): Promise<void> { this.processing = true; const delayBetweenMessages = 1000 / this.messagesPerSecond; while (this.queue.length > 0) { const task = this.queue.shift(); if (task) { await task(); await setTimeout(delayBetweenMessages); } } this.processing = false; } }Error Handling and Reporting
Common Error Scenarios:
Logging Best Practices:
interface SMSLogEntry { messageId: string; timestamp: Date; recipient: string; status: string; errorCode?: string; errorMessage?: string; } // Example logging implementation function logSMSActivity(entry: SMSLogEntry): void { console.log(JSON.stringify({ ...entry, service: 'sms', country: 'Lebanon', timestamp: new Date().toISOString() })); }Error resolution decision tree:
FAQ: Sending SMS in Lebanon
What carriers operate SMS services in Lebanon?
Lebanon has two main mobile carriers: Alfa and touch (formerly MTC Touch). Both are state-run providers that share the market nearly equally and support SMS messaging with alphanumeric sender IDs.
Do I need to register my sender ID in Lebanon?
No, Lebanon does not require pre-registration for alphanumeric sender IDs. You can use dynamic sender IDs (up to 11 characters) without prior approval from carriers.
What is the SMS character limit in Lebanon?
Standard SMS messages in Lebanon support 160 characters using GSM-7 encoding. For Arabic text using UCS-2 encoding, the limit is 70 characters per segment. Messages exceeding these limits are automatically concatenated.
Is two-way SMS supported in Lebanon?
No, two-way SMS is not supported through standard A2P channels in Lebanon. Use alternative methods like email or web forms to receive customer responses.
What are the compliance requirements for SMS in Lebanon?
The TRA (Telecommunications Regulatory Authority) regulates SMS in Lebanon. You must obtain explicit consent before sending marketing messages, support bilingual opt-out commands (STOP/إيقاف), and send messages between 9:00 AM and 8:00 PM local time.
Can I use Unicode characters for Arabic SMS in Lebanon?
Yes, you can send Arabic SMS using UCS-2 encoding. Each segment supports 70 characters when using Arabic or other Unicode characters, compared to 160 characters for standard GSM-7 encoding.
Recap and Additional Resources
Key Takeaways
Compliance Priorities
Technical Considerations
Best Practices
Next Steps
Additional Resources