Re: [Asterisk-ES] Compilación de correos para asterisk-es@googlegroups.com - 4 publicaciones en 1 tema

18 views
Skip to first unread message

Jorge David Cotrado Mamani

unread,
Oct 20, 2022, 1:13:47 PM10/20/22
to aster...@googlegroups.com
Aca hay un ejemplo claro y simple del uso de AGI en 00:15:59

https://youtu.be/eCinJQK-GYY?t=959


El jue, 20 oct 2022 a las 6:24, <aster...@googlegroups.com> escribió:
"gabrie...@gmail.com" <gabrie...@gmail.com>: Oct 19 12:42PM -0700

Buenas tardes compañeros, estoy desarrollando una aplicacion de
comunicacion con asterisk y quiero desarrollar un AGI web service para
poder controlar mi dialplan alguien tiene algun ejemplo o material que me
pueda compartir ¿?
Gaston Draque <gaston...@gmail.com>: Oct 19 05:40PM -0300

Buenas tardes Gabriel,
No me queda muy claro que es lo que quieres hacer, creo que quieres
decir un AGI [a][b] que consulta a un Webservice y así controlas el
dialplan?
Un AGI típicamente se inicia desde el dialplan, sobre una llamada
iniciada. Este puede consultar un webservice , setear variables y continuar
con el dialplan, o puede iniciar un AGI y controlar la llamada desde el AGI
mismo (dentro del servidor o de forma remota con fastAGI [b]) y liberarla
solo para el cierre de la llamada. Estos son ejemplos extremos claro, hay
intermedios.
La "opción atómica" es usar ARI [c][d], pero si el dialplan no
varía demasiado y no tienes que "crear una aplicación que no existe en
Asterisk" o soportar un grupo de servidores trabajando como media servers,
lo evitaría porque se complica mucho y ya te tienes que hacer cargo de todo.
 
Saludos
 
 
Librerías en links [a] y [d]
 
[a] https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=32375589
[b] https://wiki.asterisk.org/wiki/display/AST/Asterisk+20+Application_AGI
[c] https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=29395573
[d] https://wiki.asterisk.org/wiki/display/AST/ARI+Libraries
 
On Wed, Oct 19, 2022 at 4:42 PM gabrie...@gmail.com <gabrie...@gmail.com>
wrote:
 
Gabriel Alejandro Mata <gabrie...@gmail.com>: Oct 19 04:24PM -0500

Muchas Gracias Gaston, muy amable en responder. Basicamente es una
aplicacion donde habro un canal a traves de AMI desde una interfaz y luego
quiero ceder el control al AGI para que realice las labores de setear
variables, capturar los canales, grabar y otras funciones que necesito.
 
he visto en algunos dialplan que llaman archivos AGI como hacia un web
service http://locahost/archivo.agi y le pasan argumentos para procesar
esto es lo que quiero hacer para controlar todo desde el AGI una vez inicia
la llamada.
 
El mié, 19 oct 2022 a las 15:40, Gaston Draque (<gaston...@gmail.com>)
escribió:
 
 
--
Ing.Gabriel Alejandro Mata
+573214814169
Gaston Draque <gaston...@gmail.com>: Oct 19 09:30PM -0300

Entiendo, quieres usar AMI como disparador de una llamada y luego pasar el
control al AGI. Es un pattern muy usado.
 
Sin entrar en detalles de implementación, lo que has visto en las llamadas
de AGI que hacen referencias a una URL, no es un webservice sino lo que te
comentaba antes, un FastAGI. Es bastante más rudimentario que un
webservice. Es una conexión via TCP similar a los viejos CGIs de apache y
los parámetros se pasan de forma similar.
Si vas a usar FastAGI[1], necesitas un FastAGI server donde recibirás la
llamada del AGI y tomarás control. No tiene mucho sentido tenerlo en la
misma máquina, aunque puedes hacerlo claro.
Entonces, cuando usas AGI, usas su forma de enviar comandos [2] y recibir
mensajes. Es serial y bloqueante por defecto, por lo que si se necesita
algún tipo de control de estado entre comandos, hay que usar AMI en
paralelo.
Mis 2 centavos... ordena todo bien y separa las funciones en contextos de
dialplan y AGIs específicos. Evita el "mega-AGI-que-todo-lo-hace"...
ahorrate esos dolores de cabeza.
Y claro, todo con una pizca de sal, porque no conozco su aplicación.
 
Suerte!
 
[1] Process based vs AGI over TCP :
http://asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/AGI-variants.html
[2] https://wiki.asterisk.org/wiki/display/AST/Asterisk+20+AGI+Commands
 
On Wed, Oct 19, 2022 at 6:24 PM Gabriel Alejandro Mata <
Has recibido este resumen porque estás suscrito a las actualizaciones de este grupo. Puedes modificar la configuración en la página de pertenencia al grupo.
Para cancelar la suscripción a este grupo y dejar de recibir correos electrónicos, envía un correo electrónico a asterisk-es...@googlegroups.com.


Reply all
Reply to author
Forward
0 new messages