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.