Jan Janak wrote:
Thanks for the patch, I will integrate it, some comments are inline.
perfect, I will go ahead with it.
And here is a patch for the RR module which adds this functionality:
- adding parameters to Record-Route; since RR is inserted during req.
processing (as lump), no textops function can be apply to it. So use the add_rr_param("param") function - it can be called also before or after the record_route() call; I would say it's more convenient from scripting point of view (no dependencies between doing record_route() and adding params);
How about using AVPs for this ? Wouldn't it be more flexible ? One could possibly create a set of AVPs (with a given name pattern or numbers) which could be encoded into the Record-Route header field. Later, something like, restore_route_avps() could restore the contents of the AVPs...
I have this on the TODO list - for the moment doesn't seam to be an urgent item It can be easily added later.
- checking Route parameters: this could be done via textops, but it
would be dangerous -> you have to identify the Route header corresponding to your proxy (which will be quite difficult to put as regexp), So use check_route_param("regexp") function which will check the proper Route parameters against the given regexp. Must be call after loose_route().
Basic scenario (example):
UAC SER PROXY UAS
------ INVITE ----------> record_route() --------- INVITE --------> add_rr_param(";foo=true")
----- reINVITE ---------> loose_route() -------- reINVITE -------> check_route_param(";foo=true")
<---- reINVITE ---------- loose_route() <------- reINVITE -------- check_route_param(";foo=true")
<-------- BYE ----------- loose_route() <--------- BYE
check_route_param(";foo=true")
The patch doesn't alter any of the previous functionality. Jan take a look and let's put it on CVS.
How are those parameters encoded in the Record-Route header field ? As URI parameters or as header field parameters ?
URI params
bogdan