IVR y captura de digitos..

1,489 views
Skip to first unread message

Pablo J.

unread,
May 23, 2007, 3:16:22 PM5/23/07
to asterisk-es
Estimados de la lista tengo el siguiente problema haber si alguien me
puede guiar un poco..

Tengo un asterisk 1.2 con centos 4.4 funcionando bien, ahora configure
un IVR de la siguiente forma.

[cola-horario]
include => ivr
include => cola

exten => 170,1,Answer
exten => 170,2,Set(TIMEOUT(digit)=1)
exten => 170,3,Set(TIMEOUT(response)=40)
exten => 170,4,GotoIfTime(8:00-18:00|mon-fri|*|*?ivr,s,1)
exten => 170,5,Wait(1)
exten => 170,6,Background(/var/lib/asterisk/sounds/ivr/
fuera_de_horario)
exten => 170,7,Background(/var/lib/asterisk/sounds/ivr/volver_menu)
exten => 170,8,Wait(5)

exten => s,1,ANSWER
exten => s,2,Dial(SIP/170,120,Tt)
exten => s,3,HangUp

exten => 0,1,Answer
exten => 0,2,Goto(cola-horario,170,1)

exten => 3,1,Dial(ZAP/g1/4846888,,Ttr)

exten => 4,1,Background(/var/lib/asterisk/sounds/ivr/buzon_voz)
exten => 4,3,Voicemail(206,s)

exten => 5,1,Background(/var/lib/asterisk/sounds/ivr/buzon_voz)
exten => 5,3,Voicemail(206,s)

[ivr]
include => cola-horario
include => cola

exten => s,1,ANSWER
exten => s,2,Wait(1)
exten => s,3,Set(TIMEOUT(digit)=1)
exten => s,4,Set(TIMEOUT(response)=40)
exten => s,5,Background(/var/lib/asterisk/sounds/ivr/bienvenida)
exten => s,6,Background(/var/lib/asterisk/sounds/ivr/volver_menu)
exten => s,7,Wait(5)
exten => s,8,Goto(ivr,s,1)

exten => 0,1,Answer
exten => 0,2,Goto(ivr,s,1)

exten => 1,1,Answer
exten => 1,2,Mixmonitor(/var/spool/asterisk/monitor/cola-cola/entr-$
{TIMESTAMP}-${CALLERIDNUM}-${EXTEN}-${UNIQUEID}.wav)
exten => 1,3,Ringing
exten => 1,4,Wait(1)
exten => 1,5,Queue(cola-cola|wWTt|||100)
exten => 1,6,Queue(cola-cola-proceso|wWTt|||100)
exten => 1,7,Hangup

exten => 2,1,Answer
exten => 2,2,Mixmonitor(/var/spool/asterisk/monitor/cola-cola-proceso/
entr-${TIMESTAMP}-${CALLERIDNUM}-${EXTEN}-${UNIQUEID}.wav)
exten => 2,3,Ringing
exten => 2,4,Wait(1)
exten => 2,5,Queue(cola-cola-proceso|wWTt|||100)
exten => 2,6,Queue(cola-cola|wWTt|||100)
exten => 2,7,Hangup

exten => 3,1,Dial(ZAP/g1/4846888,,Ttr)

exten => 4,1,Background(/var/lib/asterisk/sounds/ivr/buzon_voz)
exten => 4,2,Wait(1)
exten => 4,3,Voicemail(206,s)

[cola]
include => cola-horario
include => cola-proceso
include => ivr
include => salida-cola

exten => s,1,ANSWER
exten => s,2,Dial(SIP/1887,120,Tt)
exten => s,4,HangUp

exten => s,1,ANSWER
exten => s,2,Dial(SIP/4002,120,Tt)
exten => s,3,Voicemail(206,s)
exten => s,4,HangUp

exten => s,1,ANSWER
exten => s,2,Dial(SIP/4003,120,Tt)
exten => s,3,Voicemail(206,s)
exten => s,4,HangUp

exten => 1887,1,Dial(SIP/170,120,Tt)
exten => 1887,103,hangup

exten => 4002,1,Dial(SIP/4002,120,Tt)
exten => 4002,2,Voicemail(206,s)
exten => 4002,103,hangup

exten => 4003,1,Dial(SIP/4003,120,Tt)
exten => 4003,2,Voicemail(206,s)
exten => 4003,103,hangup

[cola-proceso]
include => cola-horario
include => ivr
include => cola
include => salida-cola-proceso

exten => s,1,ANSWER
exten => s,2,Dial(SIP/4004,120,Tt)
exten => s,3,Voicemail(206,s)
exten => s,4,HangUp

exten => s,1,ANSWER
exten => s,2,Dial(SIP/4005,120,Tt)
exten => s,3,Voicemail(206,s)
exten => s,4,HangUp

exten => s,1,ANSWER
exten => s,2,Dial(SIP/206,120,Tt)
exten => s,4,HangUp


exten => 4004,1,Dial(SIP/4004,120,Tt)
exten => 4004,2,Voicemail(206,s)
exten => 4004,103,hangup

exten => 4005,1,Dial(SIP/4005,120,Tt)
exten => 4005,2,Voicemail(206,s)
exten => 4005,103,hangup


exten => 206,1,Answer
exten => 206,2,Wait(0)
exten => 206,3,Playback(/var/lib/asterisk/sounds/ivr/buzon_voz)
exten => 206,4,Wait(0)
exten => 206,5,Voicemail(206,s)

Todo esto me funciona bien pero el drama es que en la parte del buzon
de voz luego de que el mensaje se termine de grabar este se envia a
una cuenta de correo que tengo definida ahora el verdadero problema es
que tengo que hacer que antes que de la opcion de grabar el mensaje
que envie a un nivel donde diga ingrese el codigo o cualquier wea
luego de que ingreso el codigo no me interesa validar ni nada solo
capturar ese digito que la persona ingreso en el telefono y enviarlo
por correo a la misma cuenta de el mensaje de voz ya sea en el mismo
correo o en otro aparte con no se pos el mismo id para poder
identificar de que llamada corresponde los digitos enviados.

Solo quiero saber si alguien me puede guiar no estoy pidiendo que lo
hagan por mi pero si alguien ya tiene echo algo parecido haber si me
puede dar una manito..

Saludos cordiales.
Pablo J.

Raúl Alexis Betancor Santana

unread,
May 23, 2007, 3:25:56 PM5/23/07
to aster...@googlegroups.com
El Wednesday 23 May 2007 19:16:22 Pablo J. escribió:
> Estimados de la lista tengo el siguiente problema haber si alguien me
> puede guiar un poco..
[...]

Lo primero que te recomiendo que hagas es revisar tu dialplan, porque o lo he
leído muy rápido o te funciona porque dios es grande, porque tienes un par de
bucles harto preocupantes, amén de que los includes que haces me parecen del
todo caóticos, incluyes contextos que vuelven a incluir al contexto
original .. buff un buen lío.

--
Saludos.

Raúl Alexis Betancor Santana
Dimensión Virtual S.L.

Danilo Reyes

unread,
May 23, 2007, 3:34:02 PM5/23/07
to aster...@googlegroups.com
Hola

dentro del dialplan hay un comando que te permite pedir variables,pero norecuerdo cual es,lootroseria quellamaras a un php desde el dialplan.

aqui hay un ejemploqueenalgunladoencontre y midifique un poquito para pedir el rut.  sicorres un asterisk -rvvvvvv   cuando lo ejecutes veras que  la variable queda con loqueingresas por teclado.


este arcivo deberia quedar en el /var/lib/asterisk/agi-bin con propiedades 777
y lo llamas del dialplan



#!/usr/bin/php -q
<?
set_time_limit(30);
require('phpagi.php');
error_reporting(E_ALL);
$agi = new AGI();
$agi->answer();
sleep(2);
// Pide el Caller id.
$cid = $agi->parse_callerid();
$cid= $cid[username];
$agi->stream_file('access-code');
// beep es el archivo que contendrá los 10 dígitos y se asignan a callnumber
$result = $agi->get_data('beep', 3000, 10);
$rut= $result['result'];
$agi->verbose("Number to call:".$rut);
// Disca
$agi->exec("Dial SIP/5001");
?>

Danilo

"Pablo J." <octu...@gmail.com> escribió:

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/

Pablo J.

unread,
May 25, 2007, 1:39:50 PM5/25/07
to asterisk-es
Si lo de los contextos lo tengo claro que tengo la crema nu mas pero
asi funciona y rebien ahora lo que me dices danilo probe y incluso lo
modifique pero no me funca de echo lo que tu haces en ese agi es mas
complejo de lo que necesito pero veo que no voy por buen camino.

Helppppp...

> "Pablo J." <octubr...@gmail.com> escribió:

Danilo Reyes

unread,
May 25, 2007, 2:35:19 PM5/25/07
to aster...@googlegroups.com
pablo
ese script que te pase sifunciona

cuentame lo que hiciste y lo
vemos

danilo
"Pablo J." <octu...@gmail.com> escribió:

Si lo de los contextos lo tengo claro que tengo la crema nu mas pero
asi funciona y rebien ahora lo que me dices danilo probe y incluso lo
modifique pero no me funca de echo lo que tu haces en ese agi es mas
complejo de lo que necesito pero veo que no voy por buen camino.

Helppppp...




On 23 mayo, 15:34, Danilo Reyes wrote:
> Hola
>
> dentro del dialplan hay un comando que te permite pedir variables,pero norecuerdo cual es,lootroseria quellamaras a un php desde el dialplan.
>
> aqui hay un ejemploqueenalgunladoencontre y midifique un poquito para pedir el rut. sicorres un asterisk -rvvvvvv cuando lo ejecutes veras que la variable queda con loqueingresas por teclado.
>
> este arcivo deberia quedar en el /var/lib/asterisk/agi-bin con propiedades 777
> y lo llamas del dialplan
>
> #!/usr/bin/php -q
> > set_time_limit(30);
> require('phpagi.php');
> error_reporting(E_ALL);
> $agi = new AGI();
> $agi->answer();
> sleep(2);
> // Pide el Caller id.
> $cid = $agi->parse_callerid();
> $cid= $cid[username];
> $agi->stream_file('access-code');
> // beep es el archivo que contendrá los 10 dígitos y se asignan a callnumber
> $result = $agi->get_data('beep', 3000, 10);
> $rut= $result['result'];
> $agi->verbose("Number to call:".$rut);
> // Disca
> $agi->exec("Dial SIP/5001");
> ?>
>
> Danilo
>
> "Pablo J." escribió:

Saúl Ibarra

unread,
May 25, 2007, 3:08:10 PM5/25/07
to aster...@googlegroups.com
Danilo, le has pasado la clase AGI? Por otro lado.como dice Raúl
deberías rehacer tu dialplan Pablo, ya que es un auténtico caos.

El 25/05/07, Danilo Reyes <danilo_...@yahoo.com> escribió:


--
Saúl -- "Some people say why, other just say, why not."
----------------------------------------------------------------
http://www.saghul.net/

Pablo J.

unread,
May 25, 2007, 3:56:44 PM5/25/07
to asterisk-es
Voy a ordenar mi dialplan y hacerlo mas corto para efecto de pruebas
ya que solo necesito la parte en que sale la voz diciendo digite
blablabla despues toka el beep por ejempl. y la persona digita el
numero y este quedara guardado en una base de datos o si es posible se
envie por correo...

Uffff toy al tope.....

y ademas quiero dar las gracias a las personas que contestan en la
lista ya que lo hacen sin ninguna mala intencion, de antemano muchas
gracias por la ayuda.


On 25 mayo, 15:08, "Saúl Ibarra" <sag...@gmail.com> wrote:
> Danilo, le has pasado la clase AGI? Por otro lado.como dice Raúl
> deberías rehacer tu dialplan Pablo, ya que es un auténtico caos.
>

> El 25/05/07, Danilo Reyes <danilo_reye...@yahoo.com> escribió:


>
>
>
>
>
> > pablo
> > ese script que te pase sifunciona
>
> > cuentame lo que hiciste y lo
> > vemos
>
> > danilo

> > "Pablo J." <octubr...@gmail.com> escribió:

> > Regístrate ya -http://correo.espanol.yahoo.com/


>
> --
> Saúl -- "Some people say why, other just say, why not."

> ----------------------------------------------------------------http://www.saghul.net/- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Saúl Ibarra

unread,
May 25, 2007, 4:23:18 PM5/25/07
to aster...@googlegroups.com
No te preocupes, ordena un poco eso, para centrar el asunto y cuando
lo tengas le echamos un vistazo! :P


El 25/05/07, Pablo J. <octu...@gmail.com> escribió:

Pablo J.

unread,
May 29, 2007, 10:11:58 AM5/29/07
to asterisk-es
Bueno retomando el drama con el que estaba reduci todo el contexto a
una sola extencion

[prueba]

exten => 195,1,Answer
exten => 195,2,Background(/var/lib/asterisk/sounds/ivr/Disque_codigo)
exten => 195,3,AGI(digit.php)

exten => 195,103,hangup

exten => s,1,ANSWER
exten => s,2,Dial(SIP/192,120,Tt)


exten => s,3,Voicemail(206,s)
exten => s,4,HangUp

Use el AGI que envio danilo y si funciona solo que el esta usando
autenticacion de usuario y yo no necesitaba eso asi que lo saque
dejando la siguiente forma.

#!/usr/bin/php -q
<?


set_time_limit(30);
require('phpagi.php');
error_reporting(E_ALL);
$agi = new AGI();
$agi->answer();
sleep(2);
// Pide el Caller id.
$cid = $agi->parse_callerid();

//$cid= $cid[username];
//$agi->stream_file('access-code');
// beep es el archivo que contendráos 10 dítos y se asignan a


callnumber
$result = $agi->get_data('beep', 3000, 10);
$rut= $result['result'];
$agi->verbose("Number to call:".$rut);
// Disca

$agi->exec("Dial SIP/400");
?>

De esta forma cuando se hace una llamada el agi debug me arroja lo
siguiente.

-- Zap/2-1 answered SIP/140-09141f88
-- Accepting call from '23459400' to '195' on channel 0/31, span 1
-- Executing Answer("Zap/31-1", "") in new stack
-- Executing BackGround("Zap/31-1", "/var/lib/asterisk/sounds/ivr/
Disque_codigo") in new stack
-- Playing '/var/lib/asterisk/sounds/ivr/volver_menu' (language
'en')
-- Executing AGI("Zap/31-1", "digit.php") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/digit.php
AGI Tx >> agi_request: digit.php
AGI Tx >> agi_channel: Zap/31-1
AGI Tx >> agi_language: en
AGI Tx >> agi_type: Zap
AGI Tx >> agi_uniqueid: 1180447108.66445
AGI Tx >> agi_callerid: 23459400
AGI Tx >> agi_calleridname: unknown
AGI Tx >> agi_callingpres: 3
AGI Tx >> agi_callingani2: 0
AGI Tx >> agi_callington: 33
AGI Tx >> agi_callingtns: 0
AGI Tx >> agi_dnid: 195
AGI Tx >> agi_rdnis: unknown
AGI Tx >> agi_context: default
AGI Tx >> agi_extension: 195
AGI Tx >> agi_priority: 3
AGI Tx >> agi_enhanced: 0.0
AGI Tx >> agi_accountcode:
AGI Tx >>
AGI Rx << ANSWER
AGI Tx >> 200 result=0
-- Hungup 'Zap/2-1'
== Spawn extension (telefonica-dgn, 92080301, 3) exited non-zero on
'SIP/140-09141f88'
== End MixMonitor Recording SIP/140-09141f88
AGI Rx << GET DATA beep 3000 10
-- Playing 'beep' (language 'en')
AGI Tx >> 200 result=123456789 (timeout)
AGI Rx << VERBOSE "Number to call:123456789" 1
digit.php: Number to call:123456789
AGI Tx >> 200 result=1
AGI Rx << EXEC Dial SIP/400
-- AGI Script Executing Application: (Dial) Options: (SIP/400)
-- Called 400
-- SIP/400-0933cae8 is ringing


Se supone que me tira la grabacion que tengo luego me suena un beep y
digitos lo que necesito, ahi por ejemplo ahi presione 123456789, y
luego llama a la extencion 400 pero donde quedan esos numeros ya que
necesito que siga un dial donde va a pasar a un buzon de voz en el
cual se va a enviar por correo pero me causa la duda de como dejarlo
no se pos setear ese codigo como callerid + el numero del llamante.

haber si me pegan una manito.

On 25 mayo, 16:23, "Saúl Ibarra" <sag...@gmail.com> wrote:
> No te preocupes, ordena un poco eso, para centrar el asunto y cuando
> lo tengas le echamos un vistazo! :P
>

> El 25/05/07, Pablo J. <octubr...@gmail.com> escribió:

> > > > > unIVRde la siguiente forma.

Danilo Reyes

unread,
May 29, 2007, 6:23:37 PM5/29/07
to aster...@googlegroups.com
hola
que bueno que te sirvio
elnumero que ingresaste 123456789
queda en la variable $rut
 
aqui  
$agi->verbose("Number to call:".$rut);
...
 
en la consola del asterisk, si haces un asterisk -rv
te aparece Number to call: 123456789
 
asi es queesa deberia ser la variable
prueba hace run dial (sip/$rut) "no se si es asi el fromato porsiacaso..."ç
ydeberia discar
cuentame como te va
si yoadelanto algo te cuento
chau
Danilo

"Pablo J." <octu...@gmail.com> escribió:
Bueno retomando el drama con el que estaba reduci todo el contexto a
una sola extencion

[prueba]

exten => 195,1,Answer
exten => 195,2,Background(/var/lib/asterisk/sounds/ivr/Disque_codigo)
exten => 195,3,AGI(digit.php)

exten => 195,103,hangup

exten => s,1,ANSWER
exten => s,2,Dial(SIP/192,120,Tt)
exten => s,3,Voicemail(206,s)
exten => s,4,HangUp



Use el AGI que envio danilo y si funciona solo que el esta usando
autenticacion de usuario y yo no necesitaba eso asi que lo saque
dejando la siguiente forma.

#!/usr/bin/php -q
set_time_limit(30);
require('phpagi.php');
error_reporting(E_ALL);
$agi = new AGI();
$agi->answer();
sleep(2);
// Pide el Caller id.
$cid = $agi->parse_callerid();
//$cid= $cid[username];
//$agi->stream_file('access-code');
// beep es el archivo que contendráos 10 dÃ-tos y se asignan a
> El 25/05/07, Pablo J. escribió:

>
>
>
>
>
>
>
> > Voy a ordenar mi dialplan y hacerlo mas corto para efecto de pruebas
> > ya que solo necesito la parte en que sale la voz diciendo digite
> > blablabla despues toka el beep por ejempl. y la persona digita el
> > numero y este quedara guardado en una base de datos o si es posible se
> > envie por correo...
>
> > Uffff toy al tope.....
>
> > y ademas quiero dar las gracias a las personas que contestan en la
> > lista ya que lo hacen sin ninguna mala intencion, de antemano muchas
> > gracias por la ayuda.
>
> > On 25 mayo, 15:08, "Saúl Ibarra" wrote:
> > > Danilo, le has pasado la clase AGI? Por otro lado.como dice Raúl
> > > deberías rehacer tu dialplan Pablo, ya que es un auténtico caos.
>
> > > El 25/05/07, Danilo Reyes escribió:

>
> > > > pablo
> > > > ese script que te pase sifunciona
>
> > > > cuentame lo que hiciste y lo
> > > > vemos
>
> > > > danilo
> > > > "Pablo J." escribió:

Pablo J.

unread,
May 29, 2007, 8:06:27 PM5/29/07
to asterisk-es

Te entiendo pero mi idea no es discar el numero que ingresen si no que
ese numero quede en la variable o me da lo mismo y pase como callerid
del numero llamante y luego que capture los digitos se vuelva al
dialplan para ejecutar otras sentencias ya con "captura de
digitos"<numero llamante>, ahora no se si se podra o estare hablando
tonteras.

On 29 mayo, 18:23, Danilo Reyes <danilo_reye...@yahoo.com> wrote:
> hola
> que bueno que te sirvio
> elnumero que ingresaste 123456789

> queda en la variable $rut...
>
> leer más »


>
> aqui
> $agi->verbose("Number to call:".$rut);
> ...
>
> en la consola del asterisk, si haces un asterisk -rv
> te aparece Number to call: 123456789
>
> asi es queesa deberia ser la variable
> prueba hace run dial (sip/$rut) "no se si es asi el fromato porsiacaso..."ç
> ydeberia discar
> cuentame como te va
> si yoadelanto algo te cuento
> chau
> Danilo
>

> "Pablo J." <octubr...@gmail.com> escribió:

> > > > > > include => cola-horario- Ocultar texto de la cita -

Danilo Reyes

unread,
May 30, 2007, 9:17:26 AM5/30/07
to aster...@googlegroups.com
quieres hacer algo asi como spoofing

?


Danilo

"Pablo J." <octu...@gmail.com> escribió:
Te entiendo pero mi idea no es discar el numero que ingresen si no que
ese numero quede en la variable o me da lo mismo y pase como callerid
del numero llamante y luego que capture los digitos se vuelva al
dialplan para ejecutar otras sentencias ya con "captura de
digitos", ahora no se si se podra o estare hablando

tonteras.



On 29 mayo, 18:23, Danilo Reyes wrote:
> hola
> que bueno que te sirvio
> elnumero que ingresaste 123456789
> queda en la variable $rut...
>
> leer más >>
>
> aqui
> $agi->verbose("Number to call:".$rut);
> ...
>
> en la consola del asterisk, si haces un asterisk -rv
> te aparece Number to call: 123456789
>
> asi es queesa deberia ser la variable
> prueba hace run dial (sip/$rut) "no se si es asi el fromato porsiacaso..."ç
> ydeberia discar
> cuentame como te va
> si yoadelanto algo te cuento
> chau
> Danilo
>
> "Pablo J." escribió:

Pablo J.

unread,
May 30, 2007, 9:42:17 AM5/30/07
to asterisk-es

me pillaste no ne si sea exactamente spoofing pero mira para que me
entiendas mejor, segun el la prueba yo llame del numero agi_callerid:
23459400, eso significa que quedaria en el cdr como
"23459400"<23459400>n cierto ahora yo se que en el dialplan con
Set(CALLERID(name)=nombre id) se le puede cambiar lo que esta entre
las comillas dobles la idea seria que pasara por el agi tomara el
digito como la prueba 123456789 que quedo en la variable $rut y luego
volver al dialplan para setearle el callerid con ese nuermo mas el
numero del llamador "123456789"<23459400>

Me entiendes????

uta es que es medio complicado explicarlo ...


On 30 mayo, 09:17, Danilo Reyes <danilo_reye...@yahoo.com> wrote:
> quieres hacer algo asi como spoofing...
>
> leer más »
>
> ?
>
> Danilo
>
> "Pablo J." <octubr...@gmail.com> escribió:

> > > > > > > include- Ocultar texto de la cita -

Raúl Alexis Betancor Santana

unread,
May 30, 2007, 2:04:00 PM5/30/07
to aster...@googlegroups.com
El Wednesday 30 May 2007 13:42:17 Pablo J. escribió:
> me pillaste no ne si sea exactamente spoofing pero mira para que me
> entiendas mejor, segun el la prueba yo llame del numero agi_callerid:
> 23459400, eso significa que quedaria en el cdr como
> "23459400"<23459400>n cierto ahora yo se que en el dialplan con
> Set(CALLERID(name)=nombre id) se le puede cambiar lo que esta entre
> las comillas dobles la idea seria que pasara por el agi tomara el
> digito como la prueba 123456789 que quedo en la variable $rut y luego
> volver al dialplan para setearle el callerid con ese nuermo mas el
> numero del llamador "123456789"<23459400>
>
> Me entiendes????

Se entiende lo que pretendes, pero ¿te queda claro a ti lo inútil que es?, lo
digo porque ningún operador de PSTN te va a permitir cambiar el callerid y
hay muy pocos operadores VoIP que te lo permitan, lo cual restringe la
utilidad de tu macro a las comunicaciones IP-IP y siempre y cuando el
receptor no tenga activado screening del callerid.

Pablo J.

unread,
May 30, 2007, 2:38:42 PM5/30/07
to asterisk-es

no se si me entendiste bien ya que tu hablas de la salida hacia una
PSTN, eso lo tengo claro que modificar el callerid es bien complejo,
yo hablo de una llamada de entrada al asterisk que pasa por un ivr y
en las llamadas de entrada si se puede modificar el callerid para
hacerlo llegar a un x-lite por ejemplo con el nombre que uno quiera
cambiando lo que esta entre las comillas dobles...

la idea es que despues que en el dialplan pase al AGI tome los digitos
que se presiones por el telefono luego vuelva al dialplan y lo mando a
un buzon de voz y se va por correo los digitos que se capturaron mas
el numero de telefono de la persona que llamo y la grabacion de
audio...

On 30 mayo, 14:04, Raúl Alexis Betancor Santana <r...@dimension-

Daniel Pizarro

unread,
May 30, 2007, 5:07:31 PM5/30/07
to aster...@googlegroups.com
Algo asi?

Set(CALLERID(name)=$var_called)
Set(CALLERID(num)=$var_caller)

 Saludos

Daniel Pizarro
Infobox Peru

El día 30/05/07, Pablo J. <octu...@gmail.com> escribió:
Skype. dpizarro
Web. www.infobox-peru.com

Raúl Alexis Betancor Santana

unread,
May 30, 2007, 5:25:13 PM5/30/07
to aster...@googlegroups.com
El Wednesday 30 May 2007 18:38:42 Pablo J. escribió:
> no se si me entendiste bien ya que tu hablas de la salida hacia una
> PSTN, eso lo tengo claro que modificar el callerid es bien complejo,
> yo hablo de una llamada de entrada al asterisk que pasa por un ivr y
> en las llamadas de entrada si se puede modificar el callerid para
> hacerlo llegar a un x-lite por ejemplo con el nombre que uno quiera
> cambiando lo que esta entre las comillas dobles...
>
> la idea es que despues que en el dialplan pase al AGI tome los digitos
> que se presiones por el telefono luego vuelva al dialplan y lo mando a
> un buzon de voz y se va por correo los digitos que se capturaron mas
> el numero de telefono de la persona que llamo y la grabacion de
> audio...

A ver si lo pillo ... quieres que cuando se envíe al mailbox lo haga con el
callerid "trucado" que ha introducido el usuario ¿correcto? ... ¿no sería más
fácil no tocar nada y enviar al buzón de voz el callerid que te llega?
Es que sigo sin entender la utilidad del objetivo que pretendes. Porque si es
para mostrarle al usuario del softphone el "nombre" del que llama, pues vale
una consulta a una BD para buscar el nombre de un número concreto, pero más
allá de eso .. no veo la utilidad, a lo mejor me lo puedes aclarar.
De todas formas técnicamente, lo único que has de hacer desde el AGI es
un "SET VARIABLE CDR(name) 'valor'"

Pablo J.

unread,
May 31, 2007, 1:25:36 PM5/31/07
to asterisk-es
asi es es tal cual como lo dices enviar al mailbox con el callerid
"truncado" que a introducido el usuario, a mi parecer se le puede dar
mucha utilidad ya que por ejemplo asi como una idea a vuelo de pajaro,
llama la persona ingresa el codigo este se valida contra una base de
datos y ese codigo puede ya estar asociado a algo por ende si se envia
junto con el mailbox que en mi caso yo lo quiero hacer asi sea junto
con ese codigo asi la persona puede ver las caracteristicas, etc etc
de lo que la persona esta ingresando, a mi parecer se le puede dar
mucha utilidad pero mi experiencia en AGI como ves es bastante
corta...


On 30 mayo, 17:25, Raúl Alexis Betancor Santana <r...@dimension-

Pablo J.

unread,
May 31, 2007, 3:48:10 PM5/31/07
to asterisk-es
Lo logreeee muchas gracias por fin pude ententer de forma basica los
agi asi que ahora a programar se a dicho, alomejor lo que hice puede
que no sea la mejor forma pero me funciono como queria, y muchas
gracias a todos los que me me ayudaron muchas pero muchas gracias a
danilo por compartir ese script que fue el inicio de mi aprendisaje
graciasssss...


lo que hice fue lo siguiente..


#!/usr/bin/php -q
<?


set_time_limit(30);
require('phpagi.php');
error_reporting(E_ALL);
$agi = new AGI();
$agi->answer();
sleep(2);
// Pide el Caller id.
$cid = $agi->parse_callerid();

// beep es el archivo que contendra los 10 datos y se asignan a


callnumber
$result = $agi->get_data('beep', 3000, 10);

$digit= $result['result'];
$agi->verbose("Number to call:".$digit);
// Disca
$agi->exec("Set CALLERID(name)=$digit");
$agi->exec(Voicemail,s206);
?>


De esta forma una ves que cae en el buzon de voz llegan los digitos
mas el callerid

Estimado loko:

Alguien te ha dejado un correo de voz de 0:14 de
duracion, numero (72)
en tu buzon 206 de "123456" <23459400>, el dia Thursday, May 31, 2007
at 03:25:15 PM asi que tal ves
desees verlo cuando tengas tiempo. Gracias!

> > Dimensión Virtual S.L.- Ocultar texto de la cita -

Danilo Reyes

unread,
May 31, 2007, 8:13:35 PM5/31/07
to aster...@googlegroups.com
Grande Pablo...
 
"El mundo esta a favor de los pequeños..."...Silvio Rodriguez
 
Atte.
Danilo

"Pablo J." <octu...@gmail.com> escribió:
Lo logreeee muchas gracias por fin pude ententer de forma basica los
agi asi que ahora a programar se a dicho, alomejor lo que hice puede
que no sea la mejor forma pero me funciono como queria, y muchas
gracias a todos los que me me ayudaron muchas pero muchas gracias a
danilo por compartir ese script que fue el inicio de mi aprendisaje
graciasssss...


lo que hice fue lo siguiente..


#!/usr/bin/php -q
Reply all
Reply to author
Forward
0 new messages