CME – Class of Restriction

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.

CCNAV - S2.7 - Image-01

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.

 

 

Tagués avec : , ,
Publié dans Call Manager Express
4 commentaires pour “CME – Class of Restriction
  1. michou dit :

    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 ?

  2. michou dit :

    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

Répondre à michou Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.