• Créer votre service de réveil avec votre Asterisk

      Voici une manière comme une autre de mettre en place sur votre asterisk un service de réveil sommaire sur vos téléphones internes.

      Il suffira pour enregistrer l'heure du réveil de composer un numéro avec la date et l'heure du réveil dedans par exemple :

      • Je veux être réveiller le 14 août 2010 à 05:49


      Vous composerez donc le numéro comme suit :
      Code:
      977140820100549
      Voici donc le code de l'AGI et le bout de dialplan :

      A coller dans le fichier /var/lib/asterisk/agi-bin/reveil.agi :
      Code:
      #!/bin/bash
      
      # Numéro à rappeler pour le réveil
      NUMERO=$1
      
      # Jour configuré pour le réveil
      JOUR=$2
      
      # Mois configuré pour le réveil
      MOIS=$3
      
      # Annee configurée pour le réveil
      ANNEE=$4
      
      # Heure configurée pour le réveil
      HEURE=$5
      
      # Minute configurée pour le réveil
      MINUTE=$6
      
      TIMESTAMP=$ANNEE$MOIS$JOUR$HEURE$MINUTE
      
      FICHIER=$NUMERO$TIMESTAMP.call
      
      #echo "Channel: SIP/$NUMERO \nAccount: $NUMERO \nMaxRetries: 3\nRetryTime: 10\nWaitTime: 10\nContext: reveil\nExtension: reveil" >> /var/spool/asterisk/tmp/test.call
      echo "Channel: SIP/$NUMERO" >> /var/spool/asterisk/tmp/$FICHIER
      echo "Account: $NUMERO" >> /var/spool/asterisk/tmp/$FICHIER
      echo "CallerID: Reveil <955>" >> /var/spool/asterisk/tmp/$FICHIER
      echo "MaxRetries: 3" >> /var/spool/asterisk/tmp/$FICHIER
      echo "RetryTime: 10" >> /var/spool/asterisk/tmp/$FICHIER
      echo "WaitTime: 10" >> /var/spool/asterisk/tmp/$FICHIER
      echo "Context: reveil" >> /var/spool/asterisk/tmp/$FICHIER
      echo "Extension: reveil" >> /var/spool/asterisk/tmp/$FICHIER
      
      
      touch -t $TIMESTAMP /var/spool/asterisk/tmp/$FICHIER
      
      mv /var/spool/asterisk/tmp/$FICHIER /var/spool/asterisk/outgoing
      Ne pas oublié de rendre executable le fichier...

      A coller dans votre extensions.conf :
      Code:
      [reveil]
      exten => _977XXXXXXXXXXXX,1,Answer()
      exten => _977XXXXXXXXXXXX,n,Set(ACCOUNTCDE=${CDR(accountcode)})
      exten => _977XXXXXXXXXXXX,n,Wait(1)
      exten => _977XXXXXXXXXXXX,n,Playback(hello-world)
      exten => _977XXXXXXXXXXXX,n,Playback(date)
      exten => _977XXXXXXXXXXXX,n,Saynumber(${EXTEN:3:2})
      exten => _977XXXXXXXXXXXX,n,Playback(dot)
      exten => _977XXXXXXXXXXXX,n,Saynumber(${EXTEN:5:2})
      exten => _977XXXXXXXXXXXX,n,Playback(dot)
      exten => _977XXXXXXXXXXXX,n,Saynumber(${EXTEN:7:4})
      exten => _977XXXXXXXXXXXX,n,Wait(1)
      exten => _977XXXXXXXXXXXX,n,Saynumber(${EXTEN:11:2})
      exten => _977XXXXXXXXXXXX,n,Playback(hours)
      exten => _977XXXXXXXXXXXX,n,Playback(and)
      exten => _977XXXXXXXXXXXX,n,Saynumber(${EXTEN:13:2})
      exten => _977XXXXXXXXXXXX,n,Playback(minutes)
      exten => _977XXXXXXXXXXXX,n,AGI(reveil.agi,${ACCOUNTCDE},${EXTEN:3:2},${EXTEN:5:2},${EXTEN:7:4},${EXTEN:11:2},${EXTEN:13:2})
      exten => _977XXXXXXXXXXXX,n,Hangup()
      
      
      exten => reveil,1,Answer()
      exten => reveil,n,Wait(1)
      exten => reveil,n,PlayBack(hello-world)
      exten => reveil,n,Wait(1)
      exten => reveil,n,SayUnixTime(,CET,kMbdY)
      exten => reveil,n,Hangup()
      Cet article a été publié à l'origine dans la discussion du forum : Créer votre service de réveil avec votre Asterisk commencé(e) par cedricscha Afficher le message original
      Commentaires 8 Commentaires
      1. Avatar de quintana
        quintana -
        Y a moyen qu'il me fasse mon café ou chocolat juste après .
      1. Avatar de cedricscha
        cedricscha -
        Citation Envoyé par quintana Voir le message
        Y a moyen qu'il me fasse mon café ou chocolat juste après .
        C'est pt'etre une fonctionnalite a mettre dans l'openhardware que vous developper.....

        Niveau marketing se serait top :
        et ici la prise pour relie votre central telephonique a la cafetiere afin de commander votre cafetiere
      1. Avatar de quintana
        quintana -
        hum, bonne idée :-)
      1. Avatar de tempest69
        tempest69 -
        Bonjour,
        je viens d'essayer le reveil et l'appel se fait immédiatement après avoir mouvementé le fichier .call dans le repertoire outgoing...
        Le touch -t avec le timestamp n'a pas l'air de faire effet.
        (à la main c'est pareil). Je m'attendais à voir un 'at' pour déclencher la copie du fichier dans outgoing.
        Etant en Asterisk 1.6.2.9-2 , j'ai supprimé les 'SetCDRUserField(A)' , je ne vois pas à quoi ça sert ... (dois-je les remplacer avec Set CDR(userfield)=A ???
        Merci
        edit : semblerait plus provenir d'un probleme avec le touch -t qu'autre chose (système embarqué), par contre le SetCDRUserField(A) ???
      1. Avatar de cedricscha
        cedricscha -
        @tempest69 : Désolé, je n'avais pas vu ta question..... pour le setCDR.... tu peux sans autre le supprimer, il s'agit d'un ajout, que j'ai oublié de supprimé ici, je l'utilise pour mon outils de taxation.

        Pour le touch -t, cela fonctionne chez moi, je t'invite à regarder du coté de ton système embarqué, si il modifie bien la date du fichier.

        @Quintana : C'est bon, j'ai trouvé pour le café, tu pourras le faire intégrer à l'openhardware
      1. Avatar de quintana
        quintana -
        héhé excellent, par contre faut avoir du café dans la machine sinon tu vas avoir un souci, mais c'est un bon début
      1. Avatar de tigervroum
        tigervroum -
        Bonjour a tous,
        Voici une version un petit plus convivial et sans prétention :-)
        L`idée est la et a améliorer.

        le fichier reveil.agi
        Code:
        #!/bin/bash
        
        NUMERO=$1
        JOUR=$2
        MOIS=$3
        ANNEE=$4
        HORAIRE=$5
        
        TIMESTAMP=$ANNEE$MOIS$JOUR$HORAIRE
        
        FICHIER=$NUMERO$TIMESTAMP.call
        
        echo "Channel: SIP/$NUMERO" >> /var/spool/asterisk/tmp/$FICHIER
        echo "Account: $NUMERO" >> /var/spool/asterisk/tmp/$FICHIER
        echo "CallerID: Reveil <955>" >> /var/spool/asterisk/tmp/$FICHIER
        echo "MaxRetries: 3" >> /var/spool/asterisk/tmp/$FICHIER
        echo "RetryTime: 10" >> /var/spool/asterisk/tmp/$FICHIER
        echo "WaitTime: 10" >> /var/spool/asterisk/tmp/$FICHIER
        echo "Context: interne" >> /var/spool/asterisk/tmp/$FICHIER
        echo "Extension: reveil" >> /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
        j`ai remplacé la commande "mv" par "cp -a" puis "rm" du fichier dans tmp car chez moi "mv" écrasait le résultat de "touch -t $TIMESTAMP"

        le fichier extensions.conf
        Code:
        ;# reveil #
        exten => 555,1,Answer()
        exten => 555,n,Set(NUMERO=${CALLERID(name)})
        exten => 555,n,wait(1)
        exten => 555,n,PlayBack(welcome)
        exten => 555,n,PlayBack(blahblah-wakeup-call)
        exten => 555,n,Read(DAY,day,2)
        exten => 555,n,Saynumber(${DAY})
        exten => 555,n,Read(MONTH,month,2)
        exten => 555,n,Saynumber(${MONTH})
        exten => 555,n,Read(YEAR,year,4)
        exten => 555,n,Saynumber(${YEAR})
        exten => 555,n,Read(HOURES,enter-a-time,4)
        exten => 555,n,AGI(reveil.agi,${NUMERO},${DAY},${MONTH},${YEAR},${HOURES})
        exten => 555,n,PlayBack(thanks-for-using)
        exten => 555,n,PlayBack(wakeup-call)
        exten => 555,n,Hangup()
        
        exten => reveil,1,Answer()
        exten => reveil,n,Wait(1)
        exten => reveil,n,PlayBack(hello-world)
        exten => reveil,n,Wait(1)
        exten => reveil,n,Playback(rqsted-wakeup-for)
        exten => reveil,n,Playback(digits/today)
        exten => reveil,n,SayUnixTime(,America/Montreal,AdBY 'digits/at' IMp)
        exten => reveil,n,Hangup()
        Bonne journée
      1. Avatar de _AK_
        _AK_ -
        Salut,
        Merci pour la contrib, c'est sympa
    • A propos d'Asterisk

      Asterisk

      Asterisk est un IPBX open source (logiciel libre) pour Linux originellement créé en 1999 par Mark Spencer, fondateur de la société Digium.

      logo asterisk
    • Downloads populaires

    • Articles récents

    • Utilisateurs actuellement connectésUtilisateurs actuellement connectés

      0 membre(s) et 325 invité(s)

      Le record de connectés est de 2 678, 22/07/2022 à 11h34.

    • Ils nous soutiennent

      logo digium
      logo alter-it
      logo avencall
      logo beronet
      logo celya
      logo cnsi
      logo dolmen
      logo easypyro
      logo eyepea
      logo keyyo
      logo opcom
      logo openip
      logo ovh
      logo qualigaz
      qualistream
      logo voip-asterisk
      logo voxity
      logo yealink