Colgar llamada SIP al perder la conexión a Internet

303 views
Skip to first unread message

Santi

unread,
Oct 19, 2011, 3:34:25 AM10/19/11
to aster...@googlegroups.com
Buenos días,
   Tengo funcionando un sistema asterisk+a2billing bajo una Debian Squeeeze y cursando las llamandas a través de un tercer operador de VoIP <proveedorVOIP>. De momento,  no tengo primarios o HW dedicado.
Estoy utilizando un Linksys PAP2 y un movil para las pruebas preliminares. El PAP2 sale a través de una linea ADSL.
 
Curso una llamada desde el PAP2 hacia el movil y la contesto. Entonces apago el router ADSL.
------------------------------------------------------------------------------------------------------
   -- AGI Script Executing Application: (DIAL) Options: (SIP/proveedorVOIP/611111111,60,HRirL(8040000:61000:30000))
  == Using SIP RTP CoS mark 5
    -- Called SIP/proveedorVOIP/611111111
    -- SIP/provvedorVOIP-0000000d answered SIP/964810000-0000000c
[Oct 19 09:20:31] NOTICE[26347]: chan_sip.c:25529 sip_poke_noanswer: Peer '964810000' is now UNREACHABLE!  Last qualify: 47
---------------------------------------------------------------------------------------------------------
El servidor asterisk detecta que la cuenta SIP asociada <964810000> al PAP2 no el alcanzable gracias al atributo qualify y así aparece en el log.
 
Quiero que el servidor asterisk cuelgue la llamada cuando detecte este evento.
Sin embargo, no se cómo capturar el evento y ejecutar un cuelgue de la llamada.
--------------------------------------------------------------------------------

CLI> soft hangup SIP/964810000-0000000c
--------------------------------------------------------------------------------

¿Cómo se puede ejecuar el comando anterior?

  Gracias,

                  Santiago

Raúl Alexis Betancor Santana

unread,
Oct 19, 2011, 3:50:00 AM10/19/11
to aster...@googlegroups.com
On Wed, Oct 19, 2011 at 12:34:25AM -0700, Santi wrote:
> Buenos d�as,

> Tengo funcionando un sistema asterisk+a2billing bajo una Debian Squeeeze
> y cursando las llamandas a trav�s de un tercer operador de VoIP
> <proveedorVOIP>. De momento, no tengo primarios o HW dedicado.
> Estoy utilizando un Linksys PAP2 y un movil para las pruebas preliminares.
> El PAP2 sale a trav�s de una linea ADSL.
>
> Curso una llamada desde el PAP2 hacia el movil y la contesto. Entonces apago
> el router ADSL.
> ------------------------------------------------------------------------------------------------------
> -- AGI Script Executing Application: (DIAL) Options:
> (SIP/proveedorVOIP/611111111,60,HRirL(8040000:61000:30000))
> == Using SIP RTP CoS mark 5
> -- Called SIP/proveedorVOIP/611111111
> -- SIP/provvedorVOIP-0000000d answered SIP/964810000-0000000c
> [Oct 19 09:20:31] NOTICE[26347]: chan_sip.c:25529 sip_poke_noanswer: Peer
> '964810000' is now UNREACHABLE! Last qualify: 47
> ---------------------------------------------------------------------------------------------------------
> El servidor asterisk detecta que la cuenta SIP asociada <964810000> al PAP2
> no el alcanzable gracias al atributo qualify y as� aparece en el log.

>
> Quiero que el servidor asterisk cuelgue la llamada cuando detecte este
> evento.
> Sin embargo, no se c�mo capturar el evento y ejecutar un cuelgue de la
> llamada.
> --------------------------------------------------------------------------------
>
> CLI> soft hangup SIP/964810000-0000000c
> --------------------------------------------------------------------------------
>
> �C�mo se puede ejecuar el comando anterior?

No hace falta que detectes nada, Asterisk solito detectar� la falta de
RTP y har� el hangup, siempre y cuando lo tengas configurado
correctamente.

Saludos

Santi

unread,
Oct 19, 2011, 4:23:45 AM10/19/11
to aster...@googlegroups.com
Tengo configurado parámetros en la cuenta SIP <964810000>
 - RTPTIMEOUT  = 10
 - RTPKEEPALIVE = 20
 
Sin embargo, creo que tengo que añadir los siguientes atributos  en el sip.conf:
session-timers=originate
session-expires=600
session-minse=90
session-refresher=uas
 
¿Son estos los atributos rtp a los que te referías?

Raúl Alexis Betancor Santana

unread,
Oct 19, 2011, 4:33:20 AM10/19/11
to aster...@googlegroups.com
On Wed, Oct 19, 2011 at 01:23:45AM -0700, Santi wrote:
> Tengo configurado par�metros en la cuenta SIP <964810000>

> - RTPTIMEOUT = 10
> - RTPKEEPALIVE = 20
>
> Sin embargo, creo que tengo que a�adir los siguientes atributos en el
> sip.conf:
> session-timers=originate
> session-expires=600
> session-minse=90
> session-refresher=uas
>
> �Son estos los atributos rtp a los que te refer�as?

No, sobre todo porque esos son par�metros para los session timmers, qu
ees a nivel SIP, no a nivel RTP.

Con los par�metros de rtptimeout deber�a ser m�s que suficiente.

Saludos

Santi

unread,
Oct 19, 2011, 5:09:32 AM10/19/11
to aster...@googlegroups.com
[Oct 19 10:58:47] NOTICE[848]: chan_sip.c:25529 sip_poke_noanswer: Peer '964812528' is now UNREACHABLE!  Last qualify: 82
[Oct 19 10:59:11] NOTICE[848]: chan_sip.c:25080 check_rtp_timeout: Disconnecting call 'SIP/964812528-00000004' for lack of RTP activity in 31 seconds
 
Tienes razón. Añadiendo en el sip.conf en la aprte de general:
rtptimeout=30                    ; Terminate call if 60 seconds of no RTP or RTCP activity
rtpholdtimeout=300            ; Terminate call if 300 seconds of no RTP or RTCP activity
                                        ; on the audio channel
 
Tenía configurado el rtptimeout en la extension SIP <964810000> del a2billing. Pero parece que no me hace mucho caso.
Aunque no creo que pase nada si tambien está:
 - session-timers=originate
 - session-expires=600
 - session-minse=90
 - session-refresher=uas

Reply all
Reply to author
Forward
0 new messages