Buenas tardes a todos,
Llevo toda la tarde intentando averiguar si hay alguna forma de averiguar qué usuario/device genera una llamada (Local/5555555) en concreto.
El tema es que estoy trasteando con una aplicación de terceros, que hace una llamada a otra extensión en el Dialplan desde un Local/5555555 y necesito saber si hay alguna función u/o variable que asocie el Usuario SIP que generó ese Canal Local.
El CallerID ya me llega cambiado con 555555 y el usuario que la generó, por ejemplo, es el SIP/2020.
¿Hay alguna forma?
Saludos y gracias,
Ramses
José: chan_local es de las mejores cosas que tiene Asterisk. Si
quieres saber por qué puedo darte un par de ejemplos en los que el uso
de chan_local es imprescindible...
--
Saúl -- "Nunca subestimes el ancho de banda de un camión lleno de disketes."
----------------------------------------------------------------
http://www.saghul.net/
?
¿sin chan_local?
No, porque le aparecerían las llamadas perdidas!!
> PS: Podrías colocar la forma en que lo haráis tu?
>
exten => llamar,1,Dial(SIP/telfA&Local/llamaB&Local/llamaC)
exten => llamaB,1,Wait(10)
exten => llamaB,n,Dial(SIP/telfB)
exten => llamaC,1,Wait(20)
exten => llamaC,n,Dial(SIP/telfC)
Y si en lugar de usar chan_agent metemos los chan_local en las colas
la cosa se pone divertida :)
> Dejan de sonar pero por muy poco tiempo digamos 1ms y como te sigo esNo, porque le aparecerían las llamadas perdidas!!
> imperceptible para el usuario.
>
exten => llamar,1,Dial(SIP/telfA&Local/llamaB&Local/llamaC)
> PS: Podrías colocar la forma en que lo haráis tu?
>
exten => llamaB,1,Wait(10)
exten => llamaB,n,Dial(SIP/telfB)
exten => llamaC,1,Wait(20)
exten => llamaC,n,Dial(SIP/telfC)
Y si en lugar de usar chan_agent metemos los chan_local en las colas
la cosa se pone divertida :)
Y nunca has tenido la necesidad de ejecutar 'algo' antes de llamar al
agente o dispositivo SIP?
Sería preciso mirar en que versión salió esta variable pero creélo que ahí debe estar. Lo que tengo entendido es que el Local hace un Bridge con el canal asociado al dispositivo. Podrías probar en un 1.4?
Jose, buenas tardes,
Creo que esa variable salió en la 1.4.
Mirad, si hago un “system(asterisk –rx “show channels” | grep (número al que se llama) > pruebas.txt)”, en el sitio donde quiero obtener el usuario llamante, puedo llegar a obtener entre otras líneas, esto:
SIP/2020-b59c6a00 s@macro-dialout Ring Dial(Local/955555555@contexto
Claro, de ahí podríamos sacar la Extensión 2020.
Pero qué pasaría si 2 Extensiones llaman al mismo número, pos que la liamos, ya que al meter esa misma línea nos saldría:
SIP/2020-b59c6a00 s@macro-dialout Ring Dial(Local/955555555@contexto
SIP/2030-b49c5a80 s@macro-dialout Ring Dial(Local/955555555@contexto
Por ejemplo.
Y entonces, ¿de qué extensión tiramos?
Tiene que haber algo, leches…
Saludos y gracias,
Ramses
De:
aster...@googlegroups.com [mailto:aster...@googlegroups.com] En nombre de José Ferney Franco
Enviado el: miércoles, 22 de abril
de 2009 15:38
Para: aster...@googlegroups.com
Asunto: [Asterisk-ES] Re: Asociar
Local Channel y usuario que genera la llamada.
Sería preciso mirar en que versión salió esta variable pero creélo que ahí debe estar. Lo que tengo entendido es que el Local hace un Bridge con el canal asociado al dispositivo. Podrías probar en un 1.4?
Jose, buenas tardes,
En la 1.4 no aparece esa variable.
Si le hago un “channel Local/955555555@contexto-25a3,2”, nada hace referencia al SIP que originó la llamada, todos son variables del número llamante, el llamado, uniqueid, contextos, etc…
Una duda, ¿cada canal que se crea tiene su “uniqueid” o es cada conversación?
Si es por conversación, habría forma de sacar todos los canales activos que están interviniendo en un momento dado en una conversación?
Saludos y gracias,
Ramses
De: aster...@googlegroups.com
[mailto:aster...@googlegroups.com] En
nombre de José Ferney Franco
Enviado el: miércoles, 22 de abril
de 2009 17:05
Para: aster...@googlegroups.com
Asunto: [Asterisk-ES] Re: Asociar
Local Channel y usuario que genera la llamada.
Mira lo que me sale en un 1.4:
En la 1.4 no aparece esa variable.
Si le hago un “channel Local/955555555@contexto-25a3,2”, nada hace referencia al SIP que originó la llamada, todos son variables del número llamante, el llamado, uniqueid, contextos, etc…
Una duda, ¿cada canal que se crea tiene su “uniqueid” o es cada conversación?
Si es por conversación, habría forma de sacar todos los canales activos que están interviniendo en un momento dado en una conversación?
Jose, buenas tardes,
Lo que quiero, a groso modo, es:
Yo levanto un teléfono y marco un número.
El Dialplan empieza a correr y pasa por un punto en el que $CHANNEL es “Local/……..” y en ese punto quiero obtener el usuario (SIP/xxxx) que originó la llamada.
Claro, si no se hubiese cambiado el “CallerID” pues estaba fácil, pero es que el “CallerID” ya me llega cambiado a ese punto del Dialplan.
No sé si te lo he aclarado.
El tema es que estamos con Asteisk 1.2
Si tuviese menda de sacar de algún sitio el canal SIP asociado al Local que pudo obtener con el ${CHANNEL}, pues…