On Thu, Nov 11, 2010 at 1:05 PM, Daniel-Constantin Mierla <mico...@gmail.com> wrote: > > > On 11/11/10 7:42 PM, JR Richardson wrote: >>> >>> 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: >>> >>> http://pastebin.com/VHhQ1sJY >>> >>> My config: >>> >>> http://pastebin.com/BYn4g5ur >>> >>> Do I need to have a mechanism to deal with a 486 form the carrier? >>> >>> Thanks. >>> >>> JR >>> -- >>> JR Richardson >>> Engineering for the Masses >>> >>> >>> >>> ------------------------------ >>> >>> Message: 4 >>> Date: Thu, 11 Nov 2010 11:52:21 -0500 >>> From: Alex Balashov<abalas...@evaristesys.com> >>> Subject: Re: [SR-Users] noack and t_relay erros errors >>> To: sr-users@lists.sip-router.org >>> Message-ID:<4cdc1f45.1000...@evaristesys.com> >>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed >>> >>> 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. >>> >>> -- >>> Alex Balashov - Principal >>> Evariste Systems LLC >>> 1170 Peachtree Street NE >>> 12th Floor, Suite 1200 >>> Atlanta, GA 30309 >>> Tel: +1-678-954-0670 >>> Fax: +1-404-961-1892 >>> Web: http://www.evaristesys.com/ >>> >> Well, that seemed to help greatly, so far no more errors after >> changing my failure route to: >> >> failure_route[FAIL_ONE] { >> if (t_is_canceled()) { >> exit; >> } >> >> ds_mark_dst("P"); >> ds_next_dst(); > > you should wrap ds_next_dst() in an 'if' condition so you don't create new > branches when there is no destination address left to try. > > if(ds_next_dst()) { > append_branch(); > t_relay(); > } > > Also, if you have more that 2 addresses in the destination group and want to > try all, re-arm the failure route > > if(ds_next_dst()) { > append_branch(); > t_on_failure("FAIL_ONE"); > t_relay(); > } > >> append_branch(); > > This is needed for version less or equal to 3.0.x if ds_append_branch > parameter is 0. Starting with 3.1.0 is no longer needed (if still used is > harmless). > > Cheers, > Daniel > >> t_relay(); >> } >> >> Thanks Alex, right on target again. >> >> JR > > -- > Daniel-Constantin Mierla > http://www.asipto.com
That makes sense. Thank you for the suggestion. JR -- JR Richardson Engineering for the Masses _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users