[Serusers] sequential hunting

Steve Blair blairs at isc.upenn.edu
Thu Feb 1 13:15:04 CET 2007



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