Callback en trixbox

Callback en trixbox

Posted Septiembre 19th, 2007 by rvoip

Buenas tardes amigos, estoy aprendiendo a utilizar la funcion de callback en trixbox, he encontrado que puedo hacer que el pbx reciba una llamada de afuera y que corte esa llamada, luego utilice la opcion de callback a un numero determinado o utilizar el ID de la llamada que origino la llamada entrante, luego de regresar la llamada, proceder a comunicarse con un numero que se encuentra en la agenda. El problema es que yo deseo que en vez de poder comunicarse con un numero que esta en la agenda, el sistema me pida un numero al que deseo llamar y ese numero introducido sea al que me conecte el sistema... Sera que alguien conoce la forma de realizar esto?

Saludos Cordiales.

callback ivr

Buenas e leido tu articulo, pero como soy nuevo en esto no logro entenderlo, quisiera saber si podrias explicarme como instalar y en donde los parametros que pusistes aqui.
estoy en la busqueda de lo mismo que vos, quiero que alguien llame a una linea fija, conectada al trixbox 2.2 por medio de una placa digiun, que repique dos o tres veces y que la llamada entrante, el numero quede registrado, y el trixbox me devuelva la llamda, diciendome, " ingrese el numero que desea marcar seguido de la tecla numeral" y asi, se ingresa el numero y llamas por voip a cualquier lugar.. Lo lograstes?? si es asi te pido me ayudes a terminar mi proyecto, ya que yo, no puedo lograrlo.
desde ya muy agradecido y a la espera de tu respuesta.

Posted by ernestomacdougall on Mar, 2007-12-04 17:00
WaitExten

Hola,

He de suponer que estas usando system() para generar la llamada y lo estas enviando a un contexto "callback"

; extensions.conf
[desde-zap]
exten => 7777777,1,System("create_call_file.sh ${CALLERID(num)}")
exten => 7777777,n,Hangup

[callback]
exten => s,1,Answer
exten => s,n(num),Background(introdusca_numero)
exten => s,n,WaitExten(10)
exten => s,n,Goto(num)

exten => _X.,1,Dial(Zap/${EXTEN})

Suerte,

PLL.

Posted by pll on Vie, 2007-09-21 18:42
callback

Hola Pll, discúlpame las molestias, me pasantes, para realizar callback con a2billing pero aun no eh podido ejecutarlo, ya que no se en donde colocar las instrucciones que me enviastes en su oportunidad. Este año ya aprendí mejor, incluso e podido generar un sistema de tarjetas prepagas las tarjetas, y las ventas de las mismas, necesito que me ayudes, de ser posible SIENDO MAS DETALLADO EN LA EXPLICACION QUE ABAJO ME PASASTES. Tengo un trixbox, 2.12 un a2billing instalado, y una placa digiun de 4 puertos fxo para la realización del proyecto.
Desde ya te estoy muy agradecido

Mac Dougall Ernesto Enrique

PD: me he fijado en la pagina y no encontré un teléfono para llamarte si es de tu agrado te pido que me lo des para ponerme en contacto con vos.

esta fue tu respuesta

He de suponer que estas usando system() para generar la llamada y lo estas enviando a un contexto "callback"

; extensions.conf
[desde-zap]
exten => 7777777,1,System("create_call_file.sh ${CALLERID(num)}")
exten => 7777777,n,Hangup
[callback]
exten => s,1,Answer
exten => s,n(num),Background(introdusca_numero)
exten => s,n,WaitExten(10)
exten => s,n,Goto(num)
exten => _X.,1,Dial(Zap/${EXTEN})

Suerte,
PLL.

Posted by ernestomacdougall on Mié, 2008-10-29 20:31
hola podrias ayudarme?

Buenas e leido tu articulo, pero como soy nuevo en esto no logro entenderlo, quisiera saber si podrias explicarme como instalar y en donde los parametros que pusistes aqui.
estoy en la busqueda de lo mismo que vos, quiero que alguien llame a una linea fija, conectada al trixbox 2.2 por medio de una placa digiun, que repique dos o tres veces y que la llamada entrante, el numero quede registrado, y el trixbox me devuelva la llamda, diciendome, " ingrese el numero que desea marcar seguido de la tecla numeral" y asi, se ingresa el numero y llamas por voip a cualquier lugar.. Lo lograstes?? si es asi te pido me ayudes a terminar mi proyecto, ya que yo, no puedo lograrlo.
desde ya muy agradecido y a la espera de tu respuesta.

Posted by ernestomacdougall on Mar, 2007-12-04 17:02
pll

Hola,

Lo mismo que puse se puede hacer con "DISA" (app_disa.so) con la ayuda de pbx_spool.so y "System" (app_system.so)

Cuando alguien llama, lo único que te interesa es su numero, luego le cuelgas. Ese numero se lo puedes pasar a un script para que te genere el archivo .call que vas a poner en el directorio spool de Asterisk para que se genere la llamada

[llaman]
exten => 7777777,1,System(/ruta/al/script/de/llamadas/llamame.sh ${CALLERID(num)})
exten => 7777777,n,Hangup

El script llamame debe ser capas de generar un archivo .call y poder moverlo al directorio /var/spool/asterisk/outgoing para que Asterisk llame.
#!/bin/bash
#
# /ruta/al/script/de/llamadas/llamame.sh {telefono}
#
DEST="/var/spool/asterisk/outgoing"
CALL=`mktemp` # creas un archivo temporal, si no hay mktemp usa el tiempo.

# llenamos los datos de la llamada...
echo "Channel: Zap/$1">>$CALL # sabiendo que $1 es el numero que llamó
echo "MaxRetries: 1">>$CALL
echo "RetryTime: 60">>$CALL
echo "WaitTime: 30">>$CALL
echo "Context: disa">>$CALL
echo "Extension: s">>$CALL
echo "Priority: 1">>$CALL

# mandemoslo un poco al futuro para darle tiempo de colgar.
NOW=`date +%s`
let NOW=$NOW+100 #100 segundos
TOUCH_TMSP=`date -d "1970-01-01 $NOW sec GMT" +%Y%m%d%H%M. %S`
touch -t $TOUCH_TMSP $CALL

# listo, lo movemos.
mv $CALL $DEST

#EOF

El contexto disa debe tener la aplicación disa o puedes simularla tal como lo hize en el post anterior.
[disa]
exten => s,1,Disa(no-password|contexto_hacia_afuera)

[context_hacia_afuera] ; limita los caracteres o puede traer problemas.
exten => _[2-7]XXXXXX,1,Dial(Zap/${EXTEN})

Creo que eso es todo, no lo he probado porque acabo de escribirlo pero debe funcionar.

Suerte,

PLL

Posted by pll on Mar, 2007-12-04 18:09