[Users] t_on_failure doesn't

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Aug 22 15:29:56 CEST 2006


for the moment is not possible - please fill in a bug report on the 
tracker to have in mind to work out a solution for this.

regards,
bogdan

Nathan Hawkins wrote:

>So am I correct in understanding that there is currently no way to
>handle this condition? This seems like a serious problem with using TCP.
>
>Bogdan-Andrei Iancu wrote:
>  
>
>>Hi Nathan,
>>
>>failure route is called in case of a call failure (negative reply) and
>>not if a sending error occurred.
>>
>>the right way to do it will be to have a way to disable the auto reply
>>in case of error in  t_reply() and deal with the error from the script.
>>
>>regards,
>>bogdan
>>
>>Nathan Hawkins wrote:
>>
>>    
>>
>>>I'm trying to use the LCR module to do a failover between two
>>>gateways. For testing purposes, I have a gateway record pointed at an
>>>IP that isn't used. The problem is, I can't seem to get OpenSER to
>>>fail over to the other gateway. I want to use TCP (with TLS when I'm
>>>done), but I get this:
>>>
>>>Jul 20 15:36:57 asiago /usr/sbin/openser[11896]: route[6]: routing to
>>>INVITE sip:MYDID at MYIPADDRESS:5060;transport=tcp
>>>Jul 20 15:37:17 asiago /usr/sbin/openser[11896]: ERROR:
>>>tcp_blocking_connect: timeout (10)
>>>Jul 20 15:37:17 asiago /usr/sbin/openser[11896]: ERROR:
>>>tcpconn_connect: tcp_blocking_connect failed
>>>Jul 20 15:37:17 asiago /usr/sbin/openser[11896]: ERROR: tcp_send:
>>>connect failed
>>>Jul 20 15:37:17 asiago /usr/sbin/openser[11896]: msg_send: ERROR:
>>>tcp_send failed
>>>Jul 20 15:37:17 asiago /usr/sbin/openser[11896]:
>>>ERROR:tm:t_forward_nonack: sending request failed
>>>
>>>(IP and username censored.)
>>>
>>>OpenSER sends this to the caller:
>>>SIP/2.0 477 Unfortunately error on sending to next hop occurred (477/TM)
>>>
>>>Why can't I catch this with either the return code from t_relay or
>>>the failure route?
>>>
>>>It will go to the failure route if I get a reply back from the next
>>>hop. But I need to fail to the other gateway.
>>>
>>>The relevent parts of the configs are shown below. (Addresses censored.)
>>>
>>>Any help would greatly appreciated.
>>>
>>>Thanks,
>>>
>>>   ---Nathan
>>>
>>>
>>>Config snippet:
>>>
>>>   # ok, so maybe try a gateway...
>>>   if( load_gws() ) {
>>>       xlog("L_INFO","route[3]: gateway routing $rm $ru");
>>>       t_on_failure("1");
>>>       route(6);
>>>       return;
>>>   }
>>>}
>>>
>>>route[6] {
>>>   xlog("L_INFO","route[6]: $rm $ru");
>>>   t_on_failure("1");
>>>   t_on_reply("1");
>>>   if (!next_gw()) {
>>>       xlog("L_INFO","route[6]: no more gateways for $ru");
>>>       exit;
>>>   }
>>>   xlog("L_INFO","route[6]: routing to $rm $ru");
>>>   if(!t_relay()) {
>>>       xlog("L_INFO","route[6]: t_relay returned $rc");
>>>       sl_reply_error();
>>>   }
>>>   return;
>>>}
>>>
>>>failure_route[1] {
>>>   xlog("L_INFO","failure_route[1]: $rm $ru");
>>>   t_on_failure("1");
>>>   if(t_check_status("404")) {
>>>       xlog("L_INFO","failure_route[1]: failing call with 404 for $ru");
>>>       return;
>>>   }
>>>   if (!next_gw()) {
>>>       xlog("L_INFO","route[6]: no more gateways for $ru");
>>>       exit;
>>>   }
>>>   append_branch();
>>>   xlog("L_INFO","failure_route[1]: sending $rm $ru");
>>>   if(!t_relay()) {
>>>       xlog("L_INFO","route[6]: t_relay returned $rc");
>>>   }
>>>   return;
>>>}
>>>
>>>
>>>Gateways:
>>>
>>>mysql> select * from gw where grp_id=4;
>>>+---------+--------+-----------+------+------------+-----------+--------+
>>>
>>>| gw_name | grp_id | ip_addr   | port | uri_scheme | transport |
>>>prefix |
>>>+---------+--------+-----------+------+------------+-----------+--------+
>>>
>>>| ithaka  |      4 | CENSORED | 5060 |       NULL |         2 | NULL   |
>>>| larink  |      4 | BAD_ADDRESS | 5060 |       NULL |         2 |
>>>NULL   |
>>>+---------+--------+-----------+------+------------+-----------+--------+
>>>
>>>2 rows in set (0.00 sec)
>>>
>>>
>>>ithaka is a working OpenSER proxy. larink is an empty IP address.
>>>(There used to be a server named larink.)
>>>
>>>
>>>_______________________________________________
>>>Users mailing list
>>>Users at openser.org
>>>http://openser.org/cgi-bin/mailman/listinfo/users
>>>
>>>      
>>>
>
>  
>





More information about the Users mailing list