On 29.02.2012 18:01, Andreas Granig wrote:
Hi Klaus,

On 02/29/2012 03:53 PM, Klaus Darilion wrote:
However if a 407 is relayed back from the registrar via the lb to the
UA, it sends an ACK, again with pre-loaded Route header like in the
initial INVITE, this time with to-tag. In that case, loose_route()
returns true, but the $du is $null and the R-URI is still the same.

What else should happen? $du will not be set as there is no more Route
header. And R-URI is never changed (except with strict routers).

Well, I tried to reproduce my problem, now I have two problems :)

Proxy is running on 192.168.51.133:5060, and client (linphone-3) sends a
header "Route:<sip:foo@192.168.51.133:5060;lr>" in the ACK after 407
(and it's the only Route header). For some reason (and I haven't figured
it out yet), loose_route() now removes the Route header, puts it into
$du and also puts it into $ru, so I end up with an ACK being sent to
itself AND with a crippled $ru.

That's really weird. It should not rewrite $ru. Maybe there is some special handling for ACK.

Anyway, if the Route header is consumed and pushed into $du it means that the "special behavior" which was done for the INVITE (loose-route==0) is not used here. IIRC these special behavior is only triggered if the request does not contain a to-tag.

If tm is used, it will take care of this by consuming the ACK and generating a new one. It seems that we need some fixes for stateless routing.

regards
Klaus

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to