[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