ACK missing en SIP flow?

231 views
Skip to first unread message

BorjaGVO

unread,
Apr 25, 2012, 2:04:04 PM4/25/12
to aster...@googlegroups.com
Pues eso, todo iba como la seda y de repente, tras intentar configurar el buzón de voz no hay audio en un sentido. No se cuantas veces he lidiado ya con el problema de one-way-audio pero las soluciones que encuentro no parecen nunca ser definitivas. La última "solución" fue "descativar" nat en cualquier dispositivo y ponerlo sólo en el [general] dándole el valor de comedia. Eso funconó y pensé: "se acabaron los problemaaaas"...para nada.

Ahora me da un error (WARNING) en la CLI de Asterisk. Esto ocurre como a los 8 segundos de que se haya cogido el teléfono y la comunicación esté establecida. Haciendo rtp set debug on sólo se ve audio en un sentido hasta que salta el WARNING y la conexión se corta. Analizando el flujo de la sesión SIP y el tráfico RTP hay varias cosas importantes que notar:

1. El tráfico desde el cliente que llama desde fuera del firewall (cliente_fuera-->firewall---
Astrsk---Cliente_dentro) SI entra (el firewall no lo tira) y SI llega a Asterisk (traza capturada con wireshark tanto en el Firewall como en Asterisk).
2. En la CLI, con rtp set debug on, sólo se manda tráfico RTP al cliente que está fuera, pero no al de dentro...cuando sí que llega como se ve con Wireshark.

Los WARNING que saltan son los siguientes (ambos se repiten 9 veces...no los pongo por limpieza):

[2012-04-25 19:24:44] WARNING[4275]: chan_sip.c:3641 retrans_pkt: Retransmission timeout reached on transmission NzE2YzdhZjMzZGIwYWMzNThiNmVhZTBmZjkwMGNkYjI. for seqno 2 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 9792ms with no response

[2012-04-25 19:24:44] WARNING[4275]: chan_sip.c:3670 retrans_pkt: Hanging up call NzE2YzdhZjMzZGIwYWMzNThiNmVhZTBmZjkwMGNkYjI. - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).

He ido a la página que indica el WARNING y comentan que puede ser debido a la falta de un ACK o algo por el estilo....y efectivamente. Reevisando el flujo SIP veo como falta un ACK, al menos eso creo. Os pongo a continuación el flujo a ver si detectáis algo más que yo (el diagrama no es realista ya que faltaría el firewall y el cliente que está en la misma LAN que Asterisk...pero para lo que quiero mostrar creo que no es necesario)

 Cliente_fuera                    Asterisk
     |                               |
     |          INVITE (SDP)         |
     |------------------------------>|
     |        401 Unauthorized       |
     |<------------------------------|
     |              ACK              |
     |------------------------------>|
     |            INVITE             |
     |------------------------------>|
| 100 TRYING | |<------------------------------| | 180 RINGING | |<------------------------------| | 200 OK (SDP) | |<------------------------------| | 200 OK (SDP) | |<------------------------------|
| 200 OK (SDP) | |<------------------------------| | 200 OK (SDP) | |<------------------------------| | 200 OK (SDP) | |<------------------------------| | OPTIONS | |<------------------------------| | OK | |------------------------------>| | 200 OK (SDP) | |<------------------------------| | 200 OK (SDP) | |<------------------------------| | 200 OK (SDP) | |<------------------------------| | BYE | |<------------------------------| | 200 OK (SDP) | |<------------------------------| | OK |
|------------------------------>|

A partir de aquí no se qué más hacer. Si estoy en lo cierto y falta el ACK...cómo consigo que el cliente lo mande? Porque NO lo manda ya que en la captura en el Firewall con Wireshark no aparece por ningún lado.

¿¿¿¿Alguna idea????


SALU2

Saúl Ibarra Corretgé

unread,
Apr 25, 2012, 4:18:33 PM4/25/12
to aster...@googlegroups.com
Has capturado el tráfico en el cliente de fuera? Ahí está el tema. Si el Contact que le llega en el 200 OK apunta al sitio incorrect el ACK nunca llegará a Asterisk, ya que el ACK se manda a donde diga el Contact del 200 OK.


Saludos,

--
Saúl Ibarra Corretgé

http://saghul.net | http://about.me/saghul


Borja Gª de Vinuesa Ordovás

unread,
Apr 25, 2012, 4:24:40 PM4/25/12
to aster...@googlegroups.com

Vale, supongamos que el 200 OK se manda con un CONTACT erróneo. ¿Cómo podría solucionarse? ¿Por qué Asterisk de repente le daría por cambiar el CONTACT? Sería raro, rro no??

Salu2!

--
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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Para anular la suscripción: asterisk-es...@googlegroups.com

Saúl Ibarra Corretgé

unread,
Apr 25, 2012, 4:46:00 PM4/25/12
to aster...@googlegroups.com
Y si lo cambia tu firewall? ;-)

--
Saúl Ibarra Corretgé
http://saghul.net | http://about.me/saghul


On Wednesday, April 25, 2012 at 10:24 PM, Borja Gª de Vinuesa Ordovás wrote:

> Vale, supongamos que el 200 OK se manda con un CONTACT erróneo. ¿Cómo podría solucionarse? ¿Por qué Asterisk de repente le daría por cambiar el CONTACT? Sería raro, rro no??
> Salu2!
> > - Para anular la suscripción: asterisk-es...@googlegroups.com (mailto:asterisk-es...@googlegroups.com)
>
> --
> 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
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> - Para anular la suscripción: asterisk-es...@googlegroups.com (mailto:asterisk-es...@googlegroups.com)



Borja Gª de Vinuesa Ordovás

unread,
Apr 25, 2012, 5:14:18 PM4/25/12
to aster...@googlegroups.com
Si lo cambia el firewall lo tiro por la ventana sin miramientos xD

Angel Elena

unread,
Apr 25, 2012, 5:35:07 PM4/25/12
to aster...@googlegroups.com
te saldrá más barato desactivar el ALG y inspections de los routers / firewalls, tal y como te comenté xDD



-----Mensaje original-----
De: Borja Gª de Vinuesa Ordovás <borjav...@gmail.com>
Enviado: Mier 25-04-2012 23:14
Asunto: Re: [Asterisk-ES] ACK missing en SIP flow?
Para: aster...@googlegroups.com;
> Si lo cambia el firewall lo tiro por la ventana sin miramientos xD
>
> El 25 de abril de 2012 22:46, Saúl Ibarra Corretgé <sag...@gmail.com
> <mailto:sag...@gmail.com> > escribió:
> Y si lo cambia tu firewall? ;-)
>
> --
> Saúl Ibarra Corretgé
> http://saghul.net <http://saghul.net> | http://about.me/saghul
> <http://about.me/saghul>
>
>
> On Wednesday, April 25, 2012 at 10:24 PM, Borja Gª de Vinuesa Ordovás wrote:
>
> > Vale, supongamos que el 200 OK se manda con un CONTACT erróneo. ¿Cómo podría
> solucionarse? ¿Por qué Asterisk de repente le daría por cambiar el CONTACT?
> Sería raro, rro no??
> > Salu2!
> > El 25/04/2012 22:18, "Saúl Ibarra Corretgé" <sag...@gmail.com
> <mailto:sag...@gmail.com> (mailto:sag...@gmail.com <mailto:sag...@gmail.com> )>
> > > http://saghul.net <http://saghul.net> | http://about.me/saghul
> <http://about.me/saghul>
> > >
> > >
> > > --
> > > Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org
> <http://www.asterisk-es.org> )
> > >
> > > ~~~ Normas de la lista Asterisk-ES: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
> <http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es>
> > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > - Para anular la suscripción: asterisk-es...@googlegroups.com
> <mailto:asterisk-es...@googlegroups.com>
> (mailto:asterisk-es...@googlegroups.com
> <mailto:asterisk-es...@googlegroups.com> )
> >
> > --
> > Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org
> <http://www.asterisk-es.org> )
> >
> > ~~~ Normas de la lista Asterisk-ES: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
> <http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es>
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > - Para anular la suscripción: asterisk-es...@googlegroups.com
> <mailto:asterisk-es...@googlegroups.com>
> (mailto:asterisk-es...@googlegroups.com
> <mailto:asterisk-es...@googlegroups.com> )
>
>
>
> --
> Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org
> <http://www.asterisk-es.org> )
>
> ~~~ Normas de la lista Asterisk-ES: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
> <http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> - Para anular la suscripción: asterisk-es...@googlegroups.com
> <mailto:asterisk-es...@googlegroups.com>
>
>
> --
> Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org
> <http://www.asterisk-es.org> )

Fernando Villares

unread,
Apr 25, 2012, 9:20:27 PM4/25/12
to aster...@googlegroups.com
eso es lio de firewall/alg de aca a la chinaaa en mi humilde experiencia...!!!

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
Reply all
Reply to author
Forward
0 new messages