Hello,
I'm trying to setup a hunt group using the lcr module and different q values. When I try to add a user location with a different q value using the FIFO commands, the only q values that are accepted is 1.00 or lower, such as 0.99. However, these all seem to qualify as the same value as all of my locations are still contacted at the same time. Does anyone have this working, and how did you add the user locations in regards to the q value?
Thanks,
Brian
Brian McCrary writes:
When I try to add a user location with a different q value using the FIFO commands, the only q values that are accepted is 1.00 or lower, such as 0.99.
this is how it should be according to rfc3261.
However, these all seem to qualify as the same value as all of my locations are still contacted at the same time. Does anyone have this working, and how did you add the user locations in regards to the q value?
did you use load_contacts()/next_contacts() functions in your ser.cfg?
-- juha
On Sat, Dec 03, 2005 at 04:27:20AM +0200, Juha Heinanen wrote:
Hello Juha,
When I try to add a user location with a different q value using the FIFO commands, the only q values that are accepted is 1.00 or lower, such as 0.99.
this is how it should be according to rfc3261.
OK, looking at the RFC I see what you mean now. I was first under the assumption that you would want to use whole numbers, rather than fractional numbers.
However, these all seem to qualify as the same value as all of my locations are still contacted at the same time. Does anyone have this working, and how did you add the user locations in regards to the q value?
did you use load_contacts()/next_contacts() functions in your ser.cfg?
I did, but part of my problem was the fact that the SIP phone I was using was still routing part of it's traffic through another SER that didn't have those functions in the config file yet. Now, it does work as expected, load_contacts only returns the contacts with the highest value, in my case a 1.00. However, I can't seem to make it load the next contacts. I have in my failure route:
if (next_contacts()) { t_relay(); };
like the README file states, and I have verified that failure route is getting executed when the first contact returns a 486. Is there any other place I need to add next_contacts or should just putting it in the failure route be enough?
Thanks,
Brian
Brian McCrary writes:
Is there any other place I need to add next_contacts or should just putting it in the failure route be enough?
in route block, you have to call load_contacts() followed by next_contacts(), which will load the first set of contacts. then each time you enter failure route, you need to call next_contacts() again.
-- juha
On Tue, Dec 06, 2005 at 10:38:11AM +0200, Juha Heinanen wrote:
in route block, you have to call load_contacts() followed by next_contacts(), which will load the first set of contacts. then each time you enter failure route, you need to call next_contacts() again.
Thanks for the info, that took care of the problem!! It works really well now!! I also needed to had a t_on_failure in my failure route so it would run the failure route again if the second contact was busy, so it would go to the third an so on. The lcr module works great and seems to me to be by far the easiest to implement for this! Thanks for releasing this module Juha!!!
Brian