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

Raúl Alexis Betancor Santana rabs at dimension-virtual.com
Fri Jan 18 14:23:56 CET 2008


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

-- 
Raúl Alexis Betancor Santana
Dimensión Virtual S.L.




More information about the Users-es mailing list