[Serusers] Re: Record-Route and Route parameters patch
Bayan William Towfiq
william at telepacket.com
Fri Jun 10 03:40:59 CEST 2005
Will this still be added to cvs?
William
Bogdan-Andrei Iancu wrote:
> 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
>
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
More information about the sr-users
mailing list