Skip to main content
Cloud Engineering·16 min read

SMS Getting Blocked in India, Silent-Dropped in Singapore — Multi-Country Architecture That Delivers

Complete technical guide to building cost-effective SMS solutions across AWS, Azure, GCP with country-specific regulations, local carrier options, and pricing for 20 major markets.

DT

DevOps Engineer & Technical Writer

Why SMS Architecture Is Harder Than You Think

International SMS Delivery Architecture Application API Request SMS Gateway Twilio / AWS SNS Route selection Compliance DLT / 10DLC / GDPR Carrier Network Local routing Mobile Device SMS delivered Country-Specific Requirements India: DLT reg US: 10DLC EU: GDPR SG: PDPA

Building an SMS feature sounds simple — call an API, send a message. In reality, every country has different regulations, carrier requirements, sender ID rules, and pricing models. Choose wrong and your messages get blocked, you get fined, or you pay 40x more than necessary.

This guide covers everything a developer needs to build a production SMS system: cloud-native options, country-specific regulations, local providers, and cost optimization strategies for 20 major markets.

Cloud Provider SMS Capabilities

AWS — Best Native SMS Coverage

AWS offers SMS through two services: Amazon SNS (Simple Notification Service) and AWS End User Messaging SMS. Key facts:

  • Covers 200+ countries
  • Only cloud provider with India local routes (via DLT registration in ap-south-1)
  • Supports transactional, promotional, and OTP messages
  • Pricing varies by destination country and route type
  • Requires sender ID or origination number registration per country

Azure — Limited Geography

Azure Communication Services provides SMS capabilities but with significant geographic restrictions:

  • Supported countries: US, Canada, UK, Australia, Germany, Netherlands, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia
  • No India, no Middle East, no Africa, no Asia-Pacific (except Australia)
  • Supports toll-free numbers, short codes, and alphanumeric sender IDs (where available)
  • If your app is on Azure and targets India or Southeast Asia, you must use a third-party provider

GCP — No Native SMS Service

Google Cloud Platform has no built-in SMS service. Firebase Cloud Messaging (FCM) handles push notifications only, not SMS. Options for GCP-hosted apps:

  • Use a third-party CPaaS (Twilio, Vonage, MessageBird)
  • Call AWS SNS cross-cloud via API
  • Use regional providers directly

Country-by-Country Breakdown

1. India

Regulator: TRAI (Telecom Regulatory Authority of India)

Key Regulation: DLT (Distributed Ledger Technology) registration is mandatory for ALL commercial SMS since February 2019. No exceptions.

What You Must Register:

  • Entity (your business) on a DLT portal (Jio, Airtel, Vodafone-Idea, BSNL, MTNL)
  • Sender ID (6 characters, e.g., DEVKIT)
  • Message templates (exact text with variables)
  • One-time fee: Rs. 5,900 (including GST)

Routing Options:

  • Local route (via DLT): Rs. 0.10-0.15 per SMS — requires Mumbai/Hyderabad AWS region
  • International route: Rs. 3.00-4.50 per SMS — 25-40x more expensive, avoid this

Recommended Providers:

  • AWS SNS via ap-south-1 (cheapest for DLT-compliant traffic)
  • Smartping, MSG91, Kaleyra, ValueFirst (local aggregators with DLT support)
  • Twilio (supports India but uses international routes unless configured for local)

Architecture Note: AWS End User Messaging SMS only supports India local routes from ap-south-1 (Mumbai) and ap-south-2 (Hyderabad) regions.

2. United States

Regulator: FCC + The Campaign Registry (TCR)

Key Regulation: 10DLC (10-Digit Long Code) registration mandatory for all A2P SMS since 2023. TCPA consent rules apply.

Registration Requirements:

  • Brand registration with TCR: $4-$44 one-time fee
  • Campaign registration: $15 one-time + monthly fee varies by use case
  • External vetting for higher throughput: $40 one-time

Pricing:

  • Twilio: $0.0083 per outbound SMS
  • AWS SNS: $0.00581 per SMS
  • Toll-free: $0.0080 per SMS (no 10DLC registration needed)
  • Short code rental: $1,000-$1,500/month

Recommended Providers:

  • Twilio, Telnyx, Bandwidth (full 10DLC support)
  • AWS SNS (supports 10DLC registration natively)
  • Azure Communication Services (US numbers readily available)

3. United Kingdom

Regulator: Ofcom + PECR (Privacy and Electronic Communications Regulations)

Key Regulation: Alphanumeric sender IDs are allowed and commonly used. No mandatory registration for sender IDs, but pre-registration improves delivery.

Pricing:

  • Twilio: $0.0420 per SMS
  • AWS SNS: $0.0350 per SMS
  • UK Tier 1 carriers (direct routes): GBP 0.03-0.05 per SMS

Recommended Providers:

  • CM.com, LINK Mobility (direct Tier 1 UK carrier connections — 97-99% delivery)
  • Twilio, Vonage (reliable but slightly higher cost)
  • TextMagic, FireText (UK-focused, competitive pricing)

4. Canada

Regulator: CRTC + CASL (Canadian Anti-Spam Legislation)

Key Regulation: 10DLC registration (same as US). CASL requires explicit opt-in consent.

Pricing:

  • Twilio: $0.0083 per SMS
  • AWS SNS: $0.00581 per SMS

Recommended Providers: Same as US — Twilio, AWS SNS, Telnyx, Bandwidth

5. Australia

Regulator: ACMA (Australian Communications and Media Authority)

Key Regulation: Alphanumeric sender IDs supported. No mandatory registration. Do Not Call Register must be respected for promotional messages.

Pricing:

  • Twilio: $0.0500 per SMS
  • AWS SNS: $0.0400 per SMS
  • Local providers: AUD 0.06-0.09 per SMS

Recommended Providers:

  • MessageMedia, SMSGlobal (Australian-based, direct carrier connections)
  • Sinch, Twilio (global providers with AU presence)
  • Azure Communication Services (AU numbers available)

6. Germany

Regulator: BNetzA (Federal Network Agency) + GDPR

Key Regulation: Sender ID pre-registration recommended for reliable delivery. GDPR consent requirements are strict.

Pricing:

  • Twilio: $0.0750 per SMS
  • AWS SNS: $0.0650 per SMS
  • Local: EUR 0.07-0.09

Recommended Providers:

  • CM.com, LINK Mobility (strong EU carrier relationships)
  • Twilio, Vonage (GDPR-compliant processing)
  • Azure Communication Services (DE numbers available)

7. UAE (United Arab Emirates)

Regulator: TDRA (Telecommunications and Digital Government Regulatory Authority)

Key Regulation: Sender ID registration mandatory. Marketing SMS must have "AD-" prefix (max 11 chars including prefix). Content pre-approval required for certain industries.

Registration Requirements:

  • Trade License, Establishment Card, Emirates ID, NOC letter
  • No registration fee for local entities
  • Marketing SMS restricted to certain hours

Pricing:

  • AWS SNS: $0.0460 per SMS (international route)
  • Local aggregators: AED 0.05-0.12 per SMS
  • Etisalat/du direct: cheaper but requires corporate agreement

Recommended Providers:

  • d7networks, Unifonic (Middle East specialists)
  • Infobip, Nexmo (global with UAE registration support)

8. Saudi Arabia

Regulator: CITC (Communications, Space & Technology Commission)

Key Regulation: Sender ID registration mandatory. Content must be pre-approved. Arabic content support required.

Registration Requirements:

  • Commercial Registration (CR) document
  • Company letterhead NOC
  • Approval can take 2-4 weeks

Pricing:

  • AWS SNS: $0.0390 per SMS
  • Local: SAR 0.06-0.15 per SMS

Recommended Providers:

  • Unifonic (Saudi HQ, fastest approval)
  • d7networks, Infobip (strong MENA presence)
  • Twilio (supports KSA but slower registration)

9. Singapore

Regulator: IMDA (Infocomm Media Development Authority)

Key Regulation: SSIR (Singapore SMS Sender ID Registry) mandatory since January 2023. All unregistered sender IDs are blocked or marked as "Likely-SCAM."

Registration Requirements:

  • One-time setup fee: SGD 545 (with GST) per organization
  • Annual fee: SGD 218 per sender ID
  • Must register through an authorized aggregator

Pricing:

  • Twilio: $0.0430 per SMS
  • AWS SNS: $0.0360 per SMS
  • Local: SGD 0.04-0.06 per SMS

Recommended Providers:

  • Nexmo/Vonage, Plivo (SSIR registration support)
  • MessageBird (direct SG carrier connections)

10. Japan

Regulator: MIC (Ministry of Internal Affairs and Communications)

Key Regulation: Dynamic alphanumeric sender IDs permitted. No mandatory pre-registration. However, generic sender IDs (INFO, SMS, NOTICE) are rejected by carriers.

Special Considerations:

  • Three major carriers: NTT Docomo, KDDI (au), SoftBank
  • Character limits vary by carrier (KDDI: 140 chars default, SoftBank: 664 chars)
  • International SMS delivery can be unreliable — use provider with direct carrier relationships

Pricing:

  • Twilio: $0.0720 per SMS
  • AWS SNS: $0.0645 per SMS (limited support)
  • Local carriers via aggregators: JPY 8-12 per SMS

Recommended Providers:

  • 8x8 CPaaS (strong Japan carrier relationships)
  • CM.com, Sinch (direct NTT Docomo connections)
  • Twilio (reliable but higher cost)

11. Brazil

Regulator: Anatel (National Telecommunications Agency)

Key Regulation: Short codes preferred for A2P SMS. Long codes have restrictions. Maximum 157 characters per message (not 160). Political, religious, and abortion-related content is strictly prohibited.

Pricing:

  • Twilio: $0.0450 per SMS
  • AWS SNS: $0.0375 per SMS
  • Zenvia (local): BRL 0.05-0.08 per SMS

Recommended Providers:

  • Zenvia (Brazilian market leader, direct carrier connections)
  • Infobip, Sinch (global with strong BR presence)
  • Twilio (supports Brazil but premium pricing)

12. Nigeria

Regulator: NCC (Nigerian Communications Commission)

Key Regulation: Sender ID registration required with NCC. DND (Do Not Disturb) list must be respected.

Pricing:

  • AWS SNS: $0.0528 per SMS (international route)
  • Africa's Talking: NGN 2.5-4 per SMS (local route)
  • Termii: NGN 2.5-3.5 per SMS

Recommended Providers:

  • Africa's Talking (pan-African, direct carrier connections)
  • Termii (Nigerian-focused, cheapest local rates)
  • SMSLive247, BulkSMSNigeria (ultra-local options)

13. South Africa

Regulator: ICASA + POPIA (Protection of Personal Information Act)

Key Regulation: No strict sender ID registration. Alphanumeric sender IDs allowed. POPIA consent required.

Pricing:

  • AWS SNS: $0.0250 per SMS
  • Clickatell: ZAR 0.30-0.50 per SMS
  • BulkSMS.co.za: ZAR 0.25-0.35 per SMS

Recommended Providers:

  • Clickatell (South African origin, pan-African coverage)
  • BulkSMS (cheapest for SA-only traffic)
  • Africa's Talking (if you also need other African countries)

14. France

Regulator: ARCEP + CNIL (GDPR enforcement)

Key Regulation: Alphanumeric sender IDs allowed. Pre-registration recommended. Strict GDPR consent requirements.

Pricing:

  • Twilio: $0.0730 per SMS
  • AWS SNS: $0.0620 per SMS
  • Local: EUR 0.06-0.09

Recommended Providers:

  • OVH (French cloud provider with SMS service)
  • CM.com, LINK Mobility (EU-focused)
  • Azure Communication Services (FR numbers available)

15. Indonesia

Regulator: Kominfo (Ministry of Communication and Informatics)

Key Regulation: Sender ID registration required through local aggregators. Content filtering is aggressive — URLs in SMS may be blocked unless pre-registered.

Pricing:

  • AWS SNS: $0.0330 per SMS (international route)
  • Local aggregators: IDR 350-500 per SMS

Recommended Providers:

  • Kata.ai (Indonesian market specialist)
  • Infobip, Wavecell (strong SEA carrier relationships)
  • Twilio (supports ID but registration can be slow)

16. Mexico

Regulator: IFT (Federal Telecommunications Institute)

Key Regulation: No strict sender ID registration. Alphanumeric sender IDs supported. Relatively permissive compared to other markets.

Pricing:

  • Twilio: $0.0340 per SMS
  • AWS SNS: $0.0280 per SMS
  • Local: MXN 0.30-0.50

Recommended Providers:

  • Auronix (Mexican market leader)
  • Twilio, Sinch (reliable in Mexico)
  • Hablame (budget local option)

17. South Korea

Regulator: KCC (Korea Communications Commission)

Key Regulation: Strict sender verification required. Business must be registered. Pre-registration of sender ID mandatory. Only domestic numbers accepted as sender IDs for some carriers.

Pricing:

  • Twilio: $0.0280 per SMS
  • AWS SNS: $0.0230 per SMS
  • Local: KRW 10-20 per SMS

Recommended Providers:

  • NHN Cloud (Korean cloud with SMS service)
  • Infobip, CM.com (carrier relationships with KT, SKT, LGU+)
  • Twilio (supports KR with registration)

18. Philippines

Regulator: NTC (National Telecommunications Commission)

Key Regulation: Sender ID registration required with NTC through aggregators. SIM registration law (2022) tightened compliance.

Pricing:

  • AWS SNS: $0.0375 per SMS
  • Local: PHP 0.50-1.00 per SMS

Recommended Providers:

  • Engagely, M360 (Philippine market specialists)
  • Globe Telecom, Smart Communications (direct carrier options via aggregators)
  • Infobip (strong PH presence)

19. Kenya

Regulator: CA (Communications Authority of Kenya)

Key Regulation: Short codes preferred for A2P messaging. Sender ID registration available through aggregators. Safaricom dominates with 60%+ market share.

Pricing:

  • AWS SNS: $0.0232 per SMS (international route)
  • Africa's Talking: KES 1.0-1.5 per SMS (local route)
  • Direct Safaricom: KES 0.80-1.20

Recommended Providers:

  • Africa's Talking (Kenyan HQ, best local rates)
  • Safaricom Bulk SMS (direct, requires corporate account)
  • Infobip (if you need Kenya + other markets)

20. Turkey

Regulator: BTK (Information and Communication Technologies Authority)

Key Regulation: Sender ID registration mandatory with BTK. Content pre-approval required. IYS (Message Management System) consent database must be checked before sending commercial SMS.

Registration Requirements:

  • Tax number and company registration
  • IYS registration mandatory
  • Approval takes 1-3 weeks

Pricing:

  • AWS SNS: $0.0145 per SMS
  • Local: TRY 0.15-0.25 per SMS

Recommended Providers:

  • Netgsm, iletimerkezi (Turkish market leaders)
  • Infobip, CM.com (support BTK registration)
  • Twilio (supports Turkey)

Architecture Patterns

Single-Country App (India Example)

App → API Gateway → Lambda → AWS SNS (ap-south-1, DLT local route)

Indian mobile numbers

Cost: Rs. 0.10-0.15/SMS. Requires DLT registration on Jio/Airtel/Vi portal.

Multi-Country App (Smart Routing)

App → Routing Lambda → ┬→ AWS SNS (India, US, UK)

├→ Africa's Talking (Nigeria, Kenya, SA)

├→ Unifonic (UAE, Saudi Arabia)

└→ Twilio (everywhere else)

Use a routing layer that picks the cheapest provider per destination. Store provider config in a database so you can switch without code changes.

Cloud-Agnostic (App on Azure/GCP, SMS via AWS)

Azure App → HTTPS POST → AWS API Gateway → Lambda → SNS SMS

Nothing stops you from calling AWS SMS APIs from any cloud. The SMS service does not need to run on the same cloud as your application.

Cost Optimization Strategies

  • Always use local routes — International routes are 10-40x more expensive
  • Register sender IDs in every country you operate — Unregistered traffic gets blocked or filtered
  • Use regional providers for specific markets — Twilio is convenient but rarely cheapest
  • Batch OTPs — Some providers offer volume discounts at 100K+ messages/month
  • Fall back to WhatsApp Business API where SMS is expensive — Free incoming + low outbound cost
  • Monitor delivery rates — If delivery drops below 95%, switch providers for that country
  • Cache templates — In DLT countries (India, Singapore), template changes require re-approval
  • Summary Table

    CountryRegistrationCost/SMS (USD)Best ProviderCloud-Native
    IndiaDLT mandatory$0.0012-0.0018AWS SNS (local)AWS only
    USA10DLC required$0.0058-0.0083Twilio/AWSAWS, Azure
    UKRecommended$0.035-0.042CM.comAWS, Azure
    Canada10DLC required$0.0058-0.0083Twilio/AWSAWS, Azure
    AustraliaNot required$0.040-0.050MessageMediaAWS, Azure
    GermanyRecommended$0.065-0.075LINK MobilityAWS, Azure
    UAEMandatory$0.046UnifonicAWS
    Saudi ArabiaMandatory$0.039UnifonicAWS
    SingaporeSSIR mandatory$0.036-0.043NexmoAWS
    JapanNot required$0.065-0.0728x8 CPaaSAWS (limited)
    BrazilShort code preferred$0.038-0.045ZenviaAWS
    NigeriaRequired$0.006-0.010Africa's TalkingAWS
    South AfricaNot required$0.025ClickatellAWS
    FranceRecommended$0.062-0.073CM.comAWS, Azure
    IndonesiaRequired$0.022-0.033Kata.aiAWS
    MexicoNot required$0.028-0.034AuronixAWS
    South KoreaMandatory$0.023-0.028NHN CloudAWS
    PhilippinesRequired$0.012-0.038EngagelyAWS
    KenyaShort code preferred$0.007-0.023Africa's TalkingAWS
    TurkeyBTK mandatory$0.015NetgsmAWS

    Key Takeaways

    • GCP has no native SMS — always needs a third-party provider
    • Azure SMS is limited to around 20 countries — primarily US, UK, and EU
    • AWS SNS has the broadest coverage but India local routes only work from Mumbai/Hyderabad regions
    • For India specifically, DLT registration is non-negotiable and the cheapest route
    • Multi-country apps should use a routing layer with multiple providers rather than one global provider
    • Total cost for a typical startup: $50-200/month for 10,000-50,000 SMS across multiple countries

    ---

    Frequently Asked Questions

    How do I send SMS to international phone numbers?

    Use E.164 format (country code + number, e.g., +14155551234) for all phone numbers. Choose a provider like Twilio, Vonage, or MessageBird that supports your target countries. Register sender IDs where required, obtain necessary compliance approvals per country, and test delivery with local numbers. Be aware that delivery rates and regulations vary significantly by country.

    What is a sender ID and do I need one?

    A sender ID is the alphanumeric name (e.g., "MyApp") displayed as the message sender instead of a phone number. Some countries require registered sender IDs, others block them entirely (US), and some allow any text. Register sender IDs in advance where required — approval can take 2-4 weeks. Use a local phone number as fallback for countries that don't support alphanumeric IDs.

    How much does international SMS cost?

    SMS pricing varies dramatically by country — from $0.005 in India to $0.08+ in the US, typically $0.01-0.10 per message. Costs depend on your provider, volume commitments, and whether you use local or international routes. Some countries charge differently for person-to-person vs application-to-person (A2P) traffic. Always get country-specific pricing from your provider.

    How do I handle SMS delivery failures in different countries?

    Implement country-specific retry logic since delivery patterns vary. Some countries have high latency (up to 72 hours for delivery reports), while others confirm within seconds. Monitor per-country delivery rates and maintain fallback providers for countries with poor primary delivery. Use provider status pages and in-country testing to identify routing issues early.