Thanks a lot.
I was checking the use of sock_flag and add_sock_hdr to accomplish what you explain (UAC1->P1->P2->UAC2).
I added to my configuration file the following lines to the module parameters section
modparam("registrar", "sock_flag", 18) modparam("registrar", "sock_hdr_name", "Sock-Info")
Also, I added add_sock_hdr before replicating the REGISTER messages in both proxies to include the socket IP and port of the proxy which validate the user.
add_sock_hdr("Sock-Info"); t_replicate("AAA.BBB.CCC.DDD", "5060");
And, I added setflag(18) before saving the location to save the original sock-info and not the current. However, I didn't see the original socket info in the location table, instead I see in the table the socket IP and port of the local server.
if (search("^Contact:.*;received=")) { setflag(6); }; setflag(18); save("location");
Is this the way it should be doing? Am I in the right direction?
Thank you
-----Mensaje original----- De: Helge Waastad [mailto:helge@smartnet.no] Enviado el: 20 de Marzo de 2006 12:58 p.m. Para: nesken@gmail.com CC: users@openser.org Asunto: RE: Replication Issue with UACs behind NAT
Hi,
The problem with NAT (and btw firewalls aswell), unless you are static NAT'in outside-inside, the NAT relation between the UAC and OpenSER is strictly between the two.
The NAT router will se a packet coming to the right ip:port but not from the correct ip:port...
In short, if UAC1 -> P1 and UAC2-P2, an invite should follow:
UAC1->P1->P2->UAC2
br hw