sms compliance

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

Norfolk Island SMS Guide: Regulations, API Setup & Messaging Best Practices

Send SMS to Norfolk Island with confidence. Complete guide to ACMA compliance, Norfolk Telecom requirements, API integration (Twilio, Sinch, Bird), and two-way messaging workarounds for +672 numbers.

Norfolk Island SMS Best Practices, Compliance, and Features

Norfolk Island SMS Market Overview

Locale name:Norfolk Island
ISO code:NF
RegionOceania
Mobile country code (MCC)505
Dialing Code+672

Market Conditions: Norfolk Telecom (a division of Norfolk Island Regional Council) manages telecommunications infrastructure under Australian Communications and Media Authority (ACMA) regulations following the 2016 governance transition. Prior to 2016, the Norfolk Island Broadcasting Act 2001 regulated broadcasting services. After governance changes in June 2015, ACMA's federal oversight took effect. Source: ACMA, 2023. The remote location increases infrastructure costs and international routing complexity. Mobile services remain limited – rely on traditional SMS for business communications due to reliable delivery in areas with variable internet connectivity.

SMS Features and Capabilities for Norfolk Island Numbers

Basic SMS functionality operates under Australian telecommunications standards while maintaining distinct infrastructure. Note the limitations on advanced features.

Two-way SMS Support

Status: Not supported in Norfolk Island.

You cannot use two-way SMS in Norfolk Island according to current carrier specifications. Source: Twilio Norfolk Island SMS Guidelines, 2024. Design your messaging strategies around one-way communications only.

Workarounds for two-way communication needs:

ApproachImplementationBest For
Web-based responsesInclude a short URL directing recipients to a response formSurveys, feedback collection, confirmations
Email repliesProvide an email address for responsesCustomer service, detailed inquiries
Dedicated phone lineOffer a phone number for voice responsesUrgent matters, complex issues
Mobile app integrationDirect users to download your app for interactive featuresOngoing customer engagement, loyalty programs

Concatenated Messages (Segmented SMS)

Support: Concatenated messaging is not supported in Norfolk Island. Source: Twilio Norfolk Island SMS Guidelines, 2024

Message length rules: Keep messages within standard SMS character limits – 160 characters for GSM-7 encoding, 70 characters for Unicode.

Encoding considerations: Messages use GSM-7 encoding for standard ASCII characters. Unicode (UCS-2) encoding applies to special characters, reducing message length to 70 characters.

Character counting examples:

Content TypeEncodingCharacter LimitExample
English text onlyGSM-7160 characters"Your appointment is confirmed for Tuesday at 3 PM. Reply CONFIRM to acknowledge."
Text with emojiUnicode (UCS-2)70 characters"Your order 🎁 ships today! Track here: example.com/track"
Non-Latin charactersUnicode (UCS-2)70 charactersText containing Chinese, Arabic, or other non-Latin scripts

MMS Support

MMS messages convert automatically to SMS with an embedded URL link to view the media content. Source: Twilio Norfolk Island SMS Guidelines, 2024. This conversion ensures delivery while maintaining access to multimedia content through web-based viewing.

Recipient Phone Number Compatibility

Number Portability

Status: Not available in Norfolk Island.

Number portability isn't available in Norfolk Island. Source: Twilio Norfolk Island SMS Guidelines, 2024. Mobile numbers tie to specific carriers, simplifying routing but limiting consumer flexibility.

Sending SMS to Landlines

You cannot send SMS to landline numbers. Your attempts will fail with a 400 response error (code 21614). These messages won't appear in logs and you won't be charged. Source: Twilio Norfolk Island SMS Guidelines, 2024

Norfolk Island SMS Compliance: ACMA Regulations & Requirements

Comply with Australian telecommunications regulations under ACMA oversight since 2016. The Norfolk Island Telecommunications Act 1992 (NI) provides the primary regulatory framework, with additional guidance from Australian privacy and consumer protection laws. Source: Federal Register of Legislation, 2019. This Act remains in force as "continued law" following the 2015 governance changes.

Explicit Consent Requirements:

  • Obtain written or electronic consent before sending marketing messages
  • Disclose message frequency, purpose, and costs clearly
  • Maintain detailed records of consent acquisition, including timestamp and method
  • Secure separate consent for different types of communications (marketing vs. transactional)

Consent collection checklist:

ElementRequirementExample
Clear disclosureState message frequency and purpose"Receive 2–4 promotional messages per month"
Cost transparencyInform recipients of standard rates"Message and data rates may apply"
Timestamp captureRecord when consent was givenStore ISO 8601 formatted timestamp
Method documentationNote how consent was obtained"Opt-in via website form on 2025-01-15"
Scope definitionSpecify message types covered"Marketing updates only (excludes service alerts)"

HELP/STOP and Other Commands

  • Include clear opt-out instructions in all marketing messages
  • Honor STOP, CANCEL, QUIT, and END commands immediately
  • Provide contact information and program details for HELP messages
  • Process commands in English, as it's the primary language of Norfolk Island

Do Not Call / Do Not Disturb Registries

Norfolk Island follows the Australian Do Not Call Register. Follow these best practices:

  • Screen regularly against the Australian DNC Register
  • Maintain internal opt-out lists
  • Process opt-out requests immediately (within 24 hours)
  • Keep suppression lists updated across all campaigns

Time Zone Sensitivity

Norfolk Island observes Norfolk Island Time with daylight saving time. Since the Norfolk Island Standard Time Amendment (Daylight Saving) Ordinance 2018, the island observes:

  • Standard Time: UTC+11 (Norfolk Island Standard Time)
  • Daylight Saving Time: UTC+12 (Norfolk Island Daylight Time), typically October to April

Source: TimeAndDate.com, 2024

SMS Sending Guidelines:

  • Restrict marketing messages to 9:00 AM – 8:00 PM local time
  • Send emergency or service-critical messages outside these hours only when necessary
  • Consider local holidays and events when scheduling campaigns
  • Account for DST transitions when scheduling automated messages

Norfolk Island Phone Number Options and SMS Sender IDs

Alphanumeric Sender ID

Operator network capability: Mixed support – carrier dependent Registration requirements: No pre-registration required (when supported) Sender ID preservation: Yes, when supported by carrier

Provider comparison:

ProviderAlphanumeric SupportRegistration RequiredFallback Behavior
TelnyxYesNoSender ID preserved
TwilioNoN/AUses long code instead
SinchVariesCheck with providerCarrier-dependent
BirdVariesCheck with providerCarrier-dependent

Test with your specific provider before relying on alphanumeric sender IDs for production campaigns.

Long Codes

Domestic vs. International:

  • Domestic long codes not supported
  • International long codes available for SMS sending
  • Must comply with Australian numbering standards

Sender ID preservation: Original sender ID typically preserved for international numbers Provisioning time: 1–2 business days for international numbers Use cases: Transactional messaging, alerts, and notifications

Short Codes

Support: Not currently available in Norfolk Island Provisioning time: N/A Use cases: N/A

Restricted Content and Industries for Norfolk Island SMS

Restricted Industries:

  • Gambling and betting services
  • Adult content and services
  • Cryptocurrency promotions
  • Unregistered financial services
  • Prescription medications

Regulated Industries:

  • Financial services require appropriate licensing
  • Healthcare messages must comply with privacy regulations
  • Insurance products need proper disclaimers

Compliant vs. non-compliant messaging examples:

IndustryNon-CompliantCompliant
Financial services"Get rich quick! Invest now!""Your bank statement is ready. View: example.com/statement"
Healthcare"Buy prescription meds online now!""Appointment reminder: Dr. Smith, Tuesday 2 PM"
Insurance"Cheapest insurance guaranteed!""Your policy renewal is due. Review: example.com/policy"

Content Filtering

Known Carrier Rules:

  • URLs should be from approved domains
  • No excessive capitalization
  • Avoid spam trigger words
  • Clear business identification required

Best Practices:

  • Use approved sender IDs
  • Include clear call-to-action
  • Avoid URL shorteners where possible
  • Maintain consistent sending patterns

Domain approval process:

  1. Register your domain with your SMS provider
  2. Verify domain ownership via DNS records
  3. Submit URLs for carrier approval
  4. Wait 3–5 business days for approval
  5. Monitor link performance and deliverability

Best Practices for Sending SMS to Norfolk Island (+672)

Messaging Strategy

Keep messages under 160 characters when possible:

Message TypeTemplateCharacter Count
Appointment reminder"Your appointment with Dr. Smith is on Tuesday at 2 PM. Reply Y to confirm."82 characters
Order confirmation"Order #12345 confirmed. Ships in 2 days. Track: example.com/track"69 characters
Alert notification"Account alert: Login from new device detected. Secure: example.com/auth"77 characters

Writing guidelines:

  • Include clear business identifier
  • Use direct, actionable language
  • Personalize using recipient's name when appropriate
  • Place the most important information first

Sending Frequency and Timing

  • Limit to 2–4 messages per month per recipient
  • Respect Norfolk Island public holidays
  • Avoid weekends unless specifically requested
  • Space campaigns at least 48 hours apart

Localization

  • English is the primary language
  • Use clear, simple language
  • Avoid colloquialisms
  • Consider cultural sensitivity in message content

Opt-Out Management

  • Process opt-outs within 24 hours
  • Maintain centralized opt-out database
  • Include opt-out instructions in every marketing message
  • Audit opt-out compliance regularly

Testing and Monitoring

Test messages across different devices before launching campaigns:

MetricTarget BenchmarkAction if Below Target
Delivery rate>95%Review number formatting, check carrier status
Engagement rate>10%Improve message relevance, test different CTAs
Bounce rate<2%Clean contact list, verify number validity
Opt-out rate<1%Review message frequency, improve content quality

Monitoring checklist:

  • Review delivery rates daily
  • Track engagement metrics weekly
  • Analyze bounce rates and failed deliveries monthly
  • Maintain quality score with carriers quarterly

Troubleshooting common issues:

  1. Low delivery rates: Verify number formatting (E.164 standard), check sender ID approval
  2. High bounce rates: Clean contact database, remove invalid numbers
  3. Poor engagement: A/B test message content, adjust sending times
  4. Carrier filtering: Review content for spam triggers, register domains

Norfolk Island SMS API Integration: Twilio, Sinch & Bird Setup

Twilio

Use Twilio's SMS capabilities for Norfolk Island through their Asia-Pacific edge locations. Integration requires an Account SID and Auth Token for authentication.

Setup steps:

  1. Create a Twilio account at twilio.com/try-twilio
  2. Navigate to Console Dashboard
  3. Copy your Account SID and Auth Token
  4. Purchase a phone number with SMS capabilities
  5. Configure webhook URLs for delivery status updates
typescript
import { Twilio } from 'twilio';

// Initialize Twilio client
const client = new Twilio(
  process.env.TWILIO_ACCOUNT_SID,    // Your Account SID
  process.env.TWILIO_AUTH_TOKEN      // Your Auth Token
);

// Function to send SMS to Norfolk Island
async function sendSMSToNorfolkIsland(
  to: string,
  message: string
): Promise<void> {
  try {
    // Format number to E.164 format for Norfolk Island
    const formattedNumber = `+672${to.replace(/\D/g, '')}`;

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

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

Sinch

Connect to Sinch SMS services through their Australian infrastructure for reliable delivery to Norfolk Island.

typescript
import axios from 'axios';

class SinchSMSService {
  private readonly apiToken: string;
  private readonly serviceId: string;
  private readonly baseUrl = 'https://au.sms.api.sinch.com/xms/v1';

  constructor(apiToken: string, serviceId: string) {
    this.apiToken = apiToken;
    this.serviceId = serviceId;
  }

  async sendSMS(to: string, message: string): Promise<void> {
    try {
      const response = await axios.post(
        `${this.baseUrl}/${this.serviceId}/batches`,
        {
          from: 'YourCompany',
          to: [`+672${to.replace(/\D/g, '')}`],
          body: message
        },
        {
          headers: {
            'Authorization': `Bearer ${this.apiToken}`,
            'Content-Type': 'application/json'
          }
        }
      );

      console.log('Message sent:', response.data.id);
    } catch (error) {
      console.error('Sinch SMS error:', error);
      throw error;
    }
  }
}

Bird (formerly MessageBird)

Bird (rebranded from MessageBird in February 2024) provides SMS connectivity through their global network, supporting Norfolk Island destinations. Source: TechCrunch, 2024

Note: The legacy MessageBird SMS API continues to be supported but is no longer accepting new customers. Use the Bird CRM API for new integrations.

Legacy MessageBird API (existing customers only):

typescript
import messagebird from 'messagebird';

class MessageBirdService {
  private client: any;

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

  sendSMS(to: string, message: string): Promise<void> {
    return new Promise((resolve, reject) => {
      this.client.messages.create({
        originator: 'YourBrand',
        recipients: [`+672${to.replace(/\D/g, '')}`],
        body: message,
        // Set datacoding to 'unicode' if sending special characters
        datacoding: 'plain'
      }, (err: any, response: any) => {
        if (err) {
          console.error('MessageBird error:', err);
          reject(err);
        } else {
          console.log('Message sent:', response.id);
          resolve();
        }
      });
    });
  }
}

New Bird CRM API (recommended for new integrations):

typescript
import axios from 'axios';

class BirdSMSService {
  private readonly accessKey: string;
  private readonly workspaceId: string;
  private readonly channelId: string;
  private readonly baseUrl = 'https://api.bird.com';

  constructor(accessKey: string, workspaceId: string, channelId: string) {
    this.accessKey = accessKey;
    this.workspaceId = workspaceId;
    this.channelId = channelId;
  }

  async sendSMS(to: string, message: string): Promise<void> {
    try {
      const response = await axios.post(
        `${this.baseUrl}/workspaces/${this.workspaceId}/channels/${this.channelId}/messages`,
        {
          receiver: {
            contacts: [{
              identifierValue: `+672${to.replace(/\D/g, '')}`
            }]
          },
          body: {
            type: 'text',
            text: { text: message }
          }
        },
        {
          headers: {
            'Authorization': `AccessKey ${this.accessKey}`,
            'Content-Type': 'application/json'
          }
        }
      );

      console.log('Message sent via Bird:', response.data);
    } catch (error) {
      console.error('Bird SMS error:', error);
      throw error;
    }
  }
}

API Rate Limits and Throughput

  • Default rate limit: 100 messages per second
  • Use batch processing for volumes over 1,000/hour
  • Implement exponential backoff for retry logic
  • Queue messages during peak times

Throughput Management Strategies:

  • Implement message queuing using Redis or RabbitMQ
  • Use batch APIs for bulk sending
  • Monitor delivery rates and adjust sending speed
  • Implement circuit breakers for error handling

Error Handling and Reporting

Common Error Scenarios:

Error TypeCauseResolution
Invalid phone number formatMissing country code or incorrect digitsValidate with E.164 format before sending
Network timeoutsAPI server unavailable or slow responseImplement retry with exponential backoff
Rate limit exceededSending too fastReduce send rate or implement queuing
Invalid sender IDSender ID not registered or unsupportedVerify sender ID with provider
Insufficient balanceAccount out of creditsAdd funds to account

Retry logic implementation:

typescript
async function sendWithRetry(
  sendFunction: () => Promise<void>,
  maxRetries: number = 3,
  delayMs: number = 1000
): Promise<void> {
  for (let i = 0; i < maxRetries; i++) {
    try {
      await sendFunction();
      return;
    } catch (error) {
      if (i === maxRetries - 1) throw error;
      await new Promise(resolve => setTimeout(resolve, delayMs * Math.pow(2, i)));
    }
  }
}

Logging Best Practices:

typescript
interface SMSLogEntry {
  messageId: string;
  timestamp: Date;
  recipient: string;
  status: string;
  errorCode?: string;
  retryCount: number;
}

function logSMSEvent(entry: SMSLogEntry): void {
  // Implement your logging logic here
  console.log(JSON.stringify(entry));
}

Circuit breaker pattern:

typescript
class CircuitBreaker {
  private failureCount: number = 0;
  private readonly threshold: number = 5;
  private readonly timeout: number = 60000; // 1 minute
  private state: 'CLOSED' | 'OPEN' | 'HALF_OPEN' = 'CLOSED';
  private nextAttempt: number = Date.now();

  async execute<T>(fn: () => Promise<T>): Promise<T> {
    if (this.state === 'OPEN') {
      if (Date.now() < this.nextAttempt) {
        throw new Error('Circuit breaker is OPEN');
      }
      this.state = 'HALF_OPEN';
    }

    try {
      const result = await fn();
      this.onSuccess();
      return result;
    } catch (error) {
      this.onFailure();
      throw error;
    }
  }

  private onSuccess(): void {
    this.failureCount = 0;
    this.state = 'CLOSED';
  }

  private onFailure(): void {
    this.failureCount++;
    if (this.failureCount >= this.threshold) {
      this.state = 'OPEN';
      this.nextAttempt = Date.now() + this.timeout;
    }
  }
}

Recap and Additional Resources

Key Takeaways

  1. Compliance Requirements

    • Obtain explicit consent before sending
    • Honor opt-out requests within 24 hours
    • Respect local time zones (UTC+11 standard, UTC+12 DST)
  2. Technical Considerations

    • Format numbers using E.164 standard (+672)
    • Implement proper error handling
    • Monitor delivery rates continuously
  3. Best Practices

    • Keep messages concise (160 characters max)
    • Test thoroughly before bulk sending
    • Maintain clean opt-out lists

Next Steps

  1. Review the Norfolk Island Telecommunications Act 1992
  2. Consult with ACMA for regulatory compliance
  3. Set up test accounts with your preferred SMS API providers
  4. Implement proper error handling and monitoring
  5. Review Australian telecommunications compliance requirements

Additional Resources

Frequently Asked Questions

How to send SMS messages to Norfolk Island?

Use international long codes and format numbers in E.164 format (+672 followed by the local number). Ensure compliance with Australian telecommunications standards and Norfolk Island-specific regulations. Several SMS API providers, such as Twilio, Sinch, and MessageBird, offer integration options for sending messages to Norfolk Island.

What is the character limit for SMS in Norfolk Island?

Standard SMS limits apply: 160 characters for GSM-7 encoding and 70 characters for Unicode (UCS-2). Concatenated messages are not supported, so keep messages within these limits. Unicode is necessary for special characters and reduces the character count.

Why does MMS convert to SMS in Norfolk Island?

Due to limitations in the mobile network infrastructure, MMS messages are automatically converted to SMS with a URL link to the media content. This ensures deliverability while still providing access to multimedia.

When should I send marketing SMS in Norfolk Island?

Restrict marketing messages to between 9:00 AM and 8:00 PM Norfolk Island Time (UTC+11:00). Consider local holidays and events when scheduling campaigns. Emergency or service-critical messages may be sent outside these hours.

Can I use alphanumeric sender IDs in Norfolk Island?

No, alphanumeric sender IDs are not currently supported in Norfolk Island. Use international long codes instead, and be aware that the original sender ID is typically preserved for international numbers.

What SMS compliance rules apply in Norfolk Island?

Norfolk Island follows Australian regulations under ACMA. Obtain explicit consent before sending marketing messages, honor STOP/HELP commands, and adhere to the Australian Do Not Call Register. Maintain records of consent and opt-out requests.

What is the MCC for Norfolk Island?

The Mobile Country Code (MCC) for Norfolk Island is 505. This is used for routing international SMS messages and is an essential part of the E.164 number format.

How to handle SMS opt-outs in Norfolk Island?

Process opt-out requests within 24 hours. Include clear opt-out instructions (STOP, CANCEL, QUIT, END) in every marketing message. Maintain a centralized opt-out database and regularly audit for compliance. All commands should be processed in English.

What are the restricted SMS content categories in Norfolk Island?

Gambling, adult content, cryptocurrency promotions, unregistered financial services, and prescription medications are restricted. Financial services, healthcare, and insurance industries are regulated and require specific compliance measures for SMS marketing.

How to manage SMS API rate limits for Norfolk Island?

The default rate limit is 100 messages per second. For high volumes, use batch processing and implement exponential backoff for retry logic. Queue messages during peak times to avoid exceeding limits. Consider using message queuing services like Redis or RabbitMQ.

What are the best practices for SMS marketing in Norfolk Island?

Keep messages concise (under 160 characters), use clear language, and include a business identifier. Limit sending frequency to 2-4 messages per month per recipient, and personalize messages when appropriate. Respect local holidays and time zones.

What is the process for sending SMS to landlines in Norfolk Island?

SMS to landline numbers is not supported in Norfolk Island. Attempts to send to landlines will result in failed delivery with a 400 response error (code 21614), without appearing in message logs or incurring charges.

How does number portability work in Norfolk Island?

Number portability is not available in Norfolk Island. Mobile numbers remain tied to the original carrier, simplifying routing but restricting customer choice.

Which SMS API providers offer services for Norfolk Island?

Twilio, Sinch, and MessageBird are among the SMS API providers supporting Norfolk Island. They offer integration options and documentation for sending SMS messages to the island. Use their provided code examples for implementation and reference their documentation for detailed specifications.

Where can I find additional resources on Norfolk Island telecommunications regulations?

Refer to the Norfolk Island Regional Council, ACMA Messaging Guidelines, Australian Privacy Principles, and Norfolk Telecom Service Standards for further information. These resources provide details on regulations, compliance requirements, and best practices.