sms compliance

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

Send SMS to Montenegro: Complete API Guide & Compliance (2025)

Send SMS to Montenegro with complete compliance guidance. Learn LPPI regulations, carrier requirements for T-Mobile, One Montenegro & M:tel, plus working API code examples.

Montenegro SMS Best Practices, Compliance, and Features

Montenegro SMS Market Overview

Locale name:Montenegro
ISO code:ME
RegionEurope
Mobile country code (MCC)297
Dialing Code+382

Market Conditions: Operate in a mature mobile telecommunications market with penetration rates exceeding 225% – 1.41 million connections serving 626,000 residents as of 2024, reflecting heavy tourist SIM uptake. Montenegro operates as a tri-opoly with three nationwide operators: Crnogorski Telekom (T-Mobile Montenegro), One Montenegro (formerly Telenor, rebranded under 4iG ownership in 2025), and M:tel Montenegro. Source: Analysys Mason, 2025. Market share remains relatively balanced: M:tel (34.61%), Crnogorski Telekom (34.27%), and One Montenegro (31.12%) as of 2021. While OTT messaging apps like WhatsApp and Viber dominate personal communications, SMS remains the critical channel for business communications and authentication services.


Key SMS Features and Capabilities in Montenegro

Work with basic SMS functionality that has specific limitations on advanced features. Understand these capabilities and restrictions before implementing SMS services.

Two-way SMS Support

Status: Not supported in Montenegro.

Two-way SMS is not supported in Montenegro. Source: Twilio Montenegro SMS Guidelines, 2024. Design SMS strategies around one-way communications and implement alternative channels – web forms, email, or app notifications – for receiving customer responses.

Alternative Solutions:

  • Use web forms with unique tracking codes sent via SMS
  • Implement app-based notifications with in-app responses
  • Set up dedicated email addresses referenced in SMS messages
  • Create QR codes linking to response forms

Concatenated Messages (Segmented SMS)

Support: Yes. Send concatenated messages in Montenegro. Source: Twilio Montenegro SMS Guidelines, 2024

Message length rules:

  • GSM-7 encoding: 160 characters per segment
  • Unicode (UCS-2): 70 characters per segment
  • Messages exceeding these limits split automatically into multiple segments

Encoding considerations: Use either GSM-7 or UCS-2 encoding. Recipient devices reassemble concatenated messages automatically, allowing longer content delivery while maintaining standard SMS infrastructure.

Character count examples:

  • "Your verification code is 123456" = 34 characters (1 segment, GSM-7)
  • "Ваш код верификације је 123456" = 33 characters (1 segment, UCS-2)
  • 200-character message = 2 segments (GSM-7), 3 segments (UCS-2)

MMS Support

MMS messages convert automatically to SMS with an embedded URL link. This conversion ensures recipients can still access rich media content, though not in native MMS format. Use short URLs and include clear instructions for accessing content to optimize delivery.

Best practices for MMS-to-SMS conversion:

  • Keep fallback text under 160 characters
  • Use HTTPS URLs only
  • Include branded domain names for trust
  • Add clear call-to-action (e.g., "View image: [URL]")

Recipient Phone Number Compatibility

Number Portability

Status: Available in Montenegro.

Montenegro fully implements mobile number portability (MNP) through EKIP (Agency for Electronic Communications and Postal Services). Recipients can switch operators while keeping their existing numbers. Over 95,000 numbers have been ported in Montenegro as of late 2023, with approximately 10,000 ports occurring in 2022 alone. [Source: MNP Statistics, 2023]

Porting process: Expect 3 business days maximum. EKIP maintains an automated system to verify porting eligibility and provides consumer protection guidelines.

Implementation note: MNP covers mobile numbers fully, but fixed-line number portability remains limited – consult your service provider for availability.

Sending SMS to Landlines

SMS cannot be sent to landline numbers in Montenegro. Attempts fail with a 400 response (error code 21614). These messages do not appear in logs and do not incur charges.

SMS Compliance and Regulatory Requirements in Montenegro

Comply with Montenegro's Personal Data Protection Law (PDPL, also known as LPPI – Law 79/2008, 70/2009, 44/2012, and 22/2017), last amended on July 31, 2024. While modeled after the EU Data Protection Directive (95/46/EC) rather than GDPR, this law incorporates similar principles for data protection and privacy. The Agency for Personal Data Protection (AZLP) serves as the primary regulatory authority. Source: DLA Piper Data Protection Laws, 2024

GDPR Alignment Status (2024): Montenegro's current PDPL is not yet fully compliant with GDPR. A new data protection law is under development to harmonize with EU GDPR requirements, though the adoption timeline remains uncertain. July 2024 amendments moved toward further alignment. Source: Chambers and Partners, 2024

Telecommunications Oversight: EKIP (Agency for Electronic Communications and Postal Services) regulates telecommunications services, including SMS, spectrum allocation, and quality standards. Source: EKIP, 2024

Explicit Consent Requirements:

  • Obtain written or electronic consent before sending marketing messages
  • Maintain consent records and keep them easily accessible
  • State your communication purpose clearly during opt-in
  • Use clear and unambiguous consent language

Best Practices for Documentation:

  • Store timestamp and source of each consent
  • Maintain detailed records of opt-in methods
  • Audit consent databases regularly
  • Enable double opt-in for additional security

HELP/STOP and Other Commands

  • Support STOP, CANCEL, END, and UNSUBSCRIBE commands
  • Provide service information for HELP or INFO commands
  • Recognize commands in both Latin and Cyrillic scripts
  • Support both Montenegrin and English language responses

Do Not Call / Do Not Disturb Registries

Montenegro does not maintain an official Do Not Call registry. Follow these practices instead:

  • Maintain internal suppression lists
  • Honor opt-out requests within 24 hours
  • Document all opt-out requests
  • Clean contact databases regularly

Time Zone Sensitivity

Montenegro observes Central European Time (CET/CEST). While no strict legal restrictions govern SMS timing, follow these guidelines:

  • Recommended sending window: 8:00 AM – 8:00 PM local time
  • Avoid sending during: Public holidays, weekends (unless urgent)
  • Emergency messages: Send 24/7 if truly urgent

Montenegro Phone Numbers and SMS Sender ID Options

Alphanumeric Sender ID

Operator network capability: Supported Registration requirements: No pre-registration required Sender ID preservation: Yes, operators preserve sender IDs as sent Dynamic usage: Supported with no pre-registration needed Character limits: 3–11 characters (alphanumeric only, no spaces) Format requirements: Letters only, no numbers or special characters

Good sender ID examples: "YourBrand", "MyCompany", "BankAlert" Bad sender ID examples: "Your Brand" (space), "Brand123" (numbers), "Company!" (special character)

Long Codes

Domestic vs. International:

  • Domestic: Fully supported
  • International: Limited support

Sender ID preservation: Yes, operators preserve original sender IDs Provisioning time: 1–2 business days for domestic numbers Use cases:

  • Two-factor authentication
  • Transactional messages
  • Customer support

Short Codes

Support: Not currently supported in Montenegro Provisioning time: N/A Use cases: N/A

Alternative solutions: Use alphanumeric sender IDs or long codes for similar functionality. Short codes may become available as Montenegro's telecom infrastructure continues to develop.


Restricted SMS Content, Industries, and Use Cases

Restricted Industries:

  • Gambling and betting services
  • Adult content
  • Cryptocurrency promotions
  • Unauthorized financial services

Regulated Industries:

  • Banking (requires regulatory approval)
  • Healthcare (patient privacy requirements)
  • Insurance (compliance with financial regulations)

Content Filtering

Known Carrier Filters:

  • URLs from suspicious domains
  • Excessive punctuation
  • All-capital messages
  • Multiple consecutive spaces

Best Practices:

  • Avoid URL shorteners from untrusted domains
  • Use clear, professional language
  • Limit special characters to standard punctuation
  • Include clear sender identification in every message

Specific guidelines:

  • Excessive punctuation: More than 3 consecutive punctuation marks (e.g., "!!!" or "???")
  • Suspicious domains: Unregistered or recently created domains, free URL shorteners
  • All-capital messages: Entire message in uppercase (use sentence case instead)

Best Practices for Sending SMS in Montenegro

Messaging Strategy

  • Keep messages under 160 characters
  • Include clear calls-to-action
  • Use personalization tokens wisely
  • Maintain consistent brand voice

Sending Frequency and Timing

  • Send maximum 2–3 marketing messages per week per recipient
  • Respect local holidays and cultural events (Statehood Day, Independence Day)
  • Implement frequency capping in your sending system
  • Monitor engagement metrics (open rates, click-through rates, opt-outs)

Localization

  • Primary language: Montenegrin
  • Consider bilingual messages (Montenegrin/English) for international audiences
  • Support both Latin and Cyrillic scripts (both are official)
  • Respect local cultural nuances

Translation guidelines:

  • Use professional translation services, not automated tools
  • Test messages with native speakers
  • Avoid idioms that don't translate well
  • Keep technical terms consistent across languages

Opt-Out Management

  • Process opt-outs within 24 hours
  • Maintain centralized opt-out database
  • Confirm opt-out with final message
  • Clean your database regularly

Testing and Monitoring

  • Test across all major carriers (T-Mobile, One Montenegro, M:tel)
  • Monitor delivery rates (target: 95%+ delivery success)
  • Track engagement metrics (click-through rate, conversion rate, opt-out rate)
  • Run regular A/B tests of content (subject lines, timing, formatting)

Key performance indicators:

  • Delivery rate: Percentage of messages successfully delivered
  • Bounce rate: Failed deliveries (target: <5%)
  • Response rate: User engagement with call-to-action
  • Opt-out rate: Unsubscribes per campaign (target: <2%)

How to Send SMS to Montenegro Using APIs

Send SMS via Twilio API

Send messages to Montenegro using Twilio's SMS API through their global network.

Authentication & Setup:

  • Obtain your Account SID and Auth Token
  • Select region 'eu1' for Montenegro
  • Format numbers using E.164 standard
typescript
import * as 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
);

// Send SMS to Montenegro
async function sendSMSToMontenegro() {
  try {
    const message = await client.messages.create({
      body: 'Your message in Latin/Cyrillic script',
      from: 'YOUR_TWILIO_NUMBER',    // Your Twilio phone number
      to: '+38269123456'            // Montenegro number in E.164 format
    });

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

Send SMS via Sinch API

Connect directly to Montenegro operators using Sinch to achieve high delivery rates.

Authentication & Setup:

  • Configure your Service Plan ID and API Token
  • Use the EU region endpoint
  • Enable alphanumeric sender IDs
typescript
import { Sms } from '@sinch/sdk-core';

// Initialize Sinch client
const smsClient = new Sms({
  servicePlanId: 'YOUR_SERVICE_PLAN_ID',
  apiToken: 'YOUR_API_TOKEN'
});

// Send SMS using Sinch
async function sendSinchSMS() {
  try {
    const response = await smsClient.batches.send({
      from: 'YourBrand',           // Alphanumeric sender ID
      to: ['+38269123456'],        // Montenegro number
      body: 'Your message here',
      delivery_report: 'summary'   // Get delivery status
    });

    console.log(`Batch ID: ${response.id}`);
    return response;
  } catch (error) {
    console.error('Sinch SMS Error:', error);
    throw error;
  }
}

Send SMS via Bird API

Integrate Bird's API for Montenegro messaging.

Authentication & Setup:

  • Generate your Access Key
  • Configure Workspace and Channel ID
  • Enable message scheduling if needed
typescript
import axios from 'axios';

// Bird API configuration
const BIRD_API_CONFIG = {
  workspaceId: 'YOUR_WORKSPACE_ID',
  channelId: 'YOUR_CHANNEL_ID',
  accessKey: 'YOUR_ACCESS_KEY'
};

// Send SMS using Bird
async function sendBirdSMS() {
  try {
    const response = await axios.post(
      `https://api.bird.com/workspaces/${BIRD_API_CONFIG.workspaceId}/messages`,
      {
        receiver: {
          contacts: [{ identifierValue: '+38269123456' }]
        },
        body: {
          type: 'text',
          text: { text: 'Your message content' }
        }
      },
      {
        headers: {
          'Authorization': `AccessKey ${BIRD_API_CONFIG.accessKey}`,
          'Content-Type': 'application/json'
        }
      }
    );

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

API Rate Limits and Throughput

Rate Limits:

  • Twilio: 100 messages per second
  • Sinch: 30 messages per second
  • Bird: 50 messages per second

Throughput Management:

typescript
// Example rate limiting implementation
class RateLimiter {
  private queue: Array<() => Promise<any>> = [];
  private processing = false;
  private rateLimit: number;
  private interval: number;

  constructor(rateLimit: number, interval: number) {
    this.rateLimit = rateLimit;
    this.interval = interval;
  }

  async process() {
    if (this.processing) return;
    this.processing = true;

    while (this.queue.length > 0) {
      const batch = this.queue.splice(0, this.rateLimit);
      await Promise.all(batch.map(task => task()));
      await new Promise(resolve => setTimeout(resolve, this.interval));
    }

    this.processing = false;
  }

  add(task: () => Promise<any>) {
    this.queue.push(task);
    this.process();
  }
}

Error Handling and Reporting

typescript
// Error handling utility
interface SMSError {
  code: string;
  message: string;
  timestamp: Date;
  provider: string;
}

class SMSErrorHandler {
  static async handleError(error: any, provider: string): Promise<SMSError> {
    const errorLog: SMSError = {
      code: error.code || 'UNKNOWN',
      message: error.message,
      timestamp: new Date(),
      provider
    };

    // Log error to monitoring system
    await this.logError(errorLog);
    return errorLog;
  }

  private static async logError(error: SMSError): Promise<void> {
    // Implement your logging logic here
    console.error('SMS Error:', error);
  }
}

Summary: Sending SMS to Montenegro

Key Takeaways

  1. Compliance Priorities

    • Obtain explicit consent before sending
    • Honor opt-out requests within 24 hours
    • Maintain proper documentation
  2. Technical Best Practices

    • Format numbers using E.164 standard
    • Implement rate limiting
    • Monitor delivery rates continuously
  3. Localization Requirements

    • Support both Latin and Cyrillic scripts
    • Respect CET/CEST time zones
    • Consider bilingual messaging

Next Steps

  1. Review EKIP regulations before launching
  2. Implement proper error handling and monitoring
  3. Test thoroughly across all major Montenegro carriers

Additional Resources

Frequently Asked Questions

How to send SMS messages to Montenegro?

Use an SMS API like Twilio, Sinch, or Bird, ensuring the recipient's number is in E.164 format (+382...). Due to two-way SMS limitations, design communications for one-way delivery and use alternative channels for responses. Remember to comply with local regulations, like the Law on Protection of Personal Data (LPPI).

What are the SMS character limits in Montenegro?

Standard SMS length limits apply: 160 characters for GSM-7 encoding and 70 characters for Unicode. Concatenated messages are not supported, so ensure your message content fits within a single SMS.

What SMS compliance rules apply in Montenegro?

Montenegro's data privacy is governed by the LPPI. You must obtain explicit consent for marketing messages, honor opt-out requests (STOP, CANCEL, etc.) within 24 hours, and maintain detailed records of consent and opt-outs. Adhere to best practices regarding data privacy even though there isn't a formal Do Not Call list.

Why does Montenegro convert MMS messages to SMS?

MMS messages are automatically converted to SMS with a URL link due to limitations with native MMS support. The conversion allows sharing rich media through an accessible link, and using short URLs is recommended for better delivery.

What is the best time to send SMS messages in Montenegro?

The suggested sending window is between 8:00 AM and 8:00 PM local time (CET/CEST). Avoid sending messages during public holidays and weekends unless it's an urgent communication, while emergency messages can be sent 24/7.

How to handle opt-outs for SMS in Montenegro?

Process opt-out requests within 24 hours, and recognize commands like STOP, CANCEL, END, and UNSUBSCRIBE in both Latin and Cyrillic scripts. Maintain a central opt-out database, confirm the opt-out with a final message, and regularly clean your contact database.

Can I use alphanumeric sender IDs for SMS in Montenegro?

Yes, alphanumeric sender IDs are supported and do not require pre-registration. They are preserved as sent and can be used dynamically. This offers flexibility for branding your SMS messages.

How to use shortcodes for sending SMS in Montenegro?

Shortcodes aren't supported in Montenegro. Use long codes for two-factor authentication, transactional messages, and customer support, with domestic long codes being fully supported and international ones having limited support.

What content is restricted for SMS messages in Montenegro?

Restricted content includes gambling, adult material, cryptocurrency promotions, and unauthorized financial services. Regulated industries like banking, healthcare, and insurance require specific regulatory approvals and compliance measures.

What SMS API integration options are available for Montenegro?

Twilio, Sinch, and Bird offer SMS API integrations for sending messages to Montenegro. Each platform provides different features, like alphanumeric sender ID support or message scheduling, with varying rate limits and throughput capacities.

How to manage API rate limits when sending bulk SMS in Montenegro?

Implement rate limiting in your code to avoid exceeding the per-second message limits set by providers like Twilio, Sinch, or Bird. Use queuing mechanisms and timers to control the sending frequency and ensure efficient delivery.

What are the best practices for SMS localization in Montenegro?

Use Montenegrin as the primary language and consider bilingual messages (Montenegrin/English). Support both Latin and Cyrillic scripts in your messages while being mindful of local cultural nuances. Respect local time zones for optimal message delivery times.

What are the key technical considerations for sending SMS in Montenegro?

Use E.164 number formatting for recipient numbers. Implement rate limiting to manage API throughput. Monitor delivery rates and track engagement metrics for optimization. Thoroughly test your SMS setup across all major Montenegrin carriers.

Where can I find additional resources on Montenegro's telecommunications regulations?

Consult the Agency for Electronic Communications and Postal Services (EKIP), the Data Protection Law of Montenegro, and the Electronic Communications Law for detailed information regarding compliance and regulations for SMS messaging.