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