[OpenSER-Users-ES] Y nos topamos con el NAT y t_replicate() ...

Jesus Rodriguez jesusr at voztele.com
Mon Jan 21 13:02:10 CET 2008


Hola,


> El Wednesday 16 January 2008 09:36:48 Iñaki Baz Castillo escribió:
>> On Wednesday 16 January 2008 09:42:34 Raúl Alexis Betancor Santana  
>> wrote:
>>> El Wednesday 16 January 2008 08:30:59 Iñaki Baz Castillo escribió:
>>>> Yo diría que para esas cosas es precisamente el módulo Path.
>>>
>>> Sí, estoy trasteando con él, creo que la solución viene por usar
>>> add_path_received(), pero tengo que mirarlo y probarlo con más  
>>> detalle.
>>
>> Supongo que lo tienes por ahí, pero por si acaso el RFC que habla del
>> "Path" es éste:
>>  http://www.faqs.org/rfcs/rfc3327.html
>
> Bien, después de 2 días peleandome con esto .. no doy con la  
> solución, a ver
> si me echáis una mano.
>
> Me he empapado el RFC del path y la docu de openser sobre el módulo en
> cuestión, he cambiado el guión para que en los REQUEST que me  
> lleguen al
> proxy1 desde proxy2, si detecta NAT, use add_path_received() y sino  
> detecta
> NAT, pues usa add_path().
> Esta parte está funcionando bien, porque veo con el "ul show" que el  
> UA se ha
> registrado contra el P2 correctamente y que este añade el path y  
> hace un
> t_replicate  al P1, al P1 llega el paquete, lo coge por trusted y  
> hace el
> save("location", 0x03) correspondiente.
> Hasta aquí todo OK.
>
> El problema lo tengo en cuanto llega un INVITE para el UA que está  
> registrado
> en P2, pero el INVITE llega por el P1.
> Entra en el proceso normal y corriente, llega al lookup("location")  
> y ya se
> monta el pollo, porque me cambia el R-URI de UA1 at dominio, por los  
> datos del
> Contact que están en la base de datos de location. Y la cosa se lía,  
> porque
> de la consulta a lookup también se dá cuenta P1 que hay un Path, y  
> lo que
> hace es enviarle el INVITE a P2 pero con el R-URI puesto al valor del
> Contact, lo que provoca que P2 acepte el INVITE porque viene de un  
> trusted,
> pero luego cante un "Relay Denied" porque el $rD del $rU no es local.
>
> ¿Alguna sugerencia?, ¿Como puedo hacer que no me cambie el RURI por  
> el del
> contact en el nodo que no tenia el registro del UA y simplementa  
> haga caso
> del Path?, osea quiero que el mensaje INVITE que ha entrado por el  
> P1 llegue
> al P2 sin modificar en el caso de que el UA está registrado en el P1  
> y no en
> el P2


¿Tienes puesto esto?:

modparam("registrar", "use_path", 1)

¿Que modparams tienes para el módulo path?.



Saludos
JesusR.

------------------------------------
Jesus Rodriguez
VozTelecom Sistemas, S.L.
jesusr at voztele.com
http://www.voztele.com
Tel. 902360305
-------------------------------------








More information about the Users-es mailing list