No.
BP-AT-002
Scale
1 : 1
Date
2026-05-25
Rev.
A
Werkstatt 4notify · Mobile networksReleased
Blueprint BP-AT-002 of BP-AT-008 · Mobile networks
SMS

SMS routing across A1, Magenta and Drei with a fallback chain

Three national networks, alphanumeric sender ID and HLR-accurate delivery reporting

§ AThe problem

Many European SaaS providers route Austrian SMS through generic tier-two EU aggregators. The fallout is measurable: the alphanumeric sender ID is replaced by an international shortcode (recipients see +44 or +45 instead of ’WienerHandwerk’), delivery falls to 85-92%, and STOP replies never reach the platform. The RTR (telecoms regulator) requires in its TKG 2021 § 174 interpretation that senders — including international ones — honour STOP/HELP keywords and respect the do-not-call registers maintained by consumer protection bodies.

§ BMain view

Austria has three national mobile operators: A1 Telekom Austria (~38% market share in 2025), Magenta — formerly T-Mobile Austria, rebranded in 2019 to Deutsche Telekom's Magenta brand — (~31%) and Drei, Hutchison Drei Austria (~30%). An MVNO layer (yesss!, Spusu, HoT, bob and others) rides on top of these three host networks. 4notify routes SMS through interconnect aggregators with contractual relationships across all three networks — which guarantees HLR-accurate DLR (Delivery Receipt), preserved alphanumeric sender ID and real-time STOP handling across network boundaries.

§ CParts list
ChannelPrimary providerFallback
A1 Telekom AustriaDirect interconnect via Tier-1 AggregatorMVNO peer (yesss!) → A1 host
Magenta AustriaDirect interconnect via Tier-1 AggregatorTelekom Deutschland fallback
Drei (Hutchison)Direct interconnect via Tier-1 AggregatorHutchison UK MNC routing
MVNOs (Spusu, HoT, bob, …)Resolved per HLR lookup → HostnetzFailover über Backup-Aggregator
STOP / HELP MOInbound SMSC-WebhookPostgres queue (replay safe)
§ DTolerances
P50 latency dispatch → DLR
1,8 – 2,4seconds
Delivery rate valid numbers
≥ 99,2%
Sender ID preservation
100% (direct route)
STOP handling
≤ 5seconds to webhook
Retry strategy
3attempts (exp. backoff)
Throughput per sender ID
200SMS/second
§ ENormative references
§ 174 TKG 2021 (Telekommunikationsgesetz)

Direct marketing via SMS/email requires prior consent (opt-in). Soft opt-in is allowed for existing customer relationships on related products. Withdrawal must be free at any time.

§ 109 TKG 2021

Data protection in telecommunications — connection and location data are purpose-bound. For marketing-push campaigns the use of location data is virtually always impermissible.

RTR-GmbH — Sender-ID-Auslegung 2024

Alphanumeric sender IDs up to 11 characters are allowed; abusive use (spoofing well-known brands) is sanctioned with carrier-level blocking. Pre-registration with the aggregator is required.

VKI / AK — Robinsonliste

Consumer associations maintain the Austrian Robinson list; numbers on it must be screened before sending, otherwise complaints + administrative penalties (up to EUR 50 000 per case) may follow.

§ FBuild steps

Register sender ID with the RTR and the aggregator

Up to 11 characters, ASCII range, no reserved terms (’Bank’, ’Polizei’, ’Notruf’, ’Bundes-’). Pre-registration requires Austrian company-register extract, VAT number and a usage description. Turnaround is 3-5 working days.

HLR lookup before every send

Before routing, an HLR lookup is performed. This identifies the current host network (even for ported numbers — a Drei customer with a formerly A1-issued number lands correctly on Drei) and the roaming status. Roaming recipients are billed separately by country.

Direct interconnect, no grey route

4notify routes only through aggregators holding direct carrier agreements (’tier-1 premium'). Grey routes (delivery via SIM boxes or unlicensed aggregators) are banned in Austria and trigger immediate RTR-level sender-ID blocking.

DLR webhook with reason code

For every SMS a signed webhook is sent with status (DELIVERED / FAILED / UNDELIVERABLE) and reason code (e.g. ’handset blocked', ’number out of service', ’blocked by Robinson list') to the client application. Replay is guaranteed for 7 days.

Inbound STOP/HELP handling

STOP replies are delivered by the aggregator as MO webhooks, immediately written to the consent ledger (BP-AT-001) as withdrawal, and the client receives a confirmation reply. HELP returns a pre-configured helper message — free of charge for the recipient.

§ GTest procedure

Test procedure: (1) Send an SMS with sender ID ’4notifytest’ to an A1 test number (+43 664…), a Magenta test number (+43 676…) and a Drei test number (+43 660…). (2) Verify in the DLR webhook that all three return DELIVERED within 3 seconds and that the sender ID arrived intact (manual check on the receiving device). (3) Reply STOP from one of the test numbers — within 5 seconds an MO webhook must arrive and a withdrawal row must appear in the consent ledger. (4) Send a second test SMS to the same number — the attempt must be rejected with ’blocked by suppression list’.

§ HCode
bash
curl -X POST https://api.4notify.net/v1/dispatch \
  -H "Authorization: Bearer $API_KEY' \
  -H "Content-Type: application/json' \
  -d '{
    "channel': 'sms",
    "sender': 'WienerHandwerk",
    "recipient': '+436641234567",
    "body': 'Ihr Termin am 28.05. um 14:30 in der Mariahilfer Straße 88 ist bestätigt. Stornieren mit STOP. Tel +43 1 5874410.",
    "metadata": {
      "campaign': 'appointment_reminder",
      "country': 'at",
      "hlr_lookup": true,
      "preserve_sender_id": true
    }
  }'
§ ISample message
SMS

Wiener Linien: your annual ticket expires on 30.06. Renew at wienerlinien.at/ticket. Reply STOP to opt out of reminders.

§ JCommissioning checklist
  • Pre-register sender ID with RTR, wait for aggregator whitelist confirmation
  • Enable HLR lookup for every send (to separate roaming charges)
  • STOP/HELP keywords enabled, German + English
  • Robinson-list screening before marketing send
  • DLR webhook wired into the internal CRM
  • Reserved-term list checked (no `Bank`, `Polizei`, `Notruf`, `Bundes-` in sender ID)
  • Test send to all three networks + STOP test performed
What 4notify does differently

Instead of one EU aggregator, 4notify holds direct contracts with all three AT networks via tier-1 aggregators — alphanumeric sender ID is preserved and DLR returns HLR-accurate reason codes instead of generic ’failed’.

§ KFAQ
What does an SMS to Austria cost via 4notify?

EUR 0.055 per standard SMS (160 characters GSM-7) on pay-as-you-go. Volume discounts from 50 000 units/month. HLR lookup is an additional EUR 0.003 per query but is worth running on active marketing lists, because bouncing numbers are identified immediately.

Can I use Unicode characters (umlauts, emojis)?

Yes, automatically. As soon as a non-GSM-7 character is detected, encoding switches to UCS-2 (70 characters per segment). Costs don't double — billing is per segment. ’Ärzteliste’ stays a single SMS, ’🩺 Termin’ switches to UCS-2 and costs an extra segment beyond 71 characters.

How is delivery handled for roaming?

The HLR lookup detects roaming and returns the current visited network. The SMS is delivered normally; the cost side changes (routing into the roaming network), the gateway automatically bills the correct rate. If the recipient is in a country with a carrier ban for AT senders, the DLR fails with reason `roaming_blocked`.

Open a free account

14 days, no card. German-language support.

§ LOther blueprints