[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