sms compliance

Sent logo
Sent TeamMay 3, 2025 / sms compliance / Article

Send SMS to Micronesia (FSM): Complete API Integration & Compliance Guide

Learn how to send SMS messages to Micronesia (FSM) with Twilio, MessageBird, Sinch, and Plivo. Includes +691 phone number formatting, compliance requirements, API code examples, and best practices for reliable delivery.

Micronesia SMS Best Practices, Compliance, and Features

Micronesia SMS Market Overview

Locale name:Micronesia
ISO code:FM
RegionOceania
Mobile country code (MCC)550
Mobile network code (MNC)01 (FSM Telecom)
Dialing Code+691
<!-- DEPTH: Market overview lacks specific delivery success rates, typical response rates, and competitive analysis with OTT apps (Priority: Medium) --> <!-- GAP: Missing specific internet penetration rates and infrastructure limitations that affect SMS vs OTT choice (Type: Substantive) -->

Market Conditions: FSM Telecom operates as the primary telecommunications provider across all four states (Yap, Chuuk, Pohnpei, and Kosrae). While OTT messaging apps gain popularity in urban areas, SMS remains your most reliable channel for reaching the broader population – especially in remote islands where internet connectivity is limited. Reach approximately 108,000 residents spread across more than 600 islands, making SMS essential for emergency notifications, government communications, and essential services.

Infrastructure Context:

  • Mobile penetration: ~70% (estimated 75,000+ active mobile subscribers)
  • Device distribution: Feature phones remain common in remote areas; smartphones dominate urban centers
  • Network coverage: Strong in state capitals; variable in outer islands

SMS Features and Capabilities in Micronesia

Micronesia supports basic SMS functionality with some limitations on advanced features. Focus on standard message delivery capabilities when building your integration.

Two-Way SMS Support

<!-- GAP: Missing workaround solutions or alternative approaches for interactive messaging (Type: Substantive) -->

You cannot receive two‑way SMS in Micronesia according to current provider guidelines. Send outbound messages only – recipients cannot reply through the same channel.

Alternative approaches for interactive messaging:

  • Direct users to a web form URL for responses
  • Provide an email address for replies
  • Use a hybrid approach: SMS for outbound, email/web for inbound
  • Consider WhatsApp or Facebook Messenger for interactive use cases in urban areas

Send Concatenated Messages (Segmented SMS)

Support: Yes, send concatenated messages in Micronesia, though support may vary by sender ID type.

Message length rules:

  • GSM‑7 encoding: 160 characters per segment (153 characters per segment when concatenated)
  • UCS‑2 encoding (Unicode): 70 characters per segment (67 characters per segment when concatenated)
  • Messages exceeding these limits split into multiple segments, each billed separately

Character count examples:

  • "Your verification code is 123456" = 32 characters (1 segment, GSM‑7)
  • "Your verification code is 123456. Valid for 10 minutes." = 57 characters (1 segment, GSM‑7)
  • "🔐 Your code: 123456" = 20 characters (1 segment, UCS‑2 due to emoji)
  • 161‑character message = 2 segments × cost

Encoding considerations: Your messages support both GSM‑7 and UCS‑2 encoding. Use GSM‑7 for English text to maximize character count. UCS‑2 automatically activates when you include non‑GSM characters (emoji, extended Unicode). Each concatenated segment incurs separate charges, so keep your transactional messages concise.

MMS Support

<!-- DEPTH: MMS section lacks details about URL hosting, expiration times, and link tracking capabilities (Priority: Medium) -->

Send MMS content, and providers will automatically convert it to SMS with an embedded URL link where recipients can view the multimedia content. This ensures you can share rich media while maintaining compatibility with local network capabilities.

MMS‑to‑SMS conversion details:

  • Providers host multimedia content and generate a secure viewing URL
  • Link expiration: Typically 30 days (varies by provider)
  • No tracking capabilities for link clicks in standard conversion
  • Implement custom URL shorteners with analytics for click tracking

Validate Recipient Phone Numbers

Phone Number Format: Format Micronesian phone numbers using E.164 international phone number format: +691 + 7‑digit local number. The local number structure varies by state but typically follows the pattern XXX‑XXXX. Always validate numbers using the full international format (+691XXXXXXX) to ensure proper routing.

<!-- GAP: Missing specific number range allocations by state and carrier-specific prefixes (Type: Substantive) -->

Number range allocation by state (typical patterns):

  • Yap State: +691 350‑XXXX
  • Chuuk State: +691 330‑XXXX series
  • Pohnpei State: +691 320‑XXXX series
  • Kosrae State: +691 370‑XXXX

Note: These are common patterns; verify current allocations with FSM Telecom.

Number Portability

Number portability is not available in Micronesia. Mobile numbers remain tied to their original carrier, which simplifies message routing but limits consumer flexibility in changing providers while keeping their number.

Send SMS to Landlines

You cannot send SMS to landline numbers in Micronesia. Attempts to message landline numbers will fail with a 400 response error (code 21614), and you will not be charged for these attempted messages.

Prefix identification:

Number TypePrefix PatternExample
Mobile+691 3XX‑XXXX+691 320‑1234
Landline+691 9XX‑XXXX+691 920‑1234

SMS Compliance and Regulatory Requirements for Micronesia

<!-- DEPTH: Regulatory section lacks specific penalties, enforcement examples, or case studies (Priority: Medium) -->

The Federated States of Micronesia Telecommunications Regulation Authority (FSMTRA), established under FSM Public Law 11‑74 (1999), oversees telecommunications services. While Micronesia has not enacted specific SMS marketing regulations comparable to GDPR or TCPA, you must comply with the FSM Telecommunications Act (Title 21 of FSM Code) and general consumer protection principles. Follow international best practices for consent, privacy, and opt‑out mechanisms to ensure ethical and compliant SMS operations.

Explicit Consent Requirements:

  • Obtain clear, documented opt‑in consent before sending any marketing or non‑essential messages
  • Maintain detailed records of when and how you obtained consent
  • Include clear terms of service that specify message frequency and content type
  • Provide transparent information about message costs and data rates

Sample compliant opt‑in flow:

  1. Present clear checkbox: "I agree to receive SMS updates from [Company]. Message frequency varies. Message and data rates may apply. Reply STOP to opt out."
  2. Require explicit action (no pre‑checked boxes)
  3. Store timestamp, IP address, and consent method
  4. Send confirmation SMS: "Welcome to [Company] SMS alerts. Reply HELP for help, STOP to opt out."

Consent language template:

By checking this box, you consent to receive SMS messages from [Company Name] at the phone number provided. Message frequency varies. Message and data rates may apply. Reply STOP to cancel, HELP for help. View our Privacy Policy at [URL] and Terms at [URL].

Implement HELP/STOP and Other Commands

  • Support standard HELP and STOP commands in all your SMS campaigns
  • Include clear opt‑out instructions in your messages
  • Honor STOP commands immediately
  • Support both English and local Micronesian languages for key commands
  • Maintain a list of standard keywords: STOP, CANCEL, END, QUIT, UNSUBSCRIBE

Sample STOP response:

You have been unsubscribed from [Company] SMS alerts. You will not receive further messages. Reply START to resubscribe or contact support@company.com.

Sample HELP response:

[Company] SMS Alerts. Message frequency varies. Message and data rates may apply. Reply STOP to cancel, START to resubscribe. Help: support@company.com or +1‑XXX‑XXX‑XXXX.

Processing logic:

  1. Check incoming keyword against STOP/HELP variations (case‑insensitive)
  2. Update subscriber status in database within 1 second
  3. Send acknowledgment response immediately
  4. Add number to suppression list
  5. Log event with timestamp and keyword used

Respect Do Not Call / Do Not Disturb Registries

While Micronesia does not maintain an official Do Not Call registry, you should:

  • Maintain your own suppression lists
  • Honor opt‑out requests immediately
  • Document all opt‑out requests and their processing dates
  • Regularly clean your contact lists to remove unsubscribed numbers
  • Implement automated systems to prevent messaging to opted‑out numbers

Respect Time Zone Sensitivity

  • Observe Micronesia's time zones: UTC+10 (Yap and Chuuk states) and UTC+11 (Pohnpei and Kosrae states)
  • Restrict your message sending to local business hours (8:00 AM – 8:00 PM local time)
  • Exception for urgent messages like security alerts or emergency notifications
  • Consider cultural and religious observances when scheduling your messages
  • Account for the International Date Line proximity when scheduling campaigns

Time zone conversion reference:

Time ZoneStatesUTC OffsetEST (New York)PST (Los Angeles)GMT (London)CET (Paris)
Chuuk/YapChuuk, YapUTC+10+15 hours+18 hours+10 hours+9 hours
Pohnpei/KosraePohnpei, KosraeUTC+11+16 hours+19 hours+11 hours+10 hours

Example: 8:00 AM in Pohnpei = 4:00 PM (previous day) in New York


Phone Number Options and SMS Sender Types for Micronesia

Alphanumeric Sender ID

Operator network capability: Not supported for dynamic usage Registration requirements: No pre‑registration system in place Sender ID preservation: N/A due to lack of support

Use Long Codes

Domestic vs. International:

  • Domestic long codes not supported
  • International long codes fully supported

Pricing: Contact your SMS provider for current rates. Typical costs:

  • Provisioning: $0–$50 one‑time fee (varies by provider)
  • Monthly rental: $1–$10/month per number

Sender ID preservation: Your original sender ID is preserved for international long codes Provisioning time: Typically 1–2 business days

Use cases:

  • Transactional messages
  • Customer support
  • Appointment reminders
  • Account notifications

Short Codes

Support: You cannot use short codes in Micronesia Provisioning time: N/A Use cases: N/A


Restricted SMS Content, Industries, and Use Cases

Restricted Content Types – Do not send:

  • Gambling and betting services
  • Adult content or explicit material
  • Unauthorized financial services
  • Illegal products or services
  • Misleading or fraudulent content

Legal framework: Violations may result in:

  • Account suspension by SMS provider
  • Investigation by FSMTRA
  • Potential fines under FSM Consumer Protection provisions (Title 21, FSM Code)
  • Civil liability for damages

Borderline content guidance:

  • Health/wellness products: Allowed if claims are substantiated; avoid cure/treatment claims without appropriate disclaimers
  • Financial services: Allowed for licensed institutions; include required disclosures
  • Political messaging: Generally allowed; follow consent and disclosure rules
  • Religious content: Allowed; respect cultural sensitivity and opt‑in requirements

Understand Content Filtering

Known Carrier Filtering Rules:

  • Carriers may block messages containing certain keywords
  • Providers filter URLs from suspicious domains
  • High‑volume sending patterns may trigger spam filters
<!-- DEPTH: Filtering section lacks specific keyword lists or URL validation requirements (Priority: High) -->

Common spam trigger keywords to avoid:

  • Excessive use of "FREE", "WINNER", "CASH", "URGENT"
  • Multiple exclamation points (!!!)
  • ALL CAPS TEXT
  • Suspicious shortened URLs from unknown domains

Best Practices to Avoid Filtering:

  • Avoid excessive punctuation and special characters
  • Use approved URL shorteners (bit.ly, tinyurl.com, or your provider's shortener)
  • Maintain consistent sending patterns
  • Keep your message content clear and professional
  • Avoid common spam trigger words

URL validation requirements:

  • Use HTTPS links only
  • Ensure your domain has valid SSL certificate
  • Avoid newly registered domains (< 30 days old)
  • Test URLs before sending bulk campaigns

Best Practices for Sending SMS in Micronesia

Build Your Messaging Strategy

  • Keep your messages under 160 characters when possible
  • Include clear calls‑to‑action
  • Personalize messages using recipient's name or relevant details
  • Maintain consistent branding across your messages

Message template examples:

Transactional (Order Confirmation):

Hi [Name], your order #[OrderID] is confirmed. Estimated delivery: [Date]. Track at [URL]. Questions? Reply to this email: support@company.com

(138 characters)

Appointment Reminder:

Reminder: Your appointment at [Business] is tomorrow at [Time]. Reply YES to confirm or call [Phone] to reschedule.

(117 characters)

Account Alert:

[Company] Security Alert: New login from [Location] at [Time]. If this wasn't you, secure your account at [URL]

(114 characters)

Optimize Sending Frequency and Timing

  • Limit your marketing messages to 2–4 per month
  • Space out your messages to avoid overwhelming recipients
  • Respect local holidays and cultural events
  • Monitor engagement rates to optimize timing

Micronesian cultural holidays and observances (avoid sending):

  • January 1: New Year's Day
  • March 31: Micronesian Culture and Traditions Day
  • May 10: FSM Independence Day
  • October 24: United Nations Day
  • November 3: FSM Independence Day
  • December 25: Christmas Day
  • Sundays: Heavy church attendance; avoid non‑urgent messages

Localize Your Messages

  • Support both English and local Micronesian languages where appropriate
    • English: Official language for government and business (widely understood)
    • Chuukese (Trukese): Spoken in Chuuk State (~48,000 speakers)
    • Pohnpeian: Spoken in Pohnpei State (~30,000 speakers)
    • Yapese: Spoken in Yap State (~5,000 speakers)
    • Kosraean: Spoken in Kosrae State (~8,000 speakers)
  • Use English for transactional SMS to ensure broad comprehension
  • Consider cultural nuances in your message content (indirect communication style preferred)
  • Use appropriate date formats: MM/DD/YYYY (American format commonly used)
  • Use 12‑hour time format with AM/PM
  • Respect local customs and traditions, particularly religious observances

Sample localized messages:

English (Transactional):

Your payment of $25.00 was received. Thank you! Reference: #12345

Chuukese (Marketing – for Chuuk State):

Kaselehlie! [Company] uu fansoun ewe meinisin kapas. Kemi ne fansoun 20% off. [URL]

(Translation: "Hello! [Company] has a special offer. You get 20% off.")

Pohnpeian (Appointment – for Pohnpei State):

Kasalehlie! Omw appointment wet rainiei ni [Time]. Reply YES pwe en kadehde.

(Translation: "Hello! Your appointment is tomorrow at [Time]. Reply YES to confirm.")

Note: Work with native speakers for accurate translations.

Manage Opt‑Outs

  • Process opt‑out requests within 24 hours
  • Maintain accurate opt‑out records
  • Provide clear opt‑out instructions in every message
  • Regular audit of opt‑out list compliance

Test and Monitor Your Messages

  • Test your messages across different carriers (primarily FSM Telecom)
  • Monitor delivery rates and engagement metrics (expect lower delivery rates than continental markets due to infrastructure)
  • Track opt‑out rates and patterns
  • Regular review of message performance analytics
  • Test message rendering on various device types (feature phones still common in remote areas)
  • Account for network latency: SMS delivery may take 30–60 seconds in remote islands vs. 5–10 seconds in urban areas
  • Implement delivery receipt monitoring to track actual message receipt vs. carrier acceptance

Expected benchmark metrics for Micronesia:

  • Delivery rate: 85–95% (urban areas), 70–85% (remote islands)
  • Delivery time: 5–10 seconds (urban), 30–60 seconds (remote)
  • Opt‑out rate: < 2% considered normal for compliant campaigns
  • Engagement rate: 10–20% for transactional, 3–8% for marketing

Troubleshooting decision tree for delivery issues:

  1. Delivery rate < 70%
    • Check E.164 format for all numbers
    • Verify numbers are mobile (not landline)
    • Review error codes for patterns
    • Test with single message to confirm provider connectivity
  2. High bounce rate (30005 errors)
    • Validate number ranges against FSM allocations
    • Remove numbers not matching +691 3XX‑XXXX pattern
    • Clean list of disconnected numbers
  3. Messages blocked (21610 errors)
    • Review content for spam triggers
    • Check sender ID reputation
    • Reduce sending velocity
    • Contact provider for specific filtering rules
  4. Timeout/unreachable (30003 errors)
    • Normal for remote areas; implement retry with 5‑minute delay
    • Schedule messages during peak network availability (8 AM – 6 PM local)
    • Consider recipient location (outer islands have intermittent coverage)

SMS API Integration for Micronesia

Provider comparison:

ProviderReliabilityPricingFeaturesBest For
TwilioExcellent$$$Full API, webhooks, analyticsEnterprise, high‑volume
SinchExcellent$$REST API, batch sendingMid‑scale operations
MessageBirdVery Good$$Multi‑channel supportOmnichannel strategy
PlivoVery Good$Cost‑effective, good docsBudget‑conscious projects

Twilio SMS API for Micronesia

Twilio provides a robust SMS API for sending messages to Micronesia. Here's how to implement it:

typescript
import { Twilio } from 'twilio';

// Initialize Twilio client with your credentials
const client = new Twilio(
  process.env.TWILIO_ACCOUNT_SID,
  process.env.TWILIO_AUTH_TOKEN
);

async function sendSMSToMicronesia(
  to: string,
  message: string
): Promise<void> {
  try {
    // Format phone number in E.164 format for Micronesia (+691)
    const formattedNumber = to.startsWith('+691') ? to : `+691${to}`;

    const response = await client.messages.create({
      body: message,
      to: formattedNumber,
      from: process.env.TWILIO_PHONE_NUMBER,
      // Optional: Set statusCallback URL for delivery updates
      statusCallback: 'https://your-webhook.com/status'
    });

    console.log(`Message sent successfully! SID: ${response.sid}`);
  } catch (error) {
    console.error('Error sending message:', error);
    throw error;
  }
}

Webhook implementation for status callbacks:

typescript
import express from 'express';
import bodyParser from 'body-parser';

const app = express();
app.use(bodyParser.urlencoded({ extended: false }));

app.post('/status', (req, res) => {
  const {
    MessageSid,
    MessageStatus,
    To,
    ErrorCode,
    ErrorMessage
  } = req.body;

  console.log(`Message ${MessageSid} to ${To}: ${MessageStatus}`);

  // Handle different statuses
  switch (MessageStatus) {
    case 'delivered':
      // Update your database: message delivered successfully
      updateMessageStatus(MessageSid, 'delivered');
      break;
    case 'failed':
      // Log failure and trigger retry logic
      logFailure(MessageSid, ErrorCode, ErrorMessage);
      scheduleRetry(MessageSid);
      break;
    case 'undelivered':
      // Mark as undeliverable, check if number is valid
      markUndeliverable(MessageSid);
      break;
  }

  res.sendStatus(200);
});

Sinch SMS API for Micronesia

Sinch offers a straightforward API for SMS delivery to Micronesia:

typescript
import axios from 'axios';

interface SinchSMSResponse {
  id: string;
  status: string;
}

async function sendSinchSMS(
  to: string,
  message: string
): Promise<SinchSMSResponse> {
  const SINCH_API_TOKEN = process.env.SINCH_API_TOKEN;
  const SINCH_SERVICE_PLAN_ID = process.env.SINCH_SERVICE_PLAN_ID;

  try {
    const response = await axios.post(
      `https://sms.api.sinch.com/xms/v1/${SINCH_SERVICE_PLAN_ID}/batches`,
      {
        from: process.env.SINCH_SENDER_ID,
        to: [to],
        body: message
      },
      {
        headers: {
          'Authorization': `Bearer ${SINCH_API_TOKEN}`,
          'Content-Type': 'application/json'
        }
      }
    );

    return response.data;
  } catch (error) {
    console.error('Sinch SMS Error:', error);
    throw error;
  }
}

MessageBird SMS API for Micronesia

MessageBird provides a reliable SMS API with good coverage in Micronesia:

typescript
import messagebird from 'messagebird';

class MessageBirdService {
  private client: any;

  constructor(apiKey: string) {
    this.client = messagebird(apiKey);
  }

  async sendSMS(
    to: string,
    message: string
  ): Promise<any> {
    return new Promise((resolve, reject) => {
      this.client.messages.create({
        originator: process.env.MESSAGEBIRD_ORIGINATOR,
        recipients: [to],
        body: message,
        // Optional: Set reportUrl for delivery reporting
        reportUrl: 'https://your-webhook.com/delivery-reports'
      }, (err: any, response: any) => {
        if (err) {
          reject(err);
        } else {
          resolve(response);
        }
      });
    });
  }
}

Plivo SMS API for Micronesia

Plivo offers comprehensive SMS capabilities for Micronesia:

typescript
import plivo from 'plivo';

class PlivoService {
  private client: any;

  constructor() {
    this.client = new plivo.Client(
      process.env.PLIVO_AUTH_ID,
      process.env.PLIVO_AUTH_TOKEN
    );
  }

  async sendSMS(
    to: string,
    message: string
  ): Promise<any> {
    try {
      const response = await this.client.messages.create({
        src: process.env.PLIVO_SENDER_ID, // Your Plivo number
        dst: to,
        text: message,
        // Optional: Set URL to receive delivery reports
        url: 'https://your-webhook.com/delivery-status'
      });

      return response;
    } catch (error) {
      console.error('Plivo SMS Error:', error);
      throw error;
    }
  }
}

Complete error handling pattern with retry strategy:

typescript
interface RetryConfig {
  maxRetries: number;
  baseDelay: number;
  maxDelay: number;
}

async function sendSMSWithRetry(
  to: string,
  message: string,
  config: RetryConfig = { maxRetries: 3, baseDelay: 1000, maxDelay: 10000 }
): Promise<void> {
  let lastError: Error;

  for (let attempt = 0; attempt <= config.maxRetries; attempt++) {
    try {
      await sendSMSToMicronesia(to, message);
      return; // Success
    } catch (error: any) {
      lastError = error;

      // Determine if retry is appropriate
      const shouldRetry = isRetryableError(error.code);

      if (!shouldRetry || attempt === config.maxRetries) {
        throw error;
      }

      // Calculate exponential backoff delay
      const delay = Math.min(
        config.baseDelay * Math.pow(2, attempt),
        config.maxDelay
      );

      console.log(`Retry attempt ${attempt + 1} after ${delay}ms`);
      await sleep(delay);
    }
  }

  throw lastError!;
}

function isRetryableError(errorCode: string): boolean {
  const retryableCodes = ['30003', '30008', '21408', '503'];
  return retryableCodes.includes(errorCode);
}

function sleep(ms: number): Promise<void> {
  return new Promise(resolve => setTimeout(resolve, ms));
}

Batch sending and queue management example:

typescript
import Bull from 'bull';
import Redis from 'ioredis';

// Initialize Redis queue
const smsQueue = new Bull('sms-queue', {
  redis: {
    host: process.env.REDIS_HOST,
    port: parseInt(process.env.REDIS_PORT || '6379')
  }
});

// Add messages to queue
async function queueSMSBatch(recipients: string[], message: string) {
  const jobs = recipients.map(recipient => ({
    to: recipient,
    message: message,
    timestamp: Date.now()
  }));

  await smsQueue.addBulk(
    jobs.map(job => ({ data: job }))
  );

  console.log(`Queued ${recipients.length} messages`);
}

// Process queue with rate limiting
smsQueue.process(10, async (job) => {
  const { to, message } = job.data;

  try {
    await sendSMSWithRetry(to, message);
    return { success: true, to };
  } catch (error) {
    console.error(`Failed to send to ${to}:`, error);
    throw error; // Will trigger Bull's retry mechanism
  }
});

// Monitor queue progress
smsQueue.on('completed', (job, result) => {
  console.log(`Message delivered to ${result.to}`);
});

smsQueue.on('failed', (job, err) => {
  console.error(`Message failed for ${job.data.to}:`, err.message);
});

Understand API Rate Limits and Throughput

Provider‑specific rate limits:

ProviderDefault Rate LimitBurst CapacityHow to Request Increase
Twilio1 msg/sec per destination10 msg/sec burstContact support; requires business verification
Sinch600 msg/min20 msg/sec burstEmail support with use case
MessageBird300 msg/min10 msg/sec burstUpgrade account tier or contact sales
Plivo200 msg/min5 msg/sec burstSubmit rate limit increase request in console

Strategies for Large‑Scale Sending:

  • Implement queuing system using Redis or similar
  • Use batch APIs where available
  • Implement exponential backoff for retries
  • Monitor throughput and adjust sending rates

Queue system implementation (see batch sending example above)

Handle Errors and Track Delivery

  • Implement comprehensive logging with Winston or similar
  • Track delivery receipts via webhooks
  • Monitor common error codes:
    • 21614: Invalid number format (landline or malformed number)
    • 21408: Rate limit exceeded
    • 21610: Message blocked by carrier
    • 30003: Unreachable destination (network unavailable)
    • 30005: Unknown destination (invalid Micronesian number)
  • Store delivery status updates for reporting
  • Implement retry logic with exponential backoff for transient errors (30003, 30008)
  • Failed messages to landlines (error 21614) are not charged

Complete error code reference and recommended actions:

Error CodeMeaningRecommended ActionRetry?
21614Invalid number (landline/malformed)Validate number format; remove landlinesNo
21408Rate limit exceededImplement rate limiting; slow sendingYes (after delay)
21610Message blocked by carrierReview content; contact providerNo
30003Unreachable (network unavailable)Normal for remote areas; retry laterYes (5‑min delay)
30005Unknown destination (invalid number)Remove from list; validate formatNo
30006Landline or unreachableSame as 21614No
30008Unknown errorLog and retryYes (exponential backoff)
63016Queue overflowReduce sending rateYes (after 1 min)

Error handling flowchart logic:

  1. Receive error code
  2. Is code in retryable list (21408, 30003, 30008, 63016)?
    • YES → Calculate backoff delay → Retry
    • NO → Log error → Remove from queue → Notify failure
  3. Has max retries exceeded?
    • YES → Mark as permanently failed → Alert operations
    • NO → Continue retry cycle

Frequently Asked Questions About Micronesia SMS

How do I send SMS to Micronesia phone numbers?

Send SMS to Micronesia by formatting phone numbers in E.164 format: +691 followed by the 7‑digit local number (+691XXXXXXX). Use international long codes with SMS API providers like Twilio, MessageBird, Sinch, or Plivo. Domestic long codes and short codes are not supported in Micronesia.

What is the country code for Micronesia SMS?

The country code for Micronesia (Federated States of Micronesia) is +691. Use this prefix before the 7‑digit local number when sending SMS. The mobile country code (MCC) is 550, and FSM Telecom uses mobile network code (MNC) 01.

Are there SMS regulations in Micronesia?

While Micronesia has not enacted specific SMS marketing regulations like GDPR or TCPA, you must comply with the FSM Telecommunications Act (Title 21 of FSM Code) enforced by FSMTRA (FSM Telecommunications Regulation Authority). Follow international best practices: obtain explicit consent, honor STOP commands immediately, and send messages only during business hours (8:00 AM – 8:00 PM local time).

Which SMS providers work in Micronesia?

Major SMS providers supporting Micronesia include Twilio, MessageBird, Sinch, and Plivo. All require international long codes as sender IDs. Alphanumeric sender IDs and short codes are not supported. Provisioning time for international long codes is typically 1–2 business days.

Can I send two‑way SMS in Micronesia?

No, two‑way SMS is not supported in Micronesia. You can send outbound SMS messages, but recipients cannot reply through the same channel. For interactive communications, consider alternative solutions like web forms or email.

What is FSM Telecom and how does it affect SMS delivery?

FSM Telecom is the primary telecommunications provider operating across all four Micronesian states (Yap, Chuuk, Pohnpei, and Kosrae), maintaining a near‑monopoly position. All SMS messages route through FSM Telecom's network. Expect delivery times of 30–60 seconds in remote islands versus 5–10 seconds in urban areas due to infrastructure limitations.

How much does it cost to send SMS to Micronesia?

SMS pricing to Micronesia varies by provider but typically ranges from $0.05–$0.15 per message. Concatenated messages (longer than 160 characters for GSM‑7 or 70 characters for Unicode) split into multiple segments, each billed separately. Failed messages to landlines (error code 21614) are not charged. For detailed Micronesia SMS pricing, compare rates across providers.

Detailed pricing by provider (approximate, verify with current rates):

  • Twilio: $0.10–$0.12 per segment
  • Sinch: $0.08–$0.10 per segment
  • MessageBird: $0.07–$0.09 per segment
  • Plivo: $0.05–$0.08 per segment

Volume tier pricing (typical structure):

  • 0–10,000 messages/month: Standard rate
  • 10,001–50,000: 5–10% discount
  • 50,001–100,000: 10–15% discount
  • 100,001+: Custom enterprise pricing

What are Micronesia's time zones for SMS scheduling?

Micronesia spans two time zones: UTC+10 (Yap and Chuuk states) and UTC+11 (Pohnpei and Kosrae states). Schedule SMS campaigns between 8:00 AM – 8:00 PM local time for each state. Account for International Date Line proximity when scheduling multi‑day campaigns.

Can I send MMS to Micronesia?

MMS is not directly supported in Micronesia. Providers automatically convert MMS content to SMS with an embedded URL link where recipients can view multimedia content. This ensures compatibility with local network capabilities while allowing rich media sharing.

What error codes should I handle for Micronesia SMS?

Common error codes for Micronesia SMS include: 21614 (invalid number format or landline), 21408 (rate limit exceeded), 21610 (message blocked by carrier), 30003 (unreachable destination/network unavailable), and 30005 (unknown destination/invalid Micronesian number). Implement retry logic with exponential backoff for transient errors (30003, 30008).

How do I validate Micronesian phone numbers?

Validate Micronesian phone numbers using E.164 format: +691 followed by exactly 7 digits (total length: 11 characters including the + symbol). Use phone validation libraries like libphonenumber to verify format. Number portability is not available, so numbers remain tied to FSM Telecom.

Phone number validation code example:

typescript
import { PhoneNumberUtil, PhoneNumberFormat } from 'google-libphonenumber';

const phoneUtil = PhoneNumberUtil.getInstance();

function validateMicronesianNumber(phoneNumber: string): boolean {
  try {
    const number = phoneUtil.parse(phoneNumber, 'FM');

    // Check if valid and is mobile
    const isValid = phoneUtil.isValidNumber(number);
    const numberType = phoneUtil.getNumberType(number);
    const isMobile = numberType === PhoneNumberType.MOBILE;

    if (!isValid || !isMobile) {
      return false;
    }

    // Format to E.164
    const e164 = phoneUtil.format(number, PhoneNumberFormat.E164);
    console.log(`Validated: ${e164}`);

    return true;
  } catch (error) {
    console.error('Invalid phone number:', error);
    return false;
  }
}

// Usage examples
validateMicronesianNumber('+6913201234'); // true
validateMicronesianNumber('6913201234');  // true (will be formatted)
validateMicronesianNumber('+6919201234'); // false (landline prefix)

What languages should I use for SMS in Micronesia?

Use English for transactional SMS to ensure broad comprehension across all states. While local languages are spoken (Chuukese ~48,000 speakers, Pohnpeian ~30,000, Yapese ~5,000, Kosraean ~8,000), English is the official language for government and business. Consider supporting HELP/STOP commands in both English and local languages for marketing campaigns.


Start Sending SMS to Micronesia

Key Takeaways:

  • Always format numbers in E.164 format (+691)
  • Implement proper error handling and logging
  • Monitor delivery rates and engagement
  • Follow local time restrictions and compliance guidelines

Quick‑start checklist:

  • Register with SMS provider (Twilio, MessageBird, Sinch, or Plivo)
  • Provision international long code (1–2 business days)
  • Implement phone number validation using libphonenumber
  • Build opt‑in consent flow with clear terms
  • Implement HELP/STOP command handlers
  • Set up webhook endpoints for delivery receipts
  • Configure error handling and retry logic
  • Create message templates for common use cases
  • Test with small batch (10–20 messages)
  • Monitor delivery rates and optimize

Implementation timeline:

  • Week 1: Provider setup, number provisioning, API integration
  • Week 2: Build consent flows, HELP/STOP handlers, webhook infrastructure
  • Week 3: Testing phase with limited audience (100–500 messages)
  • Week 4: Monitor metrics, optimize, scale to full volume

Next Steps:

  1. Review the FSMTRA telecommunications guidelines
  2. Implement proper opt‑out handling
  3. Set up delivery receipt monitoring
  4. Test thoroughly with small batches before scaling

Additional Information:

Provider‑Specific Resources:

Community Support:

Frequently Asked Questions

How to send SMS messages to Micronesia?

Use a provider like Twilio, Sinch, Messagebird, or Plivo with their respective APIs, ensuring numbers are in E.164 format (+691) and adhering to rate limits and compliance guidelines. Implement proper error handling and monitor delivery rates for optimal performance.

What is the process for sending SMS in Micronesia?

Micronesia primarily supports international long codes for sending SMS. Utilize an SMS API integration like Twilio, Sinch, Messagebird, or Plivo, format numbers correctly, and follow best practices for content and frequency, considering local regulations.

Why does Micronesia not support two-way SMS?

According to current provider guidelines, two-way SMS is not supported in Micronesia. Businesses can send messages, but cannot receive replies via SMS, potentially due to infrastructure limitations or regulatory factors.

What SMS features are supported in Micronesia?

Micronesia supports basic SMS, concatenated messages for longer texts, and a modified form of MMS where content is converted to SMS with a URL link to the media. Two-way messaging and short codes are not supported.

When should I send SMS messages in Micronesia?

Adhere to local business hours (8:00 AM - 8:00 PM, UTC+10/+11) and avoid sending during local holidays or cultural events, unless it's an urgent message. Consider lower message frequency to respect recipients.

How to format phone numbers for Micronesia SMS?

Always use the E.164 format, which begins with +691 followed by the local number. This ensures successful delivery across different carriers and avoids invalid number errors (code 21614).

What is the MCC for Micronesia SMS?

The Mobile Country Code (MCC) for Micronesia is 550. This is a crucial component when integrating SMS APIs, as it identifies the country for routing messages correctly.

Can I send MMS messages to Micronesia?

MMS is not directly supported; instead, MMS content is converted to SMS with a URL for recipients to view the multimedia. This workaround allows sharing rich media within the existing SMS infrastructure.

What are the SMS compliance guidelines for Micronesia?

While specific SMS regulations are limited, follow international best practices, ensure explicit opt-in consent, support HELP/STOP commands, and maintain your own do-not-call list, honoring opt-out requests immediately.

How to handle opt-outs for SMS in Micronesia?

Provide clear opt-out instructions in every message, support standard keywords (STOP, CANCEL, END, QUIT, UNSUBSCRIBE), honor requests within 24 hours, and maintain accurate records for compliance.

What is the maximum length for an SMS message in Micronesia?

Standard SMS length limits apply (160 characters for GSM-7 encoding). Longer messages are sent as concatenated SMS, which are supported but may vary by sender ID type.

What are the restrictions on SMS content in Micronesia?

Avoid sending prohibited content related to gambling, adult material, unauthorized financial services, illegal activities, or misleading information, which can lead to message blocking.

What SMS sender IDs are available for Micronesia?

Only international long codes are supported for sending SMS to Micronesia. Domestic long codes, short codes, and dynamic alphanumeric sender IDs are not currently available.

How to integrate an SMS API for sending messages to Micronesia?

The article provides sample code for integrating SMS APIs like Twilio, Sinch, Messagebird, and Plivo. Ensure proper authentication and number formatting for successful integration.

What are the best practices for sending bulk SMS in Micronesia?

Use a queuing system, batch APIs, and exponential backoff for retries. Monitor throughput and adjust sending rates to avoid exceeding the standard rate limit of 1 message per second per destination.