AGI Rappel de Rendez Vous

f5exo

Joined
Nov 15, 2007
Messages
43
Likes
0
Points
0
#1
Bonjour,

Voici un package pour réaliser un rappel de rendez-Vous.

Voici le lien du package:f5exo.free.fr/elastix/agi/agi_rdv.tgz

Voici le Lisez moi

Bonne manip.

Erick
------------------------------------------------------------------------

/* */
/* F5EXO */
/* */
/* Erick LINE */
/* */
/* */
/* AGI Rappel de RDV pour Asterisk & Elastix */
/* */
/*--------------------------------------------------------------------*/
/* */
/* author: Erick Liné (f5exo@free.fr) */
/* */
/* */
/* Lisez moi */
/*--------------------------------------------------------------------*/

Descriptif
----------

Cette application composé de 2 modules permet de mettre en place un
service de rappel de rendez-vous.

L'utilisateur appel un Numero pour fixer l'heure de rappel de son rdv.
Une synthèse vocale l'invite à composer l'heure de rappel sous la forme:
HH.MM.
On test les bornes 23 & 59 avec branchement vers un message d'erreur.
Puis l'utilisateur raccroche.

A l'heure et minute précise, le poste de l'utilisateur est appelé,
l'identifiant est [RendezVous] une synthese vocale lui annonce l'heure
de son RDV.

Plusieurs postes peuvent être rappelé à la même heure minute.
Les fichiers source C sont disponibles.

Fonctionement
-------------

Lors de l'appel de l'utilisateur on recupère son CallerID ainsi que les
données HH MM entrées au clavier.
On créé un fichier HHMM.rdv dans /tmp
Dans ce fichier figure la liste des CallerID ayant déclenché un rdv à
HH.MM.
Le fichier peut empiler plusieurs CallerID à rappeler.


Le fichier exec_listrdv récupère l'Heure Minute courante , ouvre le
fichier HHMM.rdv s'il existe, et construit les fichiers CallerID.call
dans /tmp.
Il lui positionne les droits asterisk et fait un move dans outgoing.
Et ainsi de suite pour tous les CallerID de la liste du même fichier
HHMM.rdv. Ensuite le fichier est effacé.

Pour lancer exec_listrdv toutes les minutes, une ligne est rajoutée dans
le fichier cron asterisk figurant dans /var/spool/cron.

Les syntheses vocales correspondant à cet AGI sont à déposer dans:
/var/lib/asterisk/sounds/custom/


Fichiers du package:

extensions_custom.conf -> dans /etc/asterisk/

rdv_list -> dans /var/lib/asterisk/agi/
exec_listrdv -> dans /var/lib/asterisk/bin/

activation_rdv.wav -> dans /var/lib/asterisk/sounds/custom/
rappel_rdv.wav -> dans /var/lib/asterisk/sounds/custom/

Fichier

rdv_list.c -> dans /usr/local/src/agi_rdv/
exec_listrdv -> dans /usr/local/src/agi_rdv/

asterisk -> dans var/spool/cron/

Ne pas oublier de relancer le cron :
/etc/rc.d/init.d/crond restart



12/2010
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#2
Salut f5exo.
Ca fait un bail dit donc.

La fonction réveil existe sur FreePBX.
Je m'étais fait un dialplan pour cette fonction hors qu'elle existait déjà.
Pas grave, c'est un bon exercice. :)

Code:
[reveil]
exten => s,1,Answer()
exten => s,n,playback(wakeup-call)
exten => s,n,Wait(1)
exten => s,n(start),background(press-1&for-a-daily-wakeup-call&press-2&to-cancel-wakeup&press-star-cancel|m)
exten => s,n,Read(choice,,1)
exten => s,n,GotoIf($["${choice}" = "1"]?wakeup)
exten => s,n,GotoIf($["${choice}" = "2"]?Delete)
exten => s,n,GotoIf($["${choice}" = "*"]?End)
exten => s,n,playback(bad)
exten => s,n,playback(service)
exten => s,n,Gosub(start)
exten => s,n(wakeup),playback(wakeup-for-one-time&enter-a-time)
exten => s,n,Read(hour,,2)
exten => s,n,Read(minutes,,2)
exten => s,n,playback(you-entered) 
exten => s,n,SayNumber(${hour},c)
exten => s,n,playback(hours)
exten => s,n,SayNumber(${minutes},c)
exten => s,n,playback(minutes)
exten => s,n,system(/bin/reveil ${hour}${minutes} ${CALLERID(num)})
exten => s,n,playback(hours&recorded)
exten => s,n,Gosub(End)
exten => s,n(Delete),system(/bin/rm -f /var/spool/asterisk/outgoing/wakeup*)
exten => s,n,playback(wakeup-call-cancelled)
exten => s,n,Gosub(End)
exten => s,n(End),playback(thank-you-for-calling)
exten => s,n,Hangup()
/bin/reveil:
Code:
rm -f /var/spool/asterisk/tmp/wakeup-*
rm -f /var/spool/asterisk/outgoing/wakeup-*
wakeup=`date +%m%d`
echo "Channel: Local/$2@from-internal" >> /var/spool/asterisk/tmp/wakeup-$1-$2
echo "CallerID: wakeup <$2>" >> /var/spool/asterisk/tmp/wakeup-$1-$2
echo "MaxRetries: 2" >> /var/spool/asterisk/tmp/wakeup-$1-$2
echo "RetryTime: 60" >> /var/spool/asterisk/tmp/wakeup-$1-$2
echo "WaitTime: 30" >> /var/spool/asterisk/tmp/wakeup-$1-$2
echo "Context: calendar-event" >> /var/spool/asterisk/tmp/wakeup-$1-$2
echo "Extension: *7899" >> /var/spool/asterisk/tmp/wakeup-$1-$2
echo "Priority: 1" >> /var/spool/asterisk/tmp/wakeup-$1-$2
echo "Set: FILE_CALL=custom/$2/wakeup.gsm" >> /var/spool/asterisk/tmp/wakeup-$1-
$2
echo "Set: ID_EVENT_CALL=3" >> /var/spool/asterisk/tmp/wakeup-$1-$2
/bin/touch -t $wakeup$1 /var/spool/asterisk/tmp/wakeup-$1-$2
mv /var/spool/asterisk/tmp/wakeup-$1-$2 /var/spool/asterisk/outgoing/
chgrp asterisk /var/spool/asterisk/outgoing/wakeup-$1-$2
chown asterisk /var/spool/asterisk/outgoing/wakeup-$1-$2
C'était juste un premier jet.
J'ai arrêté de le trifouillé. (Quelque truc à améliorer et débugger comme l'effacement des rappels programmés). :laugh:
 

f5exo

Joined
Nov 15, 2007
Messages
43
Likes
0
Points
0
#3
Bonjour Franck

Oui cela faisait longtemps , faute de temps...

J'avais pas trouvé la fonction en question , ceci dit je n'avais pas cherché plus que cela, et du coup je me suis lancé dans un petit truc simple.
Là aussi j'ai pas prévu l'effacement ....
Je vais essayer la tienne.

Bonne journée.

Erick
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#4
Salut.

Truc pas modifié, c'est la capacité de composer l'heure pendant le message.
Pour ma part tu es obligé d'attente la fin des messages.
Mais bon...ce que j'en fait. ;)
Dès que j'ai l'occasion, j'essaye la tienne.

Ceci dit pour ton script, pourquoi ne pas utiliser les prompt d'origine!?
 

f5exo

Joined
Nov 15, 2007
Messages
43
Likes
0
Points
0
#5
Re:AGI Rappel de Rendez Vous suite ..

Voici la suite concernant le service Rendez Vous
Largement inspiré des tes manip Franck.

Un menu avec 3 choix:

1 -> RDV ponctuel
2 -> Annulation d'un RDV
3 -> RDV quotidien

Plusieurs RDV ponctuels et ou quotidien sont possible sur le même poste.
Et plusieurs RDV de postes différents à la même hhmm.

Un ficher log enregistre les inscriptions : No hh mm et type de RDV ou annulation
Les champs sont séparés par des ; pour d'éventielles stats.

Les prompts sont destiné pour des Rendez-vous.
Dans le cas d'un réveil ceux d'origines peuvent êtres utilisé.

Description dans le Lisez moi

Les sources C sont disponibles dans le package dispo à:
http://f5exo.free.fr/elastix/agi/agi_rdv.tgz

Bonne manip.

Erick
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#6
Re:AGI Rappel de Rendez Vous suite ..

Salut Erick.

Merci pour cettte AGI.
Je la testerais dès que possible.

Un chti Karma pour le pèpère. :laugh:
 

f5exo

Joined
Nov 15, 2007
Messages
43
Likes
0
Points
0
#7
Re:AGI Rappel de Rendez Vous suite ..

J'essaye d'aller plus loin en laissant la possibilité
a l'utilisateur de dicter le nom de son rendez-vous.

J'enregistre bien le msg
mais dans le .call soit tu vas vers un context soit tu vas vers une applie.

Et avec l'applie tu es rappelé et tu te prend le msg enregistré
brut de fonderie et ca raccroche.
C'est un peu brut comme rappel.

J'ai essayé de passer un paramètre avec Set dans le .Call pour
l'utiliser dans le context de rappel, mais ca gaze pas ...
Je continue c'est peut être le format qui n'est pas bon.
Mais c'est follement intéressant .

A +

Erick
 

danardf

Joined
Dec 3, 2007
Messages
8,069
Likes
10
Points
88
#8
Re:AGI Rappel de Rendez Vous suite ..

Ok.

Peut-être qu'il faille insérer un wait() après la lecture de ton message ou un autre message de fin, ou encore une chtite mélodie.
 

f5exo

Joined
Nov 15, 2007
Messages
43
Likes
0
Points
0
#9
Re:AGI Rappel de Rendez Vous suite .. et fin

Ca y est le service est finalisé.

Dans le cas d'un rdv ponctuel on propose à l'utilisateur
d'enregister un aide memoire.
Il sera rediffusé au rappel, puis supprimé.

Le format du fichier est CallerIdhhmm.msg

Donc plusieurs rdv ponctuels sont autorisés et autant
d'aide mémoire associés .

Dans le cas d'une suppression, le rdv est supprimé ainsi que
son fichier aide mémoire.

Le package a été réactualisé.

Bon Noel à tous.


Erick
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,902
Messages
130,887
Members
17,565
Latest member
omarmenichetti
Top