From kelchy@gmail.com Tue Dec 17 15:54:11 2013 From: Kelvin Chua To: sr-users@lists.kamailio.org Subject: Re: [SR-Users] ACC issue on 4.0 trunk when doing serial fork Date: Tue, 17 Dec 2013 22:54:05 +0800 Message-ID: In-Reply-To: <52B00EA2.8080107@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1721699851==" --===============1721699851== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Yes, a local timeout. The call was sent to a bogus IP. i still feel this behaviour is wrong. $rd in acc should contain the failed 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 < > miconda(a)gmail.com> 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_ouser=3D$tU;d= st_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: