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:
1) 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.
2) 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