Forzar colgar una llamada SIP

1,623 views
Skip to first unread message

Manuel Camargo

unread,
Aug 3, 2016, 7:44:33 AM8/3/16
to asterisk-es
Vamos a suponer que yo tengo un user sip 1000

Este user sip cursa una llamada a traves de un isp sip, y por motivos de la vida, se queda colgado el softphone

Como Asterisk esta configurado por defecto para no hacer un reinvite hasta pasados 1800 segundos despues de iniciar la llamada es posible que si el destino no cuelga la llamada (o no se manda un BYE desde la parte llamada), la llamada se quede en el aire.

Pero vamos a suponer el que usuario sip 1000 reestablece su softphone y vuelve a llamar

En este caso, se crea un canal nuevo y se cursa una segunda llamada entonces el usuario sip 1000 estaria usando dos canales.

Aunque es viable que solo el usuario 1000 tenga un solo canal forzado, esta no es mi intención. Mi intención es que el usuario 1000 sea capaz de colgar la otra llamada.
No se si en el dialplan esto se puede hacer para que cuando el usuario 1000 entre en el dialplan, haya alguna app o algo que busque canales abiertos por el usuario y les mande un BYE forzado, y a continuación, ejecute la llamada.

¿Esto es posible? Se os ocurre alguna idea

Raúl Alexis Betancor Santana

unread,
Aug 3, 2016, 7:58:57 AM8/3/16
to aster...@googlegroups.com
A bote pronto ... no, no hay forma.

Puedes cogar una llamada establecida de manera forzada, con un comando de consola ... pero te tendrías que currar un dialplan, que consulte los canales sip activos, que los relacione con la extensión que está haciendo la llamada en curso y que antes de lanzar el 'Dial' hacia fuera ... cierre cualquier otro canal SIP de esa extensión que no sea el actual.

Demasiado complicado ... es más fácil que uses sesion-timers y lo pongas a 1 o 2 minutos, que es, dicho sea de paso, la manera correcta de hacer lo que quieres.


--
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 anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/asterisk-es.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

José Luis Gómez

unread,
Aug 3, 2016, 8:16:06 AM8/3/16
to Lista Asterisk
Hola.
Chequeá la aplicación de dialplan SoftHangup que me parece te va a servir. Yo lo uso en clientes que necesitan sacar llamadas a ciertos destinos importantes o desde ciertos internos, y si no hay lineas disponibles, corta con esta aplicación.
Saludos.

--
Ing. José Luis Gómez

Manuel Camargo

unread,
Aug 3, 2016, 8:48:08 AM8/3/16
to asterisk-es
Si, estoy viendo esto, Como haces para meter un SoftHangup a un canal sin saber dicho canal? Con sqlite almacenas el ultimo canal usado?

José Luis Gómez

unread,
Aug 3, 2016, 10:35:31 AM8/3/16
to Lista Asterisk

Si, eso seria lo correcto para saber el canal específico a cortar. Tambien, si mal no recuerdo, podes pasarle el usuario sip y le corta los canales.
También podes armar algo por AMI pero es mas costoso de tiempo y desarrollo jeje.
Saludos

Enviado de LG Mobile

Manuel Camargo

unread,
Aug 3, 2016, 10:43:14 AM8/3/16
to asterisk-es
Claro, el problema que si le corta los canales... se "autocortaría" no? :-)
Pero creo que con el AstDB se resuelve bien el tema aplicando el SoftHangup lo he probado y tiene buena pinta

Rodrigo Ramírez Norambuena

unread,
Aug 3, 2016, 10:58:52 AM8/3/16
to aster...@googlegroups.com
El día 3 de agosto de 2016, 8:48, Manuel Camargo <sir....@gmail.com> escribió:
> Si, estoy viendo esto, Como haces para meter un SoftHangup a un canal sin
> saber dicho canal? Con sqlite almacenas el ultimo canal usado?
>

Llamas a un AGI que te haga el parser del "show channels" y busqué ahí
según el parametró que le des a buscar (SIP id) para que te devuelva
el channel id y hagas hangup de ese canal.

Saludos,


--
Rodrigo Ramírez Norambuena
http://www.rodrigoramirez.com/

Gaston Draque

unread,
Aug 3, 2016, 11:03:16 AM8/3/16
to aster...@googlegroups.com

1. me parece que lo que ha sugerido Raul, es lo que deberias hacer 1ro.
2. si usas command usa 'core show channels concise' que viene con character separador.
3. Bienvenidos al apocalipsis zombie channels!


--
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 anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

Manuel Camargo

unread,
Aug 3, 2016, 11:37:10 AM8/3/16
to asterisk-es
Con esta solucion de AGI, te devolveria dos channels para una extension dada. 
Ahi tendrias que descartar el canal en curso que tambien se lo tendrias que pasar al AGI y asi poder quedarte con el canal ganador

El problema que veo a este metodo, es que llamar a AGI nunca fue buena idea, mientras que AstDB aunque es memoria en disco, es embedded, por lo que creo que es mucho más optimo a nivel de procesamiento.

Y encima mucho mas facil no habria que estar lidiando con parseos y con historias :-D
En realidad mi cuestión iba mas encaminada en plan "Hay una app o un parametro o algo asi que te haga esto casi de golpe asi lo máximo optimo posible?" Pero ya veo que no, asi que habrá que tirar por el camino del medio :-)

Por cierto Gaston no se si estas respondiendo a este mensaje o se te traspapelado, porque no hay ningun Raul en la conversación, a que te refieres con "lo del apocalipsis zombie?"

Gaston Draque

unread,
Aug 3, 2016, 7:41:35 PM8/3/16
to aster...@googlegroups.com

Lo de los zombie channels ha querido ser un chiste... pero ya me han dicho varias veces que desista, que la comedia no es lo mio...
Busca " asterisk zombie channels"... pero - aunque no es estrictamente lo mismo - se suele llamar asi a los canales colgados o non-responsive.
Raul, si mal no veo es la primer respuesta del hilo.
Saludos


--

Raúl Alexis Betancor Santana

unread,
Aug 3, 2016, 9:03:14 PM8/3/16
to aster...@googlegroups.com
Raúl, que soy yo ... fué el primero que te respondió ... y reitero mi consejo ... deja de jugar con el dialplan, y mira como configurar correctamente los session-timers o SST, es la forma que dicta el estandar SIP para 'matar' los diálogos que no responden. Todo lo demás es complicarte la vida y sin garantía de que funcione bien.



Jon Bonilla (Manwe)

unread,
Aug 4, 2016, 7:38:54 AM8/4/16
to aster...@googlegroups.com
El Thu, 4 Aug 2016 02:48:50 +0200 (CEST)
Raúl Alexis Betancor Santana <ra...@dimension-virtual.com> escribió:

> Raúl, que soy yo ... fué el primero que te respondió ... y reitero mi
> consejo ... deja de jugar con el dialplan, y mira como configurar
> correctamente los session-timers o SST, es la forma que dicta el estandar SIP
> para 'matar' los diálogos que no responden. Todo lo demás es complicarte la
> vida y sin garantía de que funcione bien.
>


tampoco el soporte sst de asterisk es como para echar cohetes. Hay muchos casos
en que tengo que deshabilitar el soporte sst cuando hay un asterisk al otro
lado.

Pero dicho esto, sí, es la forma de hacerlo.

Raúl Alexis Betancor Santana

unread,
Aug 4, 2016, 8:21:13 AM8/4/16
to aster...@googlegroups.com
Jeje ... yo ya parto de la base de quien usa Asterisk tiene que asumir sus 'features' ... XDD

----- Mensaje original -----
> De: "Jon Bonilla (Manwe)" <ma...@aholab.ehu.es>
> Para: aster...@googlegroups.com
> Enviados: Jueves, 4 de Agosto 2016 12:38:49
> Asunto: Re: [Asterisk-ES] Forzar colgar una llamada SIP

> --
> 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 anular la suscripción a este grupo y dejar de recibir sus mensajes, envía
> un correo electrónico a asterisk-es...@googlegroups.com.
> Para publicar una entrada en este grupo, envía un correo electrónico a
> Para obtener más opciones, visita https://groups.google.com/d/optout.
(null)
Reply all
Reply to author
Forward
0 new messages