Custom queue control script algorithm

Appendix A: custom queue control script algorithm
The custom queue control script algorithm has two phases:

  1. The Initial Period (aka beginning of the day): the period at the beginning of a day where the number of accepted calls is <= 20 accepted calls;
  2. The Standard Operation Period: the period after the number of accepted calls is > 20 accepted calls.

All metrics in the algorithm are for the overall tenant, not a subset of queues, and excluding calls in the IVRs.

Initial period algorithm
The Initial Period will be the period at the beginning of a day where the number of accepted calls is <= 20 accepted calls.
Logic
Logged On Agents will NOT include agent On Break
Where: TotalCurrentCalls = ( AgentsOnCall + AgentsBeingOfferedACall + CallsQueueing)
Calls should be Queued when: Number of Logged On Agents * 1.5 >= (TotalCurrentCalls)
Examples:
Sample Initial Condition: 4 Agents Logged On; 4 Agents On Calls; 0 Calls Being Offered; 2 Calls Holding; 10 Total Calls have been accepted to date.

Case 1: New Call (A) Arrives
CHECK: Calls Accepted To Date (10) Less Than 20 ⇒ True
Agents Logged On (4) *1.5 = 6
TotalCurrentCalls(6) = Agents On Call (4) + Calls Being Offered (0) + Calls Queuing (2)
CHECK AgentsLoggedOn +50% (6) Greater Than Or Equal TotalCurrentCalls(6) ⇒ True
OUTCOME ⇒ Send Call to Normal Processing

Case 2: Call (A) is now in Queue
Initial conditions are now: 10 Total Calls have been accepted to date; 4 Agents Logged On; 4 Agents On Calls; 0 Calls Being Offered; 3 Calls Holding.
New Call (B) Arrives:
CHECK: Calls Accepted To Date (10) Less Than 20 ⇒ True
8x8, Inc. 8x8, Inc. Proprietary/Confidential
Legal Services NYC 8x8 Custom solutions SOW v5 10
Agents Logged On (4) *1.5 = 6
TotalCurrentCalls(6) = Agents On Call (4) + Calls Being Offered (0) + Calls Queuing (3)
CHECK AgentsLoggedOn +50% (6) Greater Than Or Equal TotalCurrentCalls(7) ⇒ False
OUTCOME ⇒ Send Call to Overflow Processing

Standard operation period algorithm
The Standard operation Period will begin when the number of accepted calls is > 20 accepted calls.
Logic
TimeToCompleteCurrentCalls: How much processing time is expected to complete the in conversation calls.
Sum For Each Agent On a Call(AverageCallDuration - CurrentCall Duration)
Backlog: Amount of processing time expected to complete all queuing and in conversation calls. (CallsInQueue * AverageCallDuration) + TimeToCompleteCurrentCalls
NOTE: If TimeToCompleteCurrentCalls is negative then this will be replaced by ZERO
Calls should be Queues when: Backlog/LoggedOnAgents <= 600 seconds (10 Minutes)
Examples:
Sample Initial Condition: 100 Total Calls have been accepted to date; 12 Agents Logged On; 900 Seconds Average Call Duration (15 Minutes); 10 Agents On Calls; 6000 Seconds of current elapsed conversation (10 Minutes each, 10 calls); 2 Calls In Queue

Case 1: New Call (A) Arrives
CHECK: Calls Accepted To Date (10) Less Than 20 ⇒ False
TimeToCompleteCurrentCalls: (AverageCallDuration[900] * CallsInConversation[10])[9000] - ElapsedCurrentConversation[6000] = 3000
Backlog: (CallsInQueue[2] * AverageCallDuration[900])[1800] + TimeToCompleteCurrentCalls [3000] = 4800
CHECK Backlog[4800] / AgentsLoggedOn[12] [400 Seconds] Less Than 600 Seconds ⇒ True
OUTCOME ⇒ Send Call to Normal Processing

Case 2: Call (A) is now in Queue
8x8, Inc. 8x8, Inc. Proprietary/Confidential
Legal Services NYC 8x8 Custom solutions SOW v5 11
Initial conditions are now: 4 Agents Logged On; 4 Agents On Calls; 0 Calls Being Offered; 3 Calls Holding; 10 Total Calls have been accepted to date.
New Call (B) Arrives
CHECK: Calls Accepted To Date (10) Less Than 20 ⇒ True
Agents Logged On (4) *1.5 = 6
TotalCurrentCalls(6) = Agents On Call (4) + Calls Being Offered (0) + Calls Queuing (3)
CHECK AgentsLoggedOn +50% (6) Greater Than Or Equal TotalCurrentCalls(7) ⇒ False
OUTCOME ⇒ Send Call to Overflow Processing

Can we achieve above with freepbx queue?

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.