[Serusers] Re: Record-Route and Route parameters patch

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Apr 19 17:47:13 CEST 2005


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





More information about the sr-users mailing list