[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