I can't remember if branches using TCP that fail to establish a connection generate a 408 Timeout response or not (eventually). I know I have seen them on the registrar servers when the edge/outbound proxy has failed (in certain tests e.g. when a 430 is not returned), but they might have been locally generated.
If an immediate error is detected, like a TCP connection failure, perhaps a different 'fake' reply, similar to timeout could be generated and sent through the reply handling code for that UAC. This would trigger the branch_failure route and also the failure route when all replies are received, allowing faster response handling instead of timeouts.
Hugh
On 13/05/2013 18:51, Juha Heinanen wrote:
i did some reading of tm code and found that currently tm:branch_failure block seems to be handled only by code in t_reply.c. when t_relay() fails there is no reply processing and thus no execution of tm:branch-failure block.
perhaps something similar to t_reply()/run_branch_failure_handlers() could be done in t_send_branch() when sending fails? i'm pretty sure that t->on_branch_failure is set in t_send_branch(). it is thus the matter on getting the corresponding tm:branch_failure block executed.
-- juha
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev