Hi,
may there is a routing-issue in rr-module, that causes some problems
with sip-spirals:
If is_myself("$ru") is true (in-dialog), kamailio rewrites the $ru to
the $route_uri (strict routing). That is usually correct.
loose.c
944 if (is_myself(&_m->parsed_uri)) {
945 return after_strict(_m);
This includes the case if is_myself("$route_uri") is also true - but(!)
$route_uri and $ru can still be different, and this can be very
relevant. rfc3261 says:
16.4 Route Information Preprocessing
The proxy MUST inspect the Request-URI of the request. If the
Request-URI of the request contains a value this proxy previously
placed into a Record-Route header field (see Section 16.6 item 4),
the proxy MUST replace the Request-URI in the request with the last
value from the Route header field, and remove that value from the
Route header field. The proxy MUST then proceed as if it received
this modified request.
It says " If the Request-URI of the request contains a value this proxy
previously placed into a Record-Route header field ". This means
$route_uri == $ru
Then - indeed - it does not matter to replace the $ru (even: does it
really change something?)
I do not see a sign to decide for strict routing instead of loose
routing, if (in-dialog) is_myself("$ru") AND is_myself("$route_uri")
in
general, and especially not if $ru == $route_uri
Or is there any reason to process the request like it is now?
Cheers
Jasmin
Show replies by date