Lanzar la llamada a varios troncales a la vez y detectar busy

51 views
Skip to first unread message

Javivi

unread,
Mar 13, 2024, 12:04:03 PMMar 13
to asterisk-es
Hola buenas tardes..

Tengo un Asterisk que cuando llamas a una extensión está se redirige a 3 extensiones diferentes por 3 troncales diferentes, algo así:

exten => 100,1,Dial(SIP/200@TRUNK1&SIP/300@TRUNK2&SIP/400@TRUNK3)

Todo bien hasta que tengo que detectar cuando la extensión está ocupada..

La extensión solo puede estar disponible en un troncal a la vez, si esa extensión esta sobre el TRUNK1 y está ocupada, me llega un BUSY, pero también me llega un RINGING sobre el TRUNK2 y TRUNK3, y si está sobre el TRUNK3 y está ocupada me llega un BUSY del TRUNK3, pero RINGING del TRUNK1 y TRUNK2..

La pregunta es, se puede "capturar" ese BUSY que me llega sobre el troncal en el que está funcionando en ese momento, y ocupada, para que la llamada de comunicando?

Sería posible hacerlo?

Gracias

Juan Carlos Valero

unread,
Mar 13, 2024, 12:10:24 PMMar 13
to aster...@googlegroups.com

No puedes. DIALSTATUS contiene el resultado de la ejecución de Dial. Si llamas a tres canales a la vez, solo hay un resultado.

Llama por orden, primero canal1 y chequeas DIALSTATUS, despues el segundo y asi consecutivamente.

Juan Carlos.

El 13/3/24 a las 17:04, Javivi escribió:
--
Un saludo,

Juan Carlos Valero
Capa Tres Soluciones Tecnológicas S.L.
Datos de contacto en http://capatres.tel
-------------------------------------------------------------------
OpenPGP_signature.asc

Javivi

unread,
Mar 14, 2024, 4:33:28 AMMar 14
to asterisk-es
Hola Juan Carlos, muchas gracias...

Por orden no puedo, ya que si llamo al TRUNK1 y me da tono, no se si es porque está sonando o porque no está sobre el TRUNK1...

He intentado con DEVICE_STATE pero los resultados son raros, a veces me da que está en uso y otras veces que no, cuando lo está...

No hay más opciones o alguna forma de hacerlo, a través del manager o algo?

Gracias

Juan Carlos Valero

unread,
Mar 14, 2024, 4:39:36 AMMar 14
to aster...@googlegroups.com

Hay algo que no entiendo.... ¿porque tienes que llamar a tres extensiones a la vez con tres trunks distintos? El primer paso para pensar la solucion es tener claro el escenario. Explicame si eres tan amable porque lo haces asi, a ver si se puede plantear de otro modo. Y el resultado que quieres obtener, a ver si asi entiendo lo que buscas.

En Asterisk no hay atajos.... si no se puede hacer con el Dialplan, rara vez lo podrás hacer con Manager o con AGI ya que el funcionamiento base es el mismo. De hecho es la recomendación oficial de Digium: mejor que se ejecute en el dialplan que no de formas externas.

El 14/3/24 a las 9:33, Javivi escribió:
--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
Normas de la lista Asterisk-ES: http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/asterisk-es/ef1a478b-9a2e-4373-aeb2-3b3b789e5c80n%40googlegroups.com.
-- 
Un saludo,

Juan Carlos Valero
Capa Tres Soluciones Tecnológicas S.L.
Datos de contacto en http://capatres.tel
-------------------------------------------------------------------
LSSI: En cumplimiento de la Ley 34/2002, de 11 de Julio, de Servicios de la Sociedad de la Información y
de Comercio Electrónico (LSSI) , le comunicamos que sus datos forman parte de una base de datos
gestionada bajo la responsabilidad de CAPA TRES SOLUCIONES TECNOLÓGICAS S.L. con las finalidades de
atender el servicio contratado o del envío de información de nuestra empresa que pueda ser de su interés,
sea por su condición de cliente, porque nos haya solicitado información comercial en algún momento,
porque sus datos figuren en una fuente de acceso al público o sea porque usted ha autorizado que sus
datos figuren en un fichero comercial automatizado, así mismo le comunicamos que los datos se
conservaran mientras haya un interés mutuo para ello.
Si no quiere recibir ninguna comunicación de nuestra empresa conteste baja al correo recibido o envíe
baja junto con su nombre y dirección de Correo electrónico a in...@capatres.com
Protección de Datos: De conformidad con lo dispuesto en la normativa de tratamiento de datos
personales, Reglamento (UE) 2016/679 del Parlamento Europeo y del Consejo y la Ley Orgánica 3/2018
LOPDGDD, le comunicamos que sus datos forman parte de una base de datos gestionada bajo la
responsabilidad de CAPA TRES SOLUCIONES TECNOLÓGICAS S.L.
Le informamos que puede ejercer sus derechos de acceso, rectificación, supresión y portabilidad de
datos y oposición y limitación a su tratamiento ante Capa Tres Soluciones Tecnológicas S.L. con CIF
B63846984 dirección Centro Negocios Networkia. Avda Portal de l’Angel 36. 08002 Barcelona y correo
electrónico in...@capatres.com adjuntando copia de su DNI o documento equivalente. Asimismo, y
especialmente si considera que no ha obtenido satisfacción plena en el ejercicio de sus derechos, podrá
presentar una reclamación ante la autoridad nacional de control dirigiéndose a estos efectos a la
Agencia Española de Protección de Datos, C/ Jorge Juan, 6 – 28001 Madrid.
Aviso Legal: La información contenida en este mensaje es confidencial y puede incluir datos de carácter
reservado. Esta información va dirigida únicamente a su destinatario. El acceso o su uso por parte de otra
persona no autorizada puede ser ilegal. Si no es usted la persona de destino, por favor, borre su contenido.
OpenPGP_signature.asc

Javivi

unread,
Mar 14, 2024, 5:13:27 AMMar 14
to asterisk-es
El funcionamiento es el siguiente..

Tengo un Asterisk conectado a 3 centralitas tradicionales por SIP..

Estas centralitas tradicionales tienen DECT cada una, y la gente tiene su inalámbrico registrado en cada una de las 3 centralitas con 3 extensiones distintas, no puedo compartir extensiones entre centralitas. De las 3 extensiones tienen 1 como principal a la que todo el mundo llama, si se van a otra centralita, hacen un desvío a esa extensión, es decir la principal es la 100 si se van a la 200 desvían la 100 a la 200..

El problema es que esto se les olvida a la mayoría, entonces yo la 100 la he pasado al Asterisk, y he creado la 101 y registrado el DECT sobre esta, de tal forma que cuando la gente llama a la 100, la llamada se dirige a la 101, 200 y 300, cada una por un troncal diferente..

Las centralitas me devuelve RINGING aunque no esté el DECT con cobertura en ese momento, pero si me devuelve un BUSY cuando está ocupado, pero claro, tengo un BUSY y dos RINGINGS..

No se si me he explicado...

Muchas gracias

Juan Carlos Valero

unread,
Mar 14, 2024, 5:40:12 AMMar 14
to aster...@googlegroups.com

A ver, si te he entendido bien, al final lo que quieres es que llamando a la 101, suene en el DECT este en la central que este. Puedes descartar los RINGING porque no son significativos. ¿Te interesa que si devuelve BUSY te de tono de ocupado y deje de intentar llamar?


exten => 100,1,NoOP(----- ${CALLERID(num)} llamando a ${EXTEN} ---)

same => n,Dial(LOCAL/101/n&LOCAL/200/n&LOCAL/300/n)

same => n,Hangup()


exten => 101,1,NoOP(--- Llamada via Chan_Local a ${EXTEN} ---)

same => n,Dial(SIP/${EXTEN}@TRONCAL1)

same => n,Hangup()


exten => 200,1,NoOP(--- Llamada via Chan_Local a ${EXTEN} ---)

same => n,Dial(SIP/${EXTEN}@TRONCAL2)

same => n,Hangup()


exten => 300,1,NoOP(--- Llamada via Chan_Local a ${EXTEN} ---)

same => n,Dial(SIP/${EXTEN}@TRONCAL3)

same => n,Hangup()


Podria ser una aproximación. Es complicado sin ver la traza SIP con las distintas centrales, pero chan_local te permite generar llamadas de este modo. De todos modos no tengo claro que pasaria con el BUSY de una central, habria que probarlo.

Ya diras si te sirve o si te da alguna pista para avanzar. Es lo único que se me ocurre de probar.

Juan Carlos.

El 14/3/24 a las 10:13, Javivi escribió:
OpenPGP_signature.asc

Javivi

unread,
Mar 14, 2024, 5:51:51 AMMar 14
to asterisk-es
Hola Juan Carlos, si eso es, me interesa que cuando reciba un BUSY, sea del troncal que sea, deje de intentar llamar, que de comunicando..

Voy a probar con LOCAL..

Muchas gracias

Javivi

unread,
Mar 25, 2024, 5:48:47 AMMar 25
to asterisk-es
Hola buenos días...

Estaba probando lo que me comentas Juan Carlos, y yo si configuro con Local, veo la llamada a las dos extensiones de las dos centralitas, la que tiene la extensión ocupada ve devuelve un "Got SIP response 486 "Busy Here"" TRONCAL1 is busy.
En la otra extensión de la otra centralita me devuelve un RINGING, por lo que la primera extensión deja de intentar llamar, pero yo sigo escuchando llamada por el RINGING de la segunda..

Habría forma de que la llamada se corte al detectar ese BUSY?

Gracias

Reply all
Reply to author
Forward
0 new messages