Complete Guide to Sending SMS to Guam: Compliance, Regulations & Best Practices (2024)
Explore Guam SMS: compliance (TCPA), features & best practices. Understand consent, STOP commands (English/Chamorro), & sending windows (UTC+10). Includes API integration (Twilio) & error codes.
Market Conditions: DOCOMO PACIFIC and GTA dominate Guam's mobile market. As a U.S. territory, Guam follows U.S. telecommunications standards and regulations under FCC oversight. Mobile penetration is high, with widespread smartphone adoption and active use of both traditional SMS and OTT messaging apps.
Businesses sending SMS to Guam must comply with U.S. federal regulations including TCPA requirements, obtain proper consent, and follow carrier-specific guidelines for message delivery.
Population & Subscribers: Guam has approximately 170,000 residents (2024 estimate, CIA World Factbook). Mobile penetration exceeds 100%, with multiple devices per capita common among residents.
Key SMS Features and Capabilities in Guam
Guam supports standard SMS features with some limitations on two-way messaging and specific requirements for sender IDs, following U.S. telecommunications standards.
Two-way SMS Support in Guam
Two-way SMS is not supported in Guam through standard channels due to carrier network configurations and routing limitations. Inbound SMS delivery to standard sender IDs (alphanumeric, toll-free) faces technical restrictions from local carrier infrastructure.
Alternative Solutions
Dedicated short codes with carrier pre-approval for bidirectional messaging
OTT messaging platforms (WhatsApp Business, Viber, Telegram)
Email-to-SMS gateways for response collection
Web-based response forms with SMS confirmation
Enterprise direct carrier connections requiring carrier agreements
Concatenated Messages (Segmented SMS)
Support: Yes, concatenated messaging works in Guam, though support may vary by sender ID type.
Message length rules: Standard SMS length limits apply – 160 characters for GSM-7 encoding, 70 characters for Unicode.
Encoding considerations: Both GSM-7 and UCS-2 encodings work. Messages automatically split and rejoin based on the encoding used.
Practical Example
A 200-character GSM-7 message splits into 2 segments:
Segment 1: 153 characters (7 chars reserved for concatenation header)
Segment 2: 47 characters
Billing: Charged as 2 separate messages
Maximum segments: Typically 10 segments (1,530 characters GSM-7 / 670 characters Unicode) before carrier truncation or rejection
MMS Support for Guam SMS
MMS messages automatically convert to SMS with an embedded URL link. This ensures compatibility across different device types while still allowing rich media content to be shared through clickable links.
Technical Details
MMS content (images, video, audio) hosted on provider CDN
Example format: View your media: https://mms.provider.com/v/a1b2c3d4
Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Guam. Phone numbers remain tied to their original carriers, which simplifies message routing and delivery.
Background: Local Number Portability (LNP) has not been implemented in Guam's telecommunications infrastructure. As of 2024, the Guam Public Utilities Commission has not announced a timeline for LNP deployment. Phone number prefix ranges remain carrier-specific.
Sending SMS to Landlines
You cannot send SMS to landline numbers in Guam. Attempts to send messages to landline numbers return a 400 response with error code 21614, with no charges incurred.
Validation Best Practice: Use HLR lookup or carrier lookup APIs to identify line type before sending. Most SMS providers offer phone number validation endpoints that return mobile vs. landline classification.
SMS Compliance and Regulatory Requirements in Guam
$500 to $1,500 statutory damages per unsolicited message
Willful/knowing violations
Up to $1,500 per message (treble damages)
Class action exposure
Unlimited aggregate damages
FCC enforcement
Fines up to $46,517 per violation (2024 adjustment per FCC guidelines)
Consent and Opt-In
Explicit Consent Requirements
Obtain written consent before sending marketing messages
Maintain clear records of how and when you obtained consent
Include clear terms of service and privacy policy references
Specify message frequency and content type in consent forms
Practical Consent Example
Code
By checking this box, I agree to receive marketing text messages from [Company Name]
at the phone number provided. I understand I may receive up to 4 messages per week.
Message and data rates may apply. Reply STOP to cancel. See Terms at [URL] and
Privacy Policy at [URL].
Consent Date: [Date]
Phone Number: [Number]
IP Address: [IP] (for web forms)
Record-Keeping: Store consent records for minimum 4 years per CTIA Best Practices. Include: timestamp, phone number, consent method, IP address (if web), specific language presented.
Transactional vs. Promotional Distinctions
Message Type
Consent Required
Examples
Transactional messages
No TCPA opt-in required – consent implied through business relationship
Order confirmations, account alerts, appointment reminders
Promotional messages
Explicit prior written consent required per TCPA
Marketing, offers, sales
Mixed messages
Subject to TCPA – must have consent
Promotional + transactional combined
HELP/STOP and Other Commands
All SMS programs must support standard commands per CTIA Guidelines:
Requirement
Specification
Required Keywords
STOP, CANCEL, END, QUIT, and HELP
Response Time
Process opt-out requests within 24 hours maximum (immediate processing recommended)
Language Support
Recognize commands in both English and Chamorro
Confirmation Messages
Send confirmation for both HELP and STOP requests
Example STOP Response:
Code
You have been unsubscribed from [Brand Name] messages. You will receive no further
messages. Reply HELP for assistance or contact [support contact].
Example HELP Response:
Code
[Brand Name]: Msg frequency varies. Msg&data rates may apply. Reply STOP to cancel.
Help: [support contact] or [support URL]. Terms: [terms URL].
Chamorro Language Note: While Guam is bilingual (English/Chamorro per 1 Guam Code Ann. § 1606), Chamorro usage in daily commerce is limited (~20% fluency among population per 2020 Census data). English-only SMS programs are standard practice. For government services or cultural campaigns, provide Chamorro translations upon request.
Regularly scrub contact lists against the DNC registry (recommended: monthly)
Maintain internal opt-out databases
Honor opt-out requests across all marketing channels
Document compliance procedures and maintain records
DNC Registry Access: Use the DNC Subscription Service for programmatic access. API and batch file downloads available. Process additions within 31 days of consumer registration per FTC rules.
Time Zone Sensitivity
Guam follows Chamorro Standard Time (ChST, UTC+10) year-round
No Daylight Saving Time: Guam does not observe DST (NIST Time Zones)
Recommended Sending Hours: 8:00 AM to 8:00 PM ChST
Exception: Urgent messages like authentication codes or emergency alerts
Major Guam Holidays
Avoid marketing campaigns on these dates:
Liberation Day (July 27) – Guam's most significant holiday
Discovery Day (First Monday in March)
All U.S. federal holidays (New Year's, Memorial Day, Independence Day, Labor Day, Thanksgiving, Christmas)
Feast days of patron saints (varies by village)
Sender ID Options for SMS in Guam: Short Codes, Long Codes & Alphanumeric IDs
Alphanumeric Sender ID
Feature
Status
Operator network capability
Not supported for dynamic usage
Registration requirements
N/A
Sender ID preservation
No – carriers overwrite with default values (e.g., "GUAM", 5-digit shortcode, or generic "INFO")
Long Codes
Domestic vs. International
Domestic long codes not supported
International long codes supported but with limitations
US long codes may be overwritten with different Sender IDs
International Long Code Limitations
Limitation
Impact
Throughput
Limited to 1 message per second per number (MPS)
Carrier filtering
Higher risk of spam filtering vs. short codes
Sender ID overwrite
Carriers may replace with generic shortcode or "GUAM" prefix
Two-way restrictions
Inbound replies not reliably delivered
Registration
No formal registration; subject to carrier throttling
Sender ID preservation: No, carriers do not preserve original Sender IDs for long codes
Provisioning time: Immediate for international long codes
Use cases: Transactional messaging, alerts, and notifications
SMS Content Restrictions and Regulated Industries in Guam
Prohibited Content
Gambling and betting services (prohibited under 18 U.S.C. § 1084)
Adult content
Illegal products or services
Cryptocurrency promotions without proper disclaimers
Misleading or fraudulent content
Carrier Policy References: DOCOMO PACIFIC and GTA follow CTIA Messaging Principles which define prohibited content categories.
Cryptocurrency Disclaimers: Include investment risk warnings, "not investment advice" language, and regulatory compliance statements per SEC guidelines.
Regulated Industries
Industry
Requirements
Financial services
Include "Msg&data rates may apply" and appropriate risk disclaimers per FINRA rules
Healthcare messages
Comply with HIPAA – avoid PHI in SMS; use secure portals for sensitive data
Insurance products
Clear terms and conditions, "Not all products available in all states" disclaimer
Age-Gating Requirements: For age-restricted content (18+), implement double opt-in with age verification. Store verification records with consent documentation.
Content Filtering
Known Carrier Rules
Use URLs from approved domains
Avoid excessive capitalization (>50% of message in capitals)
Limited use of special characters
No mention of restricted keywords
Restricted Keywords Examples
Common spam indicators (partial list):
"Free", "Winner", "Congratulations"
"Click here", "Act now" (urgency tactics)
Drug names without medical context
Financial terms ("Loan", "Debt", "Credit") without proper context
Domain Approval Process
Submit domains to carrier compliance teams for whitelisting. Requires:
Domain ownership verification
SSL certificate (HTTPS required)
Privacy policy and terms of service
Brand registration documentation
Approved URL Shorteners for Guam
Branded short domains registered through Bitly or similar
Best Practices for Successful SMS Campaigns in Guam
Messaging Strategy
Keep messages under 160 characters when possible
Include clear calls-to-action
Personalize messages using recipient data
Maintain consistent brand voice
Effective vs. Ineffective Examples
✅ Effective: "Hi John, your appointment at Guam Clinic is confirmed for Tue 3/15 at 2PM. Reply C to confirm or R to reschedule. Questions? Call 671-555-0100."
❌ Ineffective: "CONGRATULATIONS!!! You've WON a FREE appointment! CLICK HERE NOW: bit.ly/xyz123 Limited time only! Don't miss out!"
Sending Frequency and Timing
Limit to 2-4 messages per week per recipient
Respect local holidays and cultural events
Avoid sending during off-hours (before 8 AM or after 8 PM ChST)
Space out bulk campaigns to prevent network congestion (below 50 MPS sustained)
Recommended Batch Strategies
Parameter
Specification
Batch size
1,000-5,000 messages per batch
Pacing
30-60 second intervals between batches
Peak times to avoid
8-9 AM and 5-6 PM (commute hours with network congestion)
Localization
Support both English and Chamorro languages
Consider cultural sensitivities in message content
Use local date and time formats (MM/DD/YYYY, 12-hour clock with AM/PM)
Include local contact information when possible (671 area code)
Cultural Sensitivities for Guam
Respect for elders (avoid informal tone in senior-targeted campaigns)
Military community presence (avoid political messaging)
Catholic traditions (avoid promotional messages during Holy Week, Christmas season)
~20% of population speaks Chamorro fluently. English is universal. Use Chamorro for:
Government public service announcements
Cultural event promotions
Community organization outreach
Elder-targeted communications
Opt-Out Management
Process opt-outs in real-time (immediate database update)
Maintain centralized opt-out database across all systems
Send confirmation of opt-out completion
Regular audit of opt-out compliance (quarterly recommended)
Technical Implementation: Use message queue systems (Redis, RabbitMQ) with webhook listeners for STOP keywords. Update master database before next send cycle. Implement global suppression list shared across all campaigns.
Testing and Monitoring
Test across major Guam carriers (DOCOMO PACIFIC, GTA):
Monitor delivery rates by carrier
Track engagement metrics
Regular testing of opt-out functionality (monthly)
Guam-Specific Considerations: Rate limits are global account limits, not destination-specific. For Guam, effective throughput may be lower due to carrier-side throttling (~50-100 MPS sustained for long codes; short codes handle full carrier capacity).
Use an SMS API provider like Twilio, Sinch, MessageBird, or Plivo. Ensure recipient numbers are in E.164 format (+1671XXXXXXX) and comply with Guam and U.S. telecommunications regulations, including TCPA and local laws overseen by the Guam Public Utilities Commission.
Guam follows U.S. telecommunications standards, requiring adherence to TCPA regulations and obtaining explicit consent for marketing messages. Technical implementation involves using an SMS API with appropriate parameters and handling for the +1671 country code.
Standard two-way SMS is not supported in Guam. Businesses needing two-way communication should explore alternative solutions or specialized enterprise messaging options beyond typical SMS APIs.
Adhere to Guam's Chamorro Standard Time (UTC+10) and send messages between 8:00 AM and 8:00 PM local time. Consider local holidays and cultural events when scheduling campaigns, unless sending urgent messages like authentication codes.
No, sending SMS to landlines in Guam is not supported and will result in a 400 error response with code 21614. No charges will be incurred for these attempts.
While alphanumeric sender IDs are not dynamically supported, short codes (through the U.S. system) and international long codes are available for SMS sending, each with specific use cases and limitations.
Comply with TCPA and Guam-specific rules by obtaining written consent before sending marketing messages. Honor STOP, CANCEL, END, QUIT, and HELP commands within 24 hours in both English and Chamorro, and respect the U.S. National Do Not Call Registry.
Guam follows standard SMS length limits: 160 characters for GSM-7 encoding and 70 characters for Unicode. Concatenated messaging is supported for longer messages, automatically splitting and rejoining based on encoding.
Prohibited content includes gambling, adult material, illegal products/services, cryptocurrency promotions without disclaimers, and misleading information. Regulated industries like finance and healthcare have additional compliance requirements.
MMS messages are automatically converted to SMS with an embedded URL. This maintains broad compatibility while allowing recipients to access rich media content through the link.
Best practices include obtaining consent, respecting quiet hours, localizing content, managing opt-outs effectively, and monitoring delivery rates and carrier filtering changes. Thorough testing and ongoing performance monitoring are essential.
Providers have varying rate limits, such as 250/second for Twilio, 30/second for Sinch, 60/second for MessageBird, and 200/second for Plivo. Implement queuing and batching to manage high-volume sending effectively.
Process opt-out requests in real-time using keywords like STOP, maintain a centralized opt-out database, send confirmation messages, and conduct regular compliance audits to ensure adherence to regulations.
Number portability is not available in Guam. Phone numbers remain associated with their original carriers.
Twilio, Sinch, MessageBird, and Plivo all offer SMS API integration with support for Guam numbers. Each provides different features, authentication methods, and code samples for implementation.
SMS Market Overview: Guam Telecommunications Landscape
Market Conditions: DOCOMO PACIFIC and GTA dominate Guam's mobile market. As a U.S. territory, Guam follows U.S. telecommunications standards and regulations under FCC oversight. Mobile penetration is high, with widespread smartphone adoption and active use of both traditional SMS and OTT messaging apps.
Businesses sending SMS to Guam must comply with U.S. federal regulations including TCPA requirements, obtain proper consent, and follow carrier-specific guidelines for message delivery.
Population & Subscribers: Guam has approximately 170,000 residents (2024 estimate, CIA World Factbook). Mobile penetration exceeds 100%, with multiple devices per capita common among residents.
Key SMS Features and Capabilities in Guam
Guam supports standard SMS features with some limitations on two-way messaging and specific requirements for sender IDs, following U.S. telecommunications standards.
Two-way SMS Support in Guam
Two-way SMS is not supported in Guam through standard channels due to carrier network configurations and routing limitations. Inbound SMS delivery to standard sender IDs (alphanumeric, toll-free) faces technical restrictions from local carrier infrastructure.
Alternative Solutions
Concatenated Messages (Segmented SMS)
Support: Yes, concatenated messaging works in Guam, though support may vary by sender ID type.
Message length rules: Standard SMS length limits apply – 160 characters for GSM-7 encoding, 70 characters for Unicode.
Encoding considerations: Both GSM-7 and UCS-2 encodings work. Messages automatically split and rejoin based on the encoding used.
Practical Example
A 200-character GSM-7 message splits into 2 segments:
MMS Support for Guam SMS
MMS messages automatically convert to SMS with an embedded URL link. This ensures compatibility across different device types while still allowing rich media content to be shared through clickable links.
Technical Details
View your media: https://mms.provider.com/v/a1b2c3d4Recipient Phone Number Compatibility
Number Portability
Number portability is not available in Guam. Phone numbers remain tied to their original carriers, which simplifies message routing and delivery.
Background: Local Number Portability (LNP) has not been implemented in Guam's telecommunications infrastructure. As of 2024, the Guam Public Utilities Commission has not announced a timeline for LNP deployment. Phone number prefix ranges remain carrier-specific.
Sending SMS to Landlines
You cannot send SMS to landline numbers in Guam. Attempts to send messages to landline numbers return a 400 response with error code 21614, with no charges incurred.
Validation Best Practice: Use HLR lookup or carrier lookup APIs to identify line type before sending. Most SMS providers offer phone number validation endpoints that return mobile vs. landline classification.
SMS Compliance and Regulatory Requirements in Guam
As a U.S. territory, Guam follows federal telecommunications regulations, including the Telephone Consumer Protection Act (TCPA). Comply with both U.S. federal laws and local Guam telecommunications guidelines administered by the Guam Public Utilities Commission.
TCPA Penalties
(47 U.S.C. § 227):
Consent and Opt-In
Explicit Consent Requirements
Practical Consent Example
Record-Keeping: Store consent records for minimum 4 years per CTIA Best Practices. Include: timestamp, phone number, consent method, IP address (if web), specific language presented.
Transactional vs. Promotional Distinctions
HELP/STOP and Other Commands
All SMS programs must support standard commands per CTIA Guidelines:
Example STOP Response:
Example HELP Response:
Chamorro Language Note: While Guam is bilingual (English/Chamorro per 1 Guam Code Ann. § 1606), Chamorro usage in daily commerce is limited (~20% fluency among population per 2020 Census data). English-only SMS programs are standard practice. For government services or cultural campaigns, provide Chamorro translations upon request.
Do Not Call / Do Not Disturb Registries
Guam follows the U.S. National Do Not Call Registry (registry.donotcall.gov).
Best Practices:
DNC Registry Access: Use the DNC Subscription Service for programmatic access. API and batch file downloads available. Process additions within 31 days of consumer registration per FTC rules.
Time Zone Sensitivity
Major Guam Holidays
Avoid marketing campaigns on these dates:
Sender ID Options for SMS in Guam: Short Codes, Long Codes & Alphanumeric IDs
Alphanumeric Sender ID
Long Codes
Domestic vs. International
International Long Code Limitations
Sender ID preservation: No, carriers do not preserve original Sender IDs for long codes
Provisioning time: Immediate for international long codes
Use cases: Transactional messaging, alerts, and notifications
Short Codes
Support: Yes, through U.S. short code system (U.S. Short Code Administration)
Provisioning time: 8-12 weeks for standard approval; 4-6 weeks expedited
Use cases:
Short Code Types
Throughput Capacity
Application Process
Via U.S. Short Code Administration:
SMS Content Restrictions and Regulated Industries in Guam
Prohibited Content
Carrier Policy References: DOCOMO PACIFIC and GTA follow CTIA Messaging Principles which define prohibited content categories.
Cryptocurrency Disclaimers: Include investment risk warnings, "not investment advice" language, and regulatory compliance statements per SEC guidelines.
Regulated Industries
Age-Gating Requirements: For age-restricted content (18+), implement double opt-in with age verification. Store verification records with consent documentation.
Content Filtering
Known Carrier Rules
Restricted Keywords Examples
Common spam indicators (partial list):
Domain Approval Process
Submit domains to carrier compliance teams for whitelisting. Requires:
Approved URL Shorteners for Guam
Best Practices
Best Practices for Successful SMS Campaigns in Guam
Messaging Strategy
Effective vs. Ineffective Examples
✅ Effective: "Hi John, your appointment at Guam Clinic is confirmed for Tue 3/15 at 2PM. Reply C to confirm or R to reschedule. Questions? Call 671-555-0100."
❌ Ineffective: "CONGRATULATIONS!!! You've WON a FREE appointment! CLICK HERE NOW: bit.ly/xyz123 Limited time only! Don't miss out!"
Sending Frequency and Timing
Recommended Batch Strategies
Localization
Cultural Sensitivities for Guam
Chamorro Language Usage
~20% of population speaks Chamorro fluently. English is universal. Use Chamorro for:
Opt-Out Management
Technical Implementation: Use message queue systems (Redis, RabbitMQ) with webhook listeners for STOP keywords. Update master database before next send cycle. Implement global suppression list shared across all campaigns.
Testing and Monitoring
Test across major Guam carriers (DOCOMO PACIFIC, GTA):
KPIs and Benchmarks for Guam
Monitoring Tools
SMS API Providers for Guam: Twilio, Sinch, MessageBird & Plivo
Twilio
Twilio provides robust SMS capabilities for sending messages to Guam through their REST API.
Pricing (as of 2024, verify at Twilio Pricing):
Authentication
Key Parameters
from: Your Twilio phone numberto: Recipient number in E.164 format (+1671XXXXXXX)body: Message contentimport * as Twilio from 'twilio'; // Initialize client with environment variables const client = new Twilio( process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN ); async function sendSMSToGuam() { try { // Send message with error handling const message = await client.messages.create({ body: 'Your message to Guam recipient', from: process.env.TWILIO_PHONE_NUMBER, to: '+1671XXXXXXX', // Guam number statusCallback: 'https://your-server.com/delivery-receipt' // Webhook for DLR }); console.log(`Message sent successfully: ${message.sid}`); return message; } catch (error) { console.error('Error sending message:', error); throw error; } }Webhook Configuration for Delivery Receipts
// Express.js webhook endpoint app.post('/delivery-receipt', (req, res) => { const { MessageSid, MessageStatus, ErrorCode } = req.body; console.log(`Message ${MessageSid} status: ${MessageStatus}`); if (ErrorCode) { console.error(`Error ${ErrorCode}: ${req.body.ErrorMessage}`); } res.sendStatus(200); });Common Twilio Error Codes for Guam
2121121408216103000330005Sinch
Sinch offers SMS API access with support for Guam destinations.
Pricing (verify at Sinch Pricing):
Authentication
import { SinchClient } from '@sinch/sdk-core'; // Initialize Sinch client const sinchClient = new SinchClient({ projectId: process.env.SINCH_PROJECT_ID, keyId: process.env.SINCH_KEY_ID, keySecret: process.env.SINCH_KEY_SECRET }); async function sendSinchSMS() { try { const response = await sinchClient.sms.batches.send({ sendSMSRequestBody: { to: ['+1671XXXXXXX'], from: 'YourSenderID', body: 'Your message content', delivery_report: 'full' // Enable delivery reports } }); console.log('Message sent:', response); return response; } catch (error) { console.error('Sinch SMS error:', error); throw error; } }Batch Sending Example
async function sendSinchBatch() { const recipients = ['+1671XXXXXXX', '+1671YYYYYYY', '+1671ZZZZZZZ']; const response = await sinchClient.sms.batches.send({ sendSMSRequestBody: { to: recipients, from: 'YourBrand', body: 'Bulk message content', delivery_report: 'summary' } }); return response.batch_id; // Use for status tracking }MessageBird
MessageBird (formerly referenced as "Bird") provides SMS capabilities for Guam.
Pricing (verify at MessageBird Pricing):
Authentication
import { initClient } from 'messagebird'; const messagebird = initClient(process.env.MESSAGEBIRD_API_KEY); function sendMessageBirdSMS() { const params = { originator: 'YourSenderID', recipients: ['+1671XXXXXXX'], body: 'Your message content' }; messagebird.messages.create(params, (err, response) => { if (err) { console.error('MessageBird error:', err); return; } console.log('Message sent:', response); }); }Plivo
Plivo offers SMS API integration with support for Guam numbers.
Pricing (verify at Plivo Pricing):
Authentication
import * as plivo from 'plivo'; const client = new plivo.Client( process.env.PLIVO_AUTH_ID, process.env.PLIVO_AUTH_TOKEN ); async function sendPlivoSMS() { try { const response = await client.messages.create({ src: 'YourPlivoNumber', // Your Plivo number dst: '+1671XXXXXXX', // Destination number text: 'Your message content', url: 'https://your-server.com/delivery-report' // Delivery callback }); console.log('Message sent:', response); return response; } catch (error) { console.error('Plivo error:', error); throw error; } }API Rate Limits and Throughput
Standard Rate Limits (Global)
Guam-Specific Considerations: Rate limits are global account limits, not destination-specific. For Guam, effective throughput may be lower due to carrier-side throttling (~50-100 MPS sustained for long codes; short codes handle full carrier capacity).
Requesting Higher Limits
Contact provider sales/support teams. Requirements:
Throughput Management Strategies
Queue Implementation Example
import Bull from 'bull'; const smsQueue = new Bull('sms-queue', { redis: { host: 'localhost', port: 6379 } }); // Producer: Add messages to queue async function queueSMS(to: string, body: string) { await smsQueue.add({ to, body, timestamp: Date.now() }, { attempts: 3, backoff: { type: 'exponential', delay: 2000 } }); } // Consumer: Process queue with rate limiting smsQueue.process(10, async (job) => { // 10 concurrent workers const { to, body } = job.data; try { await sendSMSToGuam(to, body); return { success: true }; } catch (error) { throw error; // Retry with exponential backoff } });Exponential Backoff for Retries
async function sendWithRetry(message: any, maxRetries = 3) { for (let attempt = 0; attempt < maxRetries; attempt++) { try { return await client.messages.create(message); } catch (error) { if (attempt === maxRetries - 1) throw error; const delay = Math.pow(2, attempt) * 1000; // 1s, 2s, 4s await new Promise(resolve => setTimeout(resolve, delay)); } } }Error Handling and Reporting
Implement comprehensive monitoring:
Common Error Codes for Guam Delivery
Error Handling Code Example (Twilio)
async function sendWithErrorHandling(to: string, body: string) { try { const message = await client.messages.create({ to, from: process.env.TWILIO_PHONE_NUMBER, body }); // Log success logger.info({ messageSid: message.sid, to, status: 'sent' }); return message; } catch (error: any) { const errorCode = error.code; switch (errorCode) { case 21211: logger.error({ to, error: 'Invalid number format' }); // Mark number as invalid in database await markNumberInvalid(to); break; case 21610: logger.warn({ to, error: 'Content filtered by carrier' }); // Alert content team await alertContentTeam(body); break; case 30003: case 30005: logger.warn({ to, error: 'Unreachable number' }); // Remove from active list await removeFromActiveList(to); break; default: logger.error({ to, errorCode, error: error.message }); throw error; // Re-throw for retry logic } } }Recommended Alert Thresholds
Recap and Additional Resources
Key Takeaways
1. Compliance Priorities
2. Technical Considerations
3. Best Practices
Next Steps
1. Review Regulations
2. Technical Setup
Choose appropriate SMS provider (see API comparison table):
Implement proper error handling (use provided code examples) and set up monitoring systems (delivery rate tracking, alerts).
3. Operational Preparation
Develop content guidelines:
Content Guidelines Checklist
Additional Information