Der Dialplan ist das Herzstück der Konfiguration eines beroNet VoIP Gateways. Hier wird die Zu- und Verteilung der Rufe definiert. Es ist wichtig zu wissen, dass:
-
- er auf „Regular Expressions“ (‚How to RegEx‘.) basiert
- er von oben nach unten abgearbeitet wird. Sobald eine Regel auf einen Ruf zutrifft, wird diese angewendet, so dass es sich empfiehlt, dass präzisere Regeln über gröberen platziert werden.
Es ist von größter Wichtigkeit den Aufbau und die Funktionsweise des Dialplans zu verstehen, da dieser ein wesentlicher Bestandteil der Funktionsweise des Gateways ist. Die einzelnen Felder im Detail sind:
-
-
- Direction (From und to ID)
- Destination und New destination
- Source und New source
- Position
-
1) Direction (From ID und To ID)
Hier wählen wir die Technologie (SIP, Analog, ISDN oder GSM) über die der Ruf eingehen soll, damit die Regel auf ihn angewendet wird. Hier wird auch bereits festgelegt über welche Technologie der Ruf dann weitergeleitet werden soll.
Wählen wir ISDN, Analog oder GSM als „From direction“ oder „To direction“, erhalten wir die Möglichkeit aus den bereits vorher definierten Portgruppen zu wählen. Wählen wir SIP als „From direction“ aus, so definieren wir über die Option „Match type“, ob über die IP-Adresse, dem „From oder To User“, einer manuellen Adresse oder einem „Default SIP account“.
Für gewöhnlich funktionieren die Regeln des Dialplans paarweise, da die Weiterleitung von beispielsweise SIP zu ISDN auch in die entgegengesetzte Richtung ISDN zu SIP gewünscht ist. In diesem Fall müsste die zweite Regel separat angelegt werden.
2) Destination und New destination
Das Feld „Destination“ ermöglicht es die Regel anhand einer bestimmten gewählten Rufnummer greifen zu lassen. Dieses Feld ist auch als „CalledID“ oder „DAD“ bekannt. Sobald das Feld leer gelassen wird, wird automatisch „(.*)“ gesetzt, was die Regel bei jeder Rufnummer greifen lässt. In unserem ersten Beispiel griff die Regel sobald die Nummer „03025938919“ gewählt wurde. Diese Nummer wurde über das Feld „Destination“ gesetzt.
Das Feld „New destination“ ermöglicht es die „DAD“ zu ändern. Die standardmäßige Option „1“ übergibt die im Feld „Destination“ innerhalb der Klammern gesetzten Parameter an die unter „To ID“ gewählte Technologie.
Im obigen Beispiel arbeitet das Gateway transparent und leitet die gewählte Nummer so weiter, wie sie eingeht.
Im obigen Beispiel greift die Regel sobald die Rufnummer „1234“ gewählt wurde. Das Gateway überschreibt nun diese Nummer und übergibt „6789“.
Wie Anfangs genannt basiert der beroNet Dialplan auf „Regular Expressions“. Dies ermöglicht die Erstellung von flexiblen Regeln ohne eine Liste aller möglichen Rufnummern anlegen zu müssen.
So ist es auch möglich nur eine bestimmte Anzahl an Stellen einer Rufnummer zu übermitteln.
Hier greift die Regel wenn eine 10stellige Rufnummer beginnend mit 041661 gewählt wird. Das Gateway übergibt dann lediglich die 4 Stellen die innerhalb der Klammern sind.
3) Source und New Source
Das Feld „Source“ ermöglicht eine Regel abhängig von der Absendernummer greifen zu lassen. Dieses Feld ist auch als „CallerID“ oder „OAD“ bekannt. Hier werden die gleichen „Regular Expressions“ genutzt, so dass die Standardparameter die gleichen wie bei den Feldern „Destination“ und „New destination“ sind.
Das Feld „New Source“ ermöglicht die Änderung der Absendernummer. Um beispielsweise mit unterdrückter Rufnummer anzurufen trägt man „Anonymous“ in das Feld ein. Normalerweise gestatten Provider es End-usern nicht mit einer komplett unterschiedlichen Rufnummer einen Ruf abzusetzen, aber das Unterdrücken der Rufnummer hingegen schon.
Ist kein Parameter gesetzt, arbeitet das Gateway auch hier transparent und leitet alles so weiter, wie es eingeht.
4) Position
Die Position der Regeln im Dialplan ist wie anfangs erwähnt von hoher Bedeutung. Da er die Regeln von oben nach unten abarbeitet, sollten präzise Regeln vor groben Regeln kommen in der Reihenfolge.
In diesem Beispiel greift die erste Regel alle Anrufe die von einem SIP_Account kommen und leitet diese an ISDN weiter.
Die zweite Regel hingegen greift nur die Anrufe ab, die von einem SIP_Account kommen und die Rufnummer „0156638515“ als DAD haben, und will diese an den Analogport 1 weiterleiten. Nun ist die zweite Regel präziser und wird solange nicht greifen, solange sie im Dialplan unter der ersten und gröberen Regel steht:
Nun greift die Regel wie beabsichtigt und alle anderen Anrufe werden an ISDN weitergeleitet.
5) Erläuterung der „Regular Expressions“
„Regular Expressions“ ermöglichen eine individuelle Erstellung von Dialplanregeln. Abhängig von den gesetzten Parametern in den Feldern „Destination / New destination“ oderr „Source / New source“, arbeitet das Gateway entweder transparent oder aber editiert die CID oder DAD eines Anrufes.
Ein paar Beispiele zur Verdeutlichung:
Beispiel 1:
Destination: “0176(.*)” greift sobald die calledID mit 0176 beginnt New Destination: “00491761” 0176 wird bei der calledID durch 0049176 ersetzt, gefolgt vom Inhalt der Klammer referenziert durch die 1 Source: “(..)” greift bei callerIDs mit genau 2 Stellen New Source: “25938912” CallerID wird durch 25938912 ersetzt
Beispiel 2:
Destination: ”259389([0-8][0-9])” greift bei allen Nummern die mit 259389 beginnen gefolgt von zwei Stellen im Bereich [00-89] New Destination: “1” 259389 der called ID wird gelöscht und lediglich die 2 Stellen referenziert durch Parameter 1 übernommen Source “(.*)” greift bei jeder callerID New Source: “1 “ 1 ist der Wert in den Klammern der „Source“
Beispiel 3:
Destination: ”0([2-9])(.*))” greift bei allen Nummern beginnend mit 0. Die zweite Stelle muss im Bereich zwischen [2-9] sein gefolgt von beliebigen Stellen New Destination: “12” die 0 wird abgeschnitten von der calledID und Parameter 1 gefolgt von Parameter 2 angehängt Source “(.*)” greift bei jeder callerID New Source: “1 “ 1 entspricht dem Wert in den Klammern des „Source“ Feldes