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

Iñaki Baz Castillo ibc at aliax.net
Sun Mar 7 19:09:26 CET 2010


Hi, imagine this case:

- bob is registered from multiple locations:
  a) a responding UDP/TCP location
  b) a non responding TCP location (it crashed)

- alice calls bob

- Kamailio gets both branches from location table and runs t_relay().

- t_relay() replies "true" as location a) is responding.

However in this case it would be useful to realize that the second location 
(unreachable TCP location) doesn't work, and being TCP it's safe to remove it 
from location table.

AFAIK (correct me if I'm wrong) there is some script function to remove user 
locations, but there is no way to use it in the example above (am I wrong?).

As a suggestion, there could be a usrloc option to remove TCP contacts from 
location table when t_relay() fails, perhaps in conjunction with some new flag 
for t_relay() function.

Is there any better aproach for this purpose?


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



More information about the sr-dev mailing list