Call queuing behavior
Phil Frost <phil <at> macprofessionals.com>
2012-02-10 19:37:10 GMT
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_que
ue 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