Andrei Pelinescu-Onciul wrote:
On Feb 25, 2004 at 18:56, Klaus Darilion klaus.mailinglists@pernau.at wrote:
I'm still confused. I try to write it down in my own words as far as I understand it and hope that somebody will confirm or correct my statements:
So, loose_route does the rewritting of the req-URI (strict routing) and removing of route headers if there are Route: headers in the request. After that, the request should be routable by t_relay.
The loose_route function will rewrite the req-URI of "strict_routing" messages. So the if(uri==myself) statement shouldn't be TRUE anymore, or does this statement checks the original req-URI?
No, it checks the "new" uri, so in the strict router case you are right, it won't match (of course assuming the new uri!= proxy). In the loose router case, the message will be sent to the loose route uri (not to the request uri) and the request uri will not be changed, so your uri==myself could match although the message will be sent elsewhere.
I'm still confused ... the BYE request from Windows Messenger with a route-set will be handled be the if(loose_route()){...} block, but not the BYE request from Xlite with a route-set. But shouldn't also the BYE from Xlite be processed in the if(loose_route()){...} block? I don't want to care about in-dialog requests in my routing logic which deals with voicemail, hunt groups ...
An other possibility would be to remove the t_relay in the loose_route block, so that all in-dialog requests (Messenger and xlite) are processed by the following routing logic.
thanks, klaus