Hi,

I have a scenario I’m not sure of the best way to solve.

I use alias_db and have multiple destinations for a single number, and have 
append_branches set to 1.
I then use lookup_branches to get details from the location table for each 
branch.
I then do t_load_contacts and t_next_contacts, then t_relay to parallel fork 
the calls to the destination, and all the phones ring at once.

This all works great if all the destinations from the dbaliases table are 
online.

However, if one of them is offline, lookup_branches says "Not found in usrloc”. 
This branch is still there, and the call is attempted. In my environment, this 
then does a DNS lookup, can’t resolve the domain, and the branch fails. This is 
the first branch that is tried, and when this branch has an error like this, it 
causes t_relay() to fail - I check for the output of t_relay() and reply with 
an error - per the default config that Kamailio ships with.

I guess what I need to figure out, is if there’s a way to have t_relay fail 
only if all branches fail? Or, is there a more elegant way to handle this?

I should add, I only allow a single registration per subscriber - so, 
lookup_branches only returns one branch per alias from alias_db_lookup.

--
Nathan Ward


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to