2010/6/30 Nathan Angelacos nangelacos@genericconf.com:
I am not an expert, and my experience is with kamailio 1.5, but it seems that from your initial contact lookup you should have 3 contacts with different q values.
For example, if we were building it by hand, it might be:
append_branch ("ua-a@foo.com", "0.9") append_branch ("ua-b@bar.com", "0.5") append_branch ("ua-c@baz.com", "0.2")
You'd just make sure that you *additionally* had: append_branch ("ua-a@foo.com", "0.5")
append_branch ("ua-a@foo.com", "0.2") append_branch ("ua-b@bar.com", "0.2")
When you do the t_load_contacts, it would sort all the branches into 3 sets (0.9, 0.5, 0.2), with increasing numbers of contacts (a, a+b, a+b+c)
your failure route just re-arms itself and loads the next group of contacts: failure_route[1] { t_on_failure("1"); if (t_next_contacts()) { t_relay();
It would be a bit ugly as the proxy would generate 3 consecutive calls to UA-A (3 missed calls in UA-A) and two to UA-B.
Isn't there something like route_timer in 3.X? In this way a timer could be armed for the first branch so the second would be generated and so on.