is generated by t_relay automatically.
actually t_relay may return false only if sending an error reply fails......

regards,
bogdan

Klaus Darilion wrote:

Is the auto-reply generated in t_relay or at the end of the script? Would this work?
        if (!t_relay()) {
        rewrite URI
        t_relay again?
        };

regards
klaus

Bogdan-Andrei Iancu wrote:

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:[EMAIL PROTECTED]: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
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users





_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users




_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to