[OpenSIPS-Users] Problem with t_relay after

Chevio emercado at rapidlink.com
Tue Mar 10 15:52:17 CET 2009


I just also tried 1.4.4-notls and the behavior is the same.

Chevio


Chevio wrote:
> 
> Hi Bogdan,
> 
> I am using 1.4.2-tls
> 
> Chevio
> 
> Bogdan-Andrei Iancu wrote:
>> 
>> Hi Chevio,
>> 
>> what opensips version are you using?
>> 
>> Regards,
>> Bogdan
>> 
>> Chevio wrote:
>>> Hi All, 
>>>
>>> I  am having a weird problem with t_relay when calling it from route[2]
>>> in
>>> the script below.
>>>
>>> The problem that I am experiencing is that it does not relay the message
>>> to
>>> the modified destination uri host/port. Instead it relays the message to
>>> the
>>> modified uri/host/port from route[1]. 
>>>
>>> I initially thought the problem was with my tncgw_route custom module
>>> that
>>> modifies the msg->new_uri
>>> but after some testing and debugging I realized that if I modify the
>>> destination uri host/port with rewritehostport functino on route[2]
>>> t_relay() is also failing (sending the message to the modified uri in
>>> route[1]).
>>>
>>> Then I decided to try t_relay("udp:host:port") instead of t_relay() on
>>> route[2] and it worked fine. So the question is why does t_relay() is
>>> not
>>> picking the msg->new_uri when called from route[2]?.  
>>>
>>> route[1] {
>>> 	setflag(22);
>>> 	# send it out now; use stateful forwarding as it works reliably
>>> 	# even for UDP2TCP
>>> 	
>>> 	if (method=="INVITE"){
>>> 		t_on_failure("1");
>>> 		t_on_reply("1");
>>>
>>> 		$var(route_result)=tncgw_route("1");
>>> 		tncgw_cdr();
>>> 		
>>> 		if($var(route_result)==-404){
>>> 			xlog("Invalid Route send 404 \n");
>>> 			sl_send_reply("404","Invalid Route");
>>> 			tncgw_releasecdr("404","SB Invalid Route");  
>>> 			exit;
>>> 			
>>> 		}
>>>
>>> 		if($var(route_result)==-503){
>>> 			xlog("Congestion, send 503 \n");
>>> 			sl_send_reply("503","No route available for destination");
>>> 			tncgw_releasecdr("503","SB No route available for destination");  
>>> 			exit;
>>> 			
>>> 		}
>>>
>>> 		if($var(route_result)<0){
>>> 			xlog("Call not routed\n");
>>> 			sl_send_reply("503","No route available for destination");
>>> 			tncgw_releasecdr("$var(route_result)","SB Call not routed");  
>>> 			exit;
>>> 		}
>>>
>>>
>>> 		t_relay();
>>> 		exit;	
>>> 	}
>>> }
>>>
>>> route[2] {
>>> 	setflag(22);
>>> 	# send it out now; use stateful forwarding as it works reliably
>>> 	# even for UDP2TCP
>>> 	t_on_reply("2");
>>> 	$var(route_result)=tncgw_route("2");
>>>              tncgw_cdr();
>>>
>>> 	if($var(route_result)==-404){
>>> 		xlog("Invalid Route send 404 \n");
>>> 		sl_send_reply("404","Invalid Route");
>>> 		tncgw_releasecdr("404","SB Invalid Route");  
>>> 		exit;
>>> 	}
>>>
>>> 	if($var(route_result)==-503){
>>> 		xlog("Congestion, send 503 \n");
>>> 		sl_send_reply("503","No route available for destination");
>>> 		tncgw_releasecdr("503","SB No route available for destination");  
>>> 		exit;
>>> 	}
>>>
>>> 	if($var(route_result)<0){
>>> 		xlog("Call not routed\n");
>>> 		sl_send_reply("503","SB No route available for destination");
>>> 		tncgw_releasecdr("$var(route_result)","SB Call not routed");  
>>> 		exit;
>>> 	}
>>>
>>> 	if (!t_relay()){
>>> 	
>>> 		sl_reply_error();
>>>
>>> 	};
>>> }
>>>
>>> failure_route[1] {
>>> 	setflag(22);
>>> 	if(status=~"3[0-9][0-9]|4[0-9][0-9]|5[0-9][0-9]|6[0-9][0-9]")
>>> 	{
>>> 		/*
>>> 		if first carrier failed the call then try the next in route
>>> 		*/
>>> 		append_branch();
>>> 		route(2);
>>> 		exit;
>>> 	}
>>> }
>>>
>>>
>>> onreply_route[1] {
>>>         setflag(22);
>>> 	if (status=~"3[0-9][0-9]|4[0-9][0-9]|5[0-9][0-9]|6[0-9][0-9]") {
>>> 		# Response from carrier
>>> 		tncgw_releasecdr("$rs","From Carrier");
>>> 	}
>>>
>>> }
>>>
>>> I appreciate any help.
>>>
>>> Thank you.
>>>
>>> Chevio
>>>
>>>   
>> 
>> 
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>> 
>> 
> 
> 

-- 
View this message in context: http://n2.nabble.com/Problem-with-t_relay-after-tp2450413p2455623.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.




More information about the Users mailing list