I'm trying to implement a very simple call queue for a small, low volume 
helpdesk. We have 2-5 agents, and rarely does the queue get more than 1 or 2 
callers deep. I'm using the ringall strategy and I want calls answered in FIFO 
order.

Say caller A calls the queue, and there is one member logged in. Asterisk rings 
the member.

Now, caller B calls. Asterisk rings the member. Now the member's handset is 
showing two incoming calls.

This particular member is a bit lazy or busy, so he waits 30 seconds, and the 
first call times out. Asterisk says, "Nobody picked up in 30000 ms", the caller 
hears the periodic announcement, and Asterisk stops ringing the member.

Now, the member is unbusy, so he answers a call. But, he's connected to caller 
B, even though caller A called first. That's not what I'd expect - I want 
callers to be answered in FIFO order.

I suspect there's some interaction with the "ringinuse" and "timeout" settings 
here. I had thought, maybe I'll make the timeout very long. Since I'm using 
ringall, I don't have to worry about a lazy/dead member not answering and thus 
preventing the caller from being presented to the next member. However, if I do 
this, I can't seem to make it longer than 60 seconds, and also the caller seems 
to only be presented with announcements when the timeout expires. I'd like to 
tell the caller every 30 seconds that they can press 0 to leave a voicemail, 
regardless of any other queue activity.

ringinuse=no might be nice, also so if there are more than three callers in the 
queue I don't eat up all the call appearance buttons on my member's handsets. 
However, I read that only SIP channels can report "in use", and my members are 
on OOH323 channels. So, that's out. Coincidentally, I could make my "members" 
be just one, which is a hunt group implemented in another PBX. I'd then want 
Asterisk to present one caller to this one member, and keep presenting that 
caller to the one member until it's answered, or the caller has been waiting 
over five minutes, when he's sent to voicemail. Only then is the next caller 
presented. Even though I'd think it would be easy for app_queue to know that 
the member is busy (after all, it's calling them), there doesn't seem to be any 
way to direct app_queue to not throw every caller in the queue at the one 
member.

Any ideas on how I might approach a better solution?




--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to