Summary:ASTERISK-01849: AddQueueMember with penalty
Reporter:Terry Wilson (twilson)Labels:
Date Opened:2004-06-18 16:30:44Date Closed:2004-09-25 02:14:12
Versions:Frequency of
Description:It would be nice if the AddQueueMember application could add a queue member with an optional penalty like statically added members can have.
Comments:By: Mark Spencer (markster) 2004-06-18 23:41:20

The application or the manager command?

By: Terry Wilson (twilson) 2004-06-19 10:07:25

The application.  Here is my situation: I had queues set up with agents in groups.  We answer calls for 15 different companys and handle their tech support.  All the queues are identical, except for the fact that they have different announce files so that the queue members know to say: this is xyz support, etc.  The problem is that we have relatively variable office hours and if I statically add these groups  as members to queues.conf, I get into a situation where if no agents are logged in, then the customer has to sit around waiting for someone until the timeout (which I would like to be indefinite).  I have it where they can press 0 to leave a voicemail and exit the queue, but the customer still might sit around for 30 minutes before giving up.

I tried to have the ability added to app_queue to have an option added to the queue command to let the queue fall through if no agents were actually logged in to the queue (even though they were defined), but that got shot down (bug ASTERISK-1846) and was told to use option 'n' (which isn't what I want, I want it to keep trying if someone is logged in and taking calls) or use AddQueueMember/RemoveQueueMember.

The problems with AddQueueMember are that 1) I have to write a macro that adds the individual members to each of the 15 queues (which is a pain when you are adding customers and more queues frequently) and that I can't prioritize these dynamically added members into Tier 1, Tier 2, and Tier 3 by adding penalties (such that Tier1 answers incoming calls, Tier 2 answers if no one in Tier 1 is available and Tier 3 answers if no one in either other tier is available).

I could implement a workable (but not ideal) situation if I could add a penalty when using the AddQueueMember app in the dialplan.  I still wouldn't have the ease of groups and functionality of the Agents (authentication, etc.), but I could at least have 20 people with no penalty 10 with penalty of 1 and 5 with penalty of 2.  This way, if no one is logged in (added to the queue) it will fall through to priority+1 where I have a Voicemail command to send them to the generic support voicemail box.

I could also probably get a lot more functionality if I could have both penalties in AddQueueMember and be able to add Agents as an interface in AddQueueMember (i.e. AddQueueMember(xyz-support,Agent/123)).  Is it possible to add Agents to a queue with AddQueueMember?  Thanks.

By: Mark Spencer (markster) 2004-06-19 12:14:53

Unfortunately I do have to agree with bkw_'s conclusion on bug 1871.  Within Asterisk, the concept of agents and queues are entirely disocciated.  An agent is simply another kind of channel.

However, adding "penalty" support was pretty easy, so i've gone ahead and put it in for you.  It could take 45 minutes for the CVS mirror(s) to get it though.  

It's just another parameter for add queue member (show application addqueuemember).

By: Mark Spencer (markster) 2004-06-19 12:50:58

Fixed in CVS