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 :
Voici donc le code de l'AGI et le bout de dialplan :Code:977140820100549
A coller dans le fichier /var/lib/asterisk/agi-bin/reveil.agi :
Ne pas oublié de rendre executable le fichier...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 #cp /var/spool/asterisk/tmp/$FICHIER /var/lib/asterisk/agi-bin/ mv /var/spool/asterisk/tmp/$FICHIER /var/spool/asterisk/outgoing #mv /var/spool/asterisk/tmp/$FICHIER /var/lib/asterisk/agi-bin/
A coller dans votre extensions.conf :
Code:[reveil] exten => _977XXXXXXXXXXXX,1,Answer() exten => _977XXXXXXXXXXXX,n,SetCDRUserField(A) 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,SetCDRUserField(A) 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()