i added possibility to call t_branch_timeout() and t_branch_replied() from branch-failure event route. i tested the possible result combinations and they seemed to work ok.
however, during the tests is turned out that they don't help when it comes to unregistering unresponsive contacts in case the contacts are directly connected and set_forward_no_connect() is called before t_relay(). the reason is that in that case, failure route or branch failure route is not executed at all.
-- juha