VoIP-Fehlersuche: Wenn das Nummernformat wie ein Routingfehler aussieht

Der Fehler lässt sich mit einer kurzen lokalen Nummer erklären.

Das Problem: Unterschiedliche Formate

Die Phone-Trunk-Dokumentation nennt eine typische Integrationsfalle: Eingehende Nummern werden international ohne führendes Plus oder 00 geliefert. Ausgehende österreichische Nummern benötigen dagegen das Format mit 0043. Ein falsches Format kann wie ein Fehler bei der Zuordnung zur Nebenstelle aussehen.

Die Lösung: Getrennte Regeln für jedes Format

Der aktuelle Dialplan dokumentiert einen konkreten Fehler: Die Abkürzung, bei jeder Nummer ohne 00 die erste Ziffer zu entfernen und 0043 vorzusetzen, verschluckt bei lokalen Nummern eine echte Ziffer. Die Korrektur unterscheidet internationale Nummern mit Plus, nationale Nummern mit führender Null und lokale Nummern ohne Vorwahl. Jede Regel behandelt ihren eigenen Fall; lokale Nummern behalten die erste Ziffer und erhalten die konfigurierte Ortsvorwahl.

Eine weitere Falle: Absendernummer

Wenn ausgehende Anrufe immer die Hauptnummer zeigen, muss das nicht am CRM liegen. Die Dokumentation verlangt für die eigene Nebenstellenkennung eine passende CLIP-no-screening-Einstellung im Anbieterportal. Die Caller-ID allein im CRM zu setzen reicht dann nicht.

Drei Eingabeformate, drei getrennte Regeln

Die Abkürzung hat eine echte Ziffer entfernt

Der Fehler lässt sich mit einer kurzen lokalen Nummer erklären. Eine naive Regel sagt: Wenn die Nummer nicht mit 00 beginnt, entferne ihre erste Ziffer und stelle 0043 voran. Das funktioniert für nationale Nummern mit einer führenden Amtsnull, aber nicht für lokale Nummern ohne Vorwahl. Dort gehört die erste Ziffer zur eigentlichen Teilnehmernummer. Eine Nummer wie 92880 würde so zu einer anderen Nummer. Aus Sicht des CRM sieht der Anruf korrekt vorbereitet aus; erst das Ziel stimmt nicht. Der Kommentar im aktuellen Dialplan benennt genau diese problematische Abkürzung.

Normalisierung ist keine einzelne Ersetzung

Die Korrektur behandelt die erlaubten Eingabeformen separat. Eine internationale Nummer mit Plus bekommt statt des Pluszeichens 00. Eine nationale Nummer mit genau einer führenden Null verliert diese Amtsnull und erhält den Ländercode. Eine lokale Nummer erhält Länder- und konfigurierte Ortsvorwahl, ohne eine Ziffer zu verlieren. Bereits internationale Nummern mit 00 bleiben unverändert. Die Bedingungen sind so aufgebaut, dass nach einer Umwandlung nicht noch einmal eine andere Regel dieselbe Nummer verändert. Der Ausschnitt zeigt die konkrete Reihenfolge aus extensions.conf.

; Ausschnitt aus [outbound] in extensions.conf
same => n,Set(NUM=${FILTER(0-9+,${EXTEN})})
; +43... -> 0043...
same => n,ExecIf($["${NUM:0:1}" = "+"]?Set(NUM=00${NUM:1}))
; Nationale Amtsnull entfernen, internationalen Präfix erhalten
same => n,ExecIf($["${NUM:0:2}" != "00" & "${NUM:0:1}" = "0"]?Set(NUM=0043${NUM:1}))
; Lokalnummer: keine echte Ziffer abschneiden
same => n,ExecIf($["${NUM:0:1}" != "0"]?Set(NUM=0043${LOCAL_AREA}${NUM}))

; Prüffälle: +43... | 0043... | 0664... | lokale Nummer
; LOCAL_AREA ist Konfiguration, keine Schätzung des Agenten.

Routing und Infrastruktur auseinanderhalten

Asterisk normalisiert das technische Nummernformat. Das CRM entscheidet dagegen, welche Nebenstelle gemeint ist, wer klingeln soll und welche Caller-ID verwendet wird. Diese Trennung erlaubt fachliche Änderungen ohne einen neuen Dialplan. Ist der CRM-Dienst nicht erreichbar, bleibt ein definierter Fallback. Für die Fehlersuche ist entscheidend, auf welcher Seite die falsche Information zuerst entsteht: ursprüngliche Eingabe, normalisierte Nummer, Nebenstellenentscheidung oder Anbieterantwort. Ein neues Modellprompt würde einen Fehler in der Nummernkonvertierung nicht zuverlässig beseitigen.

Technische Referenz: Asterisk: Bedingte Dialplan-Anwendungen.

Absender und Audio brauchen eigene Prüfungen

Eine korrekte Zielnummer beweist noch keine korrekte Absenderkennung. Der Anbieter verlangt für die eigene Nebenstellenkennung eine passende CLIP-no-screening-Einstellung. Einweg-Audio wiederum wird nicht durch eine andere Rufnummernregel gelöst; dort werden Medienadresse, NAT, Router-SIP-ALG und RTP-Portweiterleitung geprüft. Wir behandeln diese Fehler deshalb getrennt. Für die Nummernlogik reichen zunächst nachvollziehbare Eingabe-Ausgabe-Fälle für alle vier Formate. Danach kommt der tatsächliche Verbindungsaufbau. Der vorhandene Code ist konkret, ein neuer realer Testanruf wurde für diesen Artikel nicht durchgeführt.

Weiterlesen: Kalenderintegration: Ein Lesefehler ist kein freier Termin.