Je vous propose aujourd’hui d’étudier en détail comment CME traite les appels. Lors-ce que le routeur reçoit un appel, comment le traite-t-il de manière à ce que cet appel arrive à destination ?
Nous pouvons comparer cela à la façon dont un routeur route les paquets à l’aide de sa table de routage.
1) Sélection du Dial-Peer à la composition des numéros
Lors-ce que vous composez un numéro sur votre poste, le routeur recherche un pattern de destination correspondant.
Par exemple, si vous composez le 01 02 03 04 05, à chaque appui de touche, le routeur fait une recherche.
Au début il recherche, 0, puis 01, puis 012, etc…
Il y a deux règles dans cette recherche :
- Le pattern de destination le plus spécifique gagne
- Si une correspondance est trouvée, le routeur arrête de chercher et envoie l’appel
Reprenons l’exemple de l’article précédent en le complétant.
R1(config)#dial-peer voice 200 voip R1(config-dial-peer)#destination-pattern 2.. R1(config-dial-peer)#codec g711alaw R1(config-dial-peer)#session target ipv4:172.16.0.20 R1(config)#dial-peer voice 210 voip R1(config-dial-peer)#destination-pattern 21. R1(config-dial-peer)#codec g711alaw R1(config-dial-peer)#session target ipv4:172.16.0.20
Dans cet exemple, si 110 compose le 210, c’est le Dial-Peer 210 qui l’emporte. En effet, sur les 2 Dial-Peer disponibles, c’est le 210 qui est le plus spécifique.
Maintenant que se passe-t-il si nous ajoutons le Dial-Peer suivant ?
R1(config)#dial-peer voice 21 voip R1(config-dial-peer)#destination-pattern 21 R1(config-dial-peer)#codec g711alaw R1(config-dial-peer)#session target ipv4:172.16.0.20
Et bien si 110 compose le 210, c’est le Dial-Peer 21 qui gagne.
Pour vérifier ce comportement, vous pouvez mettre en place une infra de test.
Voici le schéma et les configurations.
---- R1 ---- telephony-service max-ephones 100 max-dn 100 ip source-address 10.0.1.254 auto-reg-ephone create cnf-files ephone-dn 1 dual-line number 110 ephone 1 mac-address 000C.29E3.87A3 type CIPC button 1:1 dial-peer voice 200 voip destination-pattern 2.. codec g711alaw session target ipv4:172.16.0.20 dial-peer voice 210 voip destination-pattern 21. codec g711alaw session target ipv4:172.16.0.20
---- R2 ---- telephony-service max-ephones 100 max-dn 100 ip source-address 10.0.2.254 auto-reg-ephone create cnf-files ephone-dn 1 dual-line number 210 ephone 1 mac-address 0050.56C0.0002 type CIPC button 1:1 dial-peer voice 100 voip destination-pattern 1.. codec g711alaw session target ipv4:172.16.0.10
Vous pouvez à présent constater que les appels transitent entre les deux routeurs. 110 peut appeler 210.
Mais comment savoir quel Dial-Peer R1 utilise pour router les appels vers 210 ?
Il y a 2 solutions :
- Modifier l’IP du Dial-Peer 210 (ce qui aura pour effet de ne pas router l’appel s’il est utilisé)
- Utiliser la commande show dialplan number 210
Si maintenant vous ajoutez le Dial-Peer 21 que nous avons vu précédemment, vous verrez que 110 ne peut plus appeler 210.
Le résultat sur le poste est le suivant :
Quand le poste compose le numéro, il envoie les numéros un par un au routeur, c’est-à-dire 2 puis 1 puis 0.
Sauf que quand le routeur reçoit 2 puis 1, il est capable de router l’appel grâce au Dial-Peer 21. Le chiffre 0 n’est donc jamais envoyé au routeur car l’appel est routé avant.
Considérons à présent la topologie suivante.
Comment faire pour configurer R1 pour qu’il soit capable de router les appels vers 210 et vers 21.
Pour cela, vous pouvez configurer le Dial-Peer 21 comme ceci.
R1(config)#dial-peer voice 21 voip R1(config-dial-peer)#destination-pattern 21T R1(config-dial-peer)#codec g711alaw R1(config-dial-peer)#session target ipv4:172.16.1.30
De cette manière, le Dial-Peer 21 est moins précis que le 210.
Les appels vers 210 vont donc passer par le Dial-Peer 210.
Quant aux appels pour 21, ils seront pris en charge par le Dial-Peer 21, après que le Timer de 10s soit passé (dû à l’utilisation du Wildcard T). Sinon, pour éviter le Timer, il faut appuyer sur # après avoir composé le 21.
Pour rappel, le Wildcard T peut être 0 ou plusieurs chiffres (pour un numéro de 32 chiffres max).
C’est pour cela que le Dial-Peer 21 prend en charge les appels vers 21. Car si l’on compose le 21, le pattern 21T est plus précis que 21.
2) Sélection des Dial-Peer entrant et sortant
Continuons notre étude du fonctionnement du CME par la sélection des Dial-Peers entrant et sortant.
Comme nous l’avons vu, pour router un appel, le routeur a besoin d’un Dial-Peer.
Selon si l’appel entre dans le routeur ou en sort, le comportement ne sera pas la même.
Dans le Dial-Peer il peut y avoir différentes configuration pour le routage de l’appel.
Nous avons déjà vu les suivantes :
- destination-pattern
- session target
- port
Mais il y a aussi les commandes incoming called-number et answer-address que nous n’avons pas vu.
Dial-Peer Sortant
Commençons pas la sélection du Dial-Peer sortant, car c’est la plus simple.
Pour sélectionner le Dial-Peer sortant, le routeur se base simplement sur les destination-patterns.
Une fois qu’il a choisi le Dial-Peer, il utilise la configuration Session Target (VoiP) ou Port (analogique et numérique) pour router l’appel.
Exemple en VoIP :
dial-peer voice 200 voip destination-pattern 2..codec g711alaw session target ipv4:172.16.0.20
Exemple en analogique :
dial-peer voice 200 pots destination-pattern 2.. port 1/0/0
Dial-Peer entrant
C’est ici que les choses se corsent. La sélection du Dial-Peer entrant est plus compliquée, mais finalement très simple à comprendre.
Il y a 5 méthodes pour la sélection du Dial-Peer entrant. Le routeur les parcours dans l’ordre.
1 – Match le numéro appelé (DNIS) avec la commande incoming called-number
2 – Match le numéro appelant (ANI) avec la commande answer-address
3 – Match le numéro appelant (ANI) avec la commande destination-pattern
4 – Match un Dial-Peer POTS entrant avec la commande port
5 – Si toujours pas de match, utilisation du Dial-Peer 0
Dans les exemples que nous avons vus jusqu’ici, nous n’avons jamais utilisé les commandes incoming called-number et answer-address.
Donc finalement, la sélection du Dial-Peer entrant est très simple.
Exemple
Pour bien comprendre la sélection des Dial-Peers entrants et sortant voyons ensemble un exemple.
Prenons cet exemple.
Considérons un appel depuis 110 vers 210.
Premièrement l’appel arrive à R1. Pour sélectionner le Dial-Peer entrant, il utilise la méthode 4.
En effet, l’appel arrive sur un port analogique. La sélection est donc très simple, le routeur utilise le Dial-Per associé au port en question. Comme nous n’avons pas mis en place les commandes incoming called-number et answer-address et qu’un poste analogique ne fournit pas de numéro appelant, c’est la méthode 4 qui est utilisée.
Puis l’appel veut quitter R1. Comme nous l’avons dit, la sélection d’un Dial-Peer sortant est très simple. Il se base sur les destination-patterns. Pour joindre 210 il utilise donc le Dial-Peer 210.
Puis l’appel arrive à R2. Pour sélectionner le Dial-Peer entrant, R2 utilise la méthode 3.
Il va sélectionner le Dial-Peer 110.
Pourquoi ? Car nous n’avons pas configuré les commandes incoming called-number et answer-address. Par contre, comme il s’agit d’un appel VoIP, un numéro d’appelant est indiqué (ici c’est 110). Et il y a un Dial-Peer avec comme destination-patter 110.
Enfin, pour sortir de R2 et aller vers le poste 210, le routeur n’a pas besoin de Dial-Peer. En effet, la configuration ephone suffit.
Mais qu’en est-il de la méthode 5 ?
Et bien elle est utilisée si aucune autre méthode ne match. Le Dial-Peer agit comme une sorte de route par défaut. Le Dial-Peer 0 possède des paramètres par défauts qui sont inchangeables.
Laisser un commentaire