From kelchy@gmail.com Sat Dec 14 12:15:29 2013 From: Kelvin Chua To: sr-users@lists.kamailio.org Subject: [SR-Users] ACC issue on 4.0 trunk when doing serial fork Date: Sat, 14 Dec 2013 19:15:22 +0800 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0530375855==" --===============0530375855== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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;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: