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.
Here's a log right before and after the loose-route call of the scenario
described above.
++ before loose-route, $du='<null>' - M=ACK R=sip:testuser3@192.168.51.133
++ after successful loose-route, $du='sip:192.168.51.133;lr' - M=ACK
R=sip:192.168.51.133;lr
To me, it seems like strict-routing is assumed, although there's an "lr"
flag. This is by the way not what I've seen in my original problem,
that's why I said that I've two problems now...
Andreas