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