I've looked over the RFC and the module and while they describe a slightly different scenario (with a load balancer and separate registrars), it seems like it should work.
I've added the required parameters to the config:
modparam("registrar", "use_path", 1) modparam("registrar", "path_mode", 0) modparam("registrar", "path_use_received", 1) modparam("path", "use_received", 1)
Then, in my auth section, I store the path:
if (is_method("REGISTER")) { add_path();
This does not seem to do anything however, the proxy still forwards directly to the client instead of sending it to the proper outbound proxy. I looked in the location table and I see path is set to NULL so unless this is stored in some other place, the proxy would not know where to send it anyway.
Have you used this? Am I doing something wrong? I could not find on this list or anywhere a sample openser config that uses it...
Thanks.
On Sat, Mar 15, 2008 at 4:12 PM, Iñaki Baz Castillo ibc@aliax.net wrote:
El Domingo, 16 de Marzo de 2008, Adrian A escribió:
Hi,
I'm setting up multiple OpenSER proxies in different locations to server
a
SIP domain. The proxies use a shared location database so they always
know
where to send requests to the client when an incoming call hits either
one.
The clients have the outbound proxy set to whichever one is closest to them.
The problem is that because the clients are NAT they do not receive the request if the proxy IP that sends it is not the same as the one
they
have set as the outbound proxy. The NAT will reject the request because
it
does not arrive from the same IP that the connection was established to.
There is a RFC to solve your problem and a module for OpenSer. It's called PATH:
- SIP Extension Header Field for Registering Non-Adjacent Contacts : http://tools.ietf.org/html/rfc3327
- http://www.openser.org/docs/modules/1.3.x/path.html
Also you need to set some options in "registrar" module.
Regards.
-- Iñaki Baz Castillo
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users