<div dir="ltr"><div><div dir="ltr"><div>Hello,</div><div><br></div><div>I have an SRV name as follows:</div><div><br></div><div><div>$ dig +short -tSRV _sip._<a href="http://udp.proxyname.domain.com">udp.proxyname.domain.com</a></div>
<div>1 10 5060 <a href="http://host1.domain.com">host1.domain.com</a>.</div><div>2 10 5060 <a href="http://host2.domain.com">host2.domain.com</a>.</div></div><div><br></div><div>If I t_relay() a request with <a href="http://proxyname.domain.com">proxyname.domain.com</a> as the request domain, and host1 does not answer within fr_timer seconds, the request is re-relayed to host2.  This is good.</div>
<div><br></div><div>If I b2b_init_request(&quot;top hiding&quot;) instead of t_relay(), the 408 is forwarded back towards the UAC after host1 doesn&#39;t answer.  The request is never re-relayed to host2.</div><div><br></div>
<div>There is a difference in the debug output after the 408 is generated for host1.  With the B2BUA it looks like is_3263_failure() never happens.</div><div><br></div><div>t_relay:</div><div><div>Nov 26 09:03:38 [16296] DBG:tm:timer_routine: timer routine:0,tl=0x7fbe6c7c0060 next=(nil), timeout=61</div>
<div>Nov 26 09:03:38 [16296] DBG:tm:final_response_handler: Cancel sent out, sending 408 (0x7fbe6c7bfe10)</div><div>Nov 26 09:03:38 [16296] DBG:tm:t_should_relay_response: T_code=100, new_code=408</div><div>Nov 26 09:03:38 [16296] DBG:tm:t_pick_branch: picked branch 0, code 408 (prio=800)</div>
<div>Nov 26 09:03:38 [16296] DBG:tm:is_3263_failure: dns-failover test: branch=0, last_recv=408, flags=1</div><div>Nov 26 09:03:38 [16296] DBG:tm:t_should_relay_response: trying DNS-based failover</div><div>Nov 26 09:03:38 [16296] DBG:tm:do_dns_failover: new destination available</div>
<div>Nov 26 09:03:38 [16296] DBG:core:check_ip_address: params 127.0.0.1, 127.0.0.1, 0</div><div>Nov 26 09:03:38 [16296] DBG:tm:set_timer: relative timeout is 500000</div></div><div><br></div><div>b2b_init_request:</div><div>
<div>Nov 26 09:12:21 [16401] DBG:tm:timer_routine: timer routine:0,tl=0x7f09ddcbf7e8 next=(nil), timeout=11</div><div>Nov 26 09:12:21 [16401] DBG:tm:final_response_handler: Cancel sent out, sending 408 (0x7f09ddcbf598)</div>
<div>Nov 26 09:12:21 [16401] DBG:tm:t_should_relay_response: T_code=0, new_code=408</div><div>Nov 26 09:12:21 [16401] DBG:tm:t_pick_branch: picked branch 0, code 408 (prio=800)</div><div>Nov 26 09:12:21 [16401] DBG:tm:local_reply: branch=0, save=0, winner=0</div>
<div>Nov 26 09:12:21 [16401] DBG:tm:local_reply: local transaction completed</div><div>Nov 26 09:12:21 [16401] DBG:tm:run_trans_callbacks: trans=0x7f09ddcbf598, callback type 256, id 0 entered</div><div>Nov 26 09:12:21 [16401] DBG:b2b_entities:b2b_tm_cback: tm [0x7f09ddcbf598] notification cb for [408] reply</div>
<div>Nov 26 09:12:21 [16401] DBG:b2b_entities:b2b_parse_key: hash_index = [472]  - local_index= [2611231]</div><div>Nov 26 09:12:21 [16401] DBG:b2b_entities:b2b_tm_cback: Received reply [408] for dialog [0x7f09ddcbf2b8], method [INVITE]</div>
</div><div><br></div><div>Is there something extra that must occur in the script to get DNS failover behavior with the B2BUA?  Or, is this a bug?<br></div><div><br></div><div><br></div><div>Regards,</div><div>Jeff</div><div>
<br></div><div><br></div></div></div>
</div>