[SR-Users-ES] Kamailio detras de NAT

Victor Torre Antunez victor.torre en stoneworksolutions.net
Mie Oct 10 10:15:53 CEST 2012


Gracias por la aclaración, porque es cierto que da dolor de cabeza mezclar
NAT y SIP ;)

He pegado la captura en pastebin:  http://pastebin.com/Q5Y372PW

Si te fijas el ultimo ACK (linea 162) lo envia a IP_PRIVADA_ROUTER cuando
en realidad deberia reenviarlo al Asterisk.

Aqui tienes la configuracion de Kamailio: http://pastebin.com/akDUC5y7

Creo que la linea donde hace ese reenvio es la 686 (justo donde tengo un
log ("Within dialog, with loose route....") y no se como puedo decir a
Kamailio que lo envie a uno de los Asterisk.

¿Como sabe el modulo dispatcher a que nodo tiene que mandarlo? No me queda
claro como funciona este modulo exactamente, particularmente como sabe a
donde tiene que enviar los ACK de las transacciones. En el primer INVITE
queda claro que es mediante la funcion "ds_select_dst" pero ¿en el resto de
los paquetes?

Gracias de nuevo!


El 9 de octubre de 2012 23:13, Iñaki Baz Castillo <ibc en aliax.net> escribió:

> El día 9 de octubre de 2012 18:01, Victor Torre Antunez
> <victor.torre en stoneworksolutions.net> escribió:
> >
> > Buenas,
>
> Hola, entre líneas:
>
>
>
> > Estoy intentando configurar Kamailio 3.3.1 como proxy SIP detras de un
> NAT y
> > como dispatcher de 2 Asterisk 1.8.7 detras del mismo NAT.
> >
> > Las llamadas vienen de carriers externos hacia Kamailio que sera el que
> > tenga que balancear la carga entre los Asterisk.
> > He intentado manualmente reescribir la record-route hacia afuera con la
> ip
> > publica (advertised_address="...")
> > El problema viene cuando el carrier externo manda un ACK hacia la
> > IP_PUBLICA_NAT y éste no lo reconoce como su propia ip y lo reenvia (me
> > imagino que es por la cabecera Record-Route que apunta a la ip publica)
>
> Te refieres a la cabecera Route del ACK ;)
>
>
>
> > He probado forzando al Centos 5.8 a que escuche en una ip no local
> cambiando
> > en el fichero /etc/sysctl.conf:
> > net.ipv4.ip_nonlocal_bind = 1
> >
> > Y en la configuracion de Kamailio:
> >
> > listen:udp:IP_PUBLICA_NAT:5060
> >
> > Para que Kamailio escuche en la IP_PUBLICA_NAT pero sigue sin funcionar.
> >
> > Cuando le llegan paquetes SIP del tipo:
> >
> > ACK sip:IP_PUBLICA_NAT:5060;lr=on
> >
> > Envia el paquete a la IP del NAT y no se como decir a Kamailio que
> reenvie
> > ese paquete al Asterisk correspondiente.
> >
> > ¿Es posible esta configuración o es indispensable que Kamailio tenga una
> IP
> > publica escuchando en la interfaz?  ¿Es posible una configuracion de
> > Kamailio detras de un NAT y que gestione llamadas entrantes?
>
> Un proxy detrás de NAT hablando con un nodo SIP fuera del NAT es
> sinónimo de todo el dolor que estás experimentando. Honestamente en mi
> vida me he esforzado por hacer funcionar ese escenario.
>
> Si quieres pega una traza de un INVITE entrante, sustituyendo la IP
> pública del router por IP_PUBLICA_ROUTER, la IP privada de kamailio
> por IP_PRIVADA_KAMAILIO, la IP privada del Asterisk por
> IP_PRIVADA_ASTERISK y la IP de tu proveedor SIP por IP_PROVEEDOR. Yo
> lo veo complicado pero se le puede echar un vistazo.
>
>
> --
> Iñaki Baz Castillo
> <ibc en aliax.net>
>
> _______________________________________________
> SR-Users-ES mailing list
> SR-Users-ES en lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
>



-- 
*Victor Torre Antúnez
Ingeniero de Soporte*

victor.torre en stoneworksolutions.net
0034 925 01 81 06
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.sip-router.org/pipermail/sr-users-es/attachments/20121010/d79461f7/attachment.htm>


Más información sobre la lista de distribución SR-Users-ES