ScopTEL ACD

Module 14 - ScopTEL IP PBX Software - Managing ACD

Automatic Call Distribution (ACD)  | Background

Automatic Call Distribution queues put callers into a queue and typically play Music on Hold or custom announcement messages to keep them informed or relaxed while they wait for an agent to become available.
Studies prove that a caller listening to Music on Hold will stay on hold longer than a caller hearing a ring back tone
Agents are typically employees of a contact center that login to one or more queues in order to answer callers.
Typically an agent cannot answer more than one call at a time (although ScopTEL queue options can be configured to allow more than one call to be presented to an agent). There is typically a break period after a hangup so the agent can do some post call processing
A ScopTEL queue can play a forced announcement before joining the caller to a queue
A ScopTEL queue can play a Expected Wait Time announcements and/or periodic announcement to a waiting caller
ScopTEL supports 5 agent priorities per queue (Skills Based Routing)
ScopTEL supports Advanced Skills Based Routing (Object Based Skills Based Routing)
ACD reports live in the server cradle to grave and do not require an external database or server
There is no limit to the number of queues or agents that can be configured per server
The ScopSTATS reporting engine is used to generate Historical and Realtime reports
ScopSTATS is a web based Javascript engine which requires no client installation on any PC

Automatic Call Distribution (ACD)  | Background

A caller can exit a queue by dialing a DTMF key from their phone keypad which will follow the Auto Attendant rules applied to each queue
The reporting system can generate many advanced reports ad hoc
Service Level represents a percentage of calls answered before a pre-defined time period defined in seconds
ScopTEL supports a Custom Service Level per queue
Each ACD call can have a different disposition:
Abandoned (caller hangs up before an agent can answer or call can be overflowed) (CLID information is saved in reports)
Answered (agent answers the caller) (CLID information is saved in reports)
Overflow (caller reaches a queue condition that transfers the caller to a new destination) (CLID is saved in reports)
Overflow Caller Exit with Key or Single Key Destination
Agents are considered not logged if they are paused or not logged in
You can use Incoming Lines>CallerID>CallerID/Source to ring area codes and numbers to any queue

Automatic Call Distribution (ACD)  | Ring Strategies

Ring Strategies

Calls are distributed among the members configured to the queue(s).
Use the drop list to select a Ring Strategy:
Ring all - ring all available channels until one answers.
Least Recent - Ring interface which was least recently hung up by this queue. The agent must answer a call before it can hang up. Therefore if the agent status precludes answering a call the call distribution may stall here. Not a recommended method.
Fewest Calls - Ring the Agent with fewest completed calls from this queue. This can cause issues if an agent logs in after a substantial period of time allowing other agents to answer calls first. Calls will not be distributed to other agents until all agents have answered an equal number of calls.
Random - ring random interface
Round Robin - Round robin with memory, remember where we left off last ring pass. This is the recommended method and ensures the most even distribution of calls to all agents.
Linear - rings interfaces in the order specified in this configuration file. If you use dynamic members, the members will be rung in the order in which they were added/logged to the queue(s).

Here are some examples of the many ScopSTATS Realtime ACD panels

You can also drill down into each report in real time




Automatic Call Distribution (ACD) Configuration | Pre-requisites

Before building an ACD queue you must:
Enable the Queues and Agents module in Configuration>Telephony Modules
Define the ACD feature codes in the Configuration>Features Code tab and commit changes
Decide on a ring strategy
Add all of your agents
Record your announcements (IVR prompts) using the Sound Manager see: https://service.scopserv.com/portal/en/kb/articles/module-10-scoptel-prompt-management
 Decide on a Service Level for each queue in seconds
Build any Auto Attendants needed to support caller DTMF input to exit the queue (see module 14)
Decide on whether to remove a caller from a queue or allow a caller to enter a queue if there are no logged agents
Configure Overflow Destinations. If Overflows are not configured for a queue then calls will be terminated with busy signals.

Automatic Call Distribution (ACD) Configuration | Pre-requisites | Feature Codes

Agent (ACD) Access Codes must be configured prior to building your queues and logging in agents
Here the default feature codes are displayed and a customized list is also displayed




Automatic Call Distribution (ACD) Configuration | Agent Status | queue show

In the Asterisk app_queue system there are basic and weighted states using penalties. The command ‘queue show’ can be executed to show queue memberships.
Example:
CLI> queue show
debcomainbtn-reception has 0 calls (max unlimited) in 'rrmemory' strategy (3s holdtime, 11s talktime), W:0, C:12, A:4, SL:75.0% within 5s
Members:
Local/225@debcomainbtn-agent/n (ringinuse disabled) (dynamic) (in call) (In use) has taken 2 calls (last was 97 secs ago)
      The agent membership belongs to local channel 225 and the agent is on an ACD call therefore in use
Local/216@debcomainbtn-agent/n (ringinuse disabled) (dynamic) (In use) has taken 4 calls (last was 57 secs ago)
      The agent membership belongs to local channel 216 and the agent is on a NON-ACD call and therefore in use
Local/213@debcomainbtn-agent/n (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
      The agent membership belongs to local channel 213 and the agent is paused, not on any call but cannot take any new ACD calls since the agent is paused 

Automatic Call Distribution (ACD) Configuration | Agent Status | ScopSTATS

ScopSTATS can also be used to display Agent Status but in case of conflict the ‘queue show’ output will always show the agent status as per Asterisk.
By selecting an agent row the ScopSTATS admin can control Agent availability using the Login, Logout, Pause buttons.



Automatic Call Distribution (ACD) Configuration | Agent Types

There are three types of agents:
Dynamic Local Agents
Dynamic External Agents
Static Agents
Static External Agents
It is best practice for agents to login at the beginning of their shift, Pause during the shift when not ready, and only logout at the end of their shift.
All three Agent Types can dial the Agent Pause Code to Pause their agent membership in all assigned queues.
ScopSTATS is required if an Agent must login/logout or Pause in specific queues. Feature Code Usage always does login/logout or pause in all queues the agent is a configured member. For additional details refer to https://service.scopserv.com/portal/en/kb/articles/scopstats-admin-guide
Usage | Agent needs to go on a break:
      Agent Dials Agent Pause Code (configured in the Telephony Features Code Manager)
      Agent is Paused in all queues and cannot receive new calls while logged into the queue(s)

Automatic Call Distribution (ACD) Configuration |Agent Types | Dynamic Agent

Dynamic Agents

Dynamic Agents get a unique extension number and are not associated with any extension until they use the ‘Agent Login’ or ‘Agent Login (External)’ Feature Code or Dynamic Agents can roam to any extension on their assigned tenant.
Example:
      Agent Extension: 1
      Name: John Smith
      Password: 1234
Agent 1 needs to login to SIP extension 222 |Usage:
      From SIP extension 222 the user dials the ACD Login Feature Code (default *50)
      User is prompted for Agent Login and enters 1#
      User is prompted for Password and enters 1234#
      Agent 1 is now logged to SIP extension 222 and a member of all assigned queues
      If Agent 1 dials the Agent Login code again the Agent is logged off SIP extension 222 and all assigned queues and is no longer an Available member.

Automatic Call Distribution (ACD) Configuration |Agent Types | Dynamic External Agent

Dynamic External Agents are added as queue members in exactly the same way as Dynamic Local Agents. The only difference in their operation is the feature code used to login the agent extension.
Example:
      Agent Extension: 1
      Name: John Smith
      Password: 1234
      Agent Login (External) Feature Code: *52

Agent 1 needs to login to cell phone number 9055551234 | Usage:
      From any SIP extension within the same tenant the user dials the Agent Login (External) Feature Code: *52
      User is prompted for the external number to be used for call transfer and enters 9055551234
      User is prompted for their agent extension and enters 1#
      User is prompted for Password and enters 1234#
      Agent 1 is now logged to external number 9055551234 and a member of all assigned queues
      If Agent 1 dials the Agent Login (External) Feature Code again the Agent is logged off the external number and all assigned queues and is no longer an available member. 

Automatic Call Distribution (ACD) Configuration | Agent Types | Static Local Agent


3. Static Local Agents
Static Agents cannot use the ACD Login Feature Code because they are always considered logged queue members. Trying to login or logout will generate an error prompt. They are added as queue members with the Phone drop list selection.
Static Agents are always associated with a local physical extension and they are added to Queue Memberships as Phones
Static Agents may dial the ACD Pause Feature code so they do not receive calls during break periods.

Automatic Call Distribution (ACD) Configuration | Agent Types | External Agent


4. External Agents
External Agents can be added to queue(s) as members using the Queue Manager using the drop list selector External Number
External Agents are always associated with an external number and they are added to Queue Memberships as an External Number
External Agents cannot pause their queue membership. If the External Number cannot be reached a failover must be configured.

ACD Manager | Add a new Agent

Click on the Agents tab
Click on Add a new Agent



Add a new Agent | Dynamic Agents | General

Choose a Tenant if there are multiple tenants configured
Enter an Agent Extension number (usually starts at 1 and does not conflict with extension numbers)
Enter the Agent’s Login Password
Enter the Agent’s Full name as it should appear in the reports
Click on the Options tab


Add a new Agent | Options

Maximum Concurrent Calls is normally set to 1 but can be set higher if the Queue’s Ring in Use option is enabled
Skills Based Group is normally set to None.
      Instructions on Advanced Object Based Skills Based Routing can be found here https://service.scopserv.com/portal/en/kb/articles/how-to-implement-skill-based-routing-acd-on-scoptel-pbx

There is an option to Monitor (Record) all calls per queue but you can leave the queue option disabled if you only wish to record specific agents
Enter a Recording Tab to include special text in the ACD reports when a call is recorded (monitored)
The Caller ID and Web Authentication tab are optional
Click on the Add button when done
Add additional Agents as required



Queues Manager | Add a new Queue

On the Queues and Agents>Call Queues tab
Click on Add a new Queue



Add a new Queue | General

If there is more than one Tenant then choose a tenant from the drop list
Give the queue a useful name which will appear in the ACD reports
Do not use upper case or special characters or spaces in the queue name
Click on the Announce tab when done



Add a new Queue | Announce
This example shows a viable configuration for announcements.
The Announce Message is forced regardless if agents are available. Optional
The Agent Announcement plays back to the agent when the agent answers a queued call if configured. Optional
The Periodic Announcement plays back at the selectable interval. Optional.
Callers typically hear Music On Hold between announcements but the queue can be configured to play a ring back to the caller so the caller is not aware they are waiting in a queue
Announce Queue position will announce the waiting position to the caller. Optional
Click on the Select button to add a prompt(s)
Click on Members when done



Add a new Queue | Members

In this example Round Robin is used (typical selection)
Agents in Level 1 (High) will receive calls whenever they are available
Agents in Levels 2-5 are placed in lower priority and calls will only be distributed if each higher priority level has no available agents.
There are a total of 5 Agent Priority levels (Level 1 is the highest priority).
Use the Select button for each Level to add one or more Agents to this queue
Click on Fallback/Overflow after adding all of your agent assignments.



Add a new Queue | Dynamic Agent Members

To add a Dynamic Agent use the drop list Agent selection



Add a new Queue | Static Agent Members

To add a Static Agent use the drop list Phone selection


Add a new Queue | External Agent Members

To add a External Agent use the drop list External Number selection and Add the external number to dial.


Add a new Queue | Fallback/Overflow

There are three conditions which trigger a Fallback Overflow and they are defined in the Queue Options for each queue.
Failure to configure destinations for each condition will result in the default Busy playback and a hangup:
Maximum Waiting Time (Timeout) – Defined by Maximum Waiting time in Queue (in seconds)
Maximum Waiting Caller (Full) – Defined by Maximum number of people waiting in the queue
No Agent Available – Defined by Join/Leave Agent Status



Add a new Queue |Queue Options | Join/Leave Agent Status

Join Empty status – The caller will not be distributed to the queue and the Fallback/Overflow>No Agent Available rule(s) will be triggered based on each rule. These conditions can be turned off by enabling the Disable Join Empty option.

Leave when Empty status – The waiting caller already in call distribution will be removed from the queue and the Fallback/Overflow>No Agent Available rule(s) will be triggered based on each rule. These conditions can be turned off by enabling the Disable Leave When Empty option.

Rules:
In Use: an agent is not considered available if the agent is currently on a call.
Unavailable: If the agent is a member of the queue but has not logged in, then do not consider the agent to be available.
Penalty: an agent is not considered available if the agent penalty is less than QUEUE_MAX_PENALTY.
Invalid: Do not consider an agent to be available if the agent has an 'invalid' device state.
Unknown: Do not consider an agent to be available if the queue is unable to determine the agent's current device state.
Paused: an agent is not considered available if the agent is paused.
Wrapup: an agent is not considered available if the agent is currently in wrapuptime after taking a call.
Ringing: an agent is not considered available if the agent's device is currently ringing.

Add a new Queue | Agent Options

The Agent Options options are well described on the management page.
The Agent Timeout is responsible for generating ‘Missed Calls’ in the ScopSTATS ACD Reports. If the Agent is presented a call and does not answer within the Agent Timeout then a ‘Missed Call’ is added to the ACD reports. Missed Calls are generally an indication that the users are not logging out at the end of the day or pausing before they leave to go on break. In this scenario the Auto Pause feature may be enabled to automatically Pause the agent if they ‘miss’ a call. The Enable Auto Logout function can force all agents to be logged off at the configured time. In any case ‘Missed Calls’ are an indicator that Agents require additional training.
Security, Alarms, Wallboard and Thresholds are all optional items which are especially useful in ScopSTATS to flag visual indicators when Service Levels are dropping below desired values.
Click Add to finish creating the queue




Queues (ACD) Callback | Background

This feature allows a caller to exit a queue but first request a callback from the Contact Center when an agent is available rather than waiting in queue.

The caller requests the callback by dialing a digit on their keypad that  matches a Key action defined on the Auto Attendant Menu. So a new Auto Attendant configuration is required.
The Auto Attendant is assigned to the required queue using the Single Digit Key Press drop list option in the Queues Manager
The matching queue must already exist to be associated with the Callback configuration

The following slides presume knowledge of the ScopTEL IVR Auto Attendant Configuration.

Queues (ACD) Callback | Usage

Once a caller reaches a queue they will hear the normal Queue Announcements.
Any of the Announcements may be recorded to include instructions on how to receive a Callback or exit the 
Queue via a Key Press.  Other Key Press options could include a digit to dial to transfer to a preconfigured Voicemail Box, Extension, External Number, Operator etc…
Depending on which Key press the caller chooses the Queue will Exit the Caller with Key Press.  If the Callback Key Press option is the key pressed then the caller will be prompted for Callback, Disconnected and called back once an Agent becomes available.
Once the caller receives their callback the Queue will announce to the caller that they are receiving their callback and then join the caller with the available Agent.

Queues (ACD) Callback | Add a new Callback (ACD)

From the ACD Manager click on the Queues (ACD) Callback tab
Click on Add a new Queues (ACD) Callback




Queues (ACD) Callback | General

Give this callback a name
Click on the Announce Messages tab



Queues (ACD) Callback | Announce Messages

Callback Message(s)
Description: Message to play when the caller request a callback.
Example script: You have requested a callback a sales agent will return your call when they are available.

Invitation Message(s):
Description: Message to play when the PBX callback the caller.
Example script: This is the sales department from Company ABC returning your call.

Use the Select Tools to add each pre-recorded prompt
Click on the Options tab



Queues (ACD) Callback | Options

It is on this tab where you associate an existing ACD Queue with this Queues (ACD) Callback object
Choose your preferred language for the Callback and choose a secure Class of Service to match the Outgoing Line(s) used for the callback.
If you uncheck the default option to Use CallerID as Callback number then the caller will have to enter a callback number from their touch tone keypad
Configure any other options as needed and click Add




Queues (ACD) Callback | Auto Attendant Keys Assignment

Navigate to Applications>Auto Attendants
Click on Add a new Auto Attendant
Give the Auto Attendant a name on the General tab
Click on the Key Assignment tab
Select a Key and set the Destination #1 to pull down option Queue (ACD) Callback in the sub menu choose the ACD Queue you want to apply to this key.
Optionally define more Key values and configure each Destination to set other Exit with Key Press options for the caller to exit the Queue with a Key Press
Click Add when done



Edit ACD Queue | Queue Options | Single Digit Key Press assignment

The last step is to Edit the previously configured ACD Queue Options tab to associate the Single Digit Key Press option with the Auto Attendant Menu that was created to invoke the key press to Queue (ACD) Callback Menu.
Save this configuration and Commit your changes







    • Related Articles

    • How to implement Skill Based Routing (ACD) on ScopTEL PBX

      Skills Based Routing Definition The following is the Wikipedia definition for Skills Based Routing: “Skills based routing (SBR) is a call assignment strategy used in call centers to assign incoming calls to the most suitable agent, rather than simply ...
    • Module 13 - ScopTEL IP PBX Software -Managing Auto Attendants

      Auto Attendants Also known as an IVR Menu. In typical usage an Incoming Line is set according to a schedule to an Auto Attendant Menu Destination. Once the Auto Attendant answers a call the caller is prompted to enter DTMF entries from their keypad. ...
    • Module 19 - ScopTEL IP PBX Software - Quality-of-Service-Training

      The use of IP as a foundation for converged networks has raised several issues for both enterprise IT departments and ISPs.  IP and Ethernet are connectionless technologies and do not guarantee bandwidth. The protocol will not differentiate network ...
    • Enable Instant Messaging (XMPP) Service on ScopTEL PBX

      We will look at how to setup an Instant Messaging server on ScopTEL PBX using a free and open source XMPP based IM server. Openfire is a real time collaboration (RTC) server dual-licensed under the Open Source GPL and commercially. It uses the only ...
    • ScopTEL IP PBX Software - Basic Installation Hierarchy for Telephony Server

      Basic Installation Hierarchy for Telephony Server Therefore the purpose of this document is to provide a visual walkthrough of a very basic but functional installation for one tenant. This tutorial does not include an overview of the overall network ...