Gracias por la aclaración, porque es cierto que da dolor de cabeza mezclar NAT y SIP ;)<br><br>He pegado la captura en pastebin: <a href="http://pastebin.com/Q5Y372PW">http://pastebin.com/Q5Y372PW</a> <br><br>Si te fijas el ultimo ACK (linea 162) lo envia a IP_PRIVADA_ROUTER cuando en realidad deberia reenviarlo al Asterisk.<br>
<br>Aqui tienes la configuracion de Kamailio: <a href="http://pastebin.com/akDUC5y7">http://pastebin.com/akDUC5y7</a><br><br>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. <br>
<br>¿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?<br>
<br>Gracias de nuevo!<br><br><br><div class="gmail_quote">El 9 de octubre de 2012 23:13, Iñaki Baz Castillo <span dir="ltr"><<a href="mailto:ibc@aliax.net" target="_blank">ibc@aliax.net</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
El día 9 de octubre de 2012 18:01, Victor Torre Antunez<br>
<<a href="mailto:victor.torre@stoneworksolutions.net">victor.torre@stoneworksolutions.net</a>> escribió:<br>
><br>
> Buenas,<br>
<br>
Hola, entre líneas:<br>
<div class="im"><br>
<br>
<br>
> Estoy intentando configurar Kamailio 3.3.1 como proxy SIP detras de un NAT y<br>
> como dispatcher de 2 Asterisk 1.8.7 detras del mismo NAT.<br>
><br>
> Las llamadas vienen de carriers externos hacia Kamailio que sera el que<br>
> tenga que balancear la carga entre los Asterisk.<br>
> He intentado manualmente reescribir la record-route hacia afuera con la ip<br>
> publica (advertised_address="...")<br>
> El problema viene cuando el carrier externo manda un ACK hacia la<br>
> IP_PUBLICA_NAT y éste no lo reconoce como su propia ip y lo reenvia (me<br>
> imagino que es por la cabecera Record-Route que apunta a la ip publica)<br>
<br>
</div>Te refieres a la cabecera Route del ACK ;)<br>
<div class="im"><br>
<br>
<br>
> He probado forzando al Centos 5.8 a que escuche en una ip no local cambiando<br>
> en el fichero /etc/sysctl.conf:<br>
> net.ipv4.ip_nonlocal_bind = 1<br>
><br>
> Y en la configuracion de Kamailio:<br>
><br>
> listen:udp:IP_PUBLICA_NAT:5060<br>
><br>
> Para que Kamailio escuche en la IP_PUBLICA_NAT pero sigue sin funcionar.<br>
><br>
> Cuando le llegan paquetes SIP del tipo:<br>
><br>
> ACK sip:IP_PUBLICA_NAT:5060;lr=on<br>
><br>
> Envia el paquete a la IP del NAT y no se como decir a Kamailio que reenvie<br>
> ese paquete al Asterisk correspondiente.<br>
><br>
> ¿Es posible esta configuración o es indispensable que Kamailio tenga una IP<br>
> publica escuchando en la interfaz? ¿Es posible una configuracion de<br>
> Kamailio detras de un NAT y que gestione llamadas entrantes?<br>
<br>
</div>Un proxy detrás de NAT hablando con un nodo SIP fuera del NAT es<br>
sinónimo de todo el dolor que estás experimentando. Honestamente en mi<br>
vida me he esforzado por hacer funcionar ese escenario.<br>
<br>
Si quieres pega una traza de un INVITE entrante, sustituyendo la IP<br>
pública del router por IP_PUBLICA_ROUTER, la IP privada de kamailio<br>
por IP_PRIVADA_KAMAILIO, la IP privada del Asterisk por<br>
IP_PRIVADA_ASTERISK y la IP de tu proveedor SIP por IP_PROVEEDOR. Yo<br>
lo veo complicado pero se le puede echar un vistazo.<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
Iñaki Baz Castillo<br>
<<a href="mailto:ibc@aliax.net">ibc@aliax.net</a>><br>
<br>
_______________________________________________<br>
SR-Users-ES mailing list<br>
<a href="mailto:SR-Users-ES@lists.sip-router.org">SR-Users-ES@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es</a><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><b>Victor Torre Antúnez<br>Ingeniero de Soporte</b><br><br><a href="mailto:victor.torre@stoneworksolutions.net" target="_blank">victor.torre@stoneworksolutions.net</a><br>
0034 925 01 81 06<br><br><br><img src="http://stoneworksolutions.net/es/images/SWLOGO.jpg" height="72" width="200"><br><br>