Affichage des résultats 1 à 4 sur 4

Discussion: Créer un service : appel de minuterie avec Asterisk

  1. #1
    Membre
    Date d'inscription
    avril 2012
    Localisation
    83170 Tourves (Var)
    Messages
    46
    Downloads
    0
    Uploads
    0

    Créer un service : appel de minuterie avec Asterisk

    Bonjour,

    Ayant asterisk couplé avec mon système domotique, en utilisant des smartphones / tablette / PC et téléphones fixe ip (2x Gigaset C610 IP Trio),
    Ayant besoin souvent d'un minuteur, je me suis dit pourquoi ne pas en créer un.
    Au moment que je vous écris je suis sur Linux Debian 2.6.39.4 armv5tel et j'utilise Asterisk 1.8.11.0.
    C'est pourquoi je vais vous expliquer comment j'ai créé un appel de minuterie, pour ceux qui son intéressé.

    Pour commencer, il faut éditer le fichier /etc/asterisk/extensions.conf avec nano par exemple.
    Code:
    # nano /etc/asterisk/extensions.conf
    Puis faite un copier coller dans fichier /etc/asterisk/extensions.conf édité.
    Code:
    ;# Appel de minuterie #
    ; Fichier : /var/lib/asterisk/agi-bin/minuterie.agi
    exten => 556,1,Answer()
    exten => 556,n,Playtones(ring)
    exten => 556,n,wait(10)
    exten => 556,n,Set(NUMERO=${CALLERID(name)})
    exten => 556,n,wait(1)
    exten => 556,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_minuterie_bienvenue)
    exten => 556,n,Read(MINUTE,,3)
    exten => 556,n,Saynumber(${MINUTE})
    exten => 556,n,Playback(minute)
    exten => 556,n,AGI(/var/lib/asterisk/agi-bin/minuterie.agi,${NUMERO},${MINUTE})
    exten => 556,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_minuterie_sachez)
    exten => 556,n,Playback(/lib/asterisk/sounds/custom/domotique_appel_minuterie_merci)
    exten => 556,n,Playback(vm-goodbye)
    exten => 556,n,Hangup()
    
    ;Extension pour minuterie
    exten => minuterie,1,Answer()
    exten => minuterie,n,Wait(1)
    exten => minuterie,n,PlayBack(hello-world)
    exten => minuterie,n,Wait(1)
    exten => minuterie,n,Playback(rqsted-wakeup-for)
    exten => minuterie,n,Playback(digits/today)
    exten => minuterie,n,SayUnixTime(,America/Montreal,AdBY 'digits/at' IMp)
    exten => minuterie,n,Hangup()
    Ensuite il faut créer le fichier /var/lib/asterisk/agi-bin/minuterie.agi
    Code:
    # touch /var/lib/asterisk/agi-bin/minuterie.agi
    Puis l'éditer avec nano par exemple.
    Code:
    # nano /var/lib/asterisk/agi-bin/minuterie.agi
    et y copier coller ce qui suit :
    Code:
    #!/bin/bash
    
    NUMERO=$1
    MINUTE=$2
    
    JOUR=$(date +%d)
    MOIS=$(date +%m)
    ANNEE=$(date +%Y)
    HEURE=$(date +%H%M)
    
    OPT_STOP=$MINUTE
    OPT_TIME=$(date +%s)
    OPT_FIN=$(date -d "1970-01-01 GMT $(($OPT_TIME+60*$OPT_STOP)) seconds" "+ MOIS=%m JOUR=%d ANNEE=%Y" )
    HEURE2=$(date -d "1970-01-01 GMT $(($OPT_TIME+60*$OPT_STOP)) seconds" "+%H%M" )
    HORAIRE=$HEURE2
    
    
    TIMESTAMP=$ANNEE$MOIS$JOUR$HORAIRE
    
    FICHIER=$NUMERO$TIMESTAMP.call
    cd /var/spool/asterisk/tmp/
    touch $FICHIER
    
    echo "Channel: SIP/$NUMERO" >> /var/spool/asterisk/tmp/$FICHIER
    echo "Account: $NUMERO" >> /var/spool/asterisk/tmp/$FICHIER
    echo "CallerID: Minuterie <556>" >> /var/spool/asterisk/tmp/$FICHIER
    echo "MaxRetries: 0" >> /var/spool/asterisk/tmp/$FICHIER #Nombre d'appel / par defaults : 3
    echo "RetryTime: 60" >> /var/spool/asterisk/tmp/$FICHIER #Durée de l'appel / par defaults : 10 
    echo "WaitTime: 60" >> /var/spool/asterisk/tmp/$FICHIER #Temps d'attente entre les appels / par défauts : 10
    echo "Context: interne" >> /var/spool/asterisk/tmp/$FICHIER
    echo "Extension: minuterie" >> /var/spool/asterisk/tmp/$FICHIER
    
    touch -t $TIMESTAMP /var/spool/asterisk/tmp/$FICHIER
    
    cp -a /var/spool/asterisk/tmp/$FICHIER /var/spool/asterisk/outgoing && rm /var/spool/asterisk/tmp/$FICHIER
    puis quitter et enregistrer.

    Ensuite il faut redémarrer Asterisk pour qu'il prenne en compte les changements.
    Code:
    # service asterisk restart
    Et il ne vous reste plus qu'à composer le 556, le numéro de l'appel de minuterie.
    Et voilà vous n’oublieriez plus vos pattes qui cuisent sur les feux !

    * Vous remarquerez que dans le fichier /etc/asterisk/extensions.conf
    Il y a d'indiquer les fichiers audio suivant pour asterisk :
    domotique_appel_minuterie_bienvenue -----> domotique_appel_minuterie_bienvenue.wav
    domotique_appel_minuterie_sachez -----> domotique_appel_minuterie_sachez.wav
    domotique_appel_minuterie_merci -----> domotique_appel_minuterie_merci.wav

    Ce sont des fichiers audio que je me suis créés pour asterisk, voilà comment j'ai fait depuis un autre poste linux Ubuntu 12.04 LTS x64.
    Il faut installer outRec : http://outrec.sourceforge.net/
    une fois outrec installé, il faut installé Audacity
    Code:
    sudo apt-get install audacity
    Ensuite il faut se rendre sur le site internet suivant
    http://www.acapela-group.fr/text-to-...tive-demo.html
    Puis à :
    Code:
    sélectionnez une langue : French (France)
    choisissez une voix : French (France) Alice
    Dans tapez votre texte ici, j'ai mis pour :

    domotique_appel_minuterie_bienvenue
    Code:
    Bonjour, Bienvenue sur appel de minuterie. Veuillez indiquer dans combien de minutes, je dois vous appeler. Pour les chiffre inférieur à 10, mettre des 0 avant. C'est à vous.
    domotique_appel_minuterie_sachez
    Code:
    Sachez que le téléphone, sonnera une fois pendant 60 secondes, depuis le poste où vous effectuez l'appel.
    domotique_appel_minuterie_merci
    Code:
    Merci d'avoir utilisé appel de minuterie.
    Ensuite cliquer sur écouter!
    Si c'est correct alors cliquer sur le bouton rond de couleur rouge dans outrec et appuyer vite sur la lecture du texte audio précédemment complété.
    une fois la lecture terminéé cliquer dans outrec sur le carré blanc pour arrêter l'enregistrement.
    les enregistrements audio avec outrec ce trouvent dans le repertoire $HOME/outRec/
    Code:
    ls -al $HOME/outRec/
    Ensuite ouvrir le fichier audio précédemment enregistré avec Audiacity et couper tous les blancs. pour enregistrer le fichier , cliquer sur : Fichier - Exporter - puis indiquer un nom de fichier.

    Ensuite il ne vous reste plus qu'à convertir le ficher wav au format audio compatible pour asterisk
    Doc disponible ici : https://wiki.xivo.fr/index.php/Conve..._pour_Asterisk
    Exemple :
    Code:
    $ sox -t .wav $HOME/outRec/domotique_appel_minuterie_bienvenue.wav -t .wav -r 8000 -c 1 $HOME/outRec/domotique_appel_minuterie_bienvenue_ok.wav
    Puis sur le serveur Asterisk , créer le dossier /lib/asterisk/sounds/custom/
    Code:
    sudo mkdir -v /lib/asterisk/sounds/custom/
    Et copier vos fichiers audio pour asterisk dedans
    Code:
    /lib/asterisk/sounds/custom/
    Pour voir tous les fichiers dans le dossier taper :
    Code:
    ls -al /lib/asterisk/sounds/custom/
    Pour écouter un fichier audio
    Code:
    aplay /lib/asterisk/sounds/custom/domotique_appel_minuterie_bienvenue.wav
    Voilà en espérant que ce tuto vous rende service.
    Dernière modification par xunil2003 ; 05/01/2014 à 14h36.

  2. #2
    Membre Association
    Date d'inscription
    août 2010
    Localisation
    région parisienne
    Messages
    386
    Downloads
    0
    Uploads
    0
    sympa de partager le fruit de ton travail
    Merci

  3. #3
    Membre Junior
    Date d'inscription
    juillet 2013
    Messages
    23
    Downloads
    0
    Uploads
    0
    Effectivement,

    Merci d'avoir partagé ce travail intéressant.

  4. #4
    Membre
    Date d'inscription
    février 2014
    Messages
    39
    Downloads
    0
    Uploads
    0
    Merci d'avoir partagé! c'est sympa

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •