[OpenSIPS-Devel] Fixing loose_route to work with GRUU in multi-proxy environments

Vlad Paiu vladpaiu at opensips.org
Wed Mar 21 12:37:14 CET 2012


Hi Saúl,

About the RR change, the end result for GRUU would be the same, but it 
might affect other cases, because no matter how much we don't want them, 
strict routers are still around. So what would you do if you have a 
proxy that handles GRUUs, so you would have to disable ALL strict 
routing support, and you receive a request from a prev. hop that is a 
strict router ? The entire routing would break.

So at this moment in time, I don't feel that adding a 
'disable_strict_routing' parameter to RR is a good idea, as using it 
would have a much broader effect than what we want for the moment, which 
is making GRUU routing work properly.

When you have time, please commit the patch you provided a couple of 
emails ago ( the one with the ;gr parameter existence check into RR ).

Thanks and Regards,

Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com


On 03/21/2012 01:17 PM, Saúl Ibarra Corretgé wrote:
> Hi Vlad,
>
> On Mar 21, 2012, at 12:04 PM, Vlad Paiu wrote:
>
>> Hi Saúl,
>>
>> I do not think that this has any implications for strict routers, as if the previous hop was a strict router, the R-URI would not contain a ;gr parameter, as the current proxy would not have added the Record-Route header with a ;gr param, so I don't see any way that a prev. hop strict router can get treated as a loose router with the new patch.
>>
> Right, looks like that approach would work then.
>
>> About the other idea, with the adding of a new parameter to the rr module to disable strict routing support, I don't really see it as more generic, and frankly I cannot even see how it would work. Because what you want to accomplish here is to properly route requests that have in the R-URI a GRUU within your domain. So what would you do, always set that RR parameter ? Because at startup you can't know if you will generate any GRUUs or not.
>>
> Le me elaborate on that: right now the loose_route function (in case of in-dialog requests) will check if the RURI has a local domain in the host part, and if so, it considers that the previous hop was a strict router. I we'd add a setting to disable strict routers support, that check would never be performed and the loose routing rules would always be followed for in-dialog requests.
>
> I say it's more generic because it achieves the same goal as if we'd add a explicit check for the ;gr parameter, and it covers a broader topic, which is "assume there are no strict routers in the planet".
>
>
> Regards,
>
> --
> Saúl Ibarra Corretgé
> AG Projects
>
>
>
>
> _______________________________________________
> Devel mailing list
> Devel at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/devel



More information about the Devel mailing list