[asterisk-users] Followme for multiple persons?

JD jdupuy-list at socket.net
Mon Apr 13 10:23:47 CDT 2009


BJ Weschke wrote:
> JD wrote:
>   
>> I've got a challenge (or clarification request if I am mistaken) for the 
>> group.
>>
>> I have a non-profit customer on asterisk 1.4 that has multiple 
>> volunteers that work from home. The volunteers are willing to take calls 
>> to help out the organization.
>>
>> So, a formal queue is out. They don't want their home phones or cell 
>> phones to blindly send them callers. They want to take calls when/if 
>> they happen to be free to take a call at that particular moment. Plus, 
>> the queue function can't handle the "roll to voicemail" problem that all 
>> cell phones have. Plus, they won't have the discipline to log-in/log-out.
>>
>> Fine, I thought, I'll just use the followme function in Asterisk 1.4. It 
>> rings four numbers at once. It asks the friendly screening question, 
>> allowing a volunteer to press 1 to take the call. Or, they hang up and 
>> perhaps someone else will take it. (Or, if nobody does, it goes to 
>> voicemail.)
>>
>> Fine and dandy. Or so I thought. The problem is that followme is 
>> designed to assume that it is only going to reach exactly one person. 
>> So, if a phone answers and they press "2" to reject the call: bam, 
>> asterisk stops trying the other three phone numbers.
>>
>> I am currently trying to educate the volunteers to "refrain from 
>> pressing 2" but that is prone to problems. I'd rather that there not be 
>> a reject function at all. Or, making it so that pressing 2 doesn't 
>> really reject the call, it just hangs it up. I could change the audio, 
>> and remap 2 to 9 and hope nobody presses it, but that seems like an 
>> accident waiting to happen.
>>
>> Does anyone have suggestions?
>>
>> John
>>
>>   
>>     
>   I think you can make the following code mod to have the next in dial plan step not do anything. If someone has the time, this would probably be a decent option to add to the application for future versions to make this behavior optional via an application option parameter.
>
> [root at btwtechshowdemoC apps]# svn diff app_followme.c
> Index: app_followme.c
> ===================================================================
> --- app_followme.c      (revision 188040)
> +++ app_followme.c      (working copy)
> @@ -724,9 +724,9 @@
>                                                         if (!strcmp(tmpuser->yn, tpargs->nextindp)) {
>                                                                 if (option_debug)
>                                                                         ast_log(LOG_DEBUG, "Next in dial plan step requested.\n");
> -                                                               *status = 1;
> +                                                               // *status = 1;
>                                                                 ast_frfree(f);
> -                                                               return NULL;
> +                                                               // return NULL;
>                                                         }
>
>                                                 }
>
>   
Thanks for the code. Excellent idea.

In this particular case, I can't use it as-is because I run many virtual 
PBXs on the same machine. I don't want to change the behavior for all 
followme, just this one customer. So, your suggestion of making it an 
application option would be spot on.

I am a programmer, but I've never done open source stuff before. Is 
there a quick readable 1-2-3 guide on submitting code changes to the 
community?

John



More information about the asterisk-users mailing list