[asterisk-users] Followme for multiple persons?

John Todd jtodd at digium.com
Mon Apr 13 10:35:19 CDT 2009


On Apr 13, 2009, at 11:23 AM, JD wrote:

> 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



John -
   There's a quick summary here:  http://www.asterisk.org/developers/bug-guidelines

   The even quicker summary is:
    1) Write your code, test it.  :-)

    2) Join the bug tracker, electronically approve the contributor's  
agreement.

    3) Follow the bug through.

We're looking forward to seeing your contributions!  I'd also suggest  
spending some time on the IRC channels (#asterisk-dev) if you have any  
questions that you think could be resolved in real-time interaction  
with other developers.

JT

---
John Todd                       email:jtodd at digium.com
Digium, Inc. | Asterisk Open Source Community Director
445 Jan Davis Drive NW -  Huntsville AL 35806  -   USA
direct: +1-256-428-6083         http://www.digium.com/






More information about the asterisk-users mailing list