Hi Richard,
the variables and the functions handles the dst_uri of the request (and
not also of the branches); what you can do is to combine their usage
with the branch route (in order to inspect the dst_uri of all branches).
regards,
bogdan
Richard Z wrote:
Great!
Can the change handle multiple registration of an address?
Thanks,
Richard
On 8/26/05, Daniel-Constantin Mierla <daniel(a)voice-system.ro> wrote:
Hello,
latest openser version from cvs includes a set of new functions (core
and avpops) and pseudo-variable which allow to access and manage the
value of dst_uri.
The dst_uri field contains the address of the next hop, when the routing
does not follow R-URI address. Such cases are Route header driven
routing (dst_uri is set after loose_route() to the value of next Route
header), contacts behind nat (dst_uri is set to the address of nat after
lookup("location")) or dispatcher usage. The dst_uri has higher priority
in routing over R-URI but less than explicit parameters in relaying
functions (e.g., t_relay_to*()).
The field was invisible from the script but it proved in the discussions
on the mailing list to be important to access it. For example, to detect
whether the caller and callee are behind same nat. Also, it can be
checked in case of preloaded Route header to secure relaying to special
resources (e.g., pstn gateway). With the new branch_route the value of
dst_uri can be checked for each branch.
A short summary of what was added:
* core functions:
- setdsturi("uri") - set the value of dst_uri
- resetdsturi() - reset the value of dst_uri
- isdsturiset() - test if the value of dst_uri is null
* pseudo-variables
- $du - value of dst_uri (added long time ago)
- $dd - domain of dst_uri
- $dp - port of dst_uri
- $dP - transport protocol of dst_uri
* avpops changes
- avp_write() can read the value of dst_uri and write it in an avp
- avp_pushto() can write the value of an avp in dst_uri
Tutorials and dokuwiki will be updated soon.
Daniel
_______________________________________________
Devel mailing list
Devel(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel
_______________________________________________
Users mailing list
Users(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users