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=$fU;src_domain=$fd;src_ip=$si;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd;callrate=$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) = "";
                if ( $sel(ruri.params["rtmr"]) != $null ) {
                        t_set_fr($sel(ruri.params["rtmr"])*1000,$sel(ruri.params["dtmr"])*1000);
                        $avp(ABSOLUTE) = $sel(ruri.params["tmr"]);
                }
                if ( $sel(ruri.params["callrate"]) != $null )
                        $avp(callrate) = $sel(ruri.params["callrate"]);
                xlog("failure_route sending INVITE to $rd\n");
                t_relay();
        }
}

ERROR: <script>: failure_route sending INVITE to 10.20.30.40
DEBUG: <script>: new branch [1] to sip:14X88X72X2X@10.20.30.40:5060;dtmr=1;rtmr=20;tmr=60;callrate=0.007600000000
DEBUG: siputils [checks.c:103]: has_totag(): no totag
DEBUG: rtpproxy [rtpproxy_funcs.c:148]: check_content_type(): type <application/sdp> found valid
DEBUG: <core> [parser/sdp/sdp_helpr_funcs.c:565]: extract_mediaip(): located IP address [192.168.5.191] in `o=' field
DEBUG: <core> [parser/sdp/sdp_helpr_funcs.c:565]: extract_mediaip(): located IP address [192.168.5.191] in `c=' field
DEBUG: rtpproxy [rtpproxy.c:2630]: force_rtp_proxy(): proxy reply: 10370 2X8.1X1.3X.2X#012
DEBUG: siputils [checks.c:103]: has_totag(): no totag
DEBUG: <core> [msg_translator.c:461]: clen_builder(): clen_builder: content-length: 172 (172)
DEBUG: <core> [msg_translator.c:206]: check_via_address(): check_via_address(1X5.2X2.1X7.1X0, 192.168.5.191, 0)
DEBUG: <core> [parser/sdp/sdp.c:793]: free_sdp(): _sdp = 0x7f53c9a5e580
DEBUG: <core> [parser/sdp/sdp.c:795]: free_sdp(): sdp = 0x7f53cb87d3e0
DEBUG: <core> [parser/sdp/sdp.c:797]: free_sdp(): session = 0x7f53cb87d480
DEBUG: tm [t_reply.c:1710]: relay_reply(): DEBUG: relay_reply: branch=0, save=0, relay=-1
DEBUG: tm [t_reply.c:1211]: t_should_relay_response(): ->>>>>>>>> T_code=100, new_code=408
DEBUG: tm [t_hooks.c:288]: run_trans_callbacks_internal(): DBG: trans=0x7f53c1511148, callback type 128, id 0 entered
DEBUG: acc [acc_logic.c:539]: tmcb_func(): acc callback called for t(0x7f53c1511148) event type 128, reply code 408
NOTICE: acc [acc.c:279]: acc_log_request(): ACC: call missed: timestamp=1387019197;method=INVITE;from_tag=wyudf;to_tag=;call_id=cjfbdfydrjielti@X340saucy;code=408;reason=Request Timeout;src_user=kelvin;src_domain=2X8.1X1.3X.2X;src_ip=1X5.2X2.1X7.1X0;dst_ouser=14X88X72X2X;dst_user=14X88X72X2X;dst_domain=100.200.30.40;callrate=0.007600000000


Kelvin Chua