To finish the thread: I just entered below loose_route(): if (check_route_param("vsf=")) { avp_write("$hdr(Route[0])", "$avp(rr-param)"); avp_subst("$avp(rr-param)", "/^.*?(;vsf=[^>]+).*/\1/"); # $hdr(Route[0]) is not 1st header only, if multi header in one line xlog("L_INFO", ">> Stored UAC params $avp(rr-param)");
add_rr_param("$avp(rr-param)"); }
-----Original Message----- From: Schober Walter Sent: Wednesday, November 26, 2008 2:39 PM To: 'Klaus Darilion' Cc: 'users@lists.kamailio.org' Subject: RE: AW: [Kamailio-Users] UAC on ACK in reInvite
See below...
-----Original Message----- From: Klaus Darilion [mailto:klaus.mailinglists@pernau.at] Sent: Wednesday, November 26, 2008 1:21 AM
[...]
This is clearly a bug in the useragent. The route set must not be changed with reINVITEs. Thus, according to the standard the Record-Route headers for indialog requests are not needed. Maybe you are calling record_route() for indialog requests and this confuses the client.
Fully agree on this. But some proxies add Record-Route, some don't, Openser/Kamailio can configure it.
It's not that clear in the RFC, but I see it the same way: RFC 3261, 12.2 Request within a Dialog ... Requests within a dialog MAY contain Record-Route and Contact header fields. However, these requests do not cause the dialog's route set to be modified, although they may modify the remote target URI.
12.2.1.2 Processing the Responses -> The only thing mentioned is that the _Target URI_ gets refreshed by the 200 OK.
=> reInvites do not modify the routeset of any subsequent request, neither the ACK not any other upcoming request.
Try removing the record_route() for indialog requests - may
then the
buggy client remembers the original route set.
Done. Client sends ACK on reInvite directly then :-( Counterpath is OK, Teles Voipbox not, other clients to be tested ...
So I will have to add vsf uri param from Route to record route in the proxy. This at least is a reason to upgrade :-) It's done more easily with tranformations.
Thanks for the discussion! For me it's "clearly a bug in the UA" now, too ;-) However, let's find a workaround.
br Walter