sms compliance

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

Austria SMS Guide

Explore Austria's SMS landscape: compliance (GDPR/TKG), features (two-way SMS, concatenation), & best practices. Understand opt-in rules, Robinson List checks, & sender ID options. Includes API integration code snippets (Twilio, Sinch) and error handling. Landline SMS unsupported; error code 21614.

Austria SMS Best Practices, Compliance, and Features

Austria SMS Market Overview

Locale name:Austria
ISO code:AT
RegionEurope
Mobile country code (MCC)232
Dialing Code+43

Market Conditions: Austria has a highly developed mobile telecommunications market with near-universal mobile penetration. The country's main mobile operators include A1 Telekom Austria, Magenta (T-Mobile), and Drei (Three). While OTT messaging apps like WhatsApp and Facebook Messenger are popular for personal communications, SMS remains crucial for business communications, particularly for authentication, notifications, and marketing. The market shows a relatively even split between Android and iOS users, with Android having a slight edge in market share.


Key SMS Features and Capabilities in Austria

Austria supports a comprehensive range of SMS features including two-way messaging, concatenation, and advanced delivery options, making it a mature market for business messaging.

Two-way SMS Support

Austria fully supports two-way SMS communications with no specific restrictions. This enables interactive messaging campaigns and customer service applications, with messages flowing freely in both directions between businesses and customers.

Concatenated Messages (Segmented SMS)

Support: Yes, concatenation is fully supported across all major Austrian carriers.
Message length rules: Standard SMS length of 160 characters for GSM-7 encoding, or 70 characters for Unicode (UCS-2) messages. Messages exceeding these limits are automatically concatenated into multiple segments.
Encoding considerations: GSM-7 is the default encoding for standard Latin alphabet, while UCS-2 is used for special characters and non-Latin alphabets. UCS-2 messages have shorter length limits per segment.

MMS Support

MMS messages sent to Austrian numbers are automatically converted to SMS with an embedded URL link to view the multimedia content. This ensures compatibility across all devices while maintaining the ability to share rich media content.

Recipient Phone Number Compatibility

Number Portability

Number portability is fully available in Austria, allowing users to keep their phone numbers when switching carriers. This feature is managed through a central database system and doesn't significantly impact message delivery or routing.

Sending SMS to Landlines

Sending SMS to landline numbers is not supported in Austria. Attempts to send SMS to landline numbers will result in delivery failure, with the message being rejected at the API level (error code 21614 for Twilio, for example) and no charges being incurred.

Compliance and Regulatory Guidelines for SMS in Austria

SMS communications in Austria are governed by both the General Data Protection Regulation (GDPR) and the Austrian Telecommunications Act 2021 (TKG). The primary regulatory authority is the Austrian Data Protection Authority (Datenschutzbeh??rde) and the Austrian Regulatory Authority for Broadcasting and Telecommunications (RTR).

Explicit Consent Requirements:

  • Written or electronic consent must be obtained before sending marketing messages
  • Consent must be freely given, specific, informed, and unambiguous
  • Pre-checked boxes or passive consent methods are not acceptable
  • Keep detailed records of when and how consent was obtained
  • Include clear information about message frequency and content type

HELP/STOP and Other Commands

  • All marketing messages must include clear opt-out instructions
  • STOP ("STOP", "STOPP") must be supported in both German and English
  • HELP ("HILFE", "HELP") commands must provide information in German
  • Response to STOP commands must be immediate and confirmed
  • Maintain records of all opt-out requests

Do Not Call / Do Not Disturb Registries

Austria maintains the RTR's "Robinson List" for marketing communications. Best practices include:

  • Regular checks against the Robinson List database
  • Maintaining internal suppression lists
  • Immediate processing of opt-out requests
  • Proactive filtering of numbers before campaigns
  • Documentation of all opt-out processing procedures

Time Zone Sensitivity

While Austria doesn't have strict legal time restrictions for SMS, recommended practices include:

  • Sending messages between 8:00 and 20:00 local time (UTC+1/UTC+2)
  • Avoiding messages on Sundays and public holidays
  • Limiting urgent messages outside these hours to essential communications only

Phone Numbers Options and SMS Sender Types for Austria

Alphanumeric Sender ID

Operator network capability: Fully supported
Registration requirements: No pre-registration required
Sender ID preservation: Yes, sender IDs are preserved across all major networks
Character limit: Maximum 11 characters, alphanumeric only

Long Codes

Domestic vs. International:

  • Domestic: Fully supported
  • International: Not supported for origination

Sender ID preservation:

  • Domestic: Yes
  • International: No, replaced with local format

Provisioning time: 1-2 business days for domestic numbers Use cases:

  • Two-way communication
  • Customer support
  • Transactional messages
  • Note: M2M (Machine-to-Machine) messaging not supported over domestic long codes

Short Codes

Support: Available through major carriers Provisioning time: 8-12 weeks Use cases:

  • High-volume marketing campaigns
  • Premium rate services
  • Two-factor authentication
  • Customer loyalty programs

Restricted SMS Content, Industries, and Use Cases

Restricted Industries:

  • Gambling and betting (requires special permits)
  • Adult content (prohibited)
  • Cryptocurrency (requires financial authority approval)
  • Political campaigning (special regulations apply)

Regulated Industries:

  • Financial services (must comply with FMA guidelines)
  • Healthcare (subject to strict privacy regulations)
  • Insurance (requires specific disclaimers)

Content Filtering

Carrier Filtering Rules:

  • URLs from unknown domains may be blocked
  • Messages containing certain keywords related to restricted content
  • Multiple identical messages to the same recipient

Best Practices to Avoid Filtering:

  • Use registered URL shorteners
  • Avoid excessive punctuation and special characters
  • Maintain consistent sending patterns
  • Include clear sender identification
  • Use approved templates for sensitive content

Best Practices for Sending SMS in Austria

Messaging Strategy

  • Keep messages under 160 characters when possible
  • Include clear call-to-action
  • Personalize using recipient's name or relevant details
  • Maintain consistent brand voice
  • Use URL shorteners for tracking and space efficiency

Sending Frequency and Timing

  • Limit to 2-4 messages per month per recipient
  • Respect Austrian business hours (8:00-20:00)
  • Consider Austrian holidays and cultural events
  • Space out messages to avoid overwhelming recipients

Localization

  • Primary language: German
  • Consider bilingual messages (German/English) for international audiences
  • Use proper formal address ("Sie" instead of "du")
  • Adapt content for local cultural context

Opt-Out Management

  • Process opt-outs within 24 hours
  • Maintain centralized opt-out database
  • Confirm opt-out status via SMS
  • Regular audit of opt-out lists
  • Train staff on opt-out procedures

Testing and Monitoring

  • Test across all major Austrian carriers (A1, Magenta, Drei)
  • Monitor delivery rates by carrier
  • Track engagement metrics
  • Regular testing of opt-out functionality
  • Document and analyze failure patterns

SMS API integrations for Austria

Twilio

Twilio provides a robust REST API for sending SMS messages to Austrian numbers. Authentication uses your Account SID and Auth Token.

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);

// Function to send SMS to Austrian number
async function sendSmsToAustria(
  to: string,
  message: string,
  senderId: string
): Promise<void> {
  try {
    // Ensure number is in E.164 format for Austria (+43...)
    const formattedNumber = to.startsWith('+43') ? to : `+43${to.replace(/^0/, '')}`;
    
    const response = await client.messages.create({
      body: message,
      from: senderId, // Alphanumeric sender ID or Twilio number
      to: formattedNumber,
      // Optional parameters for delivery tracking
      statusCallback: 'https://your-webhook.com/status',
    });
    
    console.log(`Message sent successfully! SID: ${response.sid}`);
  } catch (error) {
    console.error('Error sending message:', error);
    throw error;
  }
}

Sinch

Sinch offers a REST API with JSON payload support for Austrian SMS delivery.

typescript
import axios from 'axios';

class SinchSmsService {
  private readonly baseUrl: string;
  private readonly apiToken: string;

  constructor(serviceId: string, apiToken: string) {
    this.baseUrl = `https://sms.api.sinch.com/xms/v1/${serviceId}/batches`;
    this.apiToken = apiToken;
  }

  async sendSms(to: string, message: string): Promise<void> {
    try {
      const response = await axios.post(
        this.baseUrl,
        {
          from: 'YourBrand', // Alphanumeric sender ID
          to: [to],
          body: message,
          delivery_report: 'summary'
        },
        {
          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;
    }
  }
}

MessageBird

MessageBird provides a simple API for sending SMS messages to Austrian recipients.

typescript
import messagebird from 'messagebird';

class MessageBirdService {
  private client: any;

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

  sendSms(
    to: string,
    message: string,
    originator: string
  ): Promise<any> {
    return new Promise((resolve, reject) => {
      this.client.messages.create({
        originator, // Your sender ID
        recipients: [to],
        body: message,
        datacoding: 'auto' // Automatic handling of special characters
      }, (err: any, response: any) => {
        if (err) {
          reject(err);
        } else {
          resolve(response);
        }
      });
    });
  }
}

Plivo

Plivo offers a comprehensive API for SMS messaging with support for Austrian numbers.

typescript
import plivo from 'plivo';

class PlivoSmsService {
  private client: any;

  constructor(authId: string, authToken: string) {
    this.client = new plivo.Client(authId, authToken);
  }

  async sendSms(
    to: string,
    message: string,
    senderId: string
  ): Promise<void> {
    try {
      const response = await this.client.messages.create({
        src: senderId,
        dst: to,
        text: message,
        // Optional parameters
        url: 'https://your-webhook.com/status',
        method: 'POST'
      });
      
      console.log('Message sent:', response.messageUuid[0]);
    } catch (error) {
      console.error('Plivo error:', error);
      throw error;
    }
  }
}

API Rate Limits and Throughput

  • Twilio: 100 messages per second per account
  • Sinch: 30 requests per second
  • MessageBird: 60 messages per second
  • Plivo: 50 messages per second

Strategies for Large-Scale Sending:

  • Implement queue systems (Redis, RabbitMQ)
  • Use batch APIs where available
  • Implement exponential backoff for retries
  • Monitor throughput and adjust accordingly

Error Handling and Reporting

typescript
// Common error handling implementation
interface SmsError {
  code: string;
  message: string;
  timestamp: Date;
  provider: string;
}

class SmsErrorHandler {
  static handleError(error: any, provider: string): SmsError {
    const errorLog: SmsError = {
      code: error.code || 'UNKNOWN',
      message: error.message,
      timestamp: new Date(),
      provider
    };
    
    // Log to monitoring system
    console.error(JSON.stringify(errorLog));
    
    // Implement retry logic for specific error codes
    if (this.isRetryableError(error.code)) {
      // Add to retry queue
    }
    
    return errorLog;
  }
  
  private static isRetryableError(code: string): boolean {
    const retryableCodes = ['30001', '30002', '30003'];
    return retryableCodes.includes(code);
  }
}

Recap and Additional Resources

Key Takeaways

  1. Compliance Priorities

    • Obtain explicit consent
    • Honor opt-out requests immediately
    • Maintain proper documentation
    • Follow time-zone appropriate sending
  2. Technical Best Practices

    • Use proper number formatting (+43)
    • Implement robust error handling
    • Monitor delivery rates
    • Test across all carriers
  3. Next Steps

    • Review RTR guidelines
    • Set up monitoring systems
    • Implement proper error handling
    • Test with small volumes first

Additional Resources

Official Resources:

Industry Guidelines:

Frequently Asked Questions

How to send SMS messages in Austria?

Use a reputable SMS API provider like Twilio, Sinch, MessageBird, or Plivo. Ensure the recipient's number is in E.164 format (+43 followed by the number) and comply with all Austrian regulations regarding consent and content.

What is the SMS character limit in Austria?

Standard SMS messages are limited to 160 characters when using GSM-7 encoding or 70 characters with UCS-2 encoding. Longer messages are automatically concatenated into multiple segments.

Why does Austria convert MMS to SMS?

MMS messages sent to Austrian numbers are converted to SMS with a URL link to ensure compatibility across all devices. This allows users on any device to receive the message, and access the rich media content through the provided link.

When should I send marketing SMS in Austria?

While no strict legal restrictions exist, best practice is to send messages between 8:00 and 20:00 local time (UTC+1/UTC+2), avoiding Sundays and public holidays. Urgent messages outside these times should be limited to essential communications.

Can I send SMS to Austrian landlines?

No, sending SMS to landline numbers in Austria is not supported and will result in delivery failure. Messages are typically rejected at the API level, and no charges are incurred for these failed attempts.

What is required for SMS marketing compliance in Austria?

Explicit consent is required before sending marketing SMS messages in Austria. This consent must be freely given, specific, informed, unambiguous, and documented. All marketing messages must include clear opt-out instructions, honoring STOP commands immediately.

What are the rules for alphanumeric sender IDs in Austria?

Alphanumeric sender IDs are fully supported in Austria with no pre-registration required. They have a maximum length of 11 characters and are preserved across all major networks. Sender IDs are generally preserved, facilitating brand recognition and trust.

How to handle SMS opt-outs in Austria?

Process opt-out requests within 24 hours, maintain a centralized opt-out database, confirm the opt-out via SMS, and regularly audit opt-out lists. It's also important to train staff on opt-out procedures for consistent compliance.

What are the restricted SMS content categories in Austria?

Restricted content includes gambling, adult material, and cryptocurrency (without proper approvals). Financial services, healthcare, and insurance sectors face specific regulations and require careful compliance.

What are the best practices for SMS marketing in Austria?

Keep messages concise, include a clear call to action, personalize content, maintain a consistent brand voice, and use URL shorteners for tracking. Adhere to recommended sending frequency and timing guidelines, respecting local business hours and holidays.

How to use Twilio for sending SMS in Austria?

Initialize the Twilio client with your Account SID and Auth Token. Format recipient numbers in E.164 format (+43...). Use client.messages.create() with parameters for the message body, sender ID, and recipient number.

What are the API rate limits for SMS providers in Austria?

Rate limits vary by provider. Twilio allows 100 messages/second/account; Sinch 30 requests/second; MessageBird 60 messages/second; and Plivo 50 messages/second. Large-scale sending requires queue systems and careful monitoring.

How to avoid SMS content filtering in Austria?

Use registered URL shorteners, avoid excessive punctuation and special characters, maintain consistent sending patterns, include clear sender identification, and use approved templates for sensitive content.