PDA

Voir la version complète : AGI, CLI ou autre : faire un click to call intelligent



zehunter
09/11/2013, 16h59
Bonjour,

j'aimerais mettre en place sur un site web en intranet un formulaire qui permettrait :
1/ de m'appeller
2/ attendre que je confirme que je suis bien la genre "appuyer sur 1" (pour eviter que mon répondeur ne répond pour moi et passe a l'étape suivante inutilement
3/ appeller le numéro saisit...

autant faire un originate en CLI est simple, autant ajouter l'étape "verification" me semble ... impossible avec mes maigre connaissance :(

quelqu'un a t'il une idée de la direction a prendre, voir un exemple de code (perl ou php de préférence ...) qui pourrait m'aider a faire cela?

un grand merci a vous

fastm3
09/11/2013, 21h14
Tu fais un originate en php puisque sur est le web. Mais neanmoins, le formulaire ne devrait etre actif que quand tu es la IMHO.

Ensuite, tu es dans ton contexte asterisk et la tu utilises le dialplan asterisk. Un agi en perl , php n'est a mon avis pas necessaire pour un callback simple.
La lecture de prompt est super facile si tu connais un peu les bases du dialplan.
Voila le principe:


exten => s,n,Background(message qui dit appuyer sur 1 pour action 1 , appui sur 2 pour action 2)
exten => s,n,WaitExten(60,)
exten => 1,1,debutaction1
exten => 1,n,suiteaction1
exten => 2,1,debutaction2
exten => t,1,Congestion()


Bonne bidouille...
Francois.

zehunter
10/11/2013, 00h05
les dialplan, je commence a comprendre :p

mais je ne vois pas comment avec la commande "originate" je peux "envoyer" le premier numéro vers la sequence que tu donne (jouer un fichier son, et attendre l'action 1 ... pour qu'ensuite le 2eme numéro soit appeler...

originate SIP/600 extension SIP/660

fait sonner le 600, et des que je décroche, j'ai le 660 qui sonne :(

j'ai essayer de forcer un context (genre la sequence que tu donne) comme ceci :

originate SIP/600@validation extension SIP/660

mais ça donne rien :(

je loupe un détail, je le sens mais je vois pas quoi :(

fastm3
10/11/2013, 01h41
Hummm, ok, je crois voir ce qui te "bloque".
D'abord, si tu es en web, ton originate va etre fait par le site web.
Essaie de mettre deja ca en place , ca sera plus facile a faire tes tests plutot que de taper a chaque fois en CLI ton originate.

Ensuite, il faut comprendre que l'originate va mettre en lien, 2 "jambes" de l'appel.
Le channel indique la ou veux faire le dial initial, le context/exten/priority la ou on va envoyer l'appel lorsqu'il est etablit s'un coté.
Dans ton originate, tu peux passer aussi des variables quand tu envoies ton originate par ami.
Tu as toujours 2 jambes en parallele qui s'executent et qui se connectent ensuite.

Je pense que la suite assez evidente. Tu peux envoyer context/exten/priority vers ce que tu veux si c'est tu veux que ce soit toi qui decroche d'abord. Le numero du visiteur web sera passé en variable.
Mais on peux faire aussi l'inverse ( visiteur web appelé en premier qui declenche le dialplan que tu veux ) et le site web ne lance pas l'appel s'il sait que cela ne sert a rien ( heure fermeture ou autre variable ).
Francois.