Hi!
Once again I'm stucked in the loose routing topic, maybe some can answer my question!
I have ser configured to use RR. At the top of my ser.cfg I have:
# loose-route processing log(1, "check loose_route ..."); if (loose_route()) { log(1, "loose_route processing, finished routing!\n"); t_relay(); break; }; log(1, "no loose_route processing\n");
...
Client A is xlite, which is a loose router, and Client B is Windows Messenger 4.7, which is a strict router. One client calls the other client, which accepts the call. Then the client hangs up.
If client A hangs up (xlite, loose router) the loose_route(){...} block will not be processed and the BYE is handled by the following routing logic. If client B (strict router) hangs up, the loose_route(){...} block will be executed.
So, why is the request from xlite (loose router) not treated in the loose_route block?
IMHO, I would suggest that both requests (loose and strict) should be handled be the loose_route block. Also RFC3261 (16.4) says that "strict router" request should be transformed into a loose routing request (writing the last Route header field into the req-URI and remove this route header field) and than be handled like all other requests.
Maybe I've missed something.
Regards, Klaus