[Serusers] sequential hunting
Greger V. Teigre
greger at teigre.com
Sun Feb 4 11:05:00 CET 2007
Great! Could you possibly share the final result in an how-to?!
http://www.iptel.org/node/add/flexinode-4
g-)
Steve Blair wrote:
>
>
> Greger V. Teigre wrote:
>
>> Yes, if you in the db store aors (which I presume), replacing the
>> ruri with a new aor requires you to do a "recursion" on your INVITE
>> logic. I use a true recursion inside the script, i.e. the same INVITE
>> logic is called for the new ruri (handling forwarding etc), but for
>> hunts you need to decide whether you want to also follow forwarding
>> or just continue on your huntlist...
>> g-)
>>
> Thanks Greger. Hunting is working perfectly now.
>
> Steve
>
>> Steve Blair wrote:
>>
>>>
>>>
>>> OK. A little trial and error and I think I found the problem. I
>>> changed the failure_route to include the command lookup("location").
>>> I'm not clear why this makes a difference but it does. The new
>>> failure route is:
>>>
>>> # Iterate through extension list for subscribers with call hunting
>>> enabled
>>> failure_route[6] {
>>> if (avp_pushto("$ruri/username", "s:huntlist"))
>>> {
>>> lookup("location");
>>> append_branch();
>>> avp_delete("s:huntlist");
>>> t_on_failure("6");
>>> t_relay();
>>> };
>>> }
>>>
>>> Thanks,Steve
>>>
>>>
>>> Steve Blair wrote:
>>>
>>>>
>>>> Greger:
>>>>
>>>> This technique almost works. Two things are happening which I
>>>> cannot fully explain. Perhaps you can help. First, does the
>>>> avp_db_load load the values in a specific, predictable order?
>>>> Second, I cannot seem to hunt to a third number. I believe this is
>>>> because the call to the second number causes SER to exit
>>>> failure_route[6] effectively stopping the hunt. Do you or anyone
>>>> else on this list have any thoughts on why I can only hunt trough
>>>> the second number?
>>>>
>>>> Thanks,Steve
>>>>
>>>>> Steve Blair wrote:
>>>>>
>>>>>>
>>>>>> Greger:
>>>>>>
>>>>>> So something like the following:
>>>>>>
>>>>>> # hunting (serial forking)
>>>>>> if (avp_db_load("$ruri/username", "s:allow_hunt")) {
>>>>>> if (avp_check("s:allow_hunt", "eq/y/i")) {
>>>>>> avp_delete("s:allow_hunt");
>>>>>> avp_db_load("$ruri/username", "s:huntlist/sam");
>>>>>> t_on_failure("6");
>>>>>> t_relay();
>>>>>> break;
>>>>>> };
>>>>>> };
>>>>>>
>>>>>> # Iterate through extension list for subscribers with call
>>>>>> hunting enabled
>>>>>> failure_route[6] {
>>>>>> if (avp_pushto("$ruri/username", "s:huntlist"))
>>>>>> {
>>>>>> append_branch();
>>>>>> avp_delete("s:huntlist");
>>>>>> t_on_failure("6");
>>>>>> t_relay();
>>>>>> };
>>>>>> }
>>>>>
>>>>
>>>
>>>
>>
>
>
More information about the sr-users
mailing list