sms compliance
sms compliance
Palestine SMS Guide 2025: Jawwal & Ooredoo Compliance + API Setup
Send SMS in Palestine with confidence. Complete 2025 guide to Jawwal and Ooredoo A2P messaging, sender ID requirements, opt-in regulations, and API integration for Twilio, Plivo, Sinch, MessageBird.
Palestine SMS Best Practices, Compliance, and Features
Palestine SMS Market Overview
| Locale name: | Palestine |
|---|---|
| ISO code: | PS |
| Region | Middle East & Africa |
| Mobile country code (MCC) | 425 |
| Dialing Code | +970 |
Market Conditions: Palestine operates as a mobile duopoly. Jawwal Palestine commands over 80% market share with 3+ million subscribers, while Ooredoo Palestine (formerly Wataniya Mobile) holds approximately 20% with 1.4+ million subscribers as of 2024. Jawwal maintains an exclusive partnership with Vox Solutions (established August 2022) for international A2P SMS delivery. Both traditional SMS and OTT messaging apps see strong adoption, but SMS remains crucial for business communications and two-factor authentication. Android devices dominate the market over iOS.
Important Note: Use country code +970 when calling from Arab countries. From many other countries, you may need the Israeli access code +972 due to infrastructure dependencies, though +970 remains the official Palestinian telecommunications code.
Key SMS Features and Capabilities in Palestine
Palestine's SMS infrastructure supports concatenated messages and alphanumeric sender IDs, essential features for effective business messaging. Two-way messaging is not available, and MMS converts automatically to SMS with URL links.
Two-way SMS Support
Major SMS providers do not support two-way SMS in Palestine. This affects interactive messaging campaigns and automated response systems. For communications requiring responses, direct recipients to web-based forms or alternative channels.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation works for most sender ID types, though support varies by carrier.
Message Length Rules:
- GSM-7 encoding: 160 characters per segment
- UCS-2 encoding (Arabic): 70 characters per segment
- Example: A 200-character GSM-7 message splits into 2 segments and costs 2× the single-message price
Character Count Tips:
- Keep messages under 160 characters to minimize costs
- Test character counts with your target encoding before sending
- Use GSM-7 for English content, UCS-2 for Arabic
MMS Support
MMS messages convert automatically to SMS with an embedded URL link to the multimedia content. This ensures compatibility across all devices while letting you share rich media.
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Palestine. Phone numbers remain tied to their original carrier (Jawwal or Ooredoo).
Carrier Identification by Prefix:
- Jawwal: 059x numbers
- Ooredoo: 056x numbers
This simplifies message routing but limits consumer flexibility.
Sending SMS to Landlines
You cannot send SMS to landline numbers in Palestine. Attempts fail with API error 400 (error code 21614), and your account is not charged.
Compliance and Regulatory Guidelines for SMS in Palestine
All SMS communications in Palestine must comply with telecommunications regulations overseen by the Ministry of Telecommunications and Digital Economy (MTDE, formerly MTIT). The Palestinian Telecommunications Law established an independent telecommunications regulatory authority in January 2023, with a new CEO appointed in October 2023. SMS marketing laws are still evolving – follow international SMS compliance best practices and carrier requirements.
Regulatory Context: Authority is transferring gradually from the ministry to the independent regulatory body. Monitor updates from both MTDE and the telecommunications regulatory authority for evolving compliance requirements.
Consent and Opt-In
Explicit Consent Requirements:
- Obtain clear, documented opt-in consent before sending marketing messages
- Maintain detailed records of when and how you obtained consent
- Include clear terms explaining message frequency and content type
- Disclose potential messaging charges
Sample Opt-In Language:
"By entering your mobile number, you agree to receive SMS messages from [Your Company] about [purpose]. Message frequency: [X] messages per month. Message and data rates may apply. Reply STOP to opt out."
Implementation Checklist:
- Add opt-in checkbox to signup forms
- Store timestamp and method of consent
- Send confirmation message after opt-in
- Include opt-out instructions in every message
HELP/STOP and Other Commands
Support standard opt-out keywords in all SMS campaigns:
English Keywords: STOP, CANCEL, END, QUIT, UNSUBSCRIBE
Arabic Keywords: توقف (stop), إلغاء (cancel), إنهاء (end)
HELP Command Response Template:
"[Your Company] SMS: Reply STOP to unsubscribe. Reply HELP for assistance. Msg&data rates may apply."
STOP Confirmation Template:
"You have been unsubscribed from [Your Company] SMS messages. You will receive no further messages."
Process opt-out requests immediately – within seconds, not hours.
Do Not Call / Do Not Disturb Registries
Palestine does not maintain an official Do Not Call registry. Follow these best practices:
- Maintain your own suppression list of opted-out numbers
- Honor opt-out requests immediately (not within 24 hours – immediately)
- Clean contact lists regularly to remove inactive or invalid numbers
- Document all opt-out requests for compliance
Time Zone Sensitivity
Palestine follows Eastern European Time (EET, UTC+2) during standard time and Eastern European Summer Time (EEST, UTC+3) during daylight saving.
Sending Hours:
- Send between 9:00 AM – 8:00 PM local time
- Avoid Friday 12:00 PM – 2:00 PM (Friday prayers)
- Avoid these prayer times daily: 5:00 AM – 6:00 AM (Fajr), 12:30 PM – 1:00 PM (Dhuhr), 3:30 PM – 4:00 PM (Asr), sunset (Maghrib), 7:30 PM – 8:00 PM (Isha)
Religious Observances (dates vary annually – check Islamic calendar):
- Ramadan: 30 days of fasting (send messages after sunset only)
- Eid al-Fitr: 3-day celebration after Ramadan
- Eid al-Adha: 4-day celebration
- Islamic New Year
Limit urgent messages outside business hours to genuine emergencies. Account for DST transitions in March and October.
Phone Number Options and SMS Sender Types for Palestine
Choosing the right sender ID type is critical for SMS delivery success in Palestine. Here's what you need to know about each option:
Alphanumeric Sender ID
Operator network capability: Fully supported by both Jawwal and Ooredoo
Registration requirements: Pre-registration not required, dynamic usage supported
Sender ID preservation: Yes, sender IDs are preserved as specified
Character Limits and Rules:
- Maximum length: 11 characters
- Allowed characters: A-Z, a-z, 0-9, spaces
- Must start with a letter (not a number)
- No special characters or symbols
Good vs. Bad Sender ID Examples:
| Good ✓ | Bad ✗ | Why |
|---|---|---|
| YourBrand | YourBrand123 | Exceeds 11 characters |
| Shop24 | 24Shop | Starts with number |
| MyBank | My-Bank | Contains special character |
| DeliveryCo | delivery_co | Contains underscore |
Long Codes
Domestic vs. International:
- Domestic long codes: Supported
- International long codes: Not supported directly
Provisioning: Contact your SMS provider (Twilio, Plivo, Sinch, MessageBird) to provision domestic long codes. Provisioning is immediate for Palestinian numbers.
Sender ID preservation: No, original sender IDs are not preserved
Cost Comparison:
| Sender Type | Cost per Message | Best For |
|---|---|---|
| Alphanumeric ID | Standard rate | Brand recognition, marketing |
| Long Code | Standard rate | Two-way SMS (when available), transactional |
Use Cases: Transactional messages and two-factor authentication
Short Codes
Support: Not currently supported in Palestine
Provisioning time: N/A
Use cases: N/A
Restricted SMS Content, Industries, and Use Cases in Palestine
Prohibited Content:
- Personal loans and financial services
- Gambling and betting
- Adult content or pornography
- Cryptocurrency and speculative investments
- Political messaging without proper authorization
Borderline Content (proceed with caution):
- Medical prescriptions or health advice (allowed if from licensed provider)
- Debt collection (allowed with proper licensing)
- Religious content (avoid controversial or divisive messaging)
Content Filtering
Known Carrier Rules:
- Carriers block messages with restricted keywords automatically
- URLs must be from approved domains (contact carrier for approval)
- Message content must not violate local cultural sensitivities
Common Spam Trigger Words to Avoid:
- "Free," "Winner," "Congratulations" (in unsolicited messages)
- "Click here," "Act now," "Limited time"
- Excessive use of ALL CAPS or !!!
Culturally Sensitive Content to Avoid:
- Religious criticism or controversial theology
- Political statements about the Israeli-Palestinian conflict
- Content that contradicts Islamic values
- Images of people (especially women) in marketing
Approved URL Shorteners: bit.ly, tinyurl.com (verify with your carrier)
Tips to Avoid Blocking:
- Limit punctuation (max 2 consecutive marks)
- Avoid special characters: $, %, &, #
- Keep content professional
- Test messages before bulk sending
Best Practices for Sending SMS in Palestine
Messaging Strategy
Message Templates:
- Transactional: "Your [Brand] order #12345 shipped. Track: [URL]. Questions? Reply HELP."
- Authentication: "Your verification code is 123456. Valid for 10 minutes. Do not share."
- Marketing: "[Name], get 20% off at [Brand] this weekend. Show this SMS in-store. T&Cs apply."
Optimization Tips:
- Keep messages under 160 characters when possible
- Include clear calls-to-action ("Shop now," "Verify account," "Track order")
- Use personalization: first name, purchase history, location
- Maintain consistent sender IDs across campaigns
Sending Frequency and Timing
Frequency Guidelines:
- Marketing messages: 2–4 per month maximum per recipient
- Transactional messages: As needed (order confirmations, OTP codes)
- Minimum spacing: 48 hours between marketing messages
Timing Best Practices:
- Respect prayer times and religious observances
- Avoid major holidays (Eid, Ramadan)
- Send during business hours (9 AM – 6 PM)
- Space messages to prevent recipient fatigue
Localization
Language Support:
- Support both Arabic and English content for maximum reach
- Use UCS-2 encoding for Arabic text (70 characters per segment)
- Use GSM-7 encoding for English text (160 characters per segment)
- Include language preference in opt-in process to respect user preferences
Bilingual Message Format Examples:
- English-only: "Your order #12345 shipped. Track: [URL]"
- Arabic-only: "تم شحن طلبك رقم 12345. تتبع: [URL]"
- Mixed (avoid if possible): "Your order رقم 12345 shipped"
Mixed Content Handling:
- Avoid mixing Arabic and English in one message (causes encoding issues)
- If mixing is necessary, use UCS-2 encoding for entire message
- Test thoroughly – mixed content reduces character limit to 70
Opt-Out Management
Opt-Out Management Process:
- Detect opt-out keyword (STOP, توقف, etc.)
- Update opt-out database immediately (within 1 second)
- Send confirmation message: "You have been unsubscribed."
- Block future messages to that number across all campaigns
- Sync opt-outs across all systems (CRM, marketing automation, etc.)
Technical Implementation:
- Maintain centralized opt-out database
- Process opt-outs in real-time (not batch)
- Confirm opt-out with acknowledgment message
- Conduct monthly audits of opt-out compliance
Testing and Monitoring
Testing Checklist:
- Test across both carriers (Jawwal and Ooredoo)
- Verify sender ID displays correctly
- Test opt-out keywords (STOP, توقف)
- Confirm delivery receipts
- Test concatenated messages (>160 characters)
- Verify Arabic character encoding
Key Performance Indicators:
| Metric | Target | Action if Below Target |
|---|---|---|
| Delivery rate | >95% | Check number formatting, carrier blocks |
| Response rate | 5–15% | Improve CTA, timing, personalization |
| Opt-out rate | <2% | Reduce frequency, improve targeting |
| Click-through rate | 10–25% | Optimize URL placement, shorten links |
Monitoring Requirements:
- Track delivery rates by carrier
- Monitor engagement metrics (opens, clicks, responses)
- Log error codes and failure reasons
- Test opt-out functionality weekly
SMS API Integrations for Palestine
Twilio
Twilio provides robust SMS capabilities for Palestine through their REST API. Authenticate using your Account SID and Auth Token.
import * as Twilio from 'twilio';
// Initialize Twilio client with environment variables
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
// Function to send SMS to Palestine
async function sendSMSToPalestine(
to: string,
message: string,
senderId: string
) {
try {
// Ensure proper formatting for Palestine numbers (+970)
const formattedNumber = to.startsWith('+970')
? to
: `+970${to.replace(/^0+/, '')}`;
const response = await client.messages.create({
body: message,
from: senderId, // Alphanumeric sender ID
to: formattedNumber,
});
console.log(`Message sent successfully: ${response.sid}`);
return response;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}Sinch
Sinch offers direct integration with Palestinian carriers. Authenticate using a Bearer token.
import axios from 'axios';
class SinchSMSService {
private readonly apiToken: string;
private readonly servicePlanId: string;
private readonly baseUrl: string;
constructor(apiToken: string, servicePlanId: string) {
this.apiToken = apiToken;
this.servicePlanId = servicePlanId;
this.baseUrl = 'https://sms.api.sinch.com/xms/v1';
}
async sendSMS(to: string, message: string) {
try {
const response = await axios.post(
`${this.baseUrl}/${this.servicePlanId}/batches`,
{
from: 'YourBrand',
to: [to],
body: message,
},
{
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 to Palestine.
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<any> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator, // Your sender ID
recipients: [to],
body: message,
type: 'sms', // Specify message type
}, (err, response) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}Plivo
Plivo offers comprehensive SMS capabilities for Palestine.
import * as plivo from 'plivo';
class PlivoSMSService {
private client: any;
constructor(authId: string, authToken: string) {
this.client = new plivo.Client(authId, authToken);
}
async sendSMS(
to: string,
message: string,
senderId: string
) {
try {
const response = await this.client.messages.create({
src: senderId,
dst: to,
text: message,
// Optional parameters for Palestine
url_strip_query_params: false,
log_dlt_status: true
});
return response;
} catch (error) {
console.error('Plivo SMS Error:', error);
throw error;
}
}
}API Rate Limits and Throughput
Rate Limits:
- Default: 100 messages per second
- Recommended batch size: 1,000 messages per batch
- Use batch processing for volumes over 1,000/hour
Retry Logic (exponential backoff):
Attempt 1: Immediate
Attempt 2: Wait 1 second
Attempt 3: Wait 2 seconds
Attempt 4: Wait 4 seconds
Attempt 5: Wait 8 seconds
Max attempts: 5
Throughput Management:
- Queue messages using Redis or RabbitMQ
- Use batch APIs for bulk sending
- Monitor delivery rates and adjust sending speed
- Implement circuit breakers for error handling
- Prioritize time-sensitive messages (OTP, alerts)
Error Handling and Reporting
Error Handling Best Practices:
- Log all API responses with unique message IDs
- Implement webhook endpoints for delivery receipts
- Store delivery status updates for reporting
- Set up alerts for error rate spikes
Common Error Codes:
| Code | Meaning | Action |
|---|---|---|
| 400 | Bad request | Check number format, message content |
| 21211 | Invalid phone number | Verify number format (+970...) |
| 21408 | Permission denied | Check account permissions |
| 21610 | Message blocked | Review content, check carrier rules |
| 429 | Rate limit exceeded | Implement backoff, reduce send rate |
| 500 | Server error | Retry with exponential backoff |
| 503 | Service unavailable | Retry after delay |
Frequently Asked Questions (FAQ)
What mobile operators serve Palestine and what are their market shares?
Palestine operates as a duopoly. Jawwal Palestine commands over 80% market share with 3+ million subscribers, while Ooredoo Palestine (formerly Wataniya Mobile) holds approximately 20% with 1.4+ million subscribers as of 2024. Jawwal maintains an exclusive partnership with Vox Solutions (established August 2022) for international A2P SMS delivery.
What is Palestine's country code and mobile country code (MCC)?
Palestine uses country code +970 with Mobile Country Code (MCC) 425. Use +970 when calling from Arab countries. From other countries, you may need the Israeli access code +972 due to infrastructure dependencies, though +970 remains the official Palestinian code.
Are alphanumeric sender IDs supported in Palestine?
Yes, both Jawwal and Ooredoo fully support alphanumeric sender IDs. Pre-registration is not required, and dynamic usage is supported. Sender IDs are preserved as specified. Use alphanumeric sender IDs for best delivery rates and brand recognition.
What timezone does Palestine use for SMS scheduling?
Palestine follows Eastern European Time (EET, UTC+2) during standard time and Eastern European Summer Time (EEST, UTC+3) during daylight saving. Send messages between 9:00 AM – 8:00 PM local time, avoid prayer times (particularly Friday prayers), respect religious holidays and Ramadan, and account for DST transitions in March and October.
Is two-way SMS supported in Palestine?
No, major SMS providers do not support two-way SMS in Palestine. This affects interactive messaging campaigns and automated response systems. For communications requiring responses, direct recipients to web-based forms or alternative channels.
What SMS content is prohibited in Palestine?
Prohibited content includes personal loans and financial services, gambling and betting, adult content, cryptocurrency, and political messaging without proper authorization. Carriers block messages with restricted keywords automatically. URLs must be from approved domains, and content must not violate local cultural sensitivities.
What regulatory body oversees SMS communications in Palestine?
Comply with telecommunications regulations overseen by the Ministry of Telecommunications and Digital Economy (MTDE, formerly MTIT). The Palestinian Telecommunications Law established an independent regulatory authority in January 2023, with a new CEO appointed in October 2023. Monitor updates from both MTDE and the telecommunications regulatory authority for evolving requirements.
Is number portability available in Palestine?
No, number portability is not available. Phone numbers remain tied to their original carrier (Jawwal or Ooredoo). Subscribers cannot switch carriers while keeping their existing number.
Related Resources
Regional SMS Guides:
- Israel SMS Compliance Guide
- Jordan SMS Best Practices
- Lebanon SMS Regulations
- Middle East SMS Overview
API Provider Guides:
- Twilio SMS API Integration Tutorial
- Plivo SMS Setup Guide
- Sinch Messaging API Documentation
- MessageBird SMS Integration
Technical Resources:
Recap and Additional Resources
Key Takeaways:
- Use alphanumeric sender IDs for best delivery rates
- Implement proper opt-out handling
- Respect local time zones (EET/EEST) and cultural considerations
- Maintain proper consent records
- Test with both Jawwal and Ooredoo networks
Implementation Timeline (4-6 weeks):
Week 1: Planning & Setup
- Review MTDE guidelines
- Choose SMS provider (Twilio, Plivo, Sinch, MessageBird)
- Set up developer account and API credentials
Week 2: Development
- Implement SMS sending functionality
- Build opt-in/opt-out system
- Create consent management database
Week 3: Testing
- Test across Jawwal and Ooredoo networks
- Verify Arabic and English encoding
- Test opt-out keywords and responses
Week 4: Launch Preparation
- Set up monitoring and reporting
- Configure webhooks for delivery receipts
- Prepare escalation procedures
Weeks 5-6: Soft Launch & Scale
- Send test batch (100–500 messages)
- Monitor delivery rates and errors
- Scale gradually to full volume
Additional Information:
- Palestinian Ministry of Telecommunications and Digital Economy
- Jawwal Palestine Guidelines
- Ooredoo Palestine
- GSMA SMS Best Practices
Technical Resources:
- API Documentation for all providers
- Sample implementation repositories
- SMS compliance guidelines
- Testing and monitoring tools