From miconda@gmail.com Wed Dec 18 09:19:37 2013 From: Daniel-Constantin Mierla To: sr-users@lists.kamailio.org Subject: Re: [SR-Users] ACC issue on 4.0 trunk when doing serial fork Date: Wed, 18 Dec 2013 09:19:29 +0100 Message-ID: <52B15A91.1020108@gmail.com> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0273987099==" --===============0273987099== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello, I will look over it -- I wanted to know exactly the situation. Cheers, Daniel On 17/12/13 15:54, Kelvin Chua wrote: > > Yes, a local timeout. The call was sent to a bogus IP. i still feel=20 > this behaviour is wrong. $rd in acc should contain the failed=20 > gateway's ip and not the previous one. > > On Dec 17, 2013 4:43 PM, "Daniel-Constantin Mierla" > wrote: > > It is a local timeout, not a 408 received from callee, right? > > Daniel > > On 17/12/13 05:16, Kelvin Chua wrote: >> it's for a 408 timeout logged into missed_calls >> >> Kelvin Chua >> >> >> On Mon, Dec 16, 2013 at 8:52 PM, Daniel-Constantin Mierla >> > wrote: >> >> Hello, >> >> is it for a 200ok reply or >=3D300? >> >> In the code, the r-uri from the branch that is used for >> relaying the reply should be used. >> >> Cheers, >> Daniel >> >> >> On 14/12/13 12:15, Kelvin Chua wrote: >>> this is the 2nd branch, the first branch is sent to >>> 100.200.30.40 >>> $rd is set properly according to xlog (10.20.30.40). tcpdump >>> proves packets are sent to 10.20.30.40 >>> however, after failing, ACC logs dst_domain as the previous >>> branch's $rd (100.200.30.40), not the current one. >>> is this the expected behavior? seems incorrect. >>> >>> modparam("acc", >>> "db_extra","src_user=3D$fU;src_domain=3D$fd;src_ip=3D$si;dst_ouse= r=3D$tU;dst_user=3D$rU;dst_domain=3D$rd;callrate=3D$avp(callrate)") >>> >>> failure_route[SERIAL] { >>> if (is_method("INVITE|SUBSCRIBE")) { >>> t_on_branch("MANAGE_BRANCH"); >>> t_on_reply("MANAGE_REPLY"); >>> } >>> if ( isbflagset(FLB_CANCEL) ) { >>> xlog("cancel bflag set!\n"); >>> exit; >>> } else if ( !t_next_contacts() ) { >>> xlog("serial fork done!\n"); >>> t_reply("404", "Not here or busy"); >>> exit; >>> } else { >>> setflag(FLT_ACC); >>> setflag(FLT_ACCMISSED); >>> xlog("failure_route new branch - $ru\n"); >>> t_on_failure("SERIAL"); >>> $avp(callrate) =3D ""; >>> if ( $sel(ruri.params["rtmr"]) !=3D $null ) { >>> t_set_fr($sel(ruri.params["rtmr"])*1000,$sel(ruri.params["dtmr"])= *1000); >>> $avp(ABSOLUTE) =3D $sel(ruri.params["tmr"]); >>> } >>> if ( $sel(ruri.params["callrate"]) !=3D $null ) >>> $avp(callrate) =3D $sel(ruri.params["callrate"]); >>> xlog("failure_route sending INVITE to $rd\n"); >>> t_relay(); >>> } >>> } >>> >>> ERROR: