Hi Developers,
Hope this is the right forum. There’s a certain workflow that would be an excellent addition to FreePBX’s ring groups and queues, which is the ability to expand or widen or escalate calls, such that a call first rings on a group of phones, and then expands the group if noone answers after, say, 30 seconds.
For example, in our small business, we have Sales calls ring on two phones that are Sales phones. If nobody answers, we time out and roll over into another Ring Group of 4 phones. If there’s no answer in 30 seconds, we expand to 9 phones, some of which are cell phones.
I believe this is a natural way to want to configure one’s PBX.
However, the only way to do it right now is a completely separate ring groups or queues that ‘roll over’ or time out into each other. But the system has no awareness of what’s happening, the music starts all over, and Queue prompts like how many people are ahead of you become nonsensical, because people are essentially sent from waiting room to waiting room to waiting room to waiting room, each with its own stats, its own music, and it’s just a strange user experience.
I think there would be some merit to considering an escalation system for Ring Groups and Queues, such that the ‘search range’, if you will, can be expanded at interval.
One possible implementation could be that each extension/phone number in the Group list is prefixed by a Level, so extension 221 on Level 2 would be written as (2)221.
Then you could have these Escalation parameters:
Escalation Delay: (i.e. 40 seconds). Or there could be 3 fixed escalation levels and a unique delay for each, like Escalation Delay 1 = 30 seconds, Escalation Delay 2 = 30 seconds, Escalation Delay 3 = 60 seconds. This way, Level 1 would ring for 30 seconds, then Level 2 would ring for 30 seconds, and then Level 3 would ring for 60 seconds before going to the timeout selection.
Escalation Mode: Add/Replace. In Add mode, when going from Level 1 to Level 2, all the phones listed as having a Level 2 would be ADDED to the current ringing Level 1 phones. In Replace mode, each Level is a unique set of phones, and phones that rang on Level 1 might not ring on Level 2.
So here would be a sample extension list:
(1)221
(1)222
(2)104
(2)105
In ADD mode, on Level 1, 221 and 222 would ring. When escalated to Level 2, 221, 222, 104, 105 would ring.
In REPLACE mode, on Level 1, 221 and 222 would ring. When escalated to Level 2, 104 and 105 would ring.
There’s probably a lot simpler way to do all this, as text-based configuration is never the most attractive. It would be easier to understand as a user if you simply have 3 text boxes, one for Level 1, 2 and 3. I’m just trying to dominate the GUI as little as possible. But probably the text-based configuration would be bad for most people.
Still, I think this is a workflow that many people, including myself, are trying to implement with workarounds such as timing out from one group to another. But the software would be able to do a far better job, and this ‘expanding’ method of call routing is a very typical one to try to implement, whether it’s at the office or at home. It makes a lot of sense to start with a few phones and then expand, rather than ring the whole building at the same time. The various hunt-methods supplied don’t really work unless you’re running a true call center, and then it’s still basically either Ring All, or Ring One By One, with little or no intelligence.
Best,
Per