2.2rc2: So what’ s with queues, ringgroups and followme

I’m usually pretty silent on this blog but thought I should shed a little light on the changes that Rob alluded to. If you are a heavy user of queues, ringgroups or followme – then you may care to read on.

The desired behavior when first initiating a queue (or ringgroup) is to retain control of the call if not answered. You do not want an agent to send the call to their voicemail or a destination if no answer. You want all those decisions to be made by the initiating queue/ringgroup.

Freepbx had solved the problem of keeping a call out of an agent’s voicemail. In doing such, it also kept that agent, once answering a call, from subsequently transferring the call to another user and at that point allowing it to go to voicemail. (this has been a long painful bug for many) There was also no solution to keeping a followme or ringgroup contained within a queue or other ringgroup from answering and playing their announcement. Or from their subsequent destination if no answer to divert the call.

All of this led to ugly dialplans requiring agent timeouts to be shorter than potential destination if no answers and other balancing acts which would hurt your brain and lead to many configuration errors.

So … what do you do?

Hopefully I have finally licked this problem. If you find scenarios that are not solved, please file bugs so we can put it to rest.

With the changes that have been put in, the initiating ringgroup or queue, or followme with other user’s followmes under them, or what ever other complicated and ugly group within a group within a group that you want to configure should work properly. You should be able to put an agent timeout of 60 seconds on a queue, and under it put an agent who’s followme would normally fail over to a destination in 25 seconds, or ringgroup, etc. And in all these cases, the queue/ringgroup should retain control until answered.

And – once answered, the ‘lock’ that keeps the order should be released, allowing that agent the ability to do what ever they could normally do with a call.

That is what these changes are about. There are only a few scenarios that can still break these (and I may put features in future versions to control these scenarios). First, an agent who forwards their phone or uses a followme to an external phone without using confirmation could ultimately lead to a call being answered by an outside system (cellphone voicemail, for example). Once that happens, there is nothing more we can do. However, even this can be controlled if you take advantage of the followme confirmation ability, which has gotten quite good at this point.

So … I won’t bore you any more. There is more to come and yet additional improvements already checked into trunk (too late for 2.2 unfortunately). But for now, have a great holiday season!