Aujourd’hui je vous propose d’étudier les Class of Restriction. Il s’agit d’une façon d’ajouter des restrictions à notre réseau de téléphonie. Par défaut, tout le monde peut appeler tout le monde. En mettant en place des Class of Restriction, nous pouvons restreindre les numéros qu’il est possible d’appeler. Cela fait penser aux Access-Lists, même si la configuration n’a rien à voir.
1) L’infrastructure d’exemple
Voici l’infrastructure que je vais utiliser pour mes exemples.
Et voici un extrait de la configuration de R1.
dial-peer voice 200 voip destination-pattern 2.. session target ipv4:172.16.2.20 dial-peer voice 300 voip destination-pattern 3.. session target ipv4:172.16.3.30 dial-peer voice 400 voip destination-pattern 4.. session target ipv4:172.16.4.40 ephone-dn 1 dual-line number 101 ephone-dn 2 dual-line number 102 ephone 1 mac-address 000C.29E3.87A3 type CIPC button 1:1 ephone 2 mac-address 000C.29EC.7A43 type CIPC button 1:2
2) Mise en place de COR
Passons au vif du sujet, les COR – Class of Restriction.
Nous l’avons vu en introduction, les COR permettent de mettre en place des restrictions d’appel. Par exemple, nous pouvons vouloir que les postes 1XX ne puissent pas appeler les postes 4XX, mais qu’ils puissent appeler les postes 2XX et 3XX.
La configuration peut paraitre compliquée au premier abord, mais je vous rassure, ce n’est qu’une impression.
Les étapes de la configuration sont les suivantes :
- Création des tags COR
- Création des listes COR sortantes
- Création des listes COR entrantes
- Assignation des listes COR sortantes
- Assignation des listes COR entrantes
Commençons donc par définir les tags COR.
Voici comment faire.
R1(config)#dial-peer cor custom R1(config-dp-cor)#name AppelsVers2XX R1(config-dp-cor)#name AppelsVers3XX R1(config-dp-cor)#name AppelsVers4XX
A vous de définir les noms qui vous semblent parlant.
Il n’y a donc rien de plus à faire pour définir les tags.
Il faut voir cela comme la création des Vlans. La création d’un Vlan sert seulement à le déclarer. La « vraie » configuration vient après.
Créons à présent les listes COR sortantes.
R1(config)#dial-peer cor list Vers2XX R1(config-dp-corlist)#member AppelsVers2XX R1(config)#dial-peer cor list Vers3XX R1(config-dp-corlist)#member AppelsVers3XX R1(config)#dial-peer cor list Vers4XX R1(config-dp-corlist)#member AppelsVers4XX
Encore une fois, vous pouvez choisir les noms que vous souhaitez. Ici nous allons rester simples.
Vous remarquerez que dans une liste COR nous définissons des membres à l’aide des tags précédents.
Occupons-nous à présent de créer les listes COR entrantes.
R1(config)#dial-peer cor list Admin R1(config-dp-corlist)#member AppelsVers2XX R1(config-dp-corlist)#member AppelsVers3XX R1(config-dp-corlist)#member AppelsVers4XX
Ici nous avons défini une liste admin qui a tous les droits.
Nous allons en créer une deuxième qui a moins de droit.
R1(config)#dial-peer cor list Basique R1(config-dp-corlist)#member AppelsVers3XX
Vous noterez que les listes entrantes se définissent comme les listes sortantes. Ce qui fera la différence, c’est si on les applique en incoming ou outgoing (un peu comme les ACL).
A présent, nous pouvons assigner les listes sortantes aux Dial-Peers. R1(config)#dial-peer voice 200 voip R1(config-dial-peer)#corlist outgoing Vers2XX R1(config)#dial-peer voice 300 voip R1(config-dial-peer)#corlist outgoing Vers3XX R1(config)#dial-peer voice 400 voip R1(config-dial-peer)#corlist outgoing Vers4XX
Enfin, assignons les listes entrantes.
R1(config)#ephone-dn 1 R1(config-ephone-dn)#corlist incoming Admin R1(config)#ephone-dn 2 R1(config-ephone-dn)#corlist incoming Basique
Vous pouvez aussi configurer des Corlist entrantes sur un Dial-Peer (par exemple pour les postes analogiques connectés au routeur).
Vous pouvez à présent faire le test. 101 peut appeler 201, mais 102 ne peut pas appeler 201.
En ajoutant la commande member AppelsVers2XX dans la Corlist Basique, 102 peut alors appeler 201.
A présent, si vous reprenez les étapes de configuration une à une avec les commandes associées, vous constaterez que ce n’est pas si compliqué à mettre en place.
Une question que nous pouvons nous poser : que se passe-t-il si l’on configure plusieurs Corlist Outgoing sur un Dial-Peer ?
Tout simplement, seulement le dernier est pris en charge.
R1(config)#dial-peer voice 200 voip R1(config-dial-peer)#corlist outgoing Vers2XX R1(config-dial-peer)#corlist outgoing Vers3XX
La configuration précédente donne ceci :
dial-peer voice 200 voip corlist outgoing Vers3XX
Aussi, que se passe-t-il s’il n’y a pas de Corlist en sortie sur un Dial-Peer ? Et bien tous les appels passent. Ce comportement est judicieux, car sinon nous serions obligés de configurer des Corlist partout.
Et que se passe-t-il s’il n’y a pas de Corlist en entrée sur un Dial-Peer (ou sur un e-phone). Et bien ce dernier n’aura aucune restriction (même si il passe par des Dial-Peer ayant des listes en sortie).
Encore une fois, ce comportement est judicieux, car il évite d’avoir à configurer des Corlist partout.
Au final, comme vous avez pu le voir, les Class of Restriction ne sont pas bien compliquées à mettre en place. Le mieux est de préparer la configuration dans un bloc-notes et d’utiliser des noms clairs et cohérant pour les listes et les tags.
Bonjour,
Merci bcp pour votre article.
J’ai une petite remarque, je pense que dans la configuration de R1 y’a une petite erreur.
Le ephone-dn 1 a le numéro 101 et non pas 102 ?
Bonjour, oui c’est bien le numéro 101. C’est corrigé.
Merci du retour
En ajoutant la commande member AppelsVers3XX dans la Corlist Basique, 102 peut alors appeler 201.
Je pense que c’est plutôt: 102 peut alors appeler 301 !
SVP corrigez moi si je me trompe.
Merci d’avance
Bonjour, oui il y avait une erreur. C’est AppelsVers2XX qu’il fallait mettre. C’est corrigé.
Merci du retour.