Le Dialplan (plan de numérotation) des Passerelles VoIP beroNet définit la manière dont les appels sont routés à travers la passerelle beroNet. Deux règles gouvernent le fonctionnement de cet outil:
- Le dialplan utilise des expressions régulières (‘Howto RegEx’.)
- Le dialplan fonctionne de haut en bas : les règles spécifiques doivent être placées au-dessus des règles générales.
Le plan de numérotation est une étape-clé de la configuration et du bon fonctionnement des passerelles beroNet, c’est pourquoi il est important de bien comprendre ce dernier. Jetons un coup d’œil aux différentes fonctions du Dialplan.
- Direction (From and to ID)
- Destination et New destination
- Source et New source
- Position
1) Direction (« From ID » et « To ID »)
Afin que la règle s’applique, Il faut choisir la technologie d’où provient l’appel et la technologie vers laquelle l’appel doit être routé.
Lorsque l’on choisit ISDN, Analog ou GSM, dans un sens comme dans l’autre, il est possible de choisir soit un groupe de ports, soit un port spécifique situé dans un groupe de ports.
Si on choisit l’option SIP dans « From », il est possible de choisir l’option « match type » qui offre la possibilité de matcher par défaut, via l’adresse IP, via le « from » ou « to user », ou encore via une adresse IP entrée manuellement.
En général, les règles créées dans le plan de numérotation vont par paires : lorsqu’un appel est routé d’un compte SIP vers des lignes RNIS/ISDN, il est alors souvent nécessaire de router les appels dans le sens inverse (ISDN vers SIP par exemple). Dans ce cas, il est nécessaire de créer deux règles : l’une du SIP vers ISDN, la seconde ISDN vers SIP. À partir du firmware 16.x, une option « reverse rule » permet de créer deux règles d’un coup.
2) Destination et New destination
Le champ « Destination » permet à l’utilisateur d’appliquer une règle à un numéro appelé spécifique. Ce champ est aussi appelé « CalledID » ou « DAD ». Si le champ est laissé vide, la passerelle insère par défaut « (.*) ». Cela signifie que la règle s’appliquera pour n’importe quel numéro appelé. Dans notre premier exemple, nous souhaitions que la règle s’applique lorsque le numéro « 03025938919 » est appelé. C’est pourquoi nous avons ajouté ce numéro dans le champ destination.
Le champ New destination permet de modifier le numéro appelé / DAD. L’expression par défaut «1 » contenue dans le champ reprend les variables situées entre la première pair de parenthèse du champ destination. « 2 » reprend ainsi les variables situées dans la seconde pair de parenthèses du champ destination.
Dans l’exemple ci-dessus, la règle est transparente: la passerelle enverra le numéro appelé par la technologie « from » vers la technologie « to » tel qu’elle le reçoit.
Dans cet exemple, la règle s’appliquera lorsque le numéro « 1234 » est appelé. La passerelle réécrira ce numéro et enverra « 6789 » à la technologie vers laquelle les appels sont routés.
Comme indiqué précédemment, le Dialplan beroNet utilise des expressions régulières, vous permettant de créer des règles flexibles sans avoir à rédiger une liste interminable de numéros pouvant être appelés. C’est également un bon moyen de pouvoir envoyer un certain nombre de digits. Lorsqu’une passerelle sert à convertir un PABX traditionnel en SIP par exemple, il est parfois nécessaire d’envoyer seulement 4 digits.
Ici la règle s’applique lorsqu’un numéro à 10 digits commençant par 014661 est appelé. La passerelle envoie uniquement les 4 digits contenus entre les parenthèses et non les 6 premiers digits. Voir ci-dessous pour davantage d’exemples.
3) Source et New Source
Le champ « Source » permet d’appliquer une règle selon le numéro de l’appelant. Ce champ est aussi appelé « CallerID » ou « OAD ». Les mêmes expressions régulières sont utilisées. Les paramètres par défaut sont les mêmes que ceux utilisés pour les champs « Destination » et « New Destination ». Voici une règle par défaut :
Le champ New Source permet de modifier le CallerID avec lequel l’utilisateur appelle. Il suffit alors d’écrire « Anonymous » dans ce champ afin de pouvoir appeler en anonyme. En général, les opérateurs n’autorisent pas les clients finals à appeler avec un CallerID différent de celui qu’il leur a été attribué. Les appels anonymes sont cependant dans presque tous les cas en option.
Si ces champs ne sont pas modifiés, les paramètres par défaut, soit « (.*) » et « 1 » seront utilisés et la passerelle agira de manière transparente: le callerID ne sera pas modifié.
4) Position
L’ordre des règles dans le Dialplan est primordial. Comme précisé en début d’article, le Dialplan fonctionne de haut en bas : si les paramètres d’un appel correspondent à ceux d’une règle (technologie source, numéro appelé, numéro appelant), celle-ci s’appliquera. C’est pourquoi les règles générales doivent être placées sous les règles spécifiques.
Regardons quelques exemples pour mieux comprendre :
Dans l’exemple ci-dessus, selon la première règle, tous les appels provenant du « SIP_Account » seront routés vers les ports RNIS quelque soit le numéro appelant (CallerID) ou le numéro appelé (CalledID). Cela signifie que tous les appels provenant du « SIP_Account » seront routés via RNIS.
La seconde règle précise que les appels provenant du SIP_Account avec « 0156638515 » comme numéro appelé seront routés vers le port analogique 1. Cette règle est plus spécifique que la première, mais elle ne s’appliquera pas tant qu’elle sera positionnée en dessous de celle-ci. Pour que la seconde règle s’applique, il faudra la placer en première position, comme ci-dessous:
Dans l’exemple ci-dessus, certains appels seront envoyés vers le port analogique lorsque le numéro 0156638515 est numéroté. Tous les autres appels seront envoyés vers le port RNIS.
5) Comprendre les expressions régulières
Les expressions régulières permettent aux utilisateurs beroNet de créer des règles de routage intelligentes. Selon les informations contenues dans les champs « Destination / New Destination » et « Source / New source », le plan de numérotation agira de manière transparente ou changera le CID ou DAD d’un appel.
Regardons quelques exemples :
Exemple 1:
Destination: “0176(.*)” s'applique si calledID débute par 0176 New Destination: “00491761” supprime 0176 du calledID pour ajouter 0049176, suivi par le contenu de la parenthèse du champ "Destination" Source: “(..)” s'applique aux callerIDs à 2 chiffres. New Source: “25938912” le CallerID sera remplacé par 25938912
Exemple 2:
Destination: ”259389([0-8][0-9])” s'applique pour tous les numéros commencant par 259389 et dont les deux chiffres suivants se situent dans la fourchette [0-8][0-9] New Destination: “1” supprime 259389 du calledID et ajoute les 2 chiffres entre paranthèses du champ destination Source “(.*)” s'applique pour n'importe quel callerID New Source: “1 “ Reprend la valeur de la parenthèse du champ "source": le callerID ne sera donc pas modifié
Exemple 3:
Destination: ”0([2-9])(.*))” s'applique à tous les numéros débutant par 0, dont le second chiffre se situe entre 2 et 9, et suivi pour n'importe quels autres chiffres New Destination: “12” supprime 0 du calledID et ajoute le contenu de la première paranthèse puis celui de la seconde parenthèse du champ Destination Source “(.*)” s'applique pour n'importe quel callerID New Source: “1 “ 1 est la valeur contenue dans la première parenthèse du champ Source