Hi,
I've uploaded a new module "path" to the tracker on sourceforge, which
allows a intermediate proxy (an openser instance working as
loadbalancer) to add it's URI into a Path-HF in various ways:
- add_path(): Adds URI including the address of the outgoing interface
as Path-HF in the form of "Path: <sip:1.2.3.4:5060>"
- add_path_received(): like the above, but adds a parameter
"received=sip:2.3.4.5:1234" to the URI to pass the received-address of
an UAC to a registrar
- both of the above functions also allow to pass a userpart for the
Path-URI, so add_path("loadbalancer") results in a Path-HF "Path:
<sip:loadbalancer@1.2.3.4:5060>"
- If the module parameter "use_received" is set to 1, the module hooks
into rr-processsing and sets the "received"-parameter of a Route-URI as
destination-uri if available. This is used in combination with
add_path_received(), where subsequent requests are sent to the
received-address of the initial registration (aka the URI given in the
received-parameter of the Path-HF).
Also included is a patch to the registrar module, which allows to store
the URI in the received-parameter of the first Path-HF as received-value
of usrloc and set the NAT flag for this contact. This feature can be
enabled by setting the parameter "path_use_received" of the registrar
module to 1.
One should be aware that nat-pinging of such a contact isn't supported
by nathelper/mediaproxy yet, but the values are in place (since I use an
external application for nat-pinging).
Some feedback is very much appreciated.
Cheers,
Andy