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

Saúl Ibarra Corretgé saul at ag-projects.com
Wed Mar 21 12:17:49 CET 2012


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






More information about the Devel mailing list