On Tuesday 22 January 2008 16:32:14 Raúl Alexis Betancor Santana wrote:
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.
Eso nunca va a funcionar ya que la adicción o supresión de cabeceras se hacen efectivas al abandonar el proxy, nunca durante el proceso del mensaje.
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.
¿Has leído esto? Módulo "registrar": 1.1.1. PATH support http://www.openser.org/docs/modules/1.3.x/registrar.html#AEN41