«

»

Août 31 2012

[Tuto] Asterisk: Mise en place des boîtes vocales et configuration de l’envoie de mails

Nous allons voir dans ce tutoriel comment mettre en place les boites vocales pour nos utilisateurs sous Asterisk et configurer les e-mails.

Pour ce faire nous allons reprendre la configuration d’Asterisk du tuto précédent et nous allons donc créer une boite vocale pour John DOE et pour Albert DOE.

Les deux fichiers que nous allons éditer pour effectuer ceci sont les fichiers voicemail.conf et extensions.conf se trouvant dans /etc/asterisk

Configuration des boîtes vocales

Commençons par éditer le fichier voicemail.conf

Voici le contenu de mon fichier:

[general]
format=wav49|gsm|wav
;serveremail=maison-voicemail@test.com
;attach=yes
maxsilence=10
silencethreshold=128
maxlogins=3
sendvoicemail=yes

[work]
6001 => 1234,John DOE
6002 => 1234,Albert DUPONT

Decorticons les trois dernières lignes:
[work] : Contexte dans lequel se trouvent nos utilisateurs
6001 => : Numéro de l’utilisateur
1234 : Mot de passe pour accéder à la boite vocale
John DOE: Prénom et nom de l’utilisateur

Maintenant nous allons éditer le fichier extensions.conf pour configurer deux choses:

  • Le fait que au bout d’un certain temps Asterisk bascule sur la boite vocale de l’utilisateur si celui-ci ne répond pas
  • Création d’une extension pour créer le numéro qui servira à consulter la boite vocale.

Voici donc mon fichier extensions.conf modifié:


[general]
static=yes
writeprotect=no
clearglobalvars=no
[globals]
CONSOLE=Console/dsp				; Console interface for demo
IAXINFO=guest					; IAXtel username/password
TRUNK=DAHDI/G2					; Trunk interface
TRUNKMSD=1					; MSD digits to strip (usually 1 or 0)

[work]
exten => _6XXX,1,Dial(SIP/${EXTEN},20)
exten => _6XXX,2,VoiceMail(${EXTEN}@work)

;Numéro de la boite vocale
exten => 600,1,VoiceMailMain(${CALLERID(num)}@work)

J’ai donc remplacer la ligne

exten => _6XXX,2,Hangup()

Par celle-ci:

exten => _6XXX,2,VoiceMail(${EXTEN}@work)

Cette ligne permet donc de de basculer sur la boîte vocale de l’utilisateur appellé s’il n’y a pas de réponse au bout de 20 secondes.
Décorticons cette ligne:
exten => : On déclare l’extensions
_6XXX : Toujours les numéros de 6000 à 6999
2 : Priorité
VoiceMail: On lance l’application Voicemail
${EXTEN}@work : On récupère la numéro mis en variable et on se connecte a la boite vocale associé du contexte work (comme précisé dans le fichier voicemail.conf)

J’ai aussi rajouté la ligne suivante:

exten => 600,1,VoiceMailMain(${CALLERID(num)}@work)

Cette ligne sert a mettre en place un numéro pour que nos utilisateurs puissent consulter leurs boîtes vocales.
exten => : On déclare l’extension
600 : On déclare le numéros 600 comme numéro de messagerie
1 : Priorité
VoiceMailMain : On appelle l’application VoiceMailMain
${CALLERID(num)} : On récupère le numéros de l’utilisateur qui appelle pour se connecter à sa boîte vocale
@work : on est toujours dans le contexte work

A partir de maintenant, si vous faites un reload de votre serveur Asterisk vous pouvez déposer des messages vocaux entre vos utilisateurs et faires en sortes qu’ils consultent leurs messagerie en appelant le 600.

Comment ne pas taper de mots de passes pour consulter sa boîte vocale ?

Lorsque que vous appellez le 600 le robot vous demandera le mot de passe de la boîte vocale spécifié dans le fichier voicemail.conf (1234), si vous ne souhaitez pas que vos utilisateurs aient à taper un mot de passe vous avez deux solutions:
Soit vous ne spécifiez pas de mot de passe dans le fichier voicemail.conf

Exemple:

[work]
6001 => ,jdoe
6002 => ,adupont

Soit vous rajoutez l’option « s » dans la déclaration du numéro de boîte vocale:

exten => 600,1,VoiceMailMain(${CALLERID(num)}@work,s)

Recevoir un mail et le message vocal en pièce jointe

Asterisk permet que lorsque qu’un utilisateur laisse un message sur la boîte vocale d’un autre utilisateur, celui-ci reçoit un mail avec en pièce jointe le message audio.

Installation et configuration de Postfix

Pour que notre serveur Asterisk puisse envoyer des mail nous devons installer un serveur SMTP, pour ce tuto nous allons utiliser Postfix.

On commence donc par installer postfix

apt-get install postix

Durant l’installation de Postfix il vous sera demandé de répondre à quelques questions, repondez au questions comme ci-dessous:

Installation de Postfix étape 1

Selectionnez Internet avec un « Smarthost »

Nom de domaine

Nom de domaine

Pour ce tuto nous allons utiliser le serveur SMTP de Free

On met le SMTP de free

On met le SMTP de free

Maintenant que Postfix est installé et configuré vous pouvez vérifier que l’envoi de mail fonctionne en tapant la commande suivante:

mail -s Test monadresse@gmail.com
Voici un test de mail
.
Cc:

Consultez votre boite mail normalement vous devriez recevoir ce mail.

Configuration d’Asterisk pour l’envoi de mail

La configuration d’Asterisk pour l’envoi de mail se fait dans le fichier voicemail.conf

Nous allons reprendre le fichier précédent et l’éditer de la façon suivante:

[general]
format=wav49|gsm|wav
serveremail=asterisk@test.com
attach=yes
maxsilence=10
silencethreshold=128
maxlogins=3
sendvoicemail=yes

;Corps du mail
emaildateformat=%A, %d %B %Y a %H:%M:%S
emailsubject=[ASTERIX] Nouveau message dans la boite ${VM_MAILBOX}
emailbody=Bonjour ${VM_NAME},\n\n\tLe numero ${VM_CALLERID} a tente de vous joindre sans succes le ${VM_DATE}.\nCette personne vous a laisse un message de ${VM_DUR} secondes. Vous pouvez le consulter en appelant votre boite vocale.\n\n\tBonne journee !\n\n\t\t\t\t--Asterix\n
pagerfromstring=[Asterix]
pagersubject=Nouveau message vocal
pagerbody=Nouveau message de ${VM_DUR} secondes dans la boite ${VM_MAILBOX} laisse le ${VM_DATE} par ${VM_CALLERID}.

[work]
6001 => ,John DOE,jdoe@test.com
6002 => ,Albert DUPONT,adupont@test.com

Comme vous pouvez le voir nous avons décommenté les lignes suivantes:

serveremail=asterisk@test.com
attach=yes

Et nous avons rajouté le corps du mail, ceci sera le message que l’utilisateur recevra.

Enfin nous avons rajouté dans le contexte work les adresses e-mail des utilisateurs.

Si tout est correctement bien configuré vous allez recevoir un mail de cette forme si un utilisateur à laissé un message sur votre répondeur:

Voici le mail qu' Asterisk envoi

Voici le mail qu’ Asterisk envoi

(20 commentaires)

Passer au formulaire de commentaire

  1. Jean-Pierre

    Bonjour cher Denis, il y a une erreur à la ligne suivante :
    apt-get install postix

    Corriger en postfix, merci !

  2. ange

    merci pour ce tuto moi je demande de l’aide sur la configuration d’un ivr avec elastix

  3. Pierre Couderc

    Merci.
    On peut aussi utiliser nullmailer beaucoup plus léger, si la lourdeur de postfix n’est pas requise.

    PC

  4. WillyJunior

    S’il vous plait, aidez moi à configurer Asterisk pour les SMS,si bien sur c’est possible….!!!

  5. oulabo

    Aidez moi à configurer Asterisk pour la visioconference svp….
    merci

  6. mahili

    Comment je dépose mon message vocal sur le numéro de mon correspondant quand ce dernier n’est pas connecté?

  7. titilebonstutos

    luuuu petit error le paquet est postfix et non postix
    très bon tuto merci !!

  8. rmasterisk

    salut denis merci pour les tutos :)
    j’ai pas compris nom de courier donner moi un exemple svp ( est ce que je peux faire rmasterisk@gmail.com comme nom de courier ) ?????
    et pour le serveur relais smtp est ce que toujours on utilise smtp.free.fr ???

    1. Denis

      Hello,

      J’ai utilisé free parce que à cette époque mon FAI était free et donc tu avais accès au SMTP de free.

      L’important est-ce que ton serveur puisse envoyer des mails.

      Je te conseil dans d’utiliser le SMTP de Gmail pour envoyer des mails depuis ton serveur. Il te faut bien sur une adresse Gmail valide.

      Tu trouveras comment faire dans ce tuto: http://denisrosenkranz.com/tuto-mdadm-superviser-un-raid-logiciel/, dans: « Configurer notre serveur pour envoyer des E-mails »

      1. rmasterisk

        merci denis

        1. rmasterisk

          merci denis j’ai résolu le probleme et maintenant boite vocal fonctionne comme il faut :)

  9. max

    Bonjour,

    super tuto!!!!

    merci beaucoup.

    ceci dit, j’ai un tout petit problème.

    après 20 secondes, l’appel n’est pas transféré sur messagerie vocale.

    j’ai pourtant suivi exactemnt ce que vous avez décrit dans votre tuto.

    peut être aurez vous une réponse avec le message que j’ai:

    — Executing [6002@work:1] Dial(« SIP/6001-0000000a », « SIP/6002,20″) in new stack
    == Using SIP RTP CoS mark 5
    — Called SIP/6002
    — SIP/6002-0000000b is ringing
    — Nobody picked up in 20000 ms
    [Jul 17 05:52:00] WARNING[3924]: pbx.c:4376 pbx_extension_helper: No application  » for extension (work, 6002, 2)
    == Spawn extension (work, 6002, 2) exited non-zero on ‘SIP/6001-0000000a’

    En vous remerciant par avance.

    cordialement.

    1. max

      Bonjour problème résolu.

      merci tout de même

      1. tonix

        Bonjour, j’ai également le même problème peut tu me dire comment tu a fait pour résoudre ton problème ?

        Merci d’avance !

        Cordialement,

        1. tonix

          laisse … j’ai trouver la solution .

  10. Mohamed Moustapha

    Faire interagir Asterisk et zimbra
    Bonjour
    Je voudrais mettre en relation mon asterisk avec zimbra pour ce qui est des mail !!
    Asterisk et zimbra son installés sur deux serveur differents !!!
    La messagerie vocale d’asterisk fonctionne et les échangent de mails avec zimbra également !! mais j’arrive pas à recevoir mes messages vocaux depuis asterisk dans ma boite au lettre zimbra !!
    Aidez moi svp

  11. AKIL

    merci bocou sa m’a beaucoup pour mon peti projet mais j’ai un petit probleme, apres l’installation de postfix
    la commande pour le test : mail -s Test elcoobr@hotmail.fr
    le Cc: apparait et rien n’apparait. pour reprendre je dois stopper le processus (ctrl+Z)
    et je ne recoi rien dans ma boite quelqu’un peut m’aider d’ou provenir le probleme?

    merci d’avance

    1. AKIL

      merci bocou sa m’a beaucoup pour mon peti projet mais j’ai un petit probleme, apres l’installation de postfix
      la commande pour le test : mail -s Test elcoobr@hotmail.fr
      le Cc: apparait et rien se PASSE*. pour reprendre je dois stopper le processus (ctrl+Z)
      et je ne recoi rien dans ma boite quelqu’un peut m’aider d’ou peut provenir le probleme?

      merci d’avance

  12. Mqxxou

    Salut !
    Vraiment super tuto concernant l’installation d’asterisk et de son repondeur !
    Cepdendant, après avoir suivi a la lettre du tuto d’avant, tout est ok
    Apres avoir suivi ce tuto là,
    lorsque l’utilisateur ne répond pas dans la console j’ai bien :
    Playing ‘vm-intro.ulaw’ (language ‘fr’)
    Playing ‘beep.ulaw’ (language ‘fr’)

    Mais je n’entend aucun message
    et toujours dans la console un :
    WARNING[19592]: app.c:863 __ast_play_and_record: No audio available on SIP/6001-00000012??

    UNe piste ?

    1. Denis

      Salut,

      J’ai l’impression que c’est un soucis au niveau des codecs qu’uilise tu comme client SIP? Et quels codecs as-tu activé dans ton users.conf?

Laisser un commentaire

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

Lire les articles précédents :
Asterisk_logo
[Tuto] Asterisk: Installer et configurer Asterisk sous Debian 6 et Ubuntu

Dans ce tutoriel nous allons mettre en place un serveur de VOIP Asterisk sur un serveur linux Debian ou Ubuntu...

Fermer