PDA

Voir la version complète : automate d'appel programmation



citrix
07/05/2014, 17h27
bonjours je suis étudiant en dev et je suis actuellement a la recherche d'un solution

Pour automatiser des appels, les numéros à appeler son dans un base de donné mySQL, et arrive constamment donc il y aura une boucle infinie.

Et le son provient de fichiers .wav qui sont hébergés sur un ftp.

Je dois aussi récupérer ce que l'appeler À taper sur son clavier de téléphone en l'occurrence

la touche étoile pour ensuite mettre à jour ma base de données.

Je me suis alors penché sur plusieurs pistes la bibliothèque PJSIP et PHPAGI

Mais je colle un peu la j'ai une preference pour PHPAGI qui m'a l'air plus intuitif et je préfère ce language de programmation.

Merci de votre aide.

jean
07/05/2014, 17h46
tout peut se faire avec un script bash qui fait un select sur la db et génère un call file pour asterisk, qui va appeler le numéro et brancher sur une extension qui fera tout le travail

citrix
07/05/2014, 18h08
Oui mais on me demande de ne pas utiliser des language comme du shell car cela a pour but de fonctionner abondamment

je voudrait savoir si un programme seul en php (phpagi) peut le faire sans manipulation autre que de cree des extensions sur notre asterisk

Si c'est faisable c'est exactement ce que je recherche un programme autonome qui passe des appels et réceptionne le DTMF.

Merci de ta réponse :)

jean
07/05/2014, 19h30
phpagi est une interface qui permet d'appeler du php depuis un contexte asterisk, donc, cela ne permettra pas de faire la production automatique des appels. Il faut un script externe à asterisk, qui poole la base de donnée, et demande à asterisk de lancer l'appel (soit via un call file, soit via AMI). ce programme peut être écrit en LISP ou en COBOL - voire même en php... - c'est pas compliqué, mais le principe restera le même.
pour info, je génère des campagnes d'appels sortant de plusieurs dizaines de milliers d'appels, avec plusieurs centaines simultanées, en bash... donc coté performance, pas de soucis !

citrix
07/05/2014, 19h39
Merci beaucoup pour ces réponses rapides, je veux bien croire que niveau performance mais si le script plante cela posera plus de problème pour ma pare

cela est possible lancer l'appel, c'est ce que je n'arrive pas tous ce qui est en lien a la base de donné c'est OK mais c'est l'envoi de l'appel et l'attente du dtmf (*) etoile

qui me pose le plus de problème !

je suis donc obligé de configurer asterisk.

jean
07/05/2014, 20h03
Il y a deux parties à faire, distinctes:

- via un langage de ton choix (j'essaierai bien le cobol...), se connecter à la bd, retrouver les numéros à appeler, et créer un fichier texte avec ce numéro, et un contexte/prio ou se brancher (cf: http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out) => qd asterisk va voir ce fichier dans var/spool.... il lancera l'appel vers le numéro fourni, et sur décroché, transferera le controle au contexte/prio indiqué

- créer un contexte, qui va faire un playback / background pour jouer le fichier audio, suivi d'un waitexten, et ensuite un petit coup de MYSQL() depuis le contexte asterisk pour mettre à jour le résultat


J

citrix
07/05/2014, 20h16
OK mais la personne qui ma charger de cela préférerait n'avoir que un language de programmation pour la pérennité, il voudrait éviter de passer par "OUTGOING"

et faire un programme qui ce connect a asterisk via des sockets et puis compose et envoi du son puis récupère la touche.

je vais quant même regarder tout cela Si vous avez d'autres idées je suis a l'affûts :)

J'ai regarder un peu du coter de Asterisk-java ça a l'air complet mais si quelqu'un a des information sur la faisabilité.

jean
07/05/2014, 20h50
faire un programme qui ce connect a asterisk via des sockets

cela veut dire que la première partie doit faire appel à l'interface AMI (asterisk manager interface) au lieu d'utiliser des call files. ca ne change pas la seconde partie.