La musique d’attente est une des fonctionnalités les plus utilisées dans la téléphonie.
Le principe est simple, faire patienter un utilisateur avec une musique plutôt qu’un blanc.
A travers cet article nous verrons l’utilisation de musique pour la mise en attente durant un appel, mais aussi la lecture de musique pour faire patienter un appelant avant que l’appelé décroche.
1) Fonctionnement
Comme dit en introduction, la musique d’attente est très largement utilisée en VoIP.
Elle est simple à mettre en place, et rend l’attente bien plus agréable.
Le cas le plus courant de musique d’attente est justement lors de la mise en attente d’un appel.
Prenons l’exemple suivant : Jean appelle Léon.
Durant l’appel, Jean a besoin de faire patienter Léon le temps de chercher un document.
Pour rendre l’attente plus agréable, Jean va mettre en attente l’appel.
Pendant ce temps-là, Léon entend une musique.
A tout moment Jean peut reprendre l’appel.
Autre exemple évoqué précédemment, le pré-décroché.
Le pré-décoché consiste à jouer une musique d’attente à l’appelant, en attendant que l’appelé décroche.
Le pré-décroché est majoritairement utilisé sur les standards téléphoniques.
Les musiques d’attente d’Asrterisk sont stockées dans /var/lib/asterisk/moh
Par défaut, Asterisk supporte de nombreux formats audio tel que « wav » ou « ulaw ».
En revanche, par défaut il ne supporte pas le format MP3.
Vous pouvez voir la liste des formats supportés en utilisant la commande suivante :
asterisk –rv core show file formats
Pour ce qui est de la configuration, une partie se fait dans le fichier musiconhold.conf, et une partie se fera dans le DialPLan (donc dans extensions.conf).
2) Configuration basique
Commençons par étudier la configuration basique.
Vous aurez pu constater que par défaut, la musique d’attente est déjà configurée.
En effet, si l’on met un appel en attente, l’interlocuteur entendra une musique.
La plupart des clients SIP offrent par défaut la possibilité de mettre en attente l’appel.
Voici l’exemple avec Blink :
Par défaut, dans le fichier musiconhold.conf vous retrouvez la configuration suivante :
[default] mode=files directory=moh
mode=file signifie que nous jouerons des fichiers audio
directory=moh fait référence au répertoire /var/lib/asterisk/moh/
Il est donc possible de chercher les sons à jouer dans un autre répertoire.
directory=mohulaw fera référence au répertoire /var/lib/asterisk/mohulaw/
Le chemin du répertoire est donc un chemin relatif à partir de /var/lib/asterisk/
Il est aussi possible de renseigner un chemin absolu.
Dans musiconhold.conf, il est possible d’ajouter d’autres sections.
Exemple :
[ulaw] mode=files directory=mohulaw random=yes
Pour cela il vous faudra auparavant avoir créé un dossier mohulaw.
Ce dossier devra contenir des fichiers audio
Exemple :
ls /var/lib/asterisk/mohulaw/ sound2.ulaw sound3.ulaw
Ensuite, dans extensions.conf, il faudra personnaliser le choix des musiques d’attentes.
exten => _1[0-8]X,1,Answer exten => _1[0-8]X,2,Set(CHANNEL(musicclass)=ulaw) exten => _1[0-8]X,3,Dial(SIP/${EXTEN},40) exten => _1[0-8]X,4,Voicemail(${EXTEN}@dept_1_vm)
Relancer Asterisk avant de tester.
Ainsi, lors-ce que l’utilisateur 100 appelle l’utilisateur 101, et qu’il le place en attente, 101 entendra les musiques du dossier mohulaw.
Il est aussi possible de diffuser une WebRadio en guise de musique d’attente.
Pour cela, ajouter le package mpg123.
apt-get install mpg123
Un redémarrage complet d’Asterisk peut-être nécessaire (/etc.init.d/asterisk restart).
Puis dans musiconhold.conf, ajouter la section suivante :
[webradio] mode=custom application=/usr/bin/mpg123 -q -r 8000 -f 8192 -s --mono http://linux0.cs.uaf.edu/icecast/kuac16mono
Remplacer l’URL indiquée par celle de la WebRadio choisie.
A nouveau, adapter la configuration dans extensions.conf, puis relancer Asterisk.
3) Configuration d’un pré-décroché
Comme évoqué précédemment, le pré-décroché permet de jouer une musique d’attente à l’appelant, en attendant que l’utilisateur décroche.
Le pré-décroché est très souvent utilisé pour les standards téléphoniques.
La configuration se fera dans extensions.conf :
exten => 666,1,Ringing exten => 666,2,Wait(1) exten => 666,3,Answer() exten => 666,4,Set(CHANNEL(musicclass)=default) exten => 666,5,PlayBack(/var/lib/asterisk/sounds/fr/silence/1) exten => 666,6,Dial(SIP/102,20,tTm(default)) exten => 666,7,Voicemail(102) exten => 666,8,HangUp()
En détails, voici les étapes :
- L’appelant entend le téléphone sonner pendant 1s
- Puis l’appel est « décroché »
- Puis il y a un blanc de 1s
- Puis le poste 101 se met à sonner, pendant que l’appelant entend la musique d’attente
- S’il n’y a pas de réponse au bout de 20s, l’appelant tombe sur la messagerie
De même que précédemment, il est possible d’utiliser la WebRadio.
Il faudra donc remplacer « default » dans les lignes 4 et 6.
Pour utiliser des musiques d’attente spécifiques au pré-décroché, il faudra faire la même manipulation que tout à l’heure, c’est-à-dire :
- Créer un répertoire
- Y placer des sons
- Créer une nouvelle section dans musiconhold.conf
- La faire pointer vers ce répertoire
- Utiliser cette section dans extensions.conf
Pour les pré-décrochés, l’idéal est de jouer un message d’accueil, indiquant qu’une personne va prendre l’appel sous peu.
Pour une configuration plus complète, vous pouvez mettre en place un Ring Group avec pré-décroché.
Voici ce que cela donne pour un Ring Group en mode Round Robin :
exten => 666,1,Ringing exten => 666,2,Wait(1) exten => 666,3,Answer() exten => 666,4,Set(CHANNEL(musicclass)=default) exten => 666,5,PlayBack(/var/lib/asterisk/sounds/fr/silence/1) exten => 666,6,Dial(SIP/102,15,tTm(default)) exten => 666,7,Dial(SIP/200,15,tTm(default)) exten => 666,8,Voicemail(102) exten => 666,9,HangUp()
4) Utiliser des fichiers MP3
Par défaut Asterisk ne prend pas en charge le format MP3.
Si vous souhaitez pouvoir utiliser des fichiers MP3 (ce qui est bien plus simple), il faudra configurer Asterisk pour qu’il les supporte.
4.1) Installations
Voyons la liste des étapes à suivre.
Tout d’abord, relancer le menuselect :
cd /usr/src/asterisk/asterisk-1X.X.X/ make menuselect
Sélectionner l’option MP3 :
Ensuite, installer le package subversion, nécessaire à l’exécution du script qui suit.
apt-get install subversion
Puis exécuter le script suivant (toujours dans le répertoire des sources d’Asterisk):
./contrib/scripts/get_mp3_source.sh
Recompiler et réinstaller Asterisk
make make install
Enfin, redémarrer Asterisk.
/etc/init.d/asterisk restart
A présent, Asterisk devrait annoncer qu’il support les MP3.
4.2) Lecture de MP3
Créer un dossier contenant les fichiers MP3.
Dans musiconhold.conf, ajouter la section suivante :
[mp3] mode=mp3 directory=/var/lib/asterisk/mohmp3 random=yes
« directory » doit faire référence au dossier contenant les fichiers MP3.
Dans mon cas, un chemin absolu était nécessaire pour que les sons MP3 soient joués.
Il ne vous reste plus qu’à faire référence à la section MP3 dans extensions.conf.
Bonjour
j’utilise asterisk avec une passerelle GSM chinoise de marque DINSTAR pour éffectuer des appels IP à GSM. j’ai configurer un IVR sur asterisk qui fonctionne très bien lors des appels IP à IP. sans l’IVR les appels IP à GSM et GSM à IP fonctionnent parfaitement bien. mais intégrant l’IVR, lors des appels entrant (GSM à IP) quand l’utilisateur choisis l’option pour discuter avec un opérateur, l’appelant est mis en attente et le softphone de l’agent se met à sonner; quand l’agent décroche l’appelant reste toujours en attente et aucun des deux extrémités n’entends l’autre: aucune conversation n’est possible.
svp j’ai besoin d’aide pour m’aider à y voir plus clair. Merci
Bonjour,
Je n’ai jamais fait une telle configuration.
Je vous conseille de regarder ce qu’il se passe dans la console Asterisk, avec un mode verbeux important (asterisk -rvvv)