Beim Betrieb eines SIP Trunks mit mehreren Vorwahlbereichen, der zentral für mehrere in der SwyxWare konfigurierte Standorte benutzt wird, kann es je nach Provider dazu kommen, dass aus den Außenstellen Notrufnummern nicht angewählt werden können. In diesem Artikel beleuchten wir den Hintergrund des Problems, damit die umzusetzenden Konfigurationsschritte logisch und klar sind.
Der SwyxServer arbeitet intern IMMER mit kanonischen Rufnummern, damit ein eindeutiges Format für Ersetzungs- und Routingregeln vorliegt. Wenn ein Ruf nach extern aufgebaut werden soll, prüft die SwyxWare also zuerst das Format der Zielrufnummer, die der User gewählt hat, und paßt die Nummer bei Bedarf an:
- Bei kanonischem Format (+4923147770) wird die Nummer so verwendet wie sie ist.
- Bei Rufnummern mit 00 (international) wird kanonisiert, indem die führende 00 abgeschnitten und durch + ersetzt wird.
- Bei Rufnummern mit 0 (Ferngespräch) wird kanonisiert, indem die 0 entfernt und durch +49 ersetzt wird, der Ruf bleibt ja in Deutschland.
- Wird nur eine einfache Teilnehmernummer gewählt, dann wird +49 und die Ortsvorwahl des Standortes davorgesetzt, in dem der Benutzer konfiguriert ist, da er ja offenbar ins eigene Ortsnetz telefonieren will. So würden beispielsweise auch Not- und Sonderrufnummern gewählt.
Mit dieser kanonischen Nummer arbeitet der Server dann intern. Wie die Rufnummer letztlich ans Amt übergeben wird, das wird in den Trunkgruppeneinstellungen festgelegt. Bei den meisten SIP Trunks ist das "kanonisch mit +", also wird die Zielrufnummer so übermittelt, wie sie der Server auch zusammengebaut hat. Das bedeutet, der Provider bekommt die Zielrufnummer komplett kanonisch mitgeteilt, egal ob sie ins lokale Ortsnetz, eine andere Stadt oder ins Ausland gehen soll.
Es gibt aber Sonderrufnummern, die (wohl historisch bedingt) bei vielen Providern NICHT auf diese Art angewält werden dürfen, und dazu gehören die 110 und die 112. Die müssen ohne jedwede Vorwahl gewählt werden. Einige Provider, wie zum Beispiel QSC, geben das in den Unterlagen für ihr Trunkprodukt auch ausdrücklich so vor.
Die Notrufnummern erfahren in der SwyxWare ganz am Ende noch mal eine Sonderbehandlung, indem anhand von Einträgen in einer fest definierten Ersetzungstabelle die Landes- und Ortskennzahl wieder entfernt werden. Das funktioniert aber nur, wenn der User und der Trunk dem gleichen Standort angehören, ansonsten schlägt diese automatische Ersetzung fehl. Wenn ein User aus einem anderen Standort eine der Notrufnummern anruft, dann wurde die Nummer vorher mit seiner Ortsvorwahl kanonisiert, aber die Nummer kann nicht mehr zurückkonvertiert werden, weil sie nicht zu den Rufnummernbereichen des Standortes passt, in dem sich der Trunk befindet.
Als Beispiel sei eine SwyxWare mit einem Trunk angenommen, der einer Bochumer und einer Dortmunder Niederlassung gemeinsam gehört. Der Trunk selbst gehört dabei dem Standort Dortmund:
- Ein User aus dem Standort Dortmund wählt "0110". Der Server kanonisiert die Zielnummer zu "+49231110". Der Ruf geht dann über einen SIP Trunk am Standort Dortmund ins Amt. Die Ersetzungsregel für "+49[ac]11*" greift, und die Nummer wird vor dem Abschicken zu "110" konvertiert. Zum Provider geht also "sip:110"
- Ein User aus dem Standort Bochum wählt "0110". Der Server kanonisiert die Zielnummer zu "+49234110". Auch dieser Ruf geht wieder über den SIP Trunk des Standorts Dortmund ins Amt. Die Ersetzungregel greift jetzt NICHT, da der Platzhalter [ac] für den Trunk die 231 ist. Die Zielrufnummer bleibt also unangetastet und es geht "sip:+49234110" zum Provider.
Es gibt mittlerweile SIP Provider, die daran arbeiten, beides zu akzeptieren. Viele können es derzeit noch nicht, und akzeptieren nur das reine "sip:110". Daher muss man dafür sorgen, dass die Zielrufnummer für jeden Standort passend ersetzt wird.
In Fall unseres Beispiels heißt das, dass eine spezielle Rufnummernersetzungen auf der Trunkgruppe eingetragen werden muß, um der SwyxWare die Konvertierung der Zielrufnummer zu ermöglichen:
- Zielrufnummer bei abgehenden Rufen: +4923411* -> 11*
(Ersetzung für Bochumer Benutzer)
Als Abschluß noch ein wichtiger Hinweis:
Viele Provider entscheiden anhand des P-Asserted-Identity Headers (PAI), an welche Notrufzentrale der Ruf geroutet werden soll. Wenn jemand in seinem PAI also am Anfang +49234 stehen hat, dann wird in einem solchen Fall der Provider den Ruf zur Leitstelle in Bochum schicken. Das klappt immer dann, wenn der Benutzer direkt die Notrufnummer wählt. Daher ist es wichtig, dass jeder Benutzer auch wirklich eine öffentliche Rufnummer hat, die auf dem Trunk tatsächlich für den jeweiligen Vorwahlbereich konfiguriert ist. Eine nachträgliche Anpassung der Rufnummer über Ersetzungen ändert NICHT den P-Asserted-Header. Die Zustellung von Notrufen an die richtige Leitstelle kann nur gewährleistet werden, wenn der User selbst die entsprechende öffentliche Nummer zugewiesen bekommen hat und sie auch auf seiner Leitungstaste signalisiert.
Sehr oft werden auch Callrouting-Benutzer für Polizei und Feuerwehr angelegt, damit Benutzer auch dann die Notrufnummern erreichen, wenn sie in Hektik die Amtsholung vergessen und einfach "110" wählen. Dabei hat man das Problem, dass dann der Standort des Callrouting-Benutzers darüber entscheidet, an welche Leitstelle der Ruf geht, denn DER ist es ja, der den eigentlichen Ruf ins Amt macht. Auch das ist ein Problem, das sich durch die Sammel-SIP-Trunks für mehrere Standorte ergeben hat, und derzeit gibt es dafür keine technische Lösung.
Kommentare
0 Kommentare
Zu diesem Beitrag können keine Kommentare hinterlassen werden.