[sr-dev] handling failed t_relay() when multiple usr locations

Iñaki Baz Castillo ibc at aliax.net
Mon Mar 8 11:09:17 CET 2010


El Lunes 08 Marzo 2010, Klaus Darilion escribió:
> I do not know a way to remove the binding from location table. But you
> could use
> http://sip-router.org/wiki/cookbooks/core-cookbook/devel#set_forward_no_con
> nect
> 
> to ignore the broken TCP contacts.

Interesting, thanks a lot. And in case there is just an unique location 
(unreachable TCP location) which code would generate t_relay() after setting 
"set_forward_no_connnect"?:

  3 - no destination available (no branches were added or request already
      cancelled) 
  5 - destination filtered (black listed) 
  6 - generic send failed

?


I mean something as:

  route {
    ...
    if (lookup()) {
      // requests to local users. They are usually behind NAT so it does
      // not make sense to try to establish a new TCP connection.
      set_forward_no_connect();
      // If t_relay() returns -3 probably there were unreachable
      // TCP registrations behind NAT. Behave as if the user is no longer
      // registered.
      if ! t_relay() {
        if $rc == -3
          sl_reply("480", "User Not Online");
        else
          ...
      }
    }
    ...
  }



-- 
Iñaki Baz Castillo <ibc at aliax.net>



More information about the sr-dev mailing list