[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