On Tue, Jan 22, 2008 at 01:25:32PM +0100, Iñaki Baz Castillo wrote:
On Tuesday 22 January 2008 10:25:22 Raúl Alexis
Betancor Santana wrote:
La cosa es que el INVITE que entra por el P1 y vá
para un UA que está
registrado en el P2 llega, pero el P1 al hacer el lookup("location")
cambia el RURI por los datos del contact y cuando eso llega al P2,
este lo rechaza porque la comprobación de is_local_domain($rd) falla
(el $rd contiene ahora los datos del contact).
Se me ocurre de idea feliz que podrías hacer un "append_branch()" para manejar
dos instancias del INVITE, hacer el "lookup" sobre una de ellas y en caso de
que tenga PATH y todo eso redirigir el INVITE al otro nodo.
La pregunta mágica es .. ¿Y como averiguar que tienen path? .. porque
he intentado con un $hdr(Path) y nanai, con un is_present_hf("Path") y
tampoco.
Estoy revisando el código de lookup() a ver donde demonios tiene el
tio en cuenta el Path, porque el módulo path.so solo registra un
callback hacia el módulo rr.
Pero esta última redirección debería hacerse en plan:
t_relay("nodo2",flags)
Es decir, sin alterar el RURI del INVITE original para que no tengas problemas
con los dominios y tal.
La cuestión es lo que he dicho antes .. como averiguar que ese
lookup("location"), va a volver con Path.
He probado
guardando el $ru antes de hacer el location y volviendolo a
setear antes de hacer el t_relay al P2, esto hace que la señalización
funcione perfecta .. pero los UA's que intervienen en la prueba solo
reciben su própio RTP, como si en vez de llamar de UA1 a UA2
estubiesen llamando a un EchoTest.
Esto ya se me escapa por completo, no entiendo qué es eso de que un UAC sólo
se escuche a sí mismo, ¿cómo es posible? ¿has monitorizado entre qué
entidades se está enviando RTP?
Si, ambos UAC están registrados en proxies diferentes y ambos negocian
con mediaproxy para salvar el NAT, pero por algún misterio de la vida
que aun tengo por comprobar ... lo que hacen es montar un bucle con el
RTP del UAC1 y el UAC2, osea .. a UAC1 le envía su propio RTP de
vuelta y a UAC2 lo mismo.
De esta salgo escaldao de NAT ... XP
Saludos
--
Raúl Alexis Betancor Santana
Dimensión Virtual S.L.