Hi All,
I'm still getting these errors and I'm struggling to resolve the problem. I think I'm missing an append_branch or something simple in my config, a little guiedance will be appriciated.
The error:
Nov 11 10:23:26 sip-router1 /usr/local/sbin/kamailio[23739]: ERROR: tm [t_fwd.c:1379]: ERROR: t_forward_nonack: no branches for forwarding Nov 11 10:23:26 sip-router1 /usr/local/sbin/kamailio[23739]: ERROR: tm [tm.c:1300]: ERROR: w_t_relay_to: t_relay_to failed
The sip graph causing the error:
My config:
Do I need to have a mechanism to deal with a 486 form the carrier?
Thanks.
JR
1. One problem may be that you are calling route[RELAY] from your failure route and using sl_send_reply(). The route[RELAY] is still being invoked in a failure route execution context, even if you have managed to contextually invoke another route, or subroutine if you will. Stateless replies (sl_reply_error()) cannot be sent from within a failure route.
2. Yes. throw an append_branch() into your failure route.
On 11/11/2010 11:52 AM, Alex Balashov wrote:
- Yes. throw an append_branch() into your failure route.
To expand on this; the proxy can't just arbitrarily t_relay() again after it has received a final negative reply. That's not what proxies do. The only way it can happen is if a proxy uses its forking capability, as described by the standard, to create a new branch to another destination. Only then would it be justified in keeping the final negative reply on the first branch opaque from the customer and pursuing other options.