[Kamailio-Users] t_forward_nonack

Daniel-Constantin Mierla miconda at gmail.com
Thu Mar 26 11:34:01 CET 2009



On 03/26/2009 12:25 PM, Joao Gomes Pereira wrote:
> In fact, I was using flag 29 , but I didnt knew it was reserved.
> I changed flag 29 and I will do more debug.
>   
flag 29 is not reserved at all, unless you reserved for special 
purposes. That was for me the sign there is some other processing in the 
config file and t_relay() might have been called already.

ngrep will show if the message is forwarded. If yes, then it is an error 
in your config.

Cheers,
Daniel


> Thanks a lot
> Joao Pereira
>
>
> Daniel-Constantin Mierla wrote:
>   
>> On 03/26/2009 12:04 PM, Joao Gomes Pereira wrote:
>>     
>>> Here it is:
>>>
>>> [22864]: LOG: route 1 sip:613 at fwd.pulver.com/<null>
>>> [22864]: LOG ---> T_ON_REPLY [22864]: ERROR:tm:t_forward_nonack: no 
>>> branch for forwarding
>>> [22864]: ERROR:tm:w_t_relay: t_forward_nonack failed
>>> [22864]: LOG ---> T_RELAY - -3/20000002
>>>   
>>>       
>> do you set flag 29 somewhere in your config script? Are you sure the 
>> route 1 or t_relay() is not called before.
>>
>> Can you use ngrep to what the traffic and see what is 
>> received/forwarded/replied. If you can send entire config file would 
>> help as well.
>>
>> Cheers,
>> Daniel
>>
>>     
>>> Thanks
>>> Joao Pereira
>>>
>>> Daniel-Constantin Mierla wrote:
>>>  
>>>       
>>>> Hello,
>>>>
>>>> one more ... replace line:
>>>>
>>>> log(3, "LOG ---> T_RELAY \n");
>>>>
>>>> with:
>>>>
>>>> xlog("LOG ---> T_RELAY - $rc/$mF\n");
>>>>
>>>> Thanks,
>>>> Daniel
>>>>
>>>>
>>>> On 03/26/2009 11:52 AM, Joao Gomes Pereira wrote:
>>>>    
>>>>         
>>>>> I changed as you said, and here is the output:
>>>>>
>>>>>
>>>>> [22782]: LOG: route 1 sip:613 at fwd.pulver.com/<null>
>>>>> [22782]: LOG ---> T_ON_REPLY [22782]: ERROR:tm:t_forward_nonack: no 
>>>>> branch for forwarding
>>>>> [22782]: ERROR:tm:w_t_relay: t_forward_nonack failed
>>>>> [22782]: LOG ---> T_RELAY
>>>>>
>>>>> Joao Pereira
>>>>>
>>>>>
>>>>> Daniel-Constantin Mierla wrote:
>>>>>      
>>>>>           
>>>>>> Hello,
>>>>>>
>>>>>> replace line:
>>>>>>
>>>>>> log(3, "LOG: route 1 \n");
>>>>>>
>>>>>> with line:
>>>>>>
>>>>>> xlog("LOG: route 1 $ru/$du\n");
>>>>>>
>>>>>> and send again the output here. Note you need xlog module loaded.
>>>>>>
>>>>>> Cheers,
>>>>>> Daniel
>>>>>>
>>>>>> On 03/25/2009 09:52 PM, Joao Gomes Pereira wrote:
>>>>>>        
>>>>>>             
>>>>>>> Hello
>>>>>>>
>>>>>>> X-Lite says: "500 Server error occurred".
>>>>>>>
>>>>>>> Here is the debug:
>>>>>>> [19632]: LOG: route 1 [19632]: LOG ---> T_ON_REPLY [19632]: 
>>>>>>> ERROR:tm:t_forward_nonack: no branch for forwarding
>>>>>>> [19632]: ERROR:tm:w_t_relay: t_forward_nonack failed
>>>>>>> [19632]: LOG ---> T_RELAY
>>>>>>>
>>>>>>> and here is the code:
>>>>>>>
>>>>>>> # ROUTE 1
>>>>>>> route[1] {
>>>>>>> log(3, "LOG: route 1 \n");
>>>>>>>
>>>>>>>         if (check_route_param("nat=yes")) {
>>>>>>>                 setbflag(6);
>>>>>>>         }
>>>>>>>         if (isflagset(5) || isbflagset(6)) {
>>>>>>>                 route(5);
>>>>>>>         }
>>>>>>>
>>>>>>>         /* example how to enable some additional event routes */
>>>>>>>         if (is_method("INVITE")) {
>>>>>>>                 #t_on_branch("1");
>>>>>>>               log(3, "LOG ---> T_ON_REPLY \n");
>>>>>>>                 t_on_reply("1");
>>>>>>>                 t_on_failure("1");
>>>>>>>         }
>>>>>>>
>>>>>>>         if (!t_relay()) {
>>>>>>>                 log(3, "LOG ---> T_RELAY \n");
>>>>>>>                 sl_reply_error();
>>>>>>>         }
>>>>>>>         exit;
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>> # BRACH ROUTE 1
>>>>>>> branch_route[1] {
>>>>>>>  log(3, "LOG: branch_route 1\n");
>>>>>>>
>>>>>>>         xdbg("new branch at $ru\n");
>>>>>>> }
>>>>>>>  
>>>>>>>  # ON REPLY ROUTE 1
>>>>>>> onreply_route[1] {
>>>>>>> log(3, "LOG: ON REPLY ROUTE 1\n");
>>>>>>>
>>>>>>>         xdbg("incoming reply\n");
>>>>>>>         if ((isflagset(5) || isbflagset(6)) && 
>>>>>>> status=~"(183)|(2[0-9][0-9])") {
>>>>>>>                 force_rtp_proxy();
>>>>>>>         }
>>>>>>>         if (isbflagset(6)) {
>>>>>>>                 fix_nated_contact();
>>>>>>>         }
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>> # FAILURE ROUTE 1
>>>>>>> failure_route[1] {
>>>>>>> log(3, "LOG: FAILURE ROUTE 1\n");
>>>>>>>
>>>>>>>         if (is_method("INVITE")
>>>>>>>                         && (isbflagset(6) || isflagset(5))) {
>>>>>>>                 unforce_rtp_proxy();
>>>>>>>         }
>>>>>>>
>>>>>>>         if (t_was_cancelled()) {
>>>>>>>                 exit;
>>>>>>>         }
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>> What could be missing?
>>>>>>> Thanks
>>>>>>> Joao Pereira
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Daniel-Constantin Mierla wrote:
>>>>>>>  
>>>>>>>          
>>>>>>>               
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> do you call t_relay() or route(1) in your failure route?
>>>>>>>>
>>>>>>>> Post your failure route here. Seems you try to forward a failed 
>>>>>>>> transaction without adding a new branch.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Daniel
>>>>>>>>
>>>>>>>> On 03/24/2009 09:31 PM, Joao Gomes Pereira wrote:
>>>>>>>>  
>>>>>>>>            
>>>>>>>>                 
>>>>>>>>> Hello
>>>>>>>>> I'm getting this error when I try to do URI calls:
>>>>>>>>>
>>>>>>>>> LOG ---> T_ON_REPLY ERROR:tm:t_forward_nonack: no branch for 
>>>>>>>>> forwarding
>>>>>>>>> ERROR:tm:w_t_relay: t_forward_nonack failed
>>>>>>>>> CRITICAL:tm:t_should_relay_response: pick_branch failed 
>>>>>>>>> (lowest==-1) for code 408
>>>>>>>>>
>>>>>>>>> And X-Lite says: "Server error occurred"
>>>>>>>>>
>>>>>>>>> My config is based in the sample configuration file that comes 
>>>>>>>>> with Kamailio.
>>>>>>>>> Here is my route[1], where the call should be routed:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> route[1] {
>>>>>>>>>
>>>>>>>>>         if (check_route_param("nat=yes")) {
>>>>>>>>>                 setbflag(6);
>>>>>>>>>         }
>>>>>>>>>         if (isflagset(5) || isbflagset(6)) {
>>>>>>>>>                 route(5);
>>>>>>>>>         }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>         /* example how to enable some additional event routes */
>>>>>>>>>         if (is_method("INVITE")) {
>>>>>>>>>                 #t_on_branch("1");
>>>>>>>>>                 log(3, "LOG ---> T_ON_REPLY \n");
>>>>>>>>>                 t_on_reply("1");
>>>>>>>>>                 t_on_failure("1");
>>>>>>>>>         }
>>>>>>>>>
>>>>>>>>>         if (!t_relay()) {
>>>>>>>>>                 sl_reply_error();
>>>>>>>>>         }
>>>>>>>>>         exit;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> My "branch_route", "on_reply_route" and "failure_route" are 
>>>>>>>>> just like in kamailio.cfg.sample.
>>>>>>>>>
>>>>>>>>> What could be causing this errors?
>>>>>>>>> Thanks
>>>>>>>>> Regards
>>>>>>>>> Joao Pereira
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Kamailio (OpenSER) - Users mailing list
>>>>>>>>> Users at lists.kamailio.org
>>>>>>>>> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>>>>>>>>> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>>>>>>>>>
>>>>>>>>>                       
>>>>>>>>>                   
>>>>>>> _______________________________________________
>>>>>>> Kamailio (OpenSER) - Users mailing list
>>>>>>> Users at lists.kamailio.org
>>>>>>> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>>>>>>> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>>>>>>>
>>>>>>>             
>>>>>>>               
>>>>>       
>>>>>           
>>>   
>>>       
>
>
>   

-- 
Daniel-Constantin Mierla
SIP Router Masterclass - Kamailio (OpenSER) Training
http://www.asipto.com/index.php/sip-router-masterclass/





More information about the sr-users mailing list