0% ont trouvé ce document utile (0 vote)
168 vues3 pages

Tuto Transfert

Ce document explique comment configurer et utiliser la fonction de transfert d'appels dans Asterisk. Il décrit les variables de configuration dans le fichier features.conf et les commandes dial() et transfert() utilisées pour effectuer des transferts d'appels supervisés et aveugles entre utilisateurs SIP.

Transféré par

guillaume djaho
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
168 vues3 pages

Tuto Transfert

Ce document explique comment configurer et utiliser la fonction de transfert d'appels dans Asterisk. Il décrit les variables de configuration dans le fichier features.conf et les commandes dial() et transfert() utilisées pour effectuer des transferts d'appels supervisés et aveugles entre utilisateurs SIP.

Transféré par

guillaume djaho
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Tutorial – transfert d'appel

Ce tutorial se décompose en deux parties. La première explique la fonction des différentes


variables présentes dans le fichier features.conf, fichier qui permet de configurer le transfert
d’appel. Puis s’enchaîne le paragraphe sur le rôle des commande dial () et transfert () avec deux
scénarios mettant en évidence le transfert d’appel « aveugle » et supervisé.

1. Configurer le fichier features.conf

Ce fichier permet de configurer le transfert d’appel. Il contient donc toutes les variables
nécessaires à sa création. Dans un premier temps il faut savoir que cette nouvelle partie de ce
fichier est une mise à jour, c'est-à-dire elle n’existait pas avant. Elle se trouve donc seulement, à ce
jour, dans la dernière version d’astérisk.
Par la suite on décrit donc toutes les possibilités qu’apportent ces nouvelles variables.
Ainsi on peut définir le nombre de secondes à attendre entre les chiffres afin de transférer l’appel
par la variable transferdigittimeout suivi d’un chiffre. La variable xfersound permet d’indiquer
par un son la réussite du transfert supervisé d’appel. Réciproquement il existe une variable qui
permet d’indiquer l’échec d’un transfert. Cette variable est xferfailsound. A la base ces deux sons
sont représentés par un bip.
On trouve aussi dans ce fichier un context featuremap contenant deux variables utiles :
• blindxfer qui permet de définir les touches pressées pour initialiser un transfert
« aveugle » sachant qu’ Astérisk supporte les transferts aveugles avec les protocoles
H323 et SIP.
• atxfer qui permet de définir les touches pressées pour initialiser un transfert
supervisé

En fait, ces deux variables permettent de définir la clé initiant le transfert.

Une information importante est de ne pas oublier de relancer Astérisk pour qu’il prenne bien en
compte les modifications du fichier features.conf.
Cependant le faite de configurer ce fichier ne suffit pas à mettre en oeuvre le système de transfert
d’appel. En effet, la plus grande partie de cette fonctionnalité est réalisée par la commande dial ()
et la commande transfert ().

2. fonctionnement de la commande dial ()

Pou réaliser le transfert d’appel, on a besoin d’introduire cette commande dans les scripts des
différents contexts du fichier extension.conf qui utilisent cette fonction et aussi de la paramétrer
par exemple en donnant l’autorisation soit à l’appelant ou soit à l’appelé ou bien les deux à
réaliser le transfert d’appel. Le rôle de cette commande est simple mais très importante
puisqu’elle permet établir une communication sur un channel précis entre deux clients.
La commande dial () peut se composer de deux manières :
- Dial (type/identifier,timeout,options), pour se connecter à seulement un channel
- Dial (type1/identifier1&type2/identifier2&type3/identifier3...,timeout,options) pour donner
la possibilité de se connecter à plusieurs channels différents

Type spécifie le type de channel utilisé comme SIP, H323.


Identifier spécifie le numéro de téléphone que l’on veut joindre.
Le paramètre timeout est optionnel. Quand il est utilisé, il définit le temps maximum, en
secondes, d’attente pour que l’appelé décroche.
Le paramètre options est aussi optionnel mais dans le cas du transfert d’appel, il est essentiel
puisque l’ajout de l’option t autorise l’appelé à transférer l’appel et T autorise l’appelant à
transférer l’appel. Pour que les deux soient autorisés, il suffit de mettre les deux lettres.

Pour rentrer dans les détails en ce qui concerne l’utilisation de channels multiples, l’utilisation de
plusieurs channels au sein de la commande dial () permet d’atteindre simultanément plusieurs
appelés. La communication sera mise en place lorsque l’un de ses réceptionneurs décrochera.

En ce qui concerne la commande transfert (exten), elle intervient seulement pour le transfert
d’appel « aveugle ». Elle permet de transférer un appel à une extension distante préalablement
enregistrée dans la base d’Astérisk. Son utilité est mise en évidence par un exemple plus loin dans
cette partie.

Une fois toutes ces opérations prisent en compte, il ne manque plus que de les introduire dans le
script d’un context du fichier extensions.conf.
Pour faciliter la tâche, on présente deux exemples de scripts, un script qui réalise un transfert
d’appel « aveugle » et un deuxième, un transfert d’appel supervisé.
Il ne faut surtout pas oublier de rajouter dans le context [global], la ligne
include => featuremap pour pouvoir utiliser le context du fichier features.conf où se trouve la
configuration des transferts d’appels pour les deux cas.

2.1 Transfert d’appel supervisé :

Dans cet exemple, on utilise des utilisateurs SIP : 1001,1002 et 1003. Ce qui signifie que dans un
premier temps, ils ont été définis dans le fichier sip.conf que l’on ne va pas détailler ici.
Le scénario est le suivant 1001 veut contacté 1003. Mais il est obligé de passé par l’intermédiaire
1002 pour savoir si 1003 veut répondre à cet appel.

[sip]

exten => 1002,1,Dial(SIP/1002, 10, tT) ;

1001 appelle 1002, qui sont des utilisateurs SIP, alors la commande Dial () établit la
communication entre 1001 et 1002. Comme 1001 souhaite joindre 1003, 1002 peut initier le
transfert en composant le clé de transfert (atxfer) puis compose le numéro 1003.Si le client 1003
existe une tonalité de réussite est entendu sinon une tonalité d’échec. A cet instant 1001 patiente
en écoutant une musique d’attente, et 1002 et 1003 sont en communication. Dés que 1003
décide de prendre la communication, 1002 raccroche alors 1001 et 1003 rentre en
communication.
Cet exemple est très simpliste. Mais ceci montre que le transfert d’appel supervisé peut se faire à
tout moment.

2.2 Transfert d’appel « aveugle »

Dans cet exemple on utilise les mêmes utilisateurs que dans l’exemple précédent.
Dans ce scénario, 1001 contacte 1003 directement mais il ne veut pas recevoir l’appel et le
transfert à 1002.

[sip]

exten => 1003,1,Dial(SIP/1003, 10, tT) ;


exten =>1003,2, transfert(1002) ;
exten => 1003,3,Voicemail(u1003);
exten => 1002,1,Dial(SIP/1002, 10, tT) ;
1001 contacte 1003. Le téléphone de 1003 sonne mais il ne veut pas prendre la communication.
Donc, soit il envoie l’appelant sur sa messagerie en attendant la fin du timeout, fixé à 10 ici, soit il
initie le transfert de l’appel en composant le clé de transfert (blindxfer) avant la fin du timeout.
Alors l’appel est transféré à l’extension indiquée par la commande transfert(), ici 1002, à la fin du
timeout. La commande dial() s’occupe alors d’établir la communication avec 1002.

Ces deux exemples concluent sur l’élaboration du transfert d’appel dans Astérisk.

Vous aimerez peut-être aussi