AheevaCCS 6.0 User Guide
AheevaCCS 6.0 User Guide
Aheeva CCS 6.0
User Guide
May 2015
AheevaCCS 6.0 User Guide
Copyright © 2015 Aheeva Technology Inc. All Rights Reserved
All contents of this document are subject to change without notice and do not represent a commitment
on the part of Aheeva. Every effort is made to ensure the accuracy of this information. However,
due to ongoing product improvements and revisions, Aheeva cannot guarantee the accuracy of this
material, nor can it accept responsibility for errors or omissions. No warranties of any nature are
extended by the information contained in these copyrighted materials. Use or implementation of any
one of the concepts, applications, or ideas described in this document or on web pages maintained by
Aheeva, may infringe one or more patents or other intellectual property rights owned by third parties.
Aheeva does not condone or encourage such infringement. Aheeva makes no warranty with respect to
such infringement, nor does Aheeva waive any of its own intellectual property rights that may cover
systems implementing one or more of the ideas contained herein. Procurement of appropriate
intellectual property rights and licenses is solely the responsibility of the system implementers. The
software referred to in this document is provided under a Software License Agreement. Refer to the
Software License Agreement for complete details governing the use of the software.
Aheeva and the Aheeva logo are registered trademarks.
Published by:
Aheeva Technology Inc.
1400 Metcalfe St
Suite 200 Montréal, Québec
H3A 1X2 Canada
North America 1 866 348 2581
Tel: +1 (514) 223 2581
Fax: +1 (514) 223 2987
For Sales Offices and other contact information, visit our web site at
http://www.aheeva.com
Copyright © 2015 Aheeva Technology. All Rights Reserved ii
AheevaCCS 6.0 User Guide
TABLE OF CONTENTS
1 INTRODUCTION ................................................................................................................. 1
1.1 Intended Audience ......................................................................................................................... 1
1.2 References ...................................................................................................................................... 1
1.3 About Aheeva Technology.............................................................................................................. 1
2 LOGIN TO AHEEVA MANAGER ........................................................................................... 3
3 CHANGE PASSWORD ......................................................................................................... 5
4 USERS AND ROLES ............................................................................................................. 7
4.1 Create a role ................................................................................................................................... 7
4.2 Create a user .................................................................................................................................. 9
5 SECURITY CONFIGURATION ............................................................................................. 13
6 USER CHAT INTERFACE .................................................................................................... 15
7 AGENTS ........................................................................................................................... 17
8 AGENT GROUPS............................................................................................................... 19
8.1 Create an Agent Group ................................................................................................................. 19
8.1.1 Agent Group – General settings section .............................................................................................. 19
8.1.2 Agent Group – Agents configuration section ....................................................................................... 21
8.1.3 Agent Group – Recording options ....................................................................................................... 23
8.1.1 Agent Group – Security settings .......................................................................................................... 26
9 TEAMS............................................................................................................................. 27
10 SOUNDS .......................................................................................................................... 28
10.1 Uploading sound files ............................................................................................................... 28
10.2 Setting up PCI sound files ......................................................................................................... 29
11 MUSIC‐ON‐HOLD ............................................................................................................. 31
12 CHAT CUSTOM MESSAGES .............................................................................................. 32
13 AGENT STARPHONE......................................................................................................... 34
13.1 Using the Starphone ................................................................................................................. 34
13.1 Using Chat interface .................................................................................................................. 41
14 NOT‐READY REASONS ..................................................................................................... 44
15 SKILLS .............................................................................................................................. 46
Copyright © 2015 Aheeva Technology. All Rights Reserved iii
AheevaCCS 6.0 User Guide
15.1 Creating a skill ........................................................................................................................... 46
15.2 Adding skills to an agent ........................................................................................................... 47
16 INBOUND IVR .................................................................................................................. 48
16.1 Setting up an inbound service .................................................................................................. 48
16.2 Associating the phone number with a Routing Script .............................................................. 49
16.3 Developing a Routing Script ...................................................................................................... 49
16.3.1 Call properties ...................................................................................................................................... 50
16.3.2 If‐Else condition ........................................................................................................................... 52
16.3.3 Switch‐Case statement ............................................................................................................... 52
16.3.4 Agent Pick‐up method ................................................................................................................. 53
16.3.5 Virtual On Hold .................................................................................................................................... 58
16.3.6 Modify call priority ..................................................................................................................... 60
16.3.7 Execute Asterisk applications ....................................................................................................... 62
16.3.8 Automated Speech Recognition(ASR) ........................................................................................... 63
16.3.9 Text To Speech(TTS) ...................................................................................................................... 63
16.3.10 Get DTMF ..................................................................................................................................... 64
16.3.11 Database access ........................................................................................................................... 65
16.3.12 Arithmetic Operation .............................................................................................................. 66
16.3.13 Web Services .................................................................................................................................. 67
16.3.14 Get real‐time statistics ................................................................................................................ 69
16.3.15 Call ending ................................................................................................................................... 69
16.3.16 Attach data ................................................................................................................................... 70
16.3.17 Counters............................................................................................................................................... 70
16.3.18 Link boxes ..................................................................................................................................... 71
16.3.19 Delete link .................................................................................................................................... 71
16.4 Example of a routing script ....................................................................................................... 71
17 INBOUND CHAT ............................................................................................................... 73
17.1 Setting up an inbound chat service .......................................................................................... 73
Copyright © 2015 Aheeva Technology. All Rights Reserved iv
AheevaCCS 6.0 User Guide
17.2 Add a link on the website ......................................................................................................... 73
Associating the link with a Chat Routing Script ....................................................................................... 74
17.3 Developing a Chat Routing Script ............................................................................................. 75
17.3.1 Call properties ...................................................................................................................................... 76
17.3.2 If‐Else condition ........................................................................................................................... 77
17.3.3 Switch‐Case statement ............................................................................................................... 77
17.3.4 Agent Pick‐up method ................................................................................................................. 77
17.3.5 Modify call priority ..................................................................................................................... 80
17.3.6 Execute applications ............................................................................................................................ 80
17.3.7 Database access ........................................................................................................................... 81
17.3.8 Arithmetic Operation ..................................................................................................................... 81
17.3.9 Web Services .................................................................................................................................. 81
17.3.10 Get real‐time statistics ................................................................................................................ 81
17.3.11 Chat ending .................................................................................................................................. 82
17.3.12 Attach data ................................................................................................................................... 82
17.3.13 Counters............................................................................................................................................... 82
17.3.14 Custom server ...................................................................................................................................... 82
17.3.15 Link boxes ..................................................................................................................................... 82
17.3.16 Delete link .................................................................................................................................... 82
18 CALLING LISTS ................................................................................................................. 83
18.1 Loading a calling list .................................................................................................................. 83
18.2 Overview of chain‐calling .......................................................................................................... 92
18.2.1 Adding a chain‐calling list step by step ................................................................................................ 93
18.2.2 To add multiple telephones numbers for each of the parties to be called ......................................... 95
18.2.3 Matching the source file to the database table’s columns .................................................................. 96
18.2.4 Database table loading status .............................................................................................................. 98
18.2.5 Setting dialing hours, screen pops and time zones.............................................................................. 99
18.2.6 Processing status on dialing hours, screen pops and time zones ...................................................... 102
18.2.7 Associating filters and treatments to the new calling list .................................................................. 102
18.2.8 Saving your settings as a template .................................................................................................... 107
18.3 Creating a treatment on a calling list ...................................................................................... 108
18.4 Creating a filter on a calling list .............................................................................................. 112
Copyright © 2015 Aheeva Technology. All Rights Reserved v
AheevaCCS 6.0 User Guide
19 OUTBOUND CAMPAIGNS .............................................................................................. 115
19.1 Setting up the prefix rules for outbound campaigns .............................................................. 115
19.2 Setting up the time zone rules for outbound campaigns ....................................................... 116
19.3 Setting up an outbound campaign ......................................................................................... 118
19.3.1 Cancel Preview Call ............................................................................................................................ 120
19.3.2 Limit Callbacks ................................................................................................................................... 120
19.3.1 Create an Outbound campaign .......................................................................................................... 121
19.3.2 FTC/CRTC compliance enforcing parameters .................................................................................... 128
19.4 Setting up a broadcast outbound campaign ........................................................................... 129
19.5 Operating an outbound campaign .......................................................................................... 132
20 DO‐NOT‐CALL LISTS ....................................................................................................... 133
20.1 Configuring black lists ............................................................................................................. 133
21 EVALUATION FORMS ..................................................................................................... 135
21.1 Evaluation form overview ....................................................................................................... 135
21.2 Creating an evaluation form ................................................................................................... 135
21.2.1 Steps to creating the form ................................................................................................................. 136
21.2.2 Identifying and activating a form ....................................................................................................... 137
21.2.3 Grouping the questions into quality monitoring activities ................................................................ 138
21.2.4 Allowing for evaluators’ comments and categorizing results ............................................................ 139
21.2.5 Questions ........................................................................................................................................... 140
21.2.6 Group dependency ............................................................................................................................ 141
21.2.7 Recordings belonging to outbound campaigns ................................................................................. 146
21.2.8 Recordings belonging to inbound queues ......................................................................................... 147
21.2.9 Recordings belonging to agent groups .............................................................................................. 148
21.3 Labels list setup — or post‐evaluation format ....................................................................... 149
21.3.1 Defining the sorting criteria ............................................................................................................... 150
21.4 Answers list setup ................................................................................................................... 151
21.4.1 Selecting the answering method ....................................................................................................... 151
21.4.2 Scoring the various answers in a set .................................................................................................. 153
21.5 Evaluating recordings .............................................................................................................. 154
21.6 Viewing saved evaluation ....................................................................................................... 156
22 FORM BUILDER.............................................................................................................. 158
22.1 Form builder overview ............................................................................................................ 158
22.2 Features .................................................................................................................................. 159
22.3 Quick tour of the Form builder’s interface ............................................................................. 159
22.4 Creating a form ....................................................................................................................... 162
22.4.1 Using an existing form ....................................................................................................................... 162
22.4.2 Creating the form from scratch ......................................................................................................... 163
Copyright © 2015 Aheeva Technology. All Rights Reserved vi
AheevaCCS 6.0 User Guide
22.5 Putting the form’s elements together .................................................................................... 167
22.5.1 Pages .................................................................................................................................................. 167
22.5.2 Page elements — the form’s building pieces .................................................................................... 168
22.5.3 How to add a callback block? ............................................................................................................. 169
22.6 First design example of a form and its elements .................................................................... 174
22.7 Second design example of a form and its elements ............................................................... 176
22.7.1 Edit the properties of an element...................................................................................................... 178
22.7.2 Delete an element ............................................................................................................................. 178
22.8 Database configuration ........................................................................................................... 179
22.8.1 Global database parameters .............................................................................................................. 179
22.8.2 How to configure a new database ..................................................................................................... 180
22.8.3 How to modify the database configuration ....................................................................................... 182
22.9 Table configuration ................................................................................................................. 182
22.9.1 How to choose the list of tables for a database ................................................................................ 182
22.10 Giving interactivity to the form .............................................................................................. 184
22.10.1 Parameters configuration .................................................................................................................. 185
22.10.2 Where clause configuration ............................................................................................................... 186
22.10.3 How to use Form reports ................................................................................................................... 187
22.11 Delinquency report ................................................................................................................. 188
22.11.1 Search criteria .................................................................................................................................... 188
22.11.2 Dispositions block .............................................................................................................................. 189
22.11.3 How to add a scheduled call‐back block on your form’s page ........................................................... 190
22.12 Page elements reference list .................................................................................................. 191
22.12.1 Form elements ................................................................................................................................... 191
22.12.2 Search elements ................................................................................................................................ 194
22.12.3 Design elements ................................................................................................................................ 195
22.13 Element properties reference list ........................................................................................... 197
22.13.1 Properties reference list for page elements ...................................................................................... 198
22.14 Executing a form ..................................................................................................................... 205
23 DASHBOARDS................................................................................................................ 207
23.1 Create a Dashboard ................................................................................................................ 208
23.2 Add widgets ............................................................................................................................ 209
23.3 Edit widgets............................................................................................................................. 212
24 LIVE MONITORING ........................................................................................................ 214
25 REMOTE API FOR AGENT STARPHONE ........................................................................... 215
25.1 RM_MSG_TYPE_LOGIN ........................................................................................................... 215
25.2 RM_MSG_TYPE_LOGOUT ....................................................................................................... 215
25.3 RM_MSG_TYPE_DIAL .............................................................................................................. 215
25.4 RM_MSG_TYPE_TRANSFER .................................................................................................... 215
Copyright © 2015 Aheeva Technology. All Rights Reserved vii
AheevaCCS 6.0 User Guide
25.5 RM_MSG_TYPE_ CONFERENCE .............................................................................................. 216
25.6 RM_MSG_TYPE_FORCE_HANGUP .......................................................................................... 216
25.7 RM_MSG_TYPE_FORCE_READY .............................................................................................. 216
25.8 RM_MSG_TYPE_UNCONDITIONNAL_READY .......................................................................... 216
25.9 RM_MSG_TYPE_HOLD ............................................................................................................ 216
25.10 RM_MSG_TYPE_UNHOLD ....................................................................................................... 217
25.11 RM_MSG_TYPE_NOT_READY ................................................................................................. 217
26 PCI DSS COMPLIANCE .................................................................................................... 218
Copyright © 2015 Aheeva Technology. All Rights Reserved viii
AheevaCCS 6.0 User Guide
1 INTRODUCTION
The main audience of this User guide are the Aheeva CCS solution users or any person looking for
information on how to configure the different Aheeva CCS entities that make up the contact center, how
to create routing scripts, configure campaigns, create dashboards, etc. This guide does not cover the
installation and configuration of the Aheeva CCS platform which are covered in the Administration
guide. This guide assumes that you have a basic understanding and knowledge of:
Contact Center concepts and terminology
Logic needed to implement calls routing scripts
Web‐based forms
1.2 References
Aheeva CCS Administration Guide 6.0.
Aheeva Technology Inc. is a Canadian company that develops and markets turnkey contact center
solutions that enhance customer interaction and optimize agent productivity. The tailored solutions are
IP‐based and provide businesses and contact centers with tools to improve customer satisfaction,
reduce costs and increase revenues.
Fully customizable and scalable to accommodate the changing needs of your business, Aheeva’s cost‐
effective solutions require only a Web browser for access, making remote monitoring, management and
analysis possible anywhere with an Internet connection.
Leveraging the strengths of an IP infrastructure, the Aheeva Contact Center Suite enables clients to
establish a superior full‐service contact center for a fraction of the investment required to operate a
traditional telephony switch‐based call center.
Aheeva features skills‐based routing for inbound calls, outbound capabilities with a range of dialing
modes (predictive, preview, progressive and broadcast), quality monitoring tools and real‐time statistics.
Established in 2000, originally as a consulting firm, Aheeva benefits from the knowledge base of its
founders, seasoned IT and Telecommunications professionals. By March 2003, Aheeva discovered
Copyright © 2015 Aheeva Technology. All Rights Reserved 1
AheevaCCS 6.0 User Guide
Asterisk, the open source PBX/telephony application for Linux. After researching and thoroughly
evaluating the application’s features and capabilities, Aheeva adopted Asterisk technology to develop a
call center solution that is cost‐effective and competitive.
Today, Aheeva enjoys partnerships with innovative leaders in open source technology for business
(Digium). Working with partners and VARs around the world, Aheeva is poised to become a leader in
developing and providing innovative IP Contact Center Solutions.
Copyright © 2015 Aheeva Technology. All Rights Reserved 2
AheevaCCS 6.0 User Guide
The Aheeva Manager is a web‐based tool that allows you to configure the solution, create dashboards to
access real‐time statistics, and generate historical reports. It is a web‐based application compatible and
tested with Chrome and Firefox. Some functionalities may have an incorrect behavior or not be
available if run under Internet Explorer, such as the live audio monitoring.
To login to the Aheeva Manager, first make sure Jetty is running then open a browser and go to the
following URL:
https://hostname:8443/aheevaManager
Where hostname is the IP address or hostname of the server where the Aheeva Manager is installed.
Make sure to always specify port 8443 after the hostname.
The login credentials are:
Copyright © 2015 Aheeva Technology. All Rights Reserved 3
AheevaCCS 6.0 User Guide
Username A username provided by the administrator
The Tenant field must be used to specify to which tenant this user belongs. It is an alphanumeric code
provided by the system administrator. This Tenant code makes it possible for two distinct tenants to
have two users with the same username and password.
Upon a successful login, you will be presented with the following page:
Figure 2. Tenant home page
The tenant home page offers direct access to the different modules. The same access is also possible
from a vertical menu located on the left hand. The left menu is expandable by clicking on the arrow at
the bottom of it.
Copyright © 2015 Aheeva Technology. All Rights Reserved 4
AheevaCCS 6.0 User Guide
3 CHANGE PASSWORD
To change a user’s password you must go to the user’s profile by selecting the user in the User
Management module and specify a new password.
Figure 3. User Management
If you want to change your own password, you can access your user profile directly from your account
name.
Figure 4. Access the User profile
From the User profile page you can specify a new password and also edit other user information.
Copyright © 2015 Aheeva Technology. All Rights Reserved 5
AheevaCCS 6.0 User Guide
Figure 5. User profile page
Copyright © 2015 Aheeva Technology. All Rights Reserved 6
AheevaCCS 6.0 User Guide
Throughout this document the terms users and roles will refer to tenant users and roles unless
otherwise mentioned.
Tenant users are users that belong to a tenant and their scope is limited to the tenant they belong to.
Tenant users do not have access to system configuration modules. Every user of Aheeva Manager must
be assigned a role. The role defines the rights that the use has and what functionalities of the Aheeva
Manager are accessible.
A role is used to specify permissions a user can have and to limit access to certain modules of the
Aheeva Manager.
When a tenant is first created by a system administrator, an Admin role gets automatically created in
that tenant and can be assigned to tenant users. The tenant role Admin is the highest role within a
tenant and has access to all the functionalities available for a tenant.
When creating a role you can specify the type of action allowed on the resources: View, Edit, Add,
Delete, or All
You can create a new role from the Roles page in Aheeva Manager as illustrated below:
Copyright © 2015 Aheeva Technology. All Rights Reserved 7
AheevaCCS 6.0 User Guide
Figure 6. Add role page
You can choose any combination of permissions and group them into a role.
Copyright © 2015 Aheeva Technology. All Rights Reserved 8
AheevaCCS 6.0 User Guide
When creating a role, you can specify whether users having this role are allowed to create users having
other roles by checking the roles that can be assigned. A user cannot create another user having the
same role. An exception is that only users with the Admin role can create other users with the Admin
role.
A user is a person with a defined role and set of privileges that logs in to the Aheeva Manager.
Supervisors, campaign managers, or quality monitors are typical tenant users.
When creating a new user you have to assign a role to determine what modules this user can have
access to and restrict its access to resources. The page to create a user allows you to enter a multitude
of information on the user, the role, the account, the password, the live monitoring and resources.
However, when creating a user with the role Admin, you will not be able to explicitly specify the
resources. An admin user will automatically have access to all resources.
The Live Monitoring section of the page allows you to specify a numeric login ID and password that the
user can use to monitoring calls (spy/whisper/barge‐in) from a telephone. They must be all numeric
because they must be entered from the keypad of a telephone.
Note that if the option “User defines password on creation” is enabled on the Security Configuration page,
then you cannot specify the password while creating a new user. The fields to enter the password will
not be visible. In this case an email with a link will be sent to the new user from which the user can set
the password. You must make sure to specify the email address of the user while creating it.
If the option “User defines password on creation” is disabled on the Security Configuration page then you
must specify the password while creating a new user and an email will be sent to the new asking to
contact his administrator.
Copyright © 2015 Aheeva Technology. All Rights Reserved 9
AheevaCCS 6.0 User Guide
You add a new user from the Users page in the Aheeva Manager. The following illustration shows the
page to create a new user with the password fields showing.
The following illustration shows the page to create a new user with the password fields showing.
Copyright © 2015 Aheeva Technology. All Rights Reserved 10
AheevaCCS 6.0 User Guide
Figure 7. Add user
If the ‘Supervisor’ switch is enabled, then this user is flagged as a supervisor and agents can transfer
chat sessions to him or conference him in their chat sessions.
The lower section of the user page will allow you to give the user access to specific resources. The list of
resources will be visible only if the user does not have the Admin role.
The following illustration shows a list of resources from a user page:
Copyright © 2015 Aheeva Technology. All Rights Reserved 11
AheevaCCS 6.0 User Guide
Figure 8. User assigned resources
A user can have access to resources of the following types:
Agent groups
Calling lists
Campaigns
Dashboards
Routing scripts
Copyright © 2015 Aheeva Technology. All Rights Reserved 12
AheevaCCS 6.0 User Guide
5 SECURITY CONFIGURATION
The security configuration allows you to set the complexity of users’ passwords, rules for expiry and
failed login attempts, and how the passwords can be set.
The following figure illustrate the page where passwords are configured
Figure 9. Security Configuration
You can set the following parameters:
Upper letter Enable to force the use of at least one uppercase letter
Lower letter Enable to force the use of at least one lowercase letter
Copyright © 2015 Aheeva Technology. All Rights Reserved 13
AheevaCCS 6.0 User Guide
Numbers Enable to force the use of at least one number
Special characters Enable to force the use of at least one special character
Minimum score The minimum score that the user’s password must exceed
Copyright © 2015 Aheeva Technology. All Rights Reserved 14
AheevaCCS 6.0 User Guide
By either checking the “Supervisor” flag in the user configuration page (Account section, the specified
user can handle chat sessions) or by granting access to “Realtime agent monitoring” to the role of the
user, the specified user has access to the chat interface from the manager.
A user with access to the chat interface will be able to receive transferred and conferenced chats from
agents as well as monitor on going chat sessions in real‐time.
Note that if the user had been granted access to “Realtime agent monitoring” but had not been flagged
as “Supervisor” user, then the user will only be able to monitor agents’ chat sessions but will not receive
any transferred chat sessions or conferences.
A supervisor user does not have to open the chat window in order to receive chat sessions. The window
will open automatically if a chat is received.
A user can open the chat window from his account by selecting “Show chat window”.
Copyright © 2015 Aheeva Technology. All Rights Reserved 15
AheevaCCS 6.0 User Guide
From this window the user will have access to monitoring agents, current chat session, and the previous
sessions of the day.
The user can change his chat status by enabling or disabling the possibility to receive chats sessions.
The user can hide the chat window by clicking on the bar in the upper right corner of the window. This
makes the window invisible and does not close it. This means that the user will still receive chat sessions
even if the window is hidden. It will pop up again.
Copyright © 2015 Aheeva Technology. All Rights Reserved 16
AheevaCCS 6.0 User Guide
7 AGENTS
An Aheeva CCS agent is a person that handles communications with customers using one of the
channels that Aheeva CCS supports.
You can create an agent from the Agents page in Aheeva Manager, as illustrated below:
Figure 12. Add an agent
On the agent creation page you must specify the following parameters:
Copyright © 2015 Aheeva Technology. All Rights Reserved 17
AheevaCCS 6.0 User Guide
Firstname The first name of the agent
You can leave the Agent Group parameter empty during the creation of agents and assign agents to a
group directly from the Agent Group page. An agent must belong to an Agent Group to be able to login
to Aheeva CCS.
The Skills section lists the possible skills that the agent can have and their values. An agent can have a
maximum of 20 skills with values greater than zero.
Please refer to the Skills section of the document to create skills.
Copyright © 2015 Aheeva Technology. All Rights Reserved 18
AheevaCCS 6.0 User Guide
8 AGENT GROUPS
As its name implies, an Agent Group gathers together agents working on the same outbound campaign
or inbound service and having the same preferences and settings. Agent group settings apply to all
agents in the group.
You can create an agent group from the Agent Groups page in Aheeva Manager. The Agent Group page
comprises several sections. Below is an illustration and description of every section.
Copyright © 2015 Aheeva Technology. All Rights Reserved 19
AheevaCCS 6.0 User Guide
Figure 13. Agent group – General settings
In the General Settings section you need to specify the following:
Name This is the name of the agent group. It will be used to
reference this group of agents.
Description (optional) This is an optional descriptive field.
Calls wrap-up time out Wrap-up is the status an agent is in after he finishes a
call and before becoming ready to take another call. This
parameter allows you to set the maximum time the agent can
spend in wrap-up state. When this time expires, the agent
status will automatically change to the status specified in
the ‘Action after Time out’ parameter.
Note that it is possible to refrain an agent in Wrap-up
state from changing his state to Ready until he submits the
information entered on the screen-pop page by disabling some
Copyright © 2015 Aheeva Technology. All Rights Reserved 20
AheevaCCS 6.0 User Guide
buttons on his softphone. In such a scenario, the Wrap-up
timeout counter will only start after the agent had
submitted the page. If the agent did not submit the page
then he will remain in Wrap-up mode indefinitely.
Calls wrap-up time out This is the state the agent will be put in after the Wrap-up
– Action after Time out timeout expires.
(optional)
Chats wrap-up time out This parameter allows you to set the maximum time the agent
can spend in wrap-up state for each chat session. When this
time expires, the chat session will be ended and the number
of current handled chat sessions for the agent will be
decreased by 1.
Max wrap up time for This is the maximum time in seconds the agent can stay in
productivity Wrap-up state without negatively affecting his calculation
of his productivity.
Popup URL (Manual Dial) URL or IP address where the screen pop file is located (form
builder).
Login URL URL or IP address that opens a popup when the agent logs in.
Caller ID Caller ID that will appear on the called phone whenever and
agent makes a manual dial. Note that the possibility of
setting the caller ID must be allowed by your telecom
provider.
Trunk This is the trunk that will be used when an agent makes a
manual dial.
Copyright © 2015 Aheeva Technology. All Rights Reserved 21
AheevaCCS 6.0 User Guide
Figure 14. Agent group – Agents configuration
In the Agents configuration section you assign created agents to this group. If the agents are already in
another group then you can select that group from a drop‐down menu and move the agents.
The Not ready reason section allows you select which Not‐Ready reasons are available for this agent
group. Only Not‐Ready reasons that had been created as non‐Global will be visible on this page. Global
Not‐ready reasons are automatically available to this agent group.
The Softphone section allows you to specify some settings on the softphone used by agents from this
agent group.
Copyright © 2015 Aheeva Technology. All Rights Reserved 22
AheevaCCS 6.0 User Guide
Be ready after login If checked then the softphone will switch directly to Ready
state once the agent logs in. If kept unchecked then the
state will be Not-ready.
Prefix manual calls When an agent makes a manual dial, this is the string that
with will prefix the actual number specified by the agent.
Dialing If checked then the [dial] button on the softphone will be
enabled, allowing him to open the dialpad and doing manual
dials.
Hangup If checked then the [Hangup] button on the softphone will be
enabled allowing the agent to hangup calls.
Conference If checked then the [Conference] button on the softphone
will be enabled allowing the agent to conference calls.
Transfer If checked then the [Transfer] button on the softphone will
be enabled allowing the agent to transfer calls.
Hold If checked then the [Hold] button on the softphone will be
enabled allowing the agent to hold/unhold calls.
Maximum line count per This is the number of lines that the AheevaHPhone will have.
agent This parameter limits the number of lines that agents can
conference together. Does not affect the Starphone.
Copyright © 2015 Aheeva Technology. All Rights Reserved 23
AheevaCCS 6.0 User Guide
Figure 15. Agent group – Recording options
Copyright © 2015 Aheeva Technology. All Rights Reserved 24
AheevaCCS 6.0 User Guide
There are three groups of parameters: Audio recordings, screen capture or video recordings, audio and
screen capture recordings, and PCI DSS compliance
Audio recording options
Audio recording Enable or disable audio recording for all agents in this
group.
Recording stay local If checked then the audio recording file will not be
automatically sent to the Recording Storage server when the
calls finishes.
Encode to MP3 If checked then the recordings will be converted to MP3
prior to sending them to the recording Storage server. If
left unchecked then the format will be WAV.
High quality MP3 Select high quality MP3 to have better audio quality when
storage space is not an issue.
Screen capture recording options
Screen capture If enabled then the agents’ screen will be captured and
recording recorded during calls. Generated videos are in AVI format.
Percentage of calls to This is the percentage of calls that will have screen
record capture.
Popup option – Specifies the behavior of screen capture when an agent has
Recording option a screen pop. If ‘Wait for timeout’ is selected, then the
screen capture will stop after ‘Recording timeout’ seconds
Audio and screen capture recording options
Enable encryption If checked it will enable encryption on all audio and video
recordings.
Encryption method If encryption is enabled, you can choose the encryption
method you want the server to use.
Minimum Recording Time All calls shorter than this duration will have their
recordings discarded.
Maximum Recording Time When a call’s duration reaches this limit, the audio and
video recording will stop.
Campaign name The campaign name will be part of the file name of the
recording.
Client name The client name will be part of the file name of the
recording.
PCI DSS compliance
Pause recording Enables the agent to pause the call recording to comply
with PCI DSS.
Automatic resume Enables the timer to auto-resume the recording after some
recording seconds of pause.
Copyright © 2015 Aheeva Technology. All Rights Reserved 25
AheevaCCS 6.0 User Guide
Maximum pausing time Maximum number of seconds after which the call recording
will resume automatically.
Figure 16. Agent group – Security settings
The Security settings section allows you to select the users that will have access to this agent group.
Copyright © 2015 Aheeva Technology. All Rights Reserved 26
AheevaCCS 6.0 User Guide
9 TEAMS
Figure 17. Teams
When adding a team you can select member from an agent group or move them from another team.
Copyright © 2015 Aheeva Technology. All Rights Reserved 27
AheevaCCS 6.0 User Guide
10SOUNDS
Sound files are audio files played to the caller in different situations. They are grouped into two main
categories:
Audio files to playback
Audio files for music on hold
Payback audio files are in turn grouped in three categories:
Audio files for general playback
Audio files for PCI DSS messages (refer to the PCI DSS compliance section)
Audio files for FTC compliance messages (refer to the Outbound section)
The Sound Files module in Aheeva Manager allows the user to upload sound files and select the
category and language of the file. The user can also delete sound files.
Copyright © 2015 Aheeva Technology. All Rights Reserved 28
AheevaCCS 6.0 User Guide
Figure 18. Add a sound files
The user can listen to uploaded audio files intended for playback (not music on hold) by selecting it from
the list and clicking play.
The listed files are sorted by type, by language and then by name.
In DTMF mode, before getting confidential data, a default PCI sound, called “beep”, is played back to the
customer. This sound can be customized by the user even replaced by a message. The user can upload
custom sound files for PCI and set up the solution to play them instead of the default one.
A user can set up the PCI messages from the PCI Messages module in Aheeva Manager, as show below:
Copyright © 2015 Aheeva Technology. All Rights Reserved 29
AheevaCCS 6.0 User Guide
Figure 19. PCI messages
There are four different events that require the playback of a PCI message and it is possible to have
different sounds and audio files for each situation.
Copyright © 2015 Aheeva Technology. All Rights Reserved 30
AheevaCCS 6.0 User Guide
11MUSIC-ON-HOLD
Music on hold is the music heard over the phone when a call is waiting in a queue, or when a call is put
on hold.
You can add Music on Hold sound files from the Sounds module in Aheeva Manager.
Please refer to the Sound Files section in this document for details.
For Wav file you can use the following specifications:
Bit Rate: 64 or 128 Kbps
Audio sample size: 16 bit
Channels: 1 (mono)
Audio sample rate: 8KHz
Audio format PCM
Once you have Music on Hold created and uploaded, you can use it for inbound services by specifying it
from a Routing Script.
Copyright © 2015 Aheeva Technology. All Rights Reserved 31
AheevaCCS 6.0 User Guide
Chat custom messages are user defined messages that agents can to easily choose in order to send to
customer during a chat session.
Chat messages can be global and available for all agents in all agent groups of the tenant, or can be
specific to an agent group (prefix AG) or a chat routing script (prefix RS).
The Chat Custom Messages module in Aheeva Manager allows a user to add new messages (by clicking
on ) and specify their scope. A user can also edit and delete existing messages.
Copyright © 2015 Aheeva Technology. All Rights Reserved 32
AheevaCCS 6.0 User Guide
By checking "Common message to all agents" you indicate that you want all agents to see this message
among the list of predefined messages when handling an inbound chat session.
If "Common message to all agents" is not checked, that means that this message will be displayed for
only agents that belong to the selected agent groups or to the chat sessions that are routed to the
selected routing scripts.
For adding you message click on "Save". If you want to add the current message and continue adding
another one, you can click on "Save and continue".
Please refer to the “Agents” section in this document to see how to configure agents to handle Chat
sessions.
Copyright © 2015 Aheeva Technology. All Rights Reserved 33
AheevaCCS 6.0 User Guide
13AGENT STARPHONE
Agents use the Aheeva Starphone, which is a Windows application that agents use to handle calls and
establish data communication with the Aheeva CCS server. It is responsible for
Logging in and out the agent and authenticating the agent with the Aheeva CCS server
Making and receiving calls
Opening a screen pop on the agent’s desktop and navigating to a preset URL
Telephony operations such as Dial / Hang up / Transfer / Conference / Put on Hold
Changing the agent’s status and selecting Not‐Ready reasons
Pausing / Resuming audio and video recordings
Muting the speaker
Displaying informative messages and managing attached data
The Starphone permits to either push a call or offer a call to an agent. Please refer to the “IVR and SBR”
section of this document for details. If a call is offered to an agent then the agent has the option of
accepting or rejecting the call (Non‐Forced calls mode).
The following figure illustrates the role of the different buttons on the Starphone.
Copyright © 2015 Aheeva Technology. All Rights Reserved 34
AheevaCCS 6.0 User Guide
Login: During login agents must specify their credentials and the destination.
Agents must specify the following parameters:
Agent ID The unique login ID that the agent will use to log in to the
system.
Password The agent’s password.
Aheeva CCS IP The IP address or host where the CCS server is running.
Once logged in correctly, the agent status will automatically be “Not‐Ready”. Note that it is possible
to force the status of the agent to “Ready” after logging in by enabling the “Be ready after login”
option for the agent group.
Ready/Not‐Ready: When in the Not‐Ready state, clicking this button will change the
status to Ready and the agent can start receiving calls and chats. Clicking it while in the
Ready state will change the status to Not‐Ready. Note that often in call centers an agent is
not allowed to simply be in a Not‐Ready state. There must be a reason for being not ready.
In that case the agent must select a Not‐Ready reason.
Hangup: Hang up and terminate the current call.
Copyright © 2015 Aheeva Technology. All Rights Reserved 35
AheevaCCS 6.0 User Guide
Dialpad: Opens the dial pad. This is useful when the agent must manually dial numbers or
navigate through some IVR menus.
Conference: Allows the agent to establish a three way conference. The agent has the
possibility to conference either with a phone number of with another agent. Clicking on the
[Conference] button will open a dialog from which the agent can initiate the conference.
While this dialog is open, the client will be automatically put on hold and music‐on‐hold, if
configured, will be played.
The agent can conference in another phone number. When the third party line answers, a new dialog
will appear. Note that at this stage there is no conference yet. The agent has two lines opened, one
with the client and the second with the destination.
Copyright © 2015 Aheeva Technology. All Rights Reserved 36
AheevaCCS 6.0 User Guide
The agent has the possibility of either talk to the client or to the third party, by clicking on the
corresponding button. He can switch back and forth from one line to the other as many times as
needed. The agent must complete the conference in order to have all three parties talking with each
other.
The agent can drop out of the conference by simply hanging up and the other two parties will
continue to talk.
Transfer: Allows the agent to do a blind (unattended) transfer to a phone number. Clicking
on the [Transfer] button will open a dialog from which the agent can initiate the transfer.
While this dialog is open, the client will be automatically put on hold and music‐on‐hold, if
configured, will be played. When the agent dials the destination, he will automatically
release the lines without knowing whether the client successfully reached the destination or
not.
Copyright © 2015 Aheeva Technology. All Rights Reserved 37
AheevaCCS 6.0 User Guide
Hold/Unhold: Allows the agent to put the call on hold. Music‐on‐hold, if configured, will start
playing on the line. Click the same button a second time will retrieve the call and the agent can
resume the conversation.
Pause/Resume recording: Allows the agent to pause the recording of the current call.
Clicking the same button will resume the recording.
Auto‐resume recording timer: When the agent pauses the recording, an automatic timer
resumes the call after a number of seconds defined in Aheeva Manager.
Agent State timer: Shows the duration of the agent state: the duration of the current call, the
duration of the not ready reason...
Not‐Ready reasons: Clicking the little arrow will allow the agent to select a Not‐Ready reason
and change his status. Doing so while on a call has no impact on the current call but as soon as the
call finishes the Starphone will automatically change status to the select Not‐Ready reason.
Messages/Data area: This area can display text messages and statistical data. Information can
be sent from one of the following:
Copyright © 2015 Aheeva Technology. All Rights Reserved 38
AheevaCCS 6.0 User Guide
o Pickup Method in a Routing Script: The URL/Data field can be used to send a string of text
to the agent’s softphone. The string must start with the keyword ‘data:’. Whatever follows
will be sent and displayed in this area. The string can be static text and can contain variables
(starting with the dollar sign). Variables will get substituted by their values before sending
the text.
Please refer to the IVR and Routing scripts section in this document for a complete reference.
Attached variables: They are key/value pairs that follow the call throughout its life in the
system. Clicking on the little arrow will open a new window expanding the AheevaPhone into which
the attached variables are displayed.
Copyright © 2015 Aheeva Technology. All Rights Reserved 39
AheevaCCS 6.0 User Guide
The agent will have the possibility to view these variables and to add new ones. The agent can only
edit and delete variables he added himself as long as the new variables have not been saved. If the
agent adds variables then he will have to save to commit his action.
If the agent adds a new key/value then transfers the call to another agent or conferences another
agent, then the second agent will have access to all the original attached variables as well as the ones
added by the first agent.
For Payment Card Industry Data Security Standard Compliance, the agent can receive confidential
data through dual tone multi‐frequency signaling in the Attached Variable slider.
When the window is open, add a variable, double click the Key to get a combo‐box with two options :
Credit Card and CVV.
After choosing the variable, the agent double clicks the value field to start getting the data. A
message is played by Asterisk to notify the customer that the agent is ready.
The data received will appear as hidden values.
Copyright © 2015 Aheeva Technology. All Rights Reserved 40
AheevaCCS 6.0 User Guide
13.1 Using Chat interface
When the agent is allowed to handle chat sessions, the chat interface will automatically open as a web
application in default the browser as soon as the agent logs in using the Starphone.
The agent chat interface look as follows:
Figure 31. Chat Interface for the agent
When the user click on to pick a canned response, a list of available messages already configured in
Aheeva Manager is displayed:
Figure 32. Canned response list
Copyright © 2015 Aheeva Technology. All Rights Reserved 41
AheevaCCS 6.0 User Guide
Agent can transfer chat session to another agent, to a queue or to a supervisor. If the transfer is
completed successfully the initiator of the transfer will be out the chat session and his status will be in
wrap‐up for the transferred chat.
1. Transfer Agent‐to‐Queue: Agent can choose a queue among the list of available queues (Either Chat
routing script queues or virtual queues are displayed in the dropdown list).
2. Transfer Agent‐to Agent: Agent can choose a colleague among the list of agents that satisfy the
requirements of the pickup method that was initially used to distribute the chat session.
3. Transfer Agent‐to Supervisor: Agent can choose a user among the Aheeva Manager users that are
logged in, flagged as supervisor inside the User configuration, have access to the agent, and finally
the supervisors must be “Ready” to handle chat sessions.
Figure 33. Chat transfer
Agent can invite either other agent to join the chat session or a supervisor. Once the invited agent or
supervisor is reached, the initiator can send private messages to all participants, but the invited agent or
supervisor cannot send messages for participants other than the initiator until the initiator click on
complete conference.
Figure 34. Initiate conference
Copyright © 2015 Aheeva Technology. All Rights Reserved 42
AheevaCCS 6.0 User Guide
Figure 35. Complete conference
Copyright © 2015 Aheeva Technology. All Rights Reserved 43
AheevaCCS 6.0 User Guide
14NOT-READY REASONS
During a working shift, if the agent has another activity to do or cannot perform his normal duty for
some reason then the agent must change his state to Not‐Ready with a specific Not‐Ready reason. The
different Not‐Ready reason scan be created and assigned to an agent group. All agents that are part of
this group will have access to these Not‐Ready reasons.
You can create a Not‐Ready reason from the Not Ready Reasons page in Aheeva Manager, as shown
below:
Figure 36. Add Not-Ready reason
You have to specify the following parameters on the page:
Name This is the name of the Not-Ready reason.
Copyright © 2015 Aheeva Technology. All Rights Reserved 44
AheevaCCS 6.0 User Guide
that has this Not-Ready reason.
To assign a non‐global Not‐Ready reason to an Agent Group, please refer to the section Agent Groups in
this document.
Copyright © 2015 Aheeva Technology. All Rights Reserved 45
AheevaCCS 6.0 User Guide
15SKILLS
Skills‐based routing (SBR) is a call‐assignment strategy used to assign incoming calls to the most suitable
agent, instead of simply choosing the next available agent. It is an enhancement to the Automatic Call
Distributor (ACD). Skill‐based routing greatly increase the quality of customer service.
You create and manage skills from the Skills module in Aheeva Manager, as shown below:
Figure 37. Adding a New Skill
Copyright © 2015 Aheeva Technology. All Rights Reserved 46
AheevaCCS 6.0 User Guide
15.2 Adding skills to an agent
Once you have skills created you can give it a value for agents. An agent is considered as having a skill
when the value of that skill is greater than zero for him.
Assigning skill to an agent is done from the Agents module in Aheeva Manager. Please refer to the
“Agents” section in this document for additional information on creating and configuring an agent.
Figure 38. Adding a skill to an agent
The value of a skill ca vary from 0 to 100. You can set the value either by typing it or by clicking on the
indicator bar.
Clicking on the bar allows you set a value that is a multiple of 10 (0, 10, 20, 30, etc.)
Copyright © 2015 Aheeva Technology. All Rights Reserved 47
AheevaCCS 6.0 User Guide
16INBOUND IVR
Aheeva Manager offers a tool that allows users to easily create Interactive Voice Response (IVR) services
by connecting building blocks. These IVRs can perform a multitude of actions on incoming calls, all the
way to queueing the calls and distributing them to agents.
The Aheeva solution allows implementing inbound services via Routing Scripts. A Routing Script offers
functionalities such as:
Answer and Hang up calls
Playback pre‐recorded voice messages
Capture DTMF input from the caller
Access to common Asterisk applications
Perform logical operations on variables
Perform Arithmetic Operation on variable
Execute a Web Service and store the result in a variable
Perform database operations like SELECT, INSERT, UPDATE, and DELETE
Retrieve real‐time statistic values on queues and agents
Modify calls priority in the queue
Virtual on Hold
Queue calls while waiting for an agent
Play music on hold and periodic announcements
Modify calls priority in the queue
Connect the caller to a live agent with a popup.
Text‐To‐Speech (TTS) in several languages (default Google Speech)
Automated‐Speech Recognition (ASR) connector
There are two prerequisites to setting up an inbound service:
Having a trunk already configured and assigned to the tenant, over which calls will arrive
Having a phone number at which the calls will arrive, provided by the system administrator
Once the prerequisites are satisfied, a user can start building the Interactive Voice Response or IVR. This
involves
Copyright © 2015 Aheeva Technology. All Rights Reserved 48
AheevaCCS 6.0 User Guide
Associating the phone number with the Routing Script
Developing the Routing Script
In order to correctly associate the phone number, or extension, with a Routing Script, we have to
understand how the Aheeva CCS server chooses which Routing Script to execute when a call arrives.
The first box in a Routing Script must ALWAYS be an IF‐ELSE statement. When looking for a script to
execute, the Aheeva CCS server parses all active scripts that belong to the tenant and picks the one
whose initial condition (the first action of the script should be an IF‐ELSE) evaluates to TRUE. If more
than one script fulfills the condition, then the script with the highest priority is selected for execution
(priority 1 is higher than priority 2).
The IF‐ELSE condition can be based on the DNID (the called number) or on some other variable.
However, using the DNID is the most common way for selecting a script. The DNID variable is always
defined therefore can be referenced in a Routing Script. When the CCS server receives the request it
knows the current value of the DNID and looks for a script that starts with the IF(DNID==value)
condition.
To associate an phone number with a Routing Script using the DNID, you have to start the Routing Script
with an IF‐ELSE condition that compares the DNID variable to the value of the number (i.e. phone
number 5551111)
Once this is done, every time the CCS server receives a request to execute a Routing Script for a call
whose DNID value is 5551111, the CCS will select this Routing Script.
Next you have to create a Routing Script in the Aheeva Manger that will get executed for this call.
Copyright © 2015 Aheeva Technology. All Rights Reserved 49
AheevaCCS 6.0 User Guide
You develop a Routing Script using the Inbound IVR module in Aheeva Manager. There are two types of
Routing Scripts: Calls Routing Scripts and Chat Routing Script. The tool allows you to build both types.
The following sections will only discuss creating Call Routing Scripts.
From the Inbound IVR module in Aheeva Manager add a new Call Routing Script . This
displays the page to create a new routing script
For a new script you have to specify the following parameters from the header of the Routing script
builder:
Script name: A unique name identifying this routing script
Script priority: This is the priority of the script that the CCS server uses in selecting which script to run
on a call, when more than one script satisfies the initial IF‐ELSE condition. The script with the higher
priority will be selected for execution (1 is the highest priority).
Active or Inactive: A check box allowing you to activate or deactivate this script.
The header has icons that offer quick access to most elements that can be used in building a Routing
script. All of these elements, and some additional ones, can also be accessed from the Tools menu.
The following sections describe the different elements available to build Routing scripts.
Call properties are the set of variables defined for a Routing script.
Copyright © 2015 Aheeva Technology. All Rights Reserved 50
AheevaCCS 6.0 User Guide
There is a pre‐defined set of call properties for all Routing scripts. It includes
Call Property Description
ANI Number of the caller.
Copyright © 2015 Aheeva Technology. All Rights Reserved 51
AheevaCCS 6.0 User Guide
You can explicitly add a new call property from the ‘Call properties’ dialog by typing the name and
clicking on the Add button.
When you use a box in the routing script that captures some value from DTMF input or from the
database and stores the value in a variable, this variable automatically becomes part of the Call
properties.
Some script‐building elements give you access to the Call properties via a drop‐down menu. It allows
you to select the call property that you wish to perform some action on or reference.
You can also reference Call properties in strings. You have can build a string and have the value of a Call
property part of the string. To reference a Call property you have to prefix its name with the symbol ‘$’.
An IF‐ELSE condition is used to compare a variable, or call property, to a value.
All Routing scripts must always start with an IF‐ELSE.
You must specify the following parameters:
Call Property: The Call Property drop‐down menu gives access to all the defined script variables.
Operator: The logical operator. Can be any of ≤, <, =, >, ≥, !=, or LIKE.
Seek value: This is the value to compare against.
This is a multi‐branch statement. It allows the comparison of one call property against a list of possible
values. The order of entries is very important. They get evaluated from the top down. The first one from
the top that is TRUE will be selected. Always put the most specific entry first, followed by the least
specific ones.
Copyright © 2015 Aheeva Technology. All Rights Reserved 52
AheevaCCS 6.0 User Guide
You must specify the following parameters:
Property: The Call Property drop‐down menu gives access to all the defined script variables.
Values: This is the list of values to compare against.
Operator: The logical operator. Can be any of ≤, <, =, >, ≥, !=, or LIKE.
Parameters: This is the value to compare against.
To build a list of values, you have to select the operator, specify a value in the field Parameters and click
on the button to add it to the list of values. You can remove an entry from the list by selecting it and
Copyright © 2015 Aheeva Technology. All Rights Reserved 53
AheevaCCS 6.0 User Guide
From the Agent pick up method you can specify the following parameters:
Parameters Description
Minimum required This is the criteria for selecting an agent. The minimum
required can have different forms. It allows you to choose
an agent by different criteria as shown in the following
table:
Timeout How long to wait for an agent, in seconds. IF this time
expires then the pickup method box will exit.
Copyright © 2015 Aheeva Technology. All Rights Reserved 54
AheevaCCS 6.0 User Guide
Action during timeout Specify whether you want to play music while on hold or not.
Maximum concurrent chats Agent handling more that "Maximum concurrent chats" is not
able to handle calls in this pickup method queue, even if he
is ready. If it is equal to zero, the agent can handle call
exclusively without any chat session at the same time.
Tie breaker Select how to choose the agent if more than one agent
satisfies the minimum required criteria. The possible tie
breakers are:
Most idle: Choose the agent that has been idle the longest.
Least busy: Choose the agent that has spent the least time
on calls since the beginning of the day.
Most skilled: choose the agent with the highest skill that
is available to take the call. For example, if there are
three agents A1, A2, and A3 with the skill SALES having
different values A1(SALES=50) A2(SALES=70) A3(SALES=70), and
A1 is the most idle, if a call arrives and looking for an
agent with the skill (SALES>0) using the ‘Most Skilled’,
then the system will look for the most skilled and
will find A2 and A3, then the system will choose the most
idle between these two agents since they have the value for
the skill. If A2 and A3 are busy the call will go to A1
because he’s the next skilled agent with sales=50.
Call priority This is the priority of the call when entering this pickup
method (or queue). The possible values range from 1 to 10, 1
being the highest priority. If a call enters this queue with
priority 2 followed by a call that enters the same queue
with priority 1, then when an agent becomes available the
call with priority 1 will be served first.
Important: This call priority setting IS NOT the actual
value of the call’s priority. The real call’s priority is a
numeric value calculated from the setting in the Pickup
Method and any offset specified with a Priority Increment
box.
The actual value of the priority in a Pickup Method is
calculated as follows: 11 – [PickupMethod value]. The
following tables shows some examples:
Pickup Method value Actual call priority (11-value)
1 10
5 6
10 1
The higher the actual call priority is, the more priority
the call has.
Queue name This is the name of the virtual queue implemented by this
pickup method. Keep in mind that the pickup method is where
the calls get queued while waiting for an agent.
URL This field can either point to a URL that will automatically
open on the agent’s station with a call, or can specify a
string of information that will be displayed on the agent’s
AheevaPhone of AheevaHPhone.
Agent viewable variables This is the list of variable that you can send to the
agents’ AheevaPhone of AheevaHPhone and they will get
displayed in a special area as key/value pairs. The
available variables to send include all the predefined ones
as well as any new ones created in the IVR prior to entering
the pickup method. These variables will be attached to the
call.
Copyright © 2015 Aheeva Technology. All Rights Reserved 55
AheevaCCS 6.0 User Guide
Announcements You can enable or disable announcements on a call while on
hold. Announcements will set a list of functions to be
executed.
The fields ‘Current average time message’ and ‘Minutes
message’ hold the name of the voice files that will be
played. The wording for these files can be chosen from the
drop-down list
The function to be executed can be repeated from a step
chosen from the field ‘Repeat from step’ in the function
array list.
Exit queue By activating it the caller can exit the pickup method
immediately instead of waiting for reaching the timeout
threshold in order to go to another box in the routing
script. You can define a destination for each checked value.
The following figure shows an example of call exit keys:
The following table lists some examples of the Minimum required parameter:
Minimum required Example Description
Choose an agent from an AgentGroup=group1 The CCS server will look for an
agent group agent from the agent group
specified
Choose an agent from AgentGroup=groupe1 OR The CCS server will look for an
multiple agent groups AgentGroup=group2 agent that belongs to either
group1 or group2.
Choose an agent by skill skill‐name>75 The CCS server will look for an agent that have
the associated skill set to a value greater than
75
Copyright © 2015 Aheeva Technology. All Rights Reserved 56
AheevaCCS 6.0 User Guide
Choose an agent by a skill1>75 AND (skill2=100 OR skill3>50) The CCS server will look for an agent that has
combination of skills skill1 greater than 75 and skill2 equal 100, or
an agent that has skill1 greater than 75 and
skill3 greater than 50
Choose an agent by combining skill1 > 90 OR (AgentGroup=groupe1 AND The CCS server will look for either an agent
skills and agent groups skill2=100) that has the skill1 greater than 90 or for an
agent that belongs to the agent group group1
and that has skill2 equal 100
Choose a specific agent by Agent=1001 The CCS server will try to target agent 1001
explicitly specifying the agent
ID
Choose a specific agent by Agent=$theID The CCS server will try to target the agent
using a variable that contains whose ID is specified with the variable used.
the agent ID
To specify a URL the value of this parameter must start with http:// and point to a web page. You have
the possibility of passing arguments to the page, like the ANI, or any information you captured in the IVR
prior to entering the pickup method. A routing script already give access to some data associated wit the
call that can be passed as an argument to the web page. To pass a variable as an argument you must
prefix the variable name with the ‘$’ character.
As an example of a URL:
http://192.168.1.1/script.php?ANI=$ANI&ACCOUNT=$account_nbr
To specify a string of information the value of this parameter must start with data: followed by any text.
You have the possibility of including arguments into the string, like the ANI, or any information you
captured in the IVR prior to entering the pickup method. To pass a variable as an argument you must
prefix the variable name with the ‘$’ character.
As an example of a string:
data: VIP client. $ANI. Balance $dollars.$cents
The following table shows a list of the predefined arguments:
Call property Description
ANI Number of the caller.
CALLTIME The time the call started. It has the format hhmmss.
CALLDATE The date the call started. It has the format YYYYMMDD
DAYNAME The number and name of the day of the week. It has the
format N-Name, where N is the number of the day in the week
and Name is the full name of the day.
A call placed on wedsesday will have the variable DAYNAME
set to ‘3-WEDNESDAY’.
Copyright © 2015 Aheeva Technology. All Rights Reserved 57
AheevaCCS 6.0 User Guide
The days numbering starts at 1 for Monday and goes to 7 for
Sunday.
MONTHNAME The number and name of the month of the year. It has the
format N-Name, where N is the number of month in the year
and Name is the full name of the month.
A call placed in the month of May will have the variable
MONTHNAME set to ‘5-MAY’.
The months numbering starts at 1 for January and goes to 12
for December.
WEEKDAY This is a Boolean indicating whether the day the call
started is a weekday or not.
The value will be set to ‘1-YES’ if the call started on a
Monday, Tuesday, Wednesday, Thruday, or Friday.
The value will be set to ‘0-NO’ if the call started on
Saturday or Sunday.
The behavior of the periodic announcements is as follows:
Start with Frequency Announcement of What does it do on the phone?
announcement current hold time
N 20 N Every 20 seconds the ‘Thank you
message’ gets played. The first
time it is played is after 20
seconds from the time the call
gets queued.
Y 20 N Every 20 seconds the ‘Thank you
message’ gets played. The first
time it is played is as soon as
the call gets queued.
N 20 Y Every 20 seconds the ‘Thank you
message’ gets played followed by
the ‘Current-average time
message’ and the ‘Minutes
message’. The first time it is
played is after 20 seconds from
the time the call gets queued.
Y 20 Y Every 20 seconds the ‘Thank you
message’ gets played followed by
the ‘Current-average time
message’ and the ‘Minutes
message’. The first time it is
played is as soon as the call
gets queued.
The Virtual on Hold allows a caller to hang up while keeping his call in the queue for a later callback. The
call will retain its position in the queue even while hung up, thus becoming a Virtual Call. When the
virtual call reaches the top of the queue, the system will reserve an agent, make a call to the number
specified, and directly connect the call to the agent without delay.
Copyright © 2015 Aheeva Technology. All Rights Reserved 58
AheevaCCS 6.0 User Guide
Figure 45. Virtual On Hold — Setup
The following table shows a list of the parameters required by the Virtual On Hold:
Call property Description
Phone number The phone number that will be dialed. This can be the
ANI or any other variable used in the IVR into which
the caller entered his phone number
On Busy redial after The number of minutes to wait before redialing the
number when we get a BUSY signal.
On No Answer redial after The number of minutes to wait before redialing the
number when we get NO ANSWER.
On Answering Machine If we get an ANSWERING MACHINE, there are two possible
actions: Either redial the number after a certain
number of minutes, or connect the call to an agent.
Total number of redialing The maximum number of dialing attempts. If the number
attempts of redialing attempts resulting in BUSY, NO ANSWER or
ANSWERING MACHINE exceeds this number, then the Virtual
On Hold will fail and the system will no longer try to
reach this number.
Below is a sample Routing Script showing how to use the Virtual on Hold. It will:
1. Answer a call
2. Set the class of Music On Hold
3. Invoke a Pickup Method to queue the call
4. Allow the call to exit the queue by mean of DTMF‐1
Copyright © 2015 Aheeva Technology. All Rights Reserved 59
AheevaCCS 6.0 User Guide
5. Ask the caller if he wants the callback to be at the number we received the call from; if not then
prompt him for a new phone number
6. Confirm the phone number for the callback
7. Convert the call into a virtual call in the queue
Figure 46. Sample Virtual On Hold Routing Script
Note that there are two distinct VOH boxes in the sample routing script. The reason is that we do not
know ahead of time whether the callback will be at the number stored in the $ANI (the number we
received the call from) or at another number that the caller will enter and that we store in a variable we
called PhoneNumber.
The Priority increment box allows you to specify an increase or a decrease of the priority of a call that
will be applied when the call enters a Pickup Method and gets queued. Entering this box does not
increment (or decrement) the priority of the call, it changes the offset, which could be positive or
negative, that will be applied to the call priority specified in the Pickup Method.
Copyright © 2015 Aheeva Technology. All Rights Reserved 60
AheevaCCS 6.0 User Guide
Changes made to the offset of the priority are cumulative. Every time the call enters a Priority increment
box the value specified is applied to the previous one and does not overwrite it. Prior to entering any
Priority increment box, the offset is set to Zero. When the calls enters a Pickup Method, the priority of
the call will be set to the priority specified in the Pickup Method after applying the cumulated offset to
it.
Keep in mind that the priority setting specified in the Pickup Method IS NOT the actual value of the call’s
priority. The actual value of the call’s priority is only calculated when the call enters a Pickup Method.
The calculation is done as follow:
Real call’s priority = 11 – (Pickup Method priority setting) + (cumulative priority offset specified by the
Priority Increment)
The following example will show you how the Pickup Method combined with the Priority Increment
affects the actual call’s priority.
Step Script action Call Priority value Priority Offset
N 20 N Every 20 seconds the ‘Thank you
message’ gets played. The first
time it is played is after 20
seconds from the time the call
gets queued.
1 New call N/A 0
answered by
Routing
Script
2 Priority N/A +3
Increment +3
3 Pickup Method 13 +3
with Priority
1
4 Pickup Method
Timeout
5 Priority N/A +5
Increment +2
Copyright © 2015 Aheeva Technology. All Rights Reserved 61
AheevaCCS 6.0 User Guide
6 Pickup Method 15 +5
with Priority
1
7 Pickup Method
Timeout
8 Priority N/A +7
Increment +2
9 Pickup Method 17 +7
with Priority
1
This box allows you to select one or several Asterisk applications for execution and specify their
parameters.
Once an application is selected, you have to click on the button to add it to the list of applications to
execute. You can edit an already existing application by clicking the application editing and then pressing
. You can remove an application from the list by selecting it and clicking on the button.
You can select multiple applications to execute in one box, and you can change the order of execution
by moving them using the up and down arrows. The and buttons allow you to change the order
in which a list of applications must is to be processed.
The parameter to pass must have the exact same format as when the application is invoked directly
from the Asterisk dialplan. You can use call properties, or variables, to build the parameter string. For
the Playback and Background applications the parameter is selected through a select component. In this
Copyright © 2015 Aheeva Technology. All Rights Reserved 62
AheevaCCS 6.0 User Guide
component will be show the name and the language version of this sound file. In order to play the right
file one must establish the language through the Set application as is show in the previous figure.
The automated speech recognition is used to analyze the audio stream and transform it to text. The
generated text will be assigned to a variable to be used in other box of the routing script.
You have to specify the following parameters:
API: The API used by the PBX in order to recognize the text.
Language: The language of the audio steam to be sent to the API
Value: The minimum ratio to consider that the recognition was done successfully
Variable: The returned text value will be put in this variable
Default value: The returned value in case of recognition failure in case the value(score) is lower to
the one configured or the returned value is invalid
The text to speech is used to convert a text into an audio stream. You can add to your text routing script
variable values
You have to specify the following parameters:
Copyright © 2015 Aheeva Technology. All Rights Reserved 63
AheevaCCS 6.0 User Guide
API: The API used by the PBX in order to convert text to audio stream.
Language: The language of the audio steam to be sent to the API
Text: The text to be sent to the API in order to convert it to audio stream. It can contains routing
scripts variables.
The GetDTMF box is used to play a voice prompt and capture DTMF input.
Please refer to the Sound Files module in Aheeva Manager for more details on uploading audio files.
You have to specify the following parameters:
Parameters Description
Data name The name of the variable that will store the DTMF input. This variable
will automatically become part of the Call properties.
Default value If no DTMF is entered within the timeout specified, this value will be
assigned to the variable.
Prompt Your welcome message, a customized sound file created by the user.
Replay on error Indicates whether you want to replay the prompt message before
playing the “On error message” when an error occurred while getting
digits.
Timeout The maximum time allowed entering the DTMF sequence.
On time out message The sound file to be played when Timeout occurred and asterisk does
not detect a digit pressed.
Copyright © 2015 Aheeva Technology. All Rights Reserved 64
AheevaCCS 6.0 User Guide
On error message The sound file to be played when the caller press a wrong digit.
On error message: Maximum allowed numbers of possible error when client input digits
Max Errors:
Last error message:
Exit on first time out: The flow will be out immediately of Get DTMF after the first time out.
Minimum length The minimum number of digits allowed
Maximum length The maximum number of digits allowed. Once reached the GetDTMF
action will return with the entered digits.
Enders: The DTMF that will be considered as an end of entry, i.e. ‘#’
Valid selection: This part of the interface will be visible if and only if Minimum length
and Maximum length are equal to “1”. If this part is activate the
checkbox will indicate the valid option for each valid option will be one
output.
In the figure we can see the outside view of the GetDTMF, this view is consistent with the configuration
defined in the figure 65. We have four outputs; the output number one will be chosen when the caller
press "1" and the output two when the caller presses "2". There will be as many outputs as checkboxes
selected in the configuration. The rest of the outputs are the (On timeout), that will be activate when
the numbers of errors is equal to "Max Errors" and at least the last error was a time out situation, and
(On error) that will be activate when the numbers of errors is equal to "Max Errors" and at least the last
error was an error (example receiving a bad digit).
Using this box you can perform any valid SQL statement on the database. All SQL commands can be
executed, even ‘DROP TABLE’.
Copyright © 2015 Aheeva Technology. All Rights Reserved 65
AheevaCCS 6.0 User Guide
You can use variable names, or call properties, in the query by selecting them from the drop‐down menu
or by directly writing the name. Make sure to precede the call property name with the ‘$’ symbol.
The Result name field is the call property, or variable, that will store the result of the query. The result
can be a multi‐column and multi‐row table where the first dimension is an index on the row and the
second dimension is an index on the column: result[row][col]. Keep in mind that a SELECT statement can
return multiple rows and columns.
As an example, the following query can return multiple rows:
SELECT first_name, last_name FROM myTable WHERE age>18
The results of the previous query are as follow (res being the variable containing the result)
res[0]: first_name of the first row (row 0)
res[1]: last_name of the first row (row 0)
res[0][0]: first_name of the first row (row 0)
res[0][1]: last_name of the first row (row 0)
res[1][0]: first_name of the second row (row 1)
res[1][1]: last_name of the second row (row 1)
The arithmetic operation box is used to compute a specified formula in order to use the result in other
boxes.
Copyright © 2015 Aheeva Technology. All Rights Reserved 66
AheevaCCS 6.0 User Guide
You have to specify the following parameters:
Arithmetic Operation(1): Select the arithmetic operation that you would like to execute (addition,
subtraction, etc ..)
Call Properties (2) : Select a variable that you would like to use in the arithmetic operation.
Formula: Type the formula that you would like to execute.
Default Value (3): The default value if the arithmetic formula results in an error.
Result name(4) : The name of the variable you would like to save the result of the arithmetic
formula
The web services boxes allow accessing either REST or SOAP web services server. Input parameters and
results can be assigned to routing scripts call properties.
Adding Web Services box is done in two phases:
1. First phase you need to specify the URL to the Web Service, the timeout, and validate it (by
clicking on [Validate]).
This operation validates the URL with the server and returns the list of operations offered
by the Web Service that the user can choose from.
Copyright © 2015 Aheeva Technology. All Rights Reserved 67
AheevaCCS 6.0 User Guide
o Type(1): Pick the type of web service you would like to execute either REST or SOAP.
o URL(2): Enter the URL of the web service that you would like to execute.
o Timeout(3): The period of time in seconds that you would like to wait for the web service to
respond.
2. Second phase you need to select the operation and specify the parameters and result
variable.
Copyright © 2015 Aheeva Technology. All Rights Reserved 68
AheevaCCS 6.0 User Guide
o Operation List(4): If the web service is validated, you will receive a list of operations that
this web service offers.
o Parameters(5): The parameters are values arguments that an operation takes. If the user
can enter any argument an input box will appear, if there are restrictions on user input than
a drop down list will appear with the arguments the user can select.
o Result Name(6): Takes the name of the variable where you would like to store the result of
the operation.
Access all real‐time queues and agent statistics.
For queue statistics you must specify the queue name and choose the type of statistic: Waiting Calls,
Calls Entered, Calls Distributed, Abandoned Calls, Longest Waiting Call, Service Factor, Current Average
Waiting Time, and Average Waiting Time.
For agents statistics you must specify the agent group or a combination of skills, and the type of statistic:
Waiting Agents, Login Agents, Configured Agents.
The field Variable name will specify the call property in which to store the retrieved statistic.
Copyright © 2015 Aheeva Technology. All Rights Reserved 69
AheevaCCS 6.0 User Guide
The Call Ending box is used to terminate the call with one of the following actions:
Hangup: Simply hang up the call
Voicemail: Call the Voicemail application on the call then hang up. You have to specify the mailbox
number to send the call into.
Transfer: Transfer the call to a destination in the dialplan.
You can create a set of key/value pairs that will persist throughout the life of the call. These variables
can be attached to the call when distributed to an agent. They can be DTMF entries, results of database
queries, statistics, etc.
To add a new key/value pair to the attached data, you have to specify the name and the value then click
on the to add it.
You can delete a key/value pair by selecting it from the list and clicking on the button.
16.3.17 Counters
Counters are used to indicate the number of times a call passed in a certain branch of the script.
Copyright © 2015 Aheeva Technology. All Rights Reserved 70
AheevaCCS 6.0 User Guide
Counters can be attached to a routing script or reset for every call. You can also choose to display their
values directly on the graphical interface of the routing script builder.
In order to link two Routing script elements together follow the steps below:
Click on the link button
Click on the originating part of the first box
Click on the title of the destination box
To disconnect two linked elements, you have to delete the link between them. To do so double‐click on
the link to select it then click on the Delete link button.
This is what a routing script can look like. In this example it is called ‘General’, has a priority of 1 and is
active.
Copyright © 2015 Aheeva Technology. All Rights Reserved 71
AheevaCCS 6.0 User Guide
This Routing script does the following:
The first box is an IF‐ELSE(DNID=7800) statement. This means that the Aheeva server will run this
script only if a call arrives on the DNID 7800.
Next it executes some Asterisk applications to answer the call, set the music‐on‐hold to play, and
play back an audio file called Demo‐ThankYouForCalling to play the greeting message.
Next it verifies whether the call is within business hours. If not, it plays back a special message
announcing the business hours and sends the caller to the Voicemail box 6000.
If the call is within business hours, then the script prompts the caller for an account number and
stores it in the call property ‘account_number’. It uses the account number to retrieve the status of
the caller from the database with the query
SELECT status FROM demo_list WHERE account_number="$account_number"
The retrieved status is then stored in the call property ‘status’.
Next the script verifies whether the caller’s status is PLATINUM or not.
If the caller is PLATINUM, then it puts the call in a queue waiting for an agent with the skill
VIP_Service greater than 95.
If the caller status is not PLATINUM, then he is presented with a menu giving him the option to press
1 for Sales, 2 for Account Balance, or * to repeat the menu.
If the caller chooses option 1, then he is queued waiting for an agent with both the skills ‘English’
and ‘Sales’ equal 100. The maximum time the caller will wait for such an agent is 120 seconds. If no
agent is available within that delay, then it tries to find an agent from the agent group Aheeva.
If the caller chooses option 2, then the script calls the custom server function ‘getBalance()’ from the
module ‘BillingModule’ to retrieve the client’s account balance. It puts the retrieved amount in a
variable and it queues the calls waiting for any agent from the agent group Aheeva.
Copyright © 2015 Aheeva Technology. All Rights Reserved 72
AheevaCCS 6.0 User Guide
17INBOUND CHAT
Aheeva Manager offers a tool that allows users to easily create Chat Routing Scripts for handling Chat
sessions by connecting building blocks. These scripts can perform actions on chat sessions all the way to
queueing the chat and distributing it to an agent.
The Aheeva solution allows implementing inbound services via Chat Routing Scripts. A Chat Routing
Script offers functionalities such as:
Logical operations on variables
Database operations like SELECT, INSERT, UPDATE, and DELETE
Retrieve real‐time statistic values on queues and agents
Queue chats while waiting for an agent
Send periodic text to a chat sessions
Modify chats priority in the queue
Connect the client chat to a live agent.
Setting up a chat inbound service, involves
Adding a link on the website in order for customers to initiate a chat request
Associating the configured link with a Chat Routing Script via parameters sent with the link
Developing the Routing script
The first step in creating inbound chat service is to add the necessary script to the website to allow
visitors to chat with agents.
The Javascript code that will lead the visitor to initiate a chat request is:
var milliseconds = new Date().getTime();
var url = https://XXX.XXX.XXX.XXX:8443/aheevaChat/guest/application.html?realm=MyTenantCode&lang=
+document.getElementById("lang").value+"&clientType=GUEST&userName="+document.getElementById("username").value
+"&flag="+(new Date().getTime())+"&userEmail="+document.getElementById("email").value
+"&attachedData={\"CHATTYPE\": \""+document.getElementById("brand").value+
"\",\"REGNUM\": \"111222333\",\"CUSTOMERNAME\": \"Tom Smith\"}";
window.open(url,"chatwin"+milliseconds,"width=640px,height=500px");
Copyright © 2015 Aheeva Technology. All Rights Reserved 73
AheevaCCS 6.0 User Guide
XXX.XXX.XXX.XXX : is the IP of the ChatServer.
MyTenantCode: This is the code that indicates to which tenant this form belongs. It is the same code
that you specified on the login page of the Aheeva Manager. Please refer to the system administrator
for the correct value.
Lang: Provide the labels and auto messages to the guest in the specified “lang” value. All labels can be
modified by editing the file /etc/aheevaccs/chat/Labels.properties. The currently configured language
are 3 (EN, FR and SP) but you can add other languages by just adding for the desired key a new line with
the new language prefix. If you don’t add a key for a specific language it will be considered English by
default.
userName and userEmail: are the 2 variables that composed the unique key of the Chat session, only
one chat session with the same username and Email is allowed at the same time. They can be filled with
any values not just username or email.
attachedData: Parameters packaged in Json format and sent to the chat server. All those parameters
can be passed to the routing scripts by adding them as call properties. The CHATTYPE parameter is the
entry point to the routing script it is similar to the DNID for the inbound calls, it is mandatory and any
request sent without this parameters will be ignored.
User can add as much as he need of parameters to the attached data.
Chat client interface customization
In order to customize the look of chat window that appears for the clients, you can edit the static html
files that exist under /var/www/html/aheevaChat/guest
Case Study Scenario
Assuming that you have two websites each one for a specific client and you want to add the chat plugin
for both:
1‐Start by creating a chat routing script for each customer
2‐In case you want to customize for each customer the chat plugin, just create 2 copies of the guest
folder under /var/www/html/aheevaChat. Once copied and renamed you can freely modify the look for
each customer alone.
A sample demo of the chat is available under /var/www/html/aheevaChat/aheeva_demo
In order to correctly associate the link, with a Routing Script, we have to understand how the Aheeva
server chooses which script to execute when it receives such a request.
Copyright © 2015 Aheeva Technology. All Rights Reserved 74
AheevaCCS 6.0 User Guide
The first box in a Routing script must ALWAYS be an IF‐ELSE statement. When looking for a script to
execute, the Aheeva server parses all active scripts and picks the one whose initial condition (the first
action of the script should be an IF‐ELSE) evaluates to TRUE. If more than one script fulfills the condition,
then the script with the highest priority is selected for execution (priority 1 is higher than priority 2).
The IF‐ELSE condition can be based on the CHATTYPE (specified among the parameters sent to the Chat
server) or on some other variable. However, using the CHATTYPE is the most common way for selecting
a script. When Chat Server sends the request to execute a Routing Script to the Aheeva server, it
attaches some variables to that request, and among them the CHATTYPE. The CHATTYPE variable is
always defined therefore can be referenced, in a Routing Script. When the CCS server receives the
request it knows the current value of the CHATTYPE and looks for a script that starts with IF(CHATTYPE
==value) condition.
To associate a chat type with a Routing Script using the CHATTYPE, you have to
1. Start by configuring a link containing the CHATTYPE as described previously.
2. Start the Routing Script with an IF‐ELSE condition that compares the CHATTYPE variable to the value
of the CHATTYPE you configured in link (i.e. CHATTYPE maintenance_dep)
Once this is done, every time the CCS server receives a request to execute a Chat Routing Script for a
chat request whose CHATTYPE value is maintenance_dep, the CCS will select this Routing Script.
Next you have to create a Routing Script in the CCS Manger that will get executed for this chat.
You develop a Chat Routing Script using the Inbound module in Aheeva Manager. There are two types of
Routing Scripts: Calls Routing Scripts and Chat Routing Script. The tool allows you to build both types.
The following sections will only discuss creating Chat Routing Scripts.
From the Inbound module in Aheeva Manager add a new Chat Routing Script . This displays
the page to create a new Chat Routing Script
Copyright © 2015 Aheeva Technology. All Rights Reserved 75
AheevaCCS 6.0 User Guide
For a new script you have to specify the following parameters from the header of the Routing Script
builder:
Script name: A unique name identifying this Routing Script
Script priority: This is the priority of the script that the CCS server uses in selecting which script to run
on a chat, when more than one script satisfies the initial IF‐ELSE condition. The script with the higher
priority will be selected for execution (1 is the highest priority).
Active or Inactive: A check box allowing you to activate or deactivate this script.
The header has icons that offer quick access to most elements that can be used in building a Routing
Script. All of these elements, and some additional ones, can also be accessed from the Tools menu.
The following sections describe the different elements available to build Routing Scripts.
Call properties are the set of variables defined for a Chat Routing Script.
There is a pre‐defined set of call properties for all Routing scripts. It includes
Call Property Description
CHATTYPE Corresponds to the CHATTYPE parameter passed within the
link. Similar to the DNID in case of inbound call.
CALLTIME The time the call started. It has the format hhmmss.
CALLDATE The date the call started. It has the format YYYYMMDD
Copyright © 2015 Aheeva Technology. All Rights Reserved 76
AheevaCCS 6.0 User Guide
DAYNAME The number and name of the day of the week. It has the
format N-Name, where N is the number of the day in the week
and Name is the full name of the day.
A call placed on Wednesday will have the variable DAYNAME
set to ‘3-WEDNESDAY’.
The days numbering starts at 1 for Monday and goes to 7 for
Sunday.
MONTHNAME The number and name of the month of the year. It has the
format N-Name, where N is the number of month in the year
and Name is the full name of the month.
A call placed in the month of May will have the variable
MONTHNAME set to ‘5-MAY’.
The months numbering starts at 1 for January and goes to 12
for December.
WEEKDAY This is a Boolean indicating whether the day the call
started is a weekday or not.
The value will be set to ‘1-YES’ if the call started on a
Monday, Tuesday, Wednesday, Thursday, or Friday.
The value will be set to ‘0-NO’ if the call started on
Saturday or Sunday.
You can explicitly add a new call property from the ‘Call properties’ dialog by typing the name and
clicking on the Add button.
Some script‐building elements give you access to the Call properties via a drop‐down menu. It allows
you to select the call property that you wish to perform some action on or reference.
You can also reference Call properties in strings. You have can build a string and have the value of a Call
property part of the string. To reference a Call property you have to prefix its name with the symbol ‘$’.
Please refer to the “If‐Else condition” in “Inbound IVR” section for details.
Please refer to the “Switch‐Case statement” in “Inbound IVR” section for details.
Distributing an inbound chat to an agent is done from the routing script via the Agent Pickup Method
box.
Copyright © 2015 Aheeva Technology. All Rights Reserved 77
AheevaCCS 6.0 User Guide
From the Agent pick up method you can specify the following parameters:
Parameters Description
Minimum required This is the criteria for selecting an agent. The minimum
required can have different forms. It allows you to choose
an agent by different criteria as shown in the following
table:
Timeout How long to wait for an agent, in seconds. IF this time
expires then the pickup method box will exit.
Maximum concurrent Specify whether a Ready agent can handle a chat sessions
chats queued in this pickup method queue according to his
concurrent chat sessions. For example if an agent is ready
and if he is handling currently two chat session:
1- If the "Maximum concurrent chats" is equal to two: Agent
cannot handle new chat sessions unless he is done with one
of the two sessions, even he is ready.
2- If the "Maximum concurrent chats" is equal to three:
Agent can handle one new chat session.
Tie breaker Select how to choose the agent if more than one agent
satisfies the minimum required criteria. The possible tie
breakers are:
Most idle: Choose the agent that has been idle the longest.
Least busy: Choose the agent that has spent the least time
on calls since the beginning of the day.
Most skilled: choose the agent with the highest skill that
is available to take the call. For example, if there are
three agents A1, A2, and A3 with the skill SALES having
different values A1(SALES=50) A2(SALES=70) A3(SALES=70),
and A1 is the most idle, if a call arrives and looking for
an agent with the skill (SALES>0) using the ‘Most Skilled’,
Copyright © 2015 Aheeva Technology. All Rights Reserved 78
AheevaCCS 6.0 User Guide
then the system will look for the most skilled and
will find A2 and A3, then the system will choose the most
idle between these two agents since they have the value for
the skill. If A2 and A3 are busy the call will go to A1
because he’s the next skilled agent with sales=50.
Call priority This is the priority of the chat when entering this pickup
method (or queue). The possible values range from 1 to 10,
1 being the highest priority. If a chat enters this queue
with priority 2 followed by a call that enters the same
queue with priority 1, then when an agent becomes available
the chat with priority 1 will be served first.
Important: This chat priority setting IS NOT the actual
value of the chat’s priority. The real chat’s priority is a
numeric value calculated from the setting in the Pickup
Method and any offset specified with a Priority Increment
box.
The actual value of the priority in a Pickup Method is
calculated as follows: 11 – [PickupMethod value]. The
following tables shows some examples:
Pickup Method value Actual chat priority (11-value)
1 10
5 6
10 1
The higher the actual chat priority is, the more priority
the chat has.
Queue name This is the name of the virtual queue implemented by this
pickup method. Keep in mind that the pickup method is where
the chats get queued while waiting for an agent.
URL This field can either point to a URL that will
automatically open on the agent’s station with a chat, or
can specify a string of information that will be displayed
on the agent’s softphone.
Agent viewable This is the list of variable that you can send to the
variables agents they will get displayed in a special area as
key/value pairs. The available variables to send include
all the predefined ones as well as any new ones created in
the Routing Script prior to entering the pickup method.
These variables will be attached to the chat session.
Announcements You can enable or disable periodic announcements on a chat
while on hold.
The following table lists some examples of the Minimum required parameter:
Minimum required Example Description
Choose an agent from AgentGroup=group1 The CCS server will look for an
an agent group agent from the agent group
specified
Choose an agent from AgentGroup=groupe1 OR The CCS server will look for an
multiple agent groups AgentGroup=group2 agent that belongs to either
group1 or group2.
Choose an agent by skill skill‐name>75 The CCS server will look for an agent that have
the associated skill set to a value greater than
75
Copyright © 2015 Aheeva Technology. All Rights Reserved 79
AheevaCCS 6.0 User Guide
Choose an agent by a skill1>75 AND (skill2=100 OR skill3>50) The CCS server will look for an agent that has
combination of skills skill1 greater than 75 and skill2 equal 100, or
an agent that has skill1 greater than 75 and
skill3 greater than 50
Choose an agent by combining skill1 > 90 OR (AgentGroup=groupe1 AND The CCS server will look for either an agent
skills and agent groups skill2=100) that has the skill1 greater than 90 or for an
agent that belongs to the agent group group1
and that has skill2 equal 100
Choose a specific agent by Agent=1001 The CCS server will try to target agent 1001
explicitly specifying the agent
ID
Choose a specific agent by Agent=$theID The CCS server will try to target the agent
using a variable that contains whose ID is specified with the variable used.
the agent ID
To specify a URL the value of this parameter must start with http:// and point to a web page. You have
the possibility of passing arguments to the page, like any information you captured in the Routing Script
prior to entering the Pickup Method. To pass a variable as an argument you must prefix the variable
name with the ‘$’ character.
As an example of a URL:
http://192.168.1.1/script.php?ACCOUNT=$account_nbr
Please refer to the “Modify call priority” in “Inbound IVR” section for details.
This box allows you to add messages that will be sent to the user requesting a chat session.
Copyright © 2015 Aheeva Technology. All Rights Reserved 80
AheevaCCS 6.0 User Guide
from the list by selecting it and clicking on the button. You can edit an already existing application by
clicking the application editing and then pressing .
You can select multiple applications to execute in one box, and you can change the order of execution
by moving them using the up and down arrows. The and buttons allow you to change the order
in which a list of applications must is to be processed.
Please refer to the “Database access” in “Inbound IVR” section for details.
Please refer to the “Arithmetic Operation” in “Inbound IVR” section for details.
Please refer to the “Web Services” in “Inbound IVR” section for details.
Copyright © 2015 Aheeva Technology. All Rights Reserved 81
AheevaCCS 6.0 User Guide
Please refer to the “Get real‐time statistics” in “Inbound IVR” section for details.
The Chat Ending box is used to terminate the chat with the following action:
End chat: Specify the message that you want to send to the user when reaching the end box, otherwise
a default message defined in the configuration file of the chat server will be sent
(/etc/aheevaccs/chat/ServletConfig.properties).
Please refer to the “Attach data” in “Inbound IVR” section for details.
17.3.13 Counters
Please refer to the “Counters” in “Inbound IVR” section for details.
Please refer to the “Custom server” in “Inbound IVR” section for details.
Please refer to the “Link boxes” in “Inbound IVR” section for details.
Please refer to the “Delete link” in “Inbound IVR” section for details.
Copyright © 2015 Aheeva Technology. All Rights Reserved 82
AheevaCCS 6.0 User Guide
18CALLING LISTS
If you choose to use Prefix Rules and Time Zone Rules then you must have them setup prior to loading
the calling list. Please refer to the corresponding sections for detailed information on how to set them
up.
A calling list contains phone number to dial as part of an outbound campaign. You create and load
calling lists by using the wizard in the Aheeva Manager. Every calling list created has a corresponding
database table. Phone number cannot be duplicated within the same calling list since the phone number
is the key to uniquely identifying an entry in a calling list table.
A calling list can be created from an Excel sheet, a CSV file, or a text file.
The Calling Lists module in Aheeva Manager allows you to create and load a calling lists. Follow the steps
below.
1. Start by adding a new calling list from the Calling Lists module.
Copyright © 2015 Aheeva Technology. All Rights Reserved 83
AheevaCCS 6.0 User Guide
On this page you have to specify the following:
List name The name of the calling list in the system.
Associated table name Name of the database table associated with this calling
list.
Active Check this option to have this calling list active.
2. Click [Next] to go to the next page of the wizard. This displays the following page
On this page you have to specify the following:
Type of source file Choose one of the three possible types: An Excel
spreadsheet, a Comma Separated Values file (CSV), or a
plain text file.
Delimiter (active for Choose the delimiter character that separates values in the
CSV files) CSV file. The delimiter can be a comma, a semicolon, a TAB,
or a space.
Quote (active for CSV Choose the character used as a quote. It can be a single or
files) a double quote character.
Source file name Browse for the calling list file or specify the full path
to it.
Load format (optional) At the end of the wizard you will have the option to save
you selections in a template to use later for similar
calling lists. If you have any templates already saved then
you will be able to select one from this drop-down list.
You can leave it empty.
Copyright © 2015 Aheeva Technology. All Rights Reserved 84
AheevaCCS 6.0 User Guide
3. Click [Next] to go to the next page of the wizard. This displays the following page
Copyright © 2015 Aheeva Technology. All Rights Reserved 85
AheevaCCS 6.0 User Guide
This page will display the following elements:
Table columns These are the fields that are part of a default calling
list table structure. They are always present in all
calling lists.
Skip Row(s) This is the number of rows to skip from the top of the file
while loading the calling list. Such rows can simply be
header information and not actual data to be loaded.
Action Auto fill This button will tell the wizard to add new columns found
in the file to the default list of fields. For instance, an
outbound campaign may require fields to hold data proper to
it but irrelevant to other campaigns. Such data will become
part of the calling list for that campaign and they will
appear at the end of the list of fields.
This button will also attempt to match the fields in the
file to the fields in the database table. The wizard will
look for any identically named fields and associate them
together.
Action Clear all This button will clear any established fields association
between the file columns and the table fields.
Create new fields from This option will add to the calling list table all the
first line extra fields that are in the file and not already part of
the table’s structure. It will create any fields
association.
Calling list original It shows the content of the calling list file and is
file presented as a table with row numbers and column names. It
is important to note that the numbering of the columns
starts at zero (0) and not at one (1). In our example, the
columns FIRST_NAME, LAST_NAME and BIRTH_DATE are
respectively numbered 0,1, and 2.
4. Clicking the [Auto fill] button will change the look of the page by adding the new fields and the
associations. The fields association is presented as a number to the left to the fields, which is the
number of the corresponding column if the file.
In our example, the field PHONE_NUMBER has a 4 next to it which points to the 5th column in the
file.
If the wizard fails to associate two fields together (the fields could be named differently), it would
still be possible to make the association manually. Simply click on the field in the table columns and
then click on the corresponding field in the file.
Copyright © 2015 Aheeva Technology. All Rights Reserved 86
AheevaCCS 6.0 User Guide
5. Click [Next] to go to the next page of the wizard. This displays the following page
Copyright © 2015 Aheeva Technology. All Rights Reserved 87
AheevaCCS 6.0 User Guide
Copyright © 2015 Aheeva Technology. All Rights Reserved 88
AheevaCCS 6.0 User Guide
6. Click [Next] to go to the next page of the wizard. This displays the following page
This page will allow you to display different parameters:
Dialing hours Specify the starting and ending dialing times for this
calling list. You can apply these values either to all
records, to records that do not already have a value, or to
no records.
Screen pop Specify the URL that will be opened in the agents’ popup
when connecting a call. You can pass parameter to the URL
such as the name of the calling list table in the database
if the popup is required to update the records. The URL is
stored in the field extraData in the table. This parameter
can be assigned to all records, to records where there is
no URL specified, or to no records.
IMPORTANT NOTE: If this calling list is used in a broadcast
campaign, then you have to specify the word “broadcast” in
the URL field.
Phone number Specify the action to take when we encounter a non numeric
purification phone number while loading the calling list into the table.
Copyright © 2015 Aheeva Technology. All Rights Reserved 89
AheevaCCS 6.0 User Guide
Prefix rules This is the name of the prefix rules we want to apply on
the phone numbers in this calling list. The prefix rules
will alter the phone number in the calling list.
Time zones setup Specify the name of the Time Zone rules to apply to the
records in the calling list. The Time zone rules can be
applied to either all records, or to records with no rules,
or to no records.
7. Click [Next] to go to the next page of the wizard. This displays the following page
This page will display the progression of the different actions specified on the previous page.
Copyright © 2015 Aheeva Technology. All Rights Reserved 90
AheevaCCS 6.0 User Guide
8. Click [Next] to go to the next page of the wizard. This displays the following page
This page will allow you to display different parameters:
Filter Section Specify the filter that you would relate to this calling
list.
Not Using Treatment This section is used if you don’t need to use any treatment
section on this calling list.
Using Treatment Section This section is used if you want to assign any treatment to
the calling list and you could specify the number of
maximum attempts too.
Copyright © 2015 Aheeva Technology. All Rights Reserved 91
AheevaCCS 6.0 User Guide
9. Click [Next] to go to the next page of the wizard. This displays the following page
This page will display a summary of the calling list loading. It will also offer the possibility of saving all the
selections made as a template to be used for future similar calling lists.
Warning
The [previous] button is used if we want to return to the previous page to modify any data.
Regular calling lists can hold only one phone number for each person that is called. What happens then
when the called party is not reachable at one number, but could be reached, at that particular time, on
another phone number?
The purpose of the chain‐calling feature is to deal with such a situation. You can associate to each called
party as many telephone numbers as you need. You can also associate the same telephone number to
more than one person. You can define the next number to dial on a given record, when to dial it, and
what is the maximum number of dialing attempts.
Chain‐calling lists are added onto campaigns like you would add any other regular calling list.
Copyright © 2015 Aheeva Technology. All Rights Reserved 92
AheevaCCS 6.0 User Guide
Case Study Scenario
You have defined the system users. These are the Aheeva Manager’s users, those in your staff who
manage or supervise the resources. See, in this document, topic How to create a Aheeva Manager user.
You have defined the agents and the groups of agents that are going to handle the calls. See, in this
document, topics How to create an agent group and How to add agents to an agent group.
You have defined time zones. See, in this document, topic How to setup the time zone rules for
outbound campaigns.
You have defined prefix rules. See, in this document, topic How to setup the prefix rules for outbound
campaigns.
You have created the on‐line forms where agents will work as they handle each call. See, in this
document, the section Form builder.
You have set up the calling list’s filters. See, in this document, topic How to create a filter on a calling
list.
You have set up the calling list’s treatments. See, in this document, How to create a treatment on a
calling list.
1. Launching the wizard
Copyright © 2015 Aheeva Technology. All Rights Reserved 93
AheevaCCS 6.0 User Guide
Access path: From the Aheeva Manager’s navigation frame, go the Calling Lists module and add a
new calling list.
Specify the following:
List name The name of the calling list in the system.
Associated table name Name of the database table associated with this calling
list.
The name of the calling list (“List name”) and the name you
give the database table here can be different.
Security The list of the Aheeva Manager users who may have access to
this calling list.
Select the user and click the arrow to move users from one
box to the other to give them access to the given calling
list or to deny them access.
Active Check this option to activate the calling list.
The database table that you indicated in Associated table name will be the table used to hold the
information for this calling list.
Click [Next] to go to the next page of the wizard.
2. Feeding the database table
Figure 73. Selecting the Source File to Load the Calling List’s Database Table.
Specify the following:
Type of source file Choose one of the three possible types: an Excel
spreadsheet (xls), a Comma Separated Values file (csv) or a
plain text file (txt).
Copyright © 2015 Aheeva Technology. All Rights Reserved 94
AheevaCCS 6.0 User Guide
Delimiter Applies only to CVS files.
Choose the delimiter character that separates values in the
CSV file. The delimiter can be a comma, a semicolon, a TAB,
or a space.
Quote Applies only to CVS files.
Choose the character used to identify the values in the
files. It can be a single or a double quote character.
Source file name Browse for the calling list file or specify the full path
to it.
Load format Optional. At the end of this procedure you will be given
the oportunity to save a template of the settings that you
have selected so you can use them to set up similar calling
lists. Any such template will be listed in this drop-down
list.
You can select and use a template or you can leave this
field empty.
Warning
The source file must contain the extra telephone numbers (PHONE_NUMBERx) to be dialed when the
called party does not answer at the first number
Good Practice
To see how the additional numbers to reach customers fit into a typical calling list source file, see below
the item To add multiple numbers for each of the parties called
A chain‐calling list file used to feed the database table will look something like this:
Click [Next] to go to the next page of the wizard.
In order to equip each of the records with multiple telephone numbers to be dialed, add, in your source
file, the following fields (where x =1,2,3, etc., the additional numbers to dial):
PHONE_NUMBERx The next number to be dialed when the previous does not
answer.
Copyright © 2015 Aheeva Technology. All Rights Reserved 95
AheevaCCS 6.0 User Guide
PHONE_NUMBERx_PRIORITY Optional. Indicates the order in which the numbers are to
be dialed for a record. If field PHONE_NUMBERcontains a
telephone number, the system will consider that number as
having priority “0”.
You can enter inPHONE_NUMBERx_PRIORITY either negative or
positive values; the lowest priority value is considered
to have the highest dialing priority. If you omit this
field, the numbers in the given record will be dialed
successively
Case Study Scenario
In the screen capture of a chain‐calling list source file shown above:
The dialing order for record 1 is:
120 (priority “‐1”). 110 (main phone number [PHONE_NUMBER], whose priority is considered to be “0”)
and 130 (priority of “1”).
The dialing order should have started with 110 but by giving number 120 a priority value of “‐1” you
force the dialer to dial 120 before it dials the customer’s main telephone number.
The dialing order for record 2 is:
111 (this is the main phone [PHONE_NUMBER], and its priority is considered to be “0”, and it will be
dialed before any other phone number in the record that may have been given a priority of “0” also),
121 (priority of “0”) and 131 (priority of “1”)
PHONE_NUMBERx_TYPE Optional. An integer value that indicates the type of
phone number.
0: Other(takes this value when you omit this field)
1:Home
2:Mobile
3:Office
Copyright © 2015 Aheeva Technology. All Rights Reserved 96
AheevaCCS 6.0 User Guide
Figure 75. Matching a Source File’s Fields to the Columns of the Database Table.
Indicate the actions that are to be applied to the contents of the source file.
Skip
Row(s) Number of rows to skip from the source file because they do
not contain actual data
Actions
Auto fill Adds new fields to the default table structure and
associates them to those similarly named fields that are
found in the source file.
Clear all Clear field associations between the source file and the
database table.
Case Study Scenario
Copyright © 2015 Aheeva Technology. All Rights Reserved 97
AheevaCCS 6.0 User Guide
Associating fields in source file to table’s headings in the database:
The fields in the source file are displayed as columns’ names in the wizard’s page and the ordering of
the columns start at A.
In the current example, the source file’s columns FIRST_NAME, LAST_NAME, BIRTH_DATE are
respectively labeled A, B, C, etc. Notice the matching association in the left‐hand side frame that lists
the database table fields.
In the above screen capture used for the purpose of the current example, the associations between the
source file and the database table have been performed by clicking the [Auto fill] button. First, the
system detected the similar fields and did the association (based on PHONE_NUMBER as the record’s
key). Then, it matched the remaining fields in the source file to the calling list’s database table
(FIRST_NAME, LAST_NAME, BIRTH_DATE, ACCOUNT_NUMBER, PHONE_NUMBER1,
PHONE_NUMBER1_PRIORITY, PHONE_NUMBER2, PHONE_NUMBER2_PRIORITY). The labelling (A, B, C,
etc.) besides the fields’ name in the database table simply indicates the order in which the matching is
done between the source file and the database table.
The information relating to the multiple telephone numbers for a single subscriber is marked in pink in
the current screen capture example of a database table.
See the instructions to add the extra telephone numbers to calling lists source files
Extras
Create new fields from Inserts, in the calling list’s database table, those fields
first line that are present in the source file, but not in the
database table.
Click [Next] to go to the next page of the wizard.
You are now shown a summary of the data transfer from your file into to calling list’s database table.
Copyright © 2015 Aheeva Technology. All Rights Reserved 98
AheevaCCS 6.0 User Guide
Click [Next] to go to the next page of the wizard.
The records for the calling list are now in a database table. On this page you can clean up the records
and supply information that is still needed to produce a fully functional calling list.
Good Practice
For related information see, in this document, the topic How to load a calling list for an outbound
campaign.
Copyright © 2015 Aheeva Technology. All Rights Reserved 99
AheevaCCS 6.0 User Guide
Figure 77. Adding or Modifying Dialing Hours Screen Pop File Location and Time Zones.
Indicate the following:
Dialing hours
From/To Indicate the interval of time during which you can dial
records in this calling list. It is based on the records’
time zone (TIME_ZONE), if the records’ time zone field is
empty the dialing time will be based on the server’s time
zone.
Apply to All records: Apply the dialing hours to all the records in
the calling list’s database table
Empty hours records: Apply the dialing hours only to those
records in the database table where thefrom_daily and
to_daily fields are empty.
None: Do not apply the dialing hours to any of the records.
Screen pop
Indicate the URL of the page, or form, which will open on the agent’s screen when handling a call.
Good Practice
Copyright © 2015 Aheeva Technology. All Rights Reserved 100
AheevaCCS 6.0 User Guide
Refer to the corresponding section for detailed information on how to create a screen pop with the
Form builder.
URL URL or IP address where the screen pop file is located.
Apply to: All records: Apply the screen pop on all the records in the
calling list. The URL will populate the extradata field in
all the records of the calling list database.
Records with no extradata: Apply the screen pop only to
those records in the database where the extradata field is
empty.
None: The URL will not populate the extradata field in any
of the records.
Phone number purification
For information on how prefix rules are built, see, in this document, the topic on setting up the prefix
rules for outbound campaigns.
Auto fill Adds new fields to the default table structure and
associates them to those similarly named fields that are
found in the source file.
Non numeric phone None: Don’t do anything if a phone number contains non
numbers numeric values.
Remove record: Removes only non numeric telephone numbers
from a record; when all the phone numbers in the record are
non numeric the record is removed.
Prefix rules Choose the rule that will alter the phone numbers in the
calling list by adding digits to them.
Time zones setup
Used to fill the time field TIME_ZONE in the database table according to the record’s telephone
number.
Warning
If the records’ time zone field is left empty the dialing time will be based on the server’s time zone
Good Practice
For information on how time zone rules are defined, see, in this document, the topic on setting up the
time zone rules for outbound campaigns.
Copyright © 2015 Aheeva Technology. All Rights Reserved 101
AheevaCCS 6.0 User Guide
Apply to All records: Apply time zone rules to all records.
Empty time zone records: Apply rules only to those records
with empty TIME_ZONE field.
None: Don’t apply the rules to any of the records.
Click [Next] to go to the next page of the wizard.
Displays a progression status of the actions that were launched on the database table in the previous
step.
Click [Next] to go to the next page of the wizard.
Filters are user‐defined criteria that are applied to calling lists to mask a subset of the records and
impose a certain order. They help you dial specific records and sort the order by which the dialer selects
the records through the given filter.
Treatments are redialing rules used for Outbound campaigns to redial unanswered calls. For example,
using treatments you can decide how many times you want the dialer to retry dialing a busy number,
and at what frequency. Treatments are typically associated with a call result, which is an indication on
how a call ended.
Copyright © 2015 Aheeva Technology. All Rights Reserved 102
AheevaCCS 6.0 User Guide
Specify the following:
Filter section
Good Practice
For detailed information on how to create filters, refer to the topic How to create a filter on a calling
list.
Use filter Check this option to add a filter to the list. When checked
you must choose a filter from the list below. Uncheck it in
order to remove the filter.
Current filter Select a filter from the list of active filters already
created.
Copyright © 2015 Aheeva Technology. All Rights Reserved 103
AheevaCCS 6.0 User Guide
Not using treatments section
Warning
If you activate the features in this section you will not be able to use those that belong to the next
group of features in this panel, Using treatments section.
Dial all record numbers It allows the system to try calling the next number, for
once the same record, each time the called person is not
reachable.
Dial interval between Choose the number of minutes to wait before dialing the
record numbers next number on the same record.
Maximum attempts by Specify the maximum number of phone numbers allowed on each
record record. If “Unlimited” is checked, the system will try to
dial all the phone numbers for each record unless the
called party answers.
Case Study Scenario
Example of an ad hoc treatment application
Example: If “Dial all record numbers once” is checked and “Dial interval between record numbers = 2
min” and “Maximum attempts by record = 2”.
Here is the scenario when applying this ad hoc treatment to processing a record that contains 3 phone
numbers (XXX, YYY and ZZZ):
Dial XXX,
No one answers and maximum attempts is < 2,
Dial YYY after 2‐minute wait,
If no one answers then stop dialing the phone numbers for the current record (maximum attempts=2).
Using treatments section
Good Practice
In order to use the features in this section you must have created and saved treatments. For detailed
information on how to create treatments, refer to topic How to create a treatment on a calling list.
Available Displays the treatments that are available to the calling
list. Click the treatment and the arrow pointing to the
right to apply the treatment.
Selected Lists the treatments that are to be applied to the calling
list.
Maximum attempts by Maximum number of times that the dialer will try to dial
record the telephone numbers on each record.
Maximum attempts by Maximum number of times that the dialer will try to dial
phone number each phone number on a record.
Dial all record numbers Check it when you want the system to try on the next number
in cycle in the record instead of trying on the same number.
Copyright © 2015 Aheeva Technology. All Rights Reserved 104
AheevaCCS 6.0 User Guide
Dial interval between Choose the number of minutes to wait before dialing the
record numbers next number of the same record.
Case Study Scenario
Example of a treatment that enforces 4 scenarios:
In the snapshot above, the treatment called “try_2_times_busy” is selected. When the treatment was
created it was activated and saved with the following parameters:
Call result: Busy
Attempts: 2
Interval: 5 min
Increment: 0 min
By modifying the parameters in this section of the panel (Using treatments section), we have created
4 scenarios in this example, all of them using the same treatment (try_2_times_busy) and processing a
record that contains 2 phone numbers (XXX, YYY).
Dial interval between record numbers: 1 minute
1‐
Maximum attempts by record: Unlimited
Maximum attempts by phone number: Unlimited
Uncheck option “Dial all record numbers in cycle”
Call phone number XXX
If busy then the treatment is launched on XXX
After 5 minutes, dial XXX
If busy the number of tries for the current treatment is incremented by 1
After 5 minutes, dial XXX again
If busy the number of tries has reached the maximum allowed for the current treatment
After 1 minute, dial YYY
If busy then the treatment is launched on YYY
After 5 minutes, dial YYY again
If busy the number of tries for the current treatment is incremented by 1
After 5 minutes, dial YYY again
Stop dialing
Copyright © 2015 Aheeva Technology. All Rights Reserved 105
AheevaCCS 6.0 User Guide
2‐
Maximum attempts by record: Unlimited
Maximum attempts by phone number: Unlimited
Check option “Dial all record numbers in cycle”
Dial interval between record numbers: 1 minute
Call phone number XXX
If busy then the treatment is launched on XXX
After 1 minute, dial YYY
If busy then the treatment is launched on YYY
After 1 minute, dial XXX again
If busy the number of tries for the current treatment is incremented by 1
After 1 minute, dial YYY again
If busy the number of tries for the current treatment is incremented by 1
After 1 minute, dial XXX again
If busy the number of tries has reached the maximum allowed for the current treatment
After 1 minute, dial YYY again
Stop dialing
3‐
Maximum attempts by record: 3
Maximum attempts by phone number: Unlimited
Check option “Dial all record numbers in cycle”
Dial interval between record numbers: 1 minute
Call phone number XXX
If busy then the treatment is launched on XXX
After 1 minute, dial YYY
If busy then the treatment is launched on YYY
After 1 minute, dial XXX again
Stop dialing
Copyright © 2015 Aheeva Technology. All Rights Reserved 106
AheevaCCS 6.0 User Guide
4‐
Maximum attempts by record: Unlimited
Maximum attempts by phone number: 2
Check option “Dial all record numbers in cycle”
Dial interval between record numbers: 1 minute
Call phone number XXX
If busy then the treatment is launched on XXX
After 1 minute, dial YYY
If busy then the treatment is launched on YYY
After 1 minute, dial XXX again
If busy the number of tries for the current treatment is incremented by 1
After 1 minute, dial YYY again
If busy the number of tries for the current treatment is incremented by 1
Now the maximum number of tries of “2” has been reached for each of the telephone
numbers, therefore the dialer stops dialing on the current record.
Click [Next] to go to the next page of the wizard.
On this page you can save the list of settings that you have been selecting and applying throughout the
process of creating a calling list. You will be able to load the template, complete with its parameters, the
next time that you want to create another calling list.
Name the template (Setting name), then click the [Save] button. Next time that you want to create a
calling list similar to this one, this template will be presented as an option in the drop‐down list Load
format that you encounter during step 2 of this wizard‐assisted calling list creation process.
Copyright © 2015 Aheeva Technology. All Rights Reserved 107
AheevaCCS 6.0 User Guide
Figure 80. Turning the Freshly-Created Calling List’s Settings into a Template
Typically, treatments are redialing rules used for Outbound campaigns to redial unanswered calls. For
example, using treatments you can decide how many times you want the dialer to retry dialing a busy
number, and at what frequency. Treatments are typically associated with a call result, which is in
indication on how a call ended.
On the other hand, a special treatment exists for the scenario when an agent schedules a personal call
back on a specific date and time, and that agent is not available to take the call at that time.
To create a treatment based on a call result follows the steps bellow:
Using the Aheeva Manager, go to the Treatments module and add a new treatment, as shown below:
Copyright © 2015 Aheeva Technology. All Rights Reserved 108
AheevaCCS 6.0 User Guide
.
Figure 81. Adding a New Treatment
You have to specify the following parameters on the page:
Name This is the name of the treatment. It is recommended to give
it a clear descriptive name so you can easilyidentify it
when you want to associate it to a calling list.
Description A description of the treatment.
Call result Specify the call result, or condition, that will trigger
this treatment. Possible call results to choose from are:
Busy: The called number is busy.
Abandoned: The call got answered and queued but the other
party hung up before reaching an agent, while still in the
queue.
No answer: The call did not get answered.
Copyright © 2015 Aheeva Technology. All Rights Reserved 109
AheevaCCS 6.0 User Guide
Answering machine: The call got answered by an answering
machine. Note that you have to enable Answering Machine
detection on the campaign setup configuration page.
SIT: The call received a Special Information Tone (SIT). A
SITcan signal a disconnected number of a number that is not
in service and are generated by the Telco.
No more trunk: Asterisk could not allocate a channel to dial
the number.
Agent unavailable (personal callback): This is a special
call result triggered if the agent that scheduled the
callback is not available at the redialing time. In this
case this treatment will try to redial the contact as soon
as possible, even if the specified agent isn’t available.
Order This is the priority of the treatment that the CTI will use
to choose a treatment for a certain call result, if many
treatments were found for the same call result.
For instance, if there are 2 treatments for the Busy result,
the system will choose the one with the lowest order. Order
1 has a higher priority than order 2.
Attempts This is the maximum number of redial attempts that the
system will try when receiving the specified call result.
Interval (min) This is the time that the system will wait between each
redial attempt.
This parameter is not available for the ‘Agent unavailable –
personal callback)’ call result.
Increment (min) This is the time that the system will add to the last
interval used within this treatment.
For instance, if we have an interval of 15 minutes with an
increment of 5 minutes, then schedule of the redialing
attempts will be: 15 minutes, 20 minutes, 25 minutes, etc.
This parameter is not available for the ‘Agent unavailable –
personal callback)’ call result.
Active Check this option to make the treatment active.
The special type of treatment where an agent is unavailable for a personal callback has a slightly
different configuration page. It specifies the personal callback timeout which is the maximum time the
dialer will wait for the agent to become available for the call.
Copyright © 2015 Aheeva Technology. All Rights Reserved 110
AheevaCCS 6.0 User Guide
If this timeout expires, then the dialer will call the number and treat it as a general callback or campaign
callback. The most idle agent from the agent group will take that call.
Copyright © 2015 Aheeva Technology. All Rights Reserved 111
AheevaCCS 6.0 User Guide
Retrieve the configuration page of the calling list then go to the Treatments panel.
This panel will show you all the available treatments. Simply select the ones you need and assign them
to the calling list by clicking on the arrow.
Filters are user‐defined criteria that are applied to calling lists to mask a subset of the records and
impose a certain order. They help you dial specific records and sort the order by which the dialer selects
Copyright © 2015 Aheeva Technology. All Rights Reserved 112
AheevaCCS 6.0 User Guide
the records through the given filter. You can create an unlimited number of filters. However, only one
can be actively associated with a calling list at any one time.
Simply put, a filter on a calling list is a SQL WHERE clause that the dialer will use when fetching new
records from the calling list table.
To create a filter follow the steps bellow:
Using the Aheeva Manager, go to the Filters module and add a filter as shown below:
You have to specify the following parameters:
Filter name The name to give to this filter.
Copyright © 2015 Aheeva Technology. All Rights Reserved 113
AheevaCCS 6.0 User Guide
example, in the above SQL statement, the word “WHERE”, must
be either all in lower case or all in upper case, but not a
mix of both cases.
Order by This is the SQL clause that dictates the order in which you
want the filter’s output to be processed.
For example: ORDER BY salary ASC, would order the list of
records according to the salary field in ascending order.
Active Check this option to make the filter active.
Retrieve the configuration page of the calling list then go to the filters panel. This panel will show you all
the available filters. Simply select the one you need and assign it to the calling list by clicking on the
arrow.
Copyright © 2015 Aheeva Technology. All Rights Reserved 114
AheevaCCS 6.0 User Guide
19OUTBOUND CAMPAIGNS
Prefix rules are the set of rules specifying the digits to put in front of the phone numbers in a calling list.
The prefix directly depends on the origination and destination of a call.
As an example, the NANP (North American Numbering Plan) specifies that phone numbers are 10 digits
long, with the first 3 digits being the area code. If you are dialing a number within same area code you
have to simply dial the 10 digits, while if you are dialing a long distance number, a number in another
area code, you have to prefix the number with the digit ‘1’. More specifically, if you are in the 514 area
code and need to dial a number in the 212 area code you have to dial 1 prior to the 212 area code, while
you can directly dial any number in the 514 without a leading 1.
Such rules can be setup to automatically apply to all phone number while loading a calling list. Different
rules exist for different locations and countries. Therefore there are no single prefix rules that apply
everywhere. You have to put in place the rules based on the origination and the destination of the calls.
Prefix rules are stored in a special database table called cfg_calling_list_prefix. You have to
build your SQL script and run it in order to populate this table. The table cfg_calling_list_prefix
has the following structure:
Field Name Type Description
MATCH_TYPE Enumeration – One of: This is the comparison that will be
'EQUAL' performed on the phone number to
'NOT_EQUAL' determine whether the rule applies to it
'START_WITH' or not.
'DOESNT_START_WITH'
'END_WITH'
'DOESNT_END_WITH'
'CONTAINS'
'DOESNT_CONTAINS'
MATCH_DATA Varchar(20) This is the data to compare to the phone number using the
MATCH_TYPE comparison.
PREFIX_DATA Varchar(10) This is the prefix to place in front of the phone number when
the comparison evaluates to true.
PRIORITY_IN_GROUP Varchar(10) This is the priority to use in case there is more than one rule
is accepted for the same record. For example, if the first rule
was: <EQUAL to 333 put the prefix 9>, and the
second rule was <START_WITH 3 put the prefix
8>. In this case the rule that has the higher priority (lowest
value) will be executed.
Copyright © 2015 Aheeva Technology. All Rights Reserved 115
AheevaCCS 6.0 User Guide
GROUP_NAME Varchar(100) This is a name given to this rule. All entries having the same
GROUP_NAME will be grouped together and be part of the
same rule.
An example of an SQL script to populate this table in the situation where we are dialing from the 514 are
code (note that the 514 entry is missing because we do not need to prefix the numbers):
insert into cfg_calling_list_prefix (`MATCH_TYPE`, `MATCH_DATA`,
`PREFIX_DATA`,`PRIORITY_IN_GROUP`, `GROUPNAME`) VALUES
('START_WITH','512','1','1','NORTH_AMERICAN_RULES');
insert into cfg_calling_list_prefix (`MATCH_TYPE`, `MATCH_DATA`,
`PREFIX_DATA`,`PRIORITY_IN_GROUP`, `GROUPNAME`) VALUES
('START_WITH','513','1','1','NORTH_AMERICAN_RULES');
insert into cfg_calling_list_prefix (`MATCH_TYPE`, `MATCH_DATA`,
`PREFIX_DATA`,`PRIORITY_IN_GROUP`, `GROUPNAME`) VALUES
('START_WITH','515','1','1','NORTH_AMERICAN_RULES');
insert into cfg_calling_list_prefix (`MATCH_TYPE`, `MATCH_DATA`,
`PREFIX_DATA`,`PRIORITY_IN_GROUP`, `GROUPNAME`) VALUES
('START_WITH','516','1','1','NORTH_AMERICAN_RULES');
The previous entries will all be part of the same group of rules named NORTH_AMERICAN_RULES.
You can leave this table empty and not define any prefix rules. If you choose not to use this mechanism,
you have to make sure that all phone numbers in the calling lists are well formed.
Time zone rules are the set of rules specifying the time zone phone numbers are located in. All calling
lists have a field called TIME_ZONE that should store the abbreviation of the time zone associated with
the phone number. The actual phone numbers are used to determine the time zone. In North America
we can determine the time zone by examining the area code part of numbers.
As an example, in North America the area code 415 is in the Pacific Standard Time therefore all numbers
starting with the area code 415 must have the TIME_ZONE field set to PST.
While loading a calling list the system processes the Prefix Rules first and the Time Zone Rules second.
Which means that the comparison used to determine the time zone for a number must take into
consideration the prefix possibly added to the number.
As an example, in North America if a phone number has been modified by prefixing it with ‘1’, then the
comparison to determine the time zone must take the ‘1’ into consideration. You cannot look for
number starting with 415 but starting with 1415.
Such rules can be setup to automatically apply to all phone number while loading a calling list. Prefix
rules are stored in a special database table called cfg_timezone_rules. You have to build your SQL
Copyright © 2015 Aheeva Technology. All Rights Reserved 116
AheevaCCS 6.0 User Guide
script and run it in order to populate this table. The table cfg_timezone_rules has the following
structure:
Field Name Type Description
MATCH_TYPE Enumeration – One of: This is the comparison that will be
'EQUAL' performed on the phone number to
'NOT_EQUAL' determine whether the rule applies to
'START_WITH' it or not.
'END_WITH'
'CONTAINS'
'DOESNT_CONTAINS'
DATA Varchar(50) This is the data to compare to the
phone number using the MATCH_TYPE
comparison.
ASSOCIATE_TIMEZONE Varchar(10) This is the time zone to write in the
calling list for this phone number when
the comparison evaluates to true.
PRIORITY_IN_GROUP Char(3) This is the priority to use when more
than one rule is accepted for the same
record. For example, if the first rule
was: <EQUAL to 333 put the Time Zone to
EST >, and the second rule was
<START_WITH 3 put the Time Zone to
PST>. In this case the rule that has
the higher priority (lowest value) will
be executed.
GROUPNAME Varchar(100) This is a name given to this rule. All
entries having the same GROUP_NAME will
be grouped together and be part of the
same rule.
An example of an SQL script to populate this table in the situation where we are dialing from the 514 are
code (note that the 514 entry is missing because we do not need to prefix the number):
INSERT INTO `cfg_timezone_rules` (`MATCH_TYPE`, `DATA`, `ASSOCIATE_TIMEZONE`,
`PRIORITY_IN_GROUP`, `GROUPNAME`) VALUES
('START_WITH','1512','CST','1','NORTH_AMERICAN_RULES'),
INSERT INTO `cfg_timezone_rules` (`MATCH_TYPE`, `DATA`, `ASSOCIATE_TIMEZONE`,
`PRIORITY_IN_GROUP`, `GROUPNAME`) VALUES
('START_WITH','1513','EST','1','NORTH_AMERICAN_RULES'),
INSERT INTO `cfg_timezone_rules` (`MATCH_TYPE`, `DATA`, `ASSOCIATE_TIMEZONE`,
`PRIORITY_IN_GROUP`, `GROUPNAME`) VALUES
('START_WITH','1515','CST','1','NORTH_AMERICAN_RULES'),
INSERT INTO `cfg_timezone_rules` (`MATCH_TYPE`, `DATA`, `ASSOCIATE_TIMEZONE`,
`PRIORITY_IN_GROUP`, `GROUPNAME`) VALUES
('START_WITH','1516','EST','1','NORTH_AMERICAN_RULES'),
The previous entries will all be part of the same group of rules named NORTH_AMERICAN_RULES.
Copyright © 2015 Aheeva Technology. All Rights Reserved 117
AheevaCCS 6.0 User Guide
You can leave this table empty and not define any time zone rules. If you choose not to use this
mechanism, then you cannot determine campaign dialing hours based on the destination local time.
Outbound campaigns are used to automatically dial number from calling list and connect answered calls
to live agents. They increase agents’ productivity by using advanced dialing algorithms so agents do not
waste time manually dialing numbers and having to deal with multiple calls not resulting in an answer
from a live person.
Outbound campaigns take advantage of Asterisk capabilities in detecting no answers, busy calls, invalid
numbers, even answering machines. Redialing such call results can be automated by setting up the
appropriate treatments.
Also, administrators can configure outbound campaigns to attain certain agents productivity objectives
by adjusting the dialing rate while making sure not exceed a preset abandon rate.
An outbound campaign can be associated with one, and only one, agent group at a time. On the other
hand, an agent group can be associated with one campaign and only one.
The Aheeva solution offers four types of outbound campaigns: predictive, progressive, preview, and
broadcast campaigns.
Broadcast campaigns have different settings than the other types, which we will further elaborate on
throughout this section. A section dedicated to the creation of Broadcast campaign
The following table gives a brief explanation on the four different types of campaigns:
Campaign Type Description
Progressive A progressive campaign will dial a number as soon as there is an
agent ready to take the call. If all agents are on calls then the
dialer will wait for one to become Ready.
A progressive campaign eliminates the risk of having abandoned
calls since no dial will take place if there is not agent ready to
handle it. This is done at the expense of agents’ productivity.
Agents’ waiting time could become lengthy if the hit rate is not
high.
For example, if a calling list has a hit rate of 25% (one out of 4
calls get answered by a live person), on average the dialer has to
call four numbers in order to connect on to an agent. Note that the
delay could be quite long taking into consideration the time to
setup the call, the ringing time, the dialing timeout if no one
answers the call, etc.
Predictive A predictive campaign will dial number at a pace to keep the
agents’ waiting time as short as possible, maximizing their busy
time, while respecting a maximum abandon rate not to be exceeded.
A predictive campaign will take into consideration different
statistics including the hit rate, the average handling time, the
average wrap-up time, and the abandon rate in order to determine
how many dials to send at every dialing cycle. In such a mode the
Copyright © 2015 Aheeva Technology. All Rights Reserved 118
AheevaCCS 6.0 User Guide
dialer can dial more number then agents available, which presents a
risk of calls getting abandoned.
Preview A preview campaign sends the popup data to the agent prior to
actually dialing the number, so the agent can preview the client’s
data and prepare for the call. This opens a dial pad on the agent’s
screen and the phone number will automatically be on it. The agent
will have to click a button to dial the number.
Broadcast A broadcast campaign will automatically dial number from a list and
playback a pre-recorded message when a dial gets answered. It can
also offer the dialed party the option of getting connected to a
live agent.
IMPORTANT NOTE: The calling lists used by broadcast campaigns MUST
have the value of the URL field set to the word “broadcast”, and
not an actual URL.
In order to run a predictive, progressive or preview campaign, you must already have some elements
properly configured in the system. Details on the creation of these elements can be found in their
corresponding sections in this document. The table below lists those elements:
Agent group At least one agent group must be creates to handle the calls.
Agents These agents must be part of the agent group handling the campaign.
Prefix rules (optional) Prefix rules are optional and they are used during the creation of
the calling list. Prefix rules can alter the phone numbers by
prefixing them with some digits to be able to dial them correctly
from the dialer location to the destination.
Time zone rules Time zone rules are optional and they are used during the creation
(optional) of the calling list. They are used to flag every entry in the
calling list with a time zone indication. This is used by the
dialer in deciding whether to dial a number of not, based on the
dialing hours of the campaign which are local to the destination of
the call and not to the location of the dialer.
Calling list At least one calling list must be created to assign to the
campaign. A campaign can have multiple calling lists.
Do‐not‐call list Do-not-call lists are optional and they filter out the number not
(optional) to dial, either by exact matches or by pattern matching.
Broadcast campaigns have a slightly different set of requirements as listed in the table below:
Routing script Since a broadcast campaign is used to play back pre-recorded
messages, then it has to be associated with a Routing Script. In
that Routing script you can implement an IVR, play messages, accept
DTMF entries, and distribute the call to a live agent.
Agent group At least one agent group must be creates to handle the calls. For
(optional) broadcast campaigns, this element is required only if you need to
distribute the calls to live agents.
Agents These agents must be part of the agent group handling the campaign.
(optional) For broadcast campaigns, this element is required only if you need
to distribute the calls to live agents.
Copyright © 2015 Aheeva Technology. All Rights Reserved 119
AheevaCCS 6.0 User Guide
Prefix rules Prefix rules are optional and they are used during the creation of
(optional) the calling list. Prefix rules can alter the phone numbers by
prefixing them with some digits to be able to dial them correctly
from the dialer location to the destination.
Time zone rules Time zone rules are optional and they are used during the creation
(optional) of the calling list. They are used to flag every entry in the
calling list with a time zone indication. This is used by the
dialer in deciding whether to dial a number of not, based on the
dialing hours of the campaign which are local to the destination of
the call and not to the location of the dialer.
Calling list At least one calling list must be created to assign to the
campaign. A campaign can have multiple calling lists.
Do-not-call list Do-not-call lists are optional and they filter out the number not
(optional) to dial, either by exact matches or by pattern matching.
Preview campaigns have a particular feature that can be controlled from “Cancel Section” in “Mode”
tab:
Using the combo box “Before Dialing”: You can determine what action you wish to perform on records
canceled before dialing.
Using the combo box “During Ringing”: You can determine what action you wish to perform on records
canceled during ringing.
The action can be chosen from the bellow:
Do not recall number: The number is never recalled again
Recall Number: The number will be recalled again
Different agent recalls the number: The number will be recalled again by an agent different from the
one who cancelled it.
Note that a canceled record follow the actions assigned to the campaign at the moment of cancel. This
means during a running campaign, if the fields’ values are changed, previously canceled records won’t
be affected.
Between callback and canceled records, the priority is always set to callback. This means when saving a
record as callback in the popup then canceling it; the record won’t be treated as canceled but as
callback.
Limit callbacks is an option in the manager where we can limit agents to make callbacks in a specific
time.
Limit callbacks can be controlled from “Limit Callbacks” section in “Mode” tab:
Copyright © 2015 Aheeva Technology. All Rights Reserved 120
AheevaCCS 6.0 User Guide
This option will be considered in the popup which is related to a calling list that is related to this
campaign. If the maximum number of callbacks is passed in a specific duration, a message will be
displayed in the popup when the agent wants to make a new callback.
Warning
This option is not used in a “Broadcast” campaign.
Copyright © 2015 Aheeva Technology. All Rights Reserved 121
AheevaCCS 6.0 User Guide
1. From the Aheeva Manager, go to the Campaigns module and add a new campaign, as shown below:
You have to specify the following parameters on the General panel:
Campaign name The name of the campaign.
Copyright © 2015 Aheeva Technology. All Rights Reserved 122
AheevaCCS 6.0 User Guide
2. Next click on the Calling Lists panel. This displays the following page:
This page contains a table of all the available calling lists that are not already assigned to a campaign.
Note that you can skip this step if you calling lists are not already created. Once you create a calling list
you can edit the campaign setup and associate the calling list with the campaign. On this page you have
to specify
Active Check the calling lists that you want to assign to this campaign.
Weight This is the ratio of number of records that the dialer will use
while retrieving records from multiple calling lists. It is a
number relative to the weight of other calling lists.
For example, if you have two calling lists, A and B, with
respective weights of 3 and 4, for every three records the dialer
retrieves from list A it will retrieve 4 records from list B.
Retrieved records will be dialed from older to newer records
(FIFO).
In this example if the dialer has finished dialing the 3 records
of the first list and after dialing 2 records of the second list he
decided to retrieve 3 other records for the first one and 4 other
records for the second, in this case the dialer will dial the old 2
remaining records of the second list and then continue dialing the
3 records of the first list…
Copyright © 2015 Aheeva Technology. All Rights Reserved 123
AheevaCCS 6.0 User Guide
3. Next click on the tab Do‐no‐call lists. This displays the following page:
On this page you can view all the configured Do‐not‐call lists and assign the selected one to the
campaign.
Copyright © 2015 Aheeva Technology. All Rights Reserved 124
AheevaCCS 6.0 User Guide
4. Next click on the tab Hours. This displays the following page:
On this page you can set the starting and ending dialing hours of the campaign per day. The times
specified are relative to the client’s location time zone (the called person), which is the time zone in the
calling lists.
Note that the dialer will always take into consideration the dialing hours set for both the calling list and
the campaign. Both must be satisfied in order for the dialing to occur.
Copyright © 2015 Aheeva Technology. All Rights Reserved 125
AheevaCCS 6.0 User Guide
5. Next click on the tab Mode. The parameters that are offered on the Mode panel help ensure
compliance with the regulations regarding predictive dialing devices.
The parameters that you need to define are in 5 groups:
Dialing mode
Agent group Select the Agent Group that will recieve the calls.
Copyright © 2015 Aheeva Technology. All Rights Reserved 126
AheevaCCS 6.0 User Guide
Answering machine Enable to run an Answering machine detection on answered
detection calls prior to sending the call to an agent.
Cancel section
Please refer to the section “Cancel Preview Call” in this document
Abandon section
Abandon rate This is the percentage of abandoned calls over answered calls. The
dialer will not exceed this rate.
The default 3% is the recommended value under the regulations.
The value applies per campaign and per day. When the abandon rate
is about to reach the limit that you indicate here, the dialer will
reduce its pace to prevent the rate of abandoned calls from
exceeding this limit.
Timeout abandon This is the length of consecutive silence (starting when the called
party answers the phone) during which the called party is waiting
for an agent. When the silence time has elapsed the call will be
considered as having timed out.
The default 2 seconds is the recommended value under the
regulations.
If you don’t need this compliance feature, deactivate this option
by removing the checkmark.
Action after You can define the way you want to treat a timed-out call. Here are
timeout the list of actions that you can specify:
Hang up Hang up the call directly after registering (for
record tracking purposes) that the call was
timed out.
Play Play a pre-recorded message to the person and
recording hang up the call.
and hang up Regulation recommends that the recorded message
state the name and telephone number of the party
on whose behalf the call was placed.
Wait for an Keep the person in the queue waiting for an
agent agent.
Play Play a pre-recorded message to the called party
recording and keep the person in the queue waiting for an
and wait agent.
for an
agent
Take not- Keep the called party in the queue waiting for
timed-out an agent. Among the waiting calls, let agents
calls answer first those calls that have not timed out
yet.
Play Play a pre-recorded message to the called party
recording and keep the person in the queue waiting for an
and take agent. Among the waiting calls, let agents
not-timed- answer first those calls that have not timed out
out calls yet.
Recorded message Enabled only for the following Action after timeout.
Play recording and hang up
Copyright © 2015 Aheeva Technology. All Rights Reserved 127
AheevaCCS 6.0 User Guide
Play recording and wait for an agent
Play recording and take not-timed-out calls
This is the recording that will be played for the called party when
the call is timed out. It is an audio file that must be placed on
all asterisk servers under:
/var/lib/asterisk/sounds/timeoutabandon/
Ring time
Maximum ring The time during which the dialer lets the called party’s telephone
time ring.
Regulation recommends a value of 15 seconds.
Limit callbacks
Please refer to the section “Limit Callbacks” in this document
6. Next click on the tab Security. This displays the following page:
On this page you can specify which user will have access to this campaign.
It is in the Mode panel of a campaign you can set up the parameters that will help ensure your
compliance with both commissions’ regulations.
Copyright © 2015 Aheeva Technology. All Rights Reserved 128
AheevaCCS 6.0 User Guide
The regulations affect two aspects of the dialing of numbers when running a campaign in the predictive
mode:
The abandoning of calls and
The length of time during which you can ring a given number.
You can specify the desired behavior from the Abandon section of a campaign configuration.
For a complete reference you can consult the following:
Canadian Radio‐television and Telecommunications Commission rules:
http://www.crtc.gc.ca/eng/trules‐reglest.htm
Federal Trade Commission: https://www.ftc.gov/tips‐advice/business‐center/guidance/complying‐
telemarketing‐sales‐rule
Broadcast campaigns are primarily designed to allow broadcasting pre‐recorded voice messages. They
also offer the option of connecting the calls to live agents.
When a call is answered by a person, the broadcast campaign simply plays back the message. In such a
scenario the campaign can also offer the person the option to talk to a live agent. If the call gets
answered by an answering machine, then the campaign can be configured to either hang up the call or
to wait for the end of the answering machine message and then playback the recorded message.
A broadcast campaign differs from other types of campaigns in two ways:
It is the only type of campaign that must be associated with a Routing Script. The first action in the
routing script must be the condition IF(broadcast=true).
Its calling lists must have the word “broadcast” specified as a URL, in the “extraData” field in the
database table.
To create an outbound campaign in a broadcast mode you have to do three things:
Copyright © 2015 Aheeva Technology. All Rights Reserved 129
AheevaCCS 6.0 User Guide
1. Create a routing script that you will associate later with the campaign that you are creating. The first
statement of the routing script must be: IF(broadcast=true). Note that you can create as many
broadcast campaign as you want with different broadcast routing scripts. Here is an easy example of
a broadcast routing scripts:
2. When loading the calling list for a broadcast campaign, you must set the parameter URL, of the
screen pop section, to the string “broadcast”. This will populate the “extraData” field in the
database table.
Copyright © 2015 Aheeva Technology. All Rights Reserved 130
AheevaCCS 6.0 User Guide
3. Follow the same procedure for creating an outbound campaign. Resume with the next step when
you get to the Mode tab.
4. The Mode tab on a broadcast campaign will look slightly different as with other types of campaigns.
On the Mode tab you have to specify the following parameters:
You have to specify the following parameters on this page:
Dialing mode Select Broadcast mode.
Routing script This is the name of the Routing script that will handle the call.
Warning
Copyright © 2015 Aheeva Technology. All Rights Reserved 131
AheevaCCS 6.0 User Guide
In broadcast campaign, Cancel preview section, abandon section and limit callbacks
section well be disabled.
Once the campaign is configured and a calling list created, you can start operating it from the campaign
setup page. The possible operations on a campaign are Load, Start, Stop, and Unload.
Load Loading a campaign causes the dialer to fetch records from the
calling lists. It will fetch records that have the field
RECORD_STATUS set to “Ready” and once fetched it will set its value
to “Retrieved”.
Loading a campaign does not start the dialing.
Start The dialer will start dialing records already retrieved.
Stop The dialer will simply stop dialing. It will not reset the
progression of the dialer (number of attempts, treatments, etc.).
Unload Unloading a campaign causes the dialer to release all records
already retrieved from the database and change their RECORD_STATUS
field back to “Ready”. It will also loose all treatments.
Copyright © 2015 Aheeva Technology. All Rights Reserved 132
AheevaCCS 6.0 User Guide
20DO-NOT-CALL LISTS
Black lists, Do‐Not‐Call lists, contain the phone numbers that should not be dialed by the automatic
dialer. Do‐not‐call lists can either be associated with a specific outbound campaign or global across all
campaigns.
Numbers can be added and removed from do‐not‐call lists dynamically while a campaign is running.
Using the Aheeva Manager, go to the Blak Lists module and add a new black list, as shown below:
Once created you can add You can add numbers to the black list, as shown below:
Copyright © 2015 Aheeva Technology. All Rights Reserved 133
AheevaCCS 6.0 User Guide
You have to specify the following parameters on the page:
Operator This is the operator that the system will use to compare a phone
number to the black list phone number that you will provide.
Number The number or pattern that will be used in the comparison.
Copyright © 2015 Aheeva Technology. All Rights Reserved 134
AheevaCCS 6.0 User Guide
21EVALUATION FORMS
Contact center managers can evaluate the recordings of the agents’ contacts with customers by creating
dynamic forms that will gather call center metrics on the quality of its services or the satisfaction of its
customers. You can personalize forms to fit one or more campaigns or, in case of customer services, one
or more queues. You can also create a global form to evaluate recordings when no personalized form is
available.
Before you can begin evaluating the recordings you must create the evaluation form.
Case Study Scenario
Assuming
You have identified the system users. These are the Aheeva Manager’s users, those in your staff who
manage or supervise the resources. See, in this document, the topic on how to create an Aheeva
Manager user.
You have created the agents and the groups of agents that are going to handle the calls. See, in this
document, the topics Creating an agent group and Adding agents to agent groups.
You have configured the call recording feature for the agents. See, in this document, the topic on how
to configure the recording for an agent group.
You have defined the campaign or inbound customer service. See, in this document, topics Setting up an
outbound campaign and Setting up an inbound service.
To create an evaluation form for your recordings, you need to use the Evaluation Forms module in
Aheeva Manager. It can be found inside the Quality module. The Evaluation Forms module gives access
to three sub‐sections:
Copyright © 2015 Aheeva Technology. All Rights Reserved 135
AheevaCCS 6.0 User Guide
1. the Evaluation form builder to create the on‐line form that supervisors or managers will fill out as
they play back the recording,
2. the Answers list builder to provide the evaluators with the means to answer the evaluation
questions, and
3. The Labels list builder to format the display of the evaluations once they have been filled out and
saved.
You will adapt the process to your own needs, but here are roughly the steps to building an on‐line form
to evaluate the quality of the service given by your contact center and your agents’ adherence to your
business goals as witnessed by the recordings of the conversations between your agents and your
clients.
1. Pre‐form building:
Establish your objective and key points to be evaluated. Before you start building the form, plan the
series of questions to be answered by the evaluators as they work through the form and listen to
the recordings. You will group the questions on the form so that they reflect the areas that you want
to monitor; for example, performance or customer satisfaction
Copyright © 2015 Aheeva Technology. All Rights Reserved 136
AheevaCCS 6.0 User Guide
2. Start the layout of the form by structuring and naming the various evaluation sections and
associated sub‐sections. This is done with the Question group panel of the form builder.
3. Decide if you want to collect comments from evaluators. This is done through the Questions panel
for comments on individual questions, or through the Question group panel >Add details pop‐up,
for comments on the entire group of questions.
Do you want to have each evaluation topic displaying its score? This is done through the Question
group panel >Add details pop‐up.
4. Write the individual questions for each of the key points you want to monitor. This is done through
the Questions panel.
5. Provide a choice of answers or of means to answer the evaluation questions and indicate if totals
are to be displayed for sub‐sets of questions once the form has been filled out and saved. This is
done through the Answer list tool.
Associate the answers and options to the evaluation questions by using the Questions panel of the
form builder.
6. Post‐evaluation
Once the form has been filled out and saved, you can have the results sorted and displayed across
multiple columns, so as to be categorized according to their rating. Write the column heading with
the Label list tool. Associate these sorting categories to your evaluation activity through the
Question group panel >Add details pop‐up.
From the Evaluation Forms in Aheeva Manager, add a new form.
Copyright © 2015 Aheeva Technology. All Rights Reserved 137
AheevaCCS 6.0 User Guide
On the General tab you must specify the following:
General information
Name Name the form, give it a unique name. This is displayed in the
Aheeva Manager’s listing of your evaluation forms.
Description Free text that describes the form.
Active Indicate whether the form is activate. An active form can be used
to evaluate recordings.
Predefined Global form. Use a predefined form to evaluate recordings that
belong to a campaign or to a queue that does not have its own
evaluation form.
Campaigns and queues are allowed only one predefined form.
Refer to the section “Recordings belonging to outbound campaigns”
in this document.
You can divide the evaluation form into several sections. Each section can also be further divided into
sub‐sections. The last items in this hierarchy are the actual questions. The purpose of this is to structure
the form through the use of headings and thus organize content according to the events that you want
to evaluate such as compliance to changes, improving a process or training agents.
Copyright © 2015 Aheeva Technology. All Rights Reserved 138
AheevaCCS 6.0 User Guide
The indentations in the listings displayed in the Question group panel below reflect this organization of
information: the deeper the indentation the lower the questions are going to be in the structure tree. In
fact, all the labels displayed on this panel are the headings for your evaluation activities.
To build the evaluation activity’s structure tree
Figure 99. Evaluation Form — Naming the Evaluation Categories and Activities.
1. Specify the following for each heading level:
Name: Section label to identify the business activity area that the group of questions is to evaluate.
Description: Tool tip that appears on mouse‐over the question group name.
2. Click the icon to further section the given evaluation activity.
3. To add a new separate section (top level) on the form, click the icon, at the bottom of the panel,
next to Add question group. In the screen capture above, Figure 3, this is “Product upgrades”.
4. Click the icon to delete a question group.
5. Click the [Save] button.
Warning
Clicking [Save] activates two functions:
It displays the Add details icon used to format how the results are to be displayed once the
evaluation has been filled out and saved.
It makes the sub‐section available in the next panel of the Evaluation form builder where you can start
writing the questions.
Copyright © 2015 Aheeva Technology. All Rights Reserved 139
AheevaCCS 6.0 User Guide
1. In the Question group panel, click the Add details icon on the right‐hand side of the question
group heading. The following popup will open.
In the current example, this is associated with the top‐level section in the given question group, the
evaluation activity that has been labeled “Customer satisfaction”.
Figure 100. Evaluation Form — Allowing for Comments and Sorting Results.
2. The following needs to be specified:
Adding details
Add Comment Indicate whether you want to enter a comment, next to the
question group’s title, about the customer service area
that is being evaluated.
Rows Number and Cols Enabled only when “Add comment” is checked. They represent
number the number of characters [Cols] and number of rows [Rows]
that will be displayed as a comment, more characters or
rows can be viewed by using scrollbars.
Display total Check it to display a total at the bottom of the question
group.
Labels list Available only when “display total” has been activated.
Evaluation results will be listed under the categories that
you define here by selecting a set of labels for the
columns’ heading. This drop-down list starts empty: you
must feed it with the tool Labels list.
Evaluations need to have been saved for these labels to be
displayed and relevant.
The labels need also to have been activated.
To set up the labels that are to be listed here, see, in
this document, the topic Labels list.
21.2.5 Questions
You can add questions only to the lowest sub‐sections in a question group hierarchy; the higher sections
are used as headings to structure the information. Also, save the form in the previous step before you
click the Question tab.
Warning
The field Question group will only list the lowest levels of the given form’s evaluation sections. In the
current example these are items “First call resolution”, “Diagnostic wizard‐based help” and “Followed
script”.
Copyright © 2015 Aheeva Technology. All Rights Reserved 140
AheevaCCS 6.0 User Guide
1. Specify the following:
Question details
Name The text of the question that will appear on the evaluation
form.
Answer Choose the set of answers and answering options by which the
evaluation question is to be answered.
In the current examples, the evaluator will have to pick
amongst a choice of ratings (“excellent”, “very good” and
“good”). Each choice is scored differently, thereby rating
the activity that is being evaluated.
The answer drop-down list starts empty: you must
feed it with the Answers list tool. To get
instructions on creating answers and options to
questions, see, in this document, topic Answers list
Order Question display order in the question group section.
Defaults to “0”, which will be the first question to appear
for the given evaluation point. Write over to change the
value if needed. Increment the value by “1” for the question
that you want to display next.
Add comment Indicate whether you want to give the evaluator the
possibility to enter a comment next to the question.
Cols number and Rows Enabled only when “Add comment” is checked. They represent
number the number of characters [Cols] and number of rows [Rows] of
comment that will be displayed, more characters or rows can
be viewed by using scrollbars.
2. Click the icon to add a new question.
3. Click the icon to delete a question.
Copyright © 2015 Aheeva Technology. All Rights Reserved 141
AheevaCCS 6.0 User Guide
By adding group dependency, you can add actions to the evaluation process that are based on the
evaluator’s selections. For example, you can hide some of the questions, or all of the remaining
questions in an evaluation activity depending on the answers given by the user.
Use this feature to alter the scoring of evaluation activities and make the rating of recordings dependent
on certain conditions.
You can only add dependency on question groups that hold questions. Question groups that hold no
questions are structure headings for the evaluation form. See the topic Grouping the questions into
quality monitoring activities in this document.
To create a dependency
1. In the Group dependency panel, select a Question group from the drop‐down list.
2. Click the icon to add a new dependency.
3. Specify the following:
Type: Choose the type of dependency. See, below, Types of dependencies.
Name: Use it to distinguish between 2 dependencies of the same type.
4. Click the icon to delete a dependency.
Warning
Click [Save] to display the Add Details icon next to each dependency’s name so that you can
complete its creation.
Types of dependencies
Copyright © 2015 Aheeva Technology. All Rights Reserved 142
AheevaCCS 6.0 User Guide
There are four dependency types:
Hide questions
When the evaluator clicks the answer that you have specified here, you can decide if he/she can skip
some of the remaining questions in the given group or all of the remaining questions in the group. If you
select this latter option, the evaluator will have to proceed to the next series of questions.
1. In the Group dependency panel, click the Add details icon for a dependency of this type.
2. Choose the question–answer set, from the drop‐down list, that is to trigger the hiding of some or all
the remaining question in a group if selected by the evaluator.
Case Study Scenario
Hiding questions in a group:
In the current example, you have indicated that if the evaluator clicks “excellent” to answer Question no
1 in the given evaluation point, he/she will skip Question no 2 and proceed with Question no 3 to
complete the First‐call resolution evaluation activity. Question no 2 will not be displayed on the
evaluation form.
3. In the Remaining Questions box, select any question that you want the evaluator to answer and
click the right pointing arrows to place the question in the Visible Questions box.
4. Click the [Save] button.
Condition on group total
The score for the entire group of questions is modified according to the condition that you define here.
Refer to topic Scoring the various answers in a set to see how you score answers as you create the form.
Copyright © 2015 Aheeva Technology. All Rights Reserved 143
AheevaCCS 6.0 User Guide
1. In the Group dependency panel, click the Add details icon for a dependency of this type.
Figure 104. Final score dependent on the results of the entire evaluation activity
2. Specify the following:
Operator Select the operator, from the drop-down list, that is to
determine the condition.
% value Indicate the value by which the score of the current
group of questions is to be compared to the total score
of the evaluation activity.
% value Indicate the resulting increase or decrease of the
current group’s score when the condition is met.
Case Study Scenario
Making the scoring of the group of questions conditional on total evaluation:
In the current example, if the score achieved by the First‐call resolution evaluation item (which may be
made up of several questions with their own scoring) is smaller than 10% of the score for the entire
evaluation of the recording (when the evaluator has answered all of the groups of questions on the
evaluation form), the score of the First‐call resolution item will be reduced by 2%.
3. Click the [Save] button.
Quest. ans. couples cond.
When the evaluator selects the answer or answers that you indicate here for the given question, the
score of the entire question group is adjusted to the percentage value of the score indicated here. Refer
to topic Scoring the various answers in a set to see how you score answers as you create the form.
Warning
You can leave one or several questions out of the equation by activating the Cancel Cond option.
Copyright © 2015 Aheeva Technology. All Rights Reserved 144
AheevaCCS 6.0 User Guide
1. In the Group dependency panel, click the Add details icon for a dependency of this type
2. Indicate the answers to each question that you want included in this conditional treatment and the
reduction or increase in the resulting score for the group of questions.
Case Study Scenario
Making the scoring of the group of questions conditional on matched answers.
In the current example, the evaluation activity First‐call resolution is made up of 3 questions that the
evaluator can answer by selecting “excellent”, “vg” or “good”. If the evaluator answers “good” to all 3
questions, the score for the activity will be reduced to 10% of its actual value.
N/A
When the evaluator chooses an answer that you have flagged here as one to be ignored in the
calculation of the group’s score, that answer’s allowed maximum score is deducted from the group’s
allowed maximum score. This means that the denominator is reduced and thereby, increasing the final
value of the entire group of questions, provided that the final score is not “0”.
Refer to topics Selecting the answering method and Scoring the various answers in a set to see how you
score answers as you create the form.
1. In the Group dependency panel, click the Add details icon for a dependency of this type.
Copyright © 2015 Aheeva Technology. All Rights Reserved 145
AheevaCCS 6.0 User Guide
2. Choose the answers that, when selected by the evaluator, will remove the associated question’s
maximum score from the equation and [Save].
3. Click the Cancel N/A option to remove the “not applicable” treatment and to make the answering of
the associated question count in the calculation of the question group’s score.
Case Study Scenario
When the score for a given answer in a group is ignored.
In the current example, if the score achieved by the First‐call resolution evaluation item (which may be
See topic Selecting the answering method and topic Scoring the various answers in a set to
understand where the parameters that are used in this example come from.
In the current example, the evaluation activity First‐call resolution is made up of 3 questions that the
evaluator can answer by selecting “excellent”, “vg” or “good”.
The maximum score that answering each of the questions can bring is as follows:
Max score for question 1 = 10
Max score for question 2 = 10
Max score for question 3 = 10
Maximum score for the group = 30
The score for answering excel = 10, vg = 5 and good = 0, to any of the questions.
The answer “good” is checked for question 2; so if the evaluator answers question 2 by “good”,
question 2’s maximum allowed score is removed from the calculation of the evaluation activity First‐call
resolution’s score.
Then, during the evaluation of the recording, the evaluator answers as follows:
Question1 = vg
Question2 = good
Question3 = good
Score will be 5/20 instead of 5/30, because question 2 is not taken into consideration to calculate the
group’s score.
You can associate one or more campaigns to a given evaluation form, when the recordings for these
campaigns are evaluated they will use said evaluation form.
Warning
In order to If the form is flagged “predefined” this section will be disabled because the predefined
option being a global feature you will not be able to personalize the form for a specific campaign.
If you want to specifically link a predefined form to a campaign, click the General tab and deactivate
the predefined option.
Copyright © 2015 Aheeva Technology. All Rights Reserved 146
AheevaCCS 6.0 User Guide
In the Outbound campaign panel, select a campaign in the Available campaign box and click the arrow
pointing to the right to move it to the Selected campaign box. This prevents the particular campaign
from being displayed and being available to any other evaluation form.
If you expected to find active campaigns in your call center listed in the Available campaign box, and
you don’t see them here it is because it may already have been attached to another evaluation form.
Copyright © 2015 Aheeva Technology. All Rights Reserved 147
AheevaCCS 6.0 User Guide
Figure 108. Linking a Queue for Inbound Calls, and their Recordings, to an Evaluation Form.
In the Inbound queues panel, select a queue in the Available queues box and click the arrow pointing to
the right to move it to the Selected queues box. This prevents the particular queue from being displayed
and being available to any other evaluation form.
If you expected to find active queues listed in the Available queues box, but don’t see them here it is
because they have already been attached to another evaluation form.
Figure 109. Linking an agent group to an evaluation form, in case of manual calls.
Copyright © 2015 Aheeva Technology. All Rights Reserved 148
AheevaCCS 6.0 User Guide
In the Agent group’s panel, select a group from the Available agent groups box and click the arrow
pointing to the right to move it to the Selected agent groups box. This prevents the selected group from
being displayed and available to any other evaluation form.
If you expected to find active agent groups listed in the Available agent groups box, but don’t see them
there, it is because they have already been attached to another evaluation form.
Labels are the headings of the columns that can be used to distribute the results of the evaluation into
labeled, named, categories.
A list of labels can be assigned to a group of questions whose scores are placed under the appropriate
label.
The labels are displayed when viewing saved evaluations. So if the user is evaluating a recording for the
first time, the scores will not be sorted into categories but rather listed by the titles of the sections on
the evaluation form.
An active list of labels can be assigned to any question group in any evaluation form. To see how you can
link the labels to groups of questions when you are building the evaluation form, see, in this document
topic Allowing for evaluators’ comments and categorizing results.
From the Evaluation Forms in Aheeva Manager, add a new Labels list.
The following needs to be specified:
General information
Name Name of the set of labels. It should be unique.
Copyright © 2015 Aheeva Technology. All Rights Reserved 149
AheevaCCS 6.0 User Guide
Active Indicate whether the labels list is activated. By activating
a labels list, it can be assigned to a question group.
Figure 111. When Scores Determine Where Answers are Classified.
1. In the Label details panel, specify the following for each line:
Label details information
Name The label that will appear when viewing a saved evaluation,
the column’s heading.
Description Tooltip that appears on mouse over the name. Be descriptive
on what a label such as “good”, for example, means; having a
tooltip that says the same thing that is displayed on the
screen does not improve usability.
From % and To % if group or question scores between <from%> and <to%> then
display the score under this column label when viewing a
saved evaluation. (from% <= score< To %).
2. Click the icon to add a label.
3. Click the icon to delete a label
Case Study Scenario
Copyright © 2015 Aheeva Technology. All Rights Reserved 150
AheevaCCS 6.0 User Guide
scores to evaluation questions are sorted into categories
This example of result distribution is based on the labels that were created in the previous steps
(Defining the sorting criteria) and the scores granted to each question depend on the answers that the
evaluator selected (see step Scoring the various answers in a set).
Saved Evaluations, Display Options.
It is clear that 5/10 falls between 0 and 50% of the total score [10] the group score is displayed
under the “Good” column.
You can create many sets and types of answers to the evaluation questions. Each active list of answers
can be assigned to several questions, or spread over many forms. To see how you link the answers to
groups of questions when you are building the evaluation form, see, in this document topic Questions.
Case Study Scenario
Tip. Rating each of the choices that are presented to evaluators is how recordings are scored and how
the areas under evaluation in the call center’s activities, such as compliance to a given rule, can be
rated and compared to previous results or to business requirements. Asking the right questions in the
right way so that you can skillfully assess what it is that you really want to assess is an art form.
To get the most out of the evaluation tool by being able to extract any significant information out of
evaluating recordings of interactions between your agents and your customers, you must prepare the
questions carefully, know what questions to ask and anticipate the evaluators’ answers so you can
score these appropriately, understand their impact on your analysis of the situation and possibly launch
actions that will steer the evaluation process to the desired outcome.
From the Evaluation Forms in Aheeva Manager, add a new Answers list.
Copyright © 2015 Aheeva Technology. All Rights Reserved 151
AheevaCCS 6.0 User Guide
Figure 112. What Form Do You Want the Evaluator’s Answer to Take?
Specify the following:
General information
Name Name of the list of answers, it must be unique.
Copyright © 2015 Aheeva Technology. All Rights Reserved 152
AheevaCCS 6.0 User Guide
21.4.2 Scoring the various answers in a set
Figure 113. Writing the Various Replies that Evaluators Can Select When Answering a Question.
1. Specify the following:
Answer details information
Name The value displayed for an answer next to question.
2. Click the icon to add a label.
3. Click the icon to delete a label
Case Study Scenario
Copyright © 2015 Aheeva Technology. All Rights Reserved 153
AheevaCCS 6.0 User Guide
This example of an evaluation called “Customer satisfaction” with its two evaluation
activities (First-call resolution and diagnostic wizard-based help) is showing answers
whose form (radio buttons) and scores were created in the steps of the current topic,
Answers list setup.
Figure 114. Managers Creating the Evaluation Activity Set Up its Scoring.
Once you have the evaluation form, you can use it on recordings.
From the Recordings module in Aheeva Manager.
1. Enter you search criteria and click [SUBMIT].
2. A list of recordings will appears. Under the Evaluation heading, click the button.
Warning
Copyright © 2015 Aheeva Technology. All Rights Reserved 154
AheevaCCS 6.0 User Guide
If the recording has already been evaluated, instead of the button you’ll see the button.
By clicking this button you can edit the evaluation.
Here is an example of an evaluation form ready to be used on a specific recording:
3. Click the to play the recording. You can change the play speed using the slider. Also you can
choose to skip or not the hold time.
4. Provide the answers to all the questions and associated comments when needed.
5. Click the button.
On the evaluation form, you can also check the number of pauses done during a call to comply with PCI
DSS. When the number of pauses is clicked, a popup shows the duration of the pauses for each call.
Copyright © 2015 Aheeva Technology. All Rights Reserved 155
AheevaCCS 6.0 User Guide
You can view the saved evaluation either in update mode (see previous section Evaluating recordings),
or in view mode by following the steps bellow. Unlike the update mode, the view mode does not allow
you to modify the evaluation, this feature shows you who did the given evaluation and when.
From the Reports module in Aheeva Manager, open the Agent Monitoring Report, as shown below:
Copyright © 2015 Aheeva Technology. All Rights Reserved 156
AheevaCCS 6.0 User Guide
Figure 119. Asking for Listening Reports on Recordings that Have Been Evaluated.
1. Check “Show only evaluated recordings” if you want to limit the result to only evaluated recordings.
2. Click the button. A list of recordings will appear.
3. Click the button. This button appears only next to evaluated recordings. If the recording has
not been evaluated and you want to evaluate it, see, in this document, topic Evaluating recordings.
Copyright © 2015 Aheeva Technology. All Rights Reserved 157
AheevaCCS 6.0 User Guide
22FORM BUILDER
The Form Builder is a drag‐and‐drop integrated program that creates forms to be used for both inbound
and outbound calls. Add input boxes, text areas, lists, drop‐down boxes, checkboxes, radio buttons, and
more. The best part is you don't have to know any code.
You can also add images and backgrounds and add as many as you need database connections. With
Form Builder, you can create snazzy forms without any HTML knowledge.
Case Study Scenario
You have installed the PHP modules. These modules are used by the PHP‐based form that will connect
to the MySQL Aheeva database as well as to other databases.
You have identified the users, those in your staff who manage or supervise the resources
You have created the agents and the groups of agents that are going to handle the calls.
You have configured the call recording feature for the agents.
You have defined the campaign or inbound customer service.
Copyright © 2015 Aheeva Technology. All Rights Reserved 158
AheevaCCS 6.0 User Guide
22.2 Features
PHP code generation into Apache server. See, in this document, topic “Global database parameters”
Add as many pages as you need without cluttering the screen. See, in this document, topic “Pages”.
Add any type of item on any given page. You can relate each item to a table field. See, in this
document, topics “Page elements”, “Table configuration” and item “datasource” in topic Properties
reference list for page elements.
Register multiple database connections and multiple tables for each database. See, in this
document, topics “Database configuration” and “Table configuration”.
Customize the “where conditions” in order to retrieve, insert or update only targeted data from/into
database tables. See, in this document, topics “Parameters configuration” and “where condition”.
You can “Save as” your form to avoid starting from scratch each time you want to add a new form.
See, in this document, topics “Time saving duplicates” and “How to use Aheeva’s template on your
own callings”.
The left‐hand side of the window lists the form’s components and the right‐hand side, their properties.
The draft board sits in the center.
Copyright © 2015 Aheeva Technology. All Rights Reserved 159
AheevaCCS 6.0 User Guide
1 Name of the form. In the current example, it is “Sample form”.
In the current example, there are 2 pages named “Page 1” and “Page 2”.
A special feature in the tools menu is the Add Custom Scripts. This option
allows the user to view the code include external css or javascript file and
add its own JavaScript code that will be executed after the save.
Copyright © 2015 Aheeva Technology. All Rights Reserved 160
AheevaCCS 6.0 User Guide
Add Custom Scripts
4 The elements to place on the pages.
See, in this document, the topic “the page elements reference list.
5 Click to activate or deactivate the form. An active form can be edited.
8 The work space. This is the drafting board, where you assemble the elements to
construct the pages of the form.
Page items are added here and can be positioned by clicking and dragging them
to a new position.
To delete an item from the page drag it over the delete bin or click on the
delete icon in the right panel, located in the bottom right corner of the work
space.
A text area field that the designer called “Comments” where agents will enter
Copyright © 2015 Aheeva Technology. All Rights Reserved 161
AheevaCCS 6.0 User Guide
their comments.
A combination box that the designer called “Job Title”. Which is also the
element that is currently selected and active on the page; therefore the
properties pane, in the right-hand side pane of the builder, shows the
parameters and values of said combination box.
Related display: Design example of a form and its elements.
You can create a form from scratch or start with an existing one that you adapt for a particular context.
From the Form Builder module in Aheeva Manager, add a new Form as shown below:
To create a new form you can use existing forms, active or inactive, as a starting point. Save the desired
Form under another name, activate it if it’s not the case already, and modify it as you wish.
Copyright © 2015 Aheeva Technology. All Rights Reserved 162
AheevaCCS 6.0 User Guide
Click the [...] button to open an existing form and select the desired form as template. Save it under
another name and adapt it to your needs.
When you start creating a form you must specify a name and specify whether it will be used in an
Inbound or Outbound context.
You can change the type of the form at any time and switch between inbound and outbound. At any
point in the building of the form you can click the form’s name (left‐hand pane of the builder) to display
its properties on the right‐hand pane and activate the appropriate form type.
When switching types, remember to update the configuration of the database(s) as well as the database
tables. See, in the document titled Aheeva User Guide, topics “Chain‐calling lists” and “How to load a
calling list”.
The form builder opens on a blank work space that displays basic information on the form you are about
to build and invites you to provide the form with its first page.
The right‐hand side of the builder displays standard form properties such as its name or type or the date
of its creation.
The top bar indicates that the newly named form’s status is Active by default.
Copyright © 2015 Aheeva Technology. All Rights Reserved 163
AheevaCCS 6.0 User Guide
Figure 124. Blank work space ready for the building of the form’s first page.
Active/Inactive form state
The state of the form affects your work in the Form builder and not the generated form that agents see
on their computer screen.
The checkbox to activate or deactivate the form is located at
the top of the interface.
An active form is fully editable.
An inactive form is “locked” and cannot be edited.
You can still view it and preview it although the options
from the File menu are limited.
Agents use an inactive form in the same way that they would
use a form that is active.
The form’s properties
Provides the following information:
Name Displays the name of the form. You can change the name
further down this pane, in the field Form name.
Type Displays the usage of the form intended for inbound or
outbound agents. You can change the form’s type further down
Copyright © 2015 Aheeva Technology. All Rights Reserved 164
AheevaCCS 6.0 User Guide
this pane, in the Type field.
Created by Displays the name of the user who has created the form.
Last modified Displays the date on which the form was last changed.
Modified by Displays the name of the user who did those last changes.
Database Name of the current database. Will list the tables once you
have selected them.
Form name Name of the form which you can change by typing over.
Database considerations
The default database is aheevaccs. Link the form that you are building with your database of choice
as early as possible in the process so as to save your work, indicate where the form is going to be
generated and from which tables the dynamic elements of the form are going to be fed and their results
recorded into.
Good Practice
For information on generating the form, see, in this document, the topic “Global database parameters”.
See also the topics “Database configuration” and “Table configuration”.
Copyright © 2015 Aheeva Technology. All Rights Reserved 165
AheevaCCS 6.0 User Guide
Time saving duplicates
You can make a copy of an existing form and rename the copy before applying only those changes that
are required by a new context.
Save the form and generate the necessary files.
Save For each form a directory is created containing the PHP file of the
form with the javascript libraries file and icons/images used in
the form.
If the name of the form has been changed since the last save the
new name will override the old name.
To save the form under a new name and keep the original form select
'Save as'.
Save as: Save the current form with a new name. A window will
Save As appear and you will be prompted to enter a name for the form. The
name cannot be the same as a previously saved form.
Previewing the form
From the File menu, preview opens the current form in an HTML window for previewing the
generated form. It’s a good way to see what the form will look like to the agents, its size and usability as
you are building the form.
Size and color of the generated form
Some of the form’s settings, such as its width or height, will carry over every page of the form. The
toolbar to define these is located at the bottom of the interface.
Figure 126. Setting up the general layout of the work surface and the form.
Specify the following:
Form settings
Width &height Defines the dimension guide: A red-dotted line in the work space.
The generated form’s window will be resized to this width and
height. (Elements placed outside of the guide area in the work space
will cause scrolling in the generated form.)
Design Make each page fit comfortably on the agents’ screen
tip: so that they don’t need to scroll. The default
form’s window’s height in the Form builder is 700
pixels: a standard screen resolution is 72 px/inch,
a 700 px-long form would display roughly as a 9.5
inch window on the agents’ screen. If a 9.5 inch
Copyright © 2015 Aheeva Technology. All Rights Reserved 166
AheevaCCS 6.0 User Guide
window is too long for your agents’ screen, shorten
the window and add pages to the form.
Add pages to the form, if needed. The form will
display navigation buttons ([previous] and [next],
besides the standard [save]) for the agents to move
between pages.
Background color Sets the background color for all the form pages.
On the toolbar, click the color square to open the picker as
follows.
Run the cursor over the color palette, or picker, and click the
palette to activate the new color and close the pannel. —Or—
Enter an hexadecimal value and click the “new color” square to
display the new color and the OK button. Click the [OK] button.
Grid shade
Grid Shade Choose a grid shade that is visible against your choice of
background color. A grid helps you to align the elements; it is
only visible in the work area of the interface and does not affect
the generated form.
A form is made up of pages, agents move between the pages by clicking the “previous” and “next”
buttons. You can display information to the agents, such as the customer’s name and address, on the
pages and you can have the agents update the customer’s file in your database. To show and obtain
information through these pop‐up forms you use page elements and fit their properties to your needs.
22.5.1 Pages
Copyright © 2015 Aheeva Technology. All Rights Reserved 167
AheevaCCS 6.0 User Guide
A form can consist of multiple pages, but it must have at least one page.
To add pages: In the left‐hand pane of the builder, click the + Add page command and name the new
page.
To delete pages: In the left‐hand pane of the builder, click the given page (a selected page is
highlighted), its properties are displayed on the right‐hand pane of the builder. Click Delete page.
Page order matches online display order
The order in which the pages are listed, on the left‐hand pane of the builder (top first, bottom last) is the
order in which they are going to appear on‐line, to the agents. To change that order execute the
following:
Figure 127. Page order shown here equals the order in the on-line form.
In the builder’s left‐hand pane, click the page’s name and click the up‐pointing arrow icon so the
selected page appears before the pages that are listed underneath. Or click the down‐pointing arrow
icon to have the page appear after the pages that are listed above it.
The page elements toolbar is located at the top of the interface. It contains icons depicting the elements
that can be added to form pages.
Click the appropriate page (on the interface’s left‐hand pane) to make it active in the work space,
and then click the required element. The element is placed automatically in the selected page's work
space.
Elements are placed automatically at the far left top corner of the work space. Click the element and
drag it into place.
Copyright © 2015 Aheeva Technology. All Rights Reserved 168
AheevaCCS 6.0 User Guide
There are 3 categories of elements:
Form elements: These elements can be read/written from/into the database. There are grouped on
the left‐hand side of the icon bar.
Search elements: Used to build a search block based on given parameters. They are grouped toward
the center of the icon bar.
Design elements: Elements to be displayed statically on the page. Examples of design elements are
company logos, instructions to the agents, product descriptions or section breaks. They are grouped
on the right‐hand side of the icon bar.
You can add a callback block by either using a predefined block or by creating a custom callback block:
Use predefined blocks: there are 2 predefined blocks:
Click on ToolsAdd callback
This will add the above block to your page. It automatically links the block elements to database
columns. This block is used for just adding callback on a record.
Click on Tools Add disposition
This will add the above block to your page. This block is not used for only adding callback it also allows
the user to choose the result of the call (accepted, refused …)
This is the list of result code that will be displayed on the agent side:
Copyright © 2015 Aheeva Technology. All Rights Reserved 169
AheevaCCS 6.0 User Guide
Result code = Accepted: The agent made the call and a sale is done
Result code = Refused: The agent couldn’t perform a sale
Result code = Do not call: The phone number of the called person will be added into the blacklist
table.
Result code = Wrong number: such selection updates the record status in the databases.
Add a callback block from scratch:
In order to be able to add a successful callback block you should add the following element on the page:
Copyright © 2015 Aheeva Technology. All Rights Reserved 170
AheevaCCS 6.0 User Guide
1. Add an element for the record_status column: This record should be filled with “Ready”
2. Add an element for the record_type column: This will contain the callback type, it is usually a drop
down list with 2 values: “Campaign CallBack” and “Personal CallBack”
3. Add element for dial_sched_time column: it should be filled like “yyyy‐mm‐ddhh:mm:ss”. It is easier
for the agent to fill 2 elements: a date element for the date and a drop down menu for the time.
4. In order to fill the date/time in 2 elements as above you should be aware of the following points:
Call Back Date: db format should be yyyy‐mm‐dd
The 2 element should be related to dial_sched_time column
In order to save the data of the 2 elements in the same column separated by “ “ you should put “ “
in the prefix of the Callback time element.
The “Code” in the “List of values” of the callback time element should be like “hh:mm:ss”
Copyright © 2015 Aheeva Technology. All Rights Reserved 171
AheevaCCS 6.0 User Guide
How to add a historical block?
You can add a historical block by either using a predefined block or by creating a custom historical block:
Use predefined block:
Click on Tools Add call History
This will add the above block to your page. It automatically links the block elements to historical table
(datamart_cmp_call_list_details table).
This is the list of fields that will be added in the block:
Copyright © 2015 Aheeva Technology. All Rights Reserved 172
AheevaCCS 6.0 User Guide
Add a historical block from scratch:
In order to be able to add a successful historical block you should add the following element on the
page:
Copyright © 2015 Aheeva Technology. All Rights Reserved 173
AheevaCCS 6.0 User Guide
1. Click on Tools Table Configuration : Add the datamart_cmp_call_list_details table
2. Click on Tools Parameters Configuration : Add a new parameter “RECORD_ID” if doesn’t exists
3. Click on Tools Where Clause Config. : Add new where clause that relates the record_id field in the
table datamart_cmp_call_list_details to the RECORD_ID parameter.
4. Add a data grid item and relate the datasource to datamart_cmp_call_list_details table with the
record_id as primary key
5. Add fields as much as you want. Example
6. And you can change the property of each field or item by clicking on the button .
In this example of a form being assembled in the Form builder, we have used the Aheeva outbound
template and changed the form’s default background color to something lighter (from Aheeva’s typical
deep blue to a pale yellow) for the purpose of this illustration.
Copyright © 2015 Aheeva Technology. All Rights Reserved 174
AheevaCCS 6.0 User Guide
Here are the page elements that have been used.
1 Image field. Static design element. The image is located and loaded onto the
form.
See, in this document, the Design elements in the reference list and their properties.
2 Static text. Design element used here to display non-changeable text.
In the screen capture used for this example, static text is used for the name of
the form and the heading of each of the two sets of information gathering tasks
required from the agents: that is, to confirm the customer’s identification and
to launch certain dispositions when certain situations are encountered.
3 Text. Form element that was labeled “First name”. Will involve reading and
writing from and into the database.
See, in this document, the Form elements in the reference list
and their properties.
The section “Customer identification” is fed by the database as the form follows
the calling list and reaches the agent together with the call.
Copyright © 2015 Aheeva Technology. All Rights Reserved 175
AheevaCCS 6.0 User Guide
4 Phone number. Form element that was labeled “Phone number”. Could have been
named “Cell number” or “Secondary phone number”. Will involve reading and
writing from and into the database.
5 Number. Form element that will involve reading and writing from and into the
database. In this example, the two number elements are labeled “Attempts” and
“Account number”.
6 Combo. Form element. Drop-down list supplied by the designer of the form and
from which the agents will select an option. Form element that will involve
reading and writing from and into the database.
In the current example. This page element (Schedule call back) is also a
required element, as witnessed by its yellow color. It means that the agent must
supply a time to call back the customer before the form can be submitted.
7 Date. Form element that will involve reading and writing from and into the
database.
8 Text area. This form element has been labeled “Comments” and although its height
(80 pixels) is limited, a scroll bar will appear and allow the agent to enter as
much ext as needed.
In the current example, the section break (which is a line, really, that can be
made thinner or thicker), has been placed behind page elements, filled with a
contrasting color and given sufficient height to serve as a visual breaker to
separate the groups of elements and to structure the form.
One section break gathers the page elements that concern the “dispositions”; it
is 160 pixels high (72 pixel/inch > just over 2 inches high on the agents’
screen). While the other section break gathers the page elements that are
related to the “customer identification” and its height is 240 pixels (72
pixel/inch > just over 3 inches high).
The section break filled in blue provides the background on which you place the
elements that will gather the customer’s information, such as first name, last
name, etc.
Related topic: Search elements and their properties.
In this example of a form being assembled in the Form builder, this form illustrates the utility of the data
grid element
Copyright © 2015 Aheeva Technology. All Rights Reserved 176
AheevaCCS 6.0 User Guide
1 Data grid. It is used to display, insert or update multiple records based on a database
table. In the example above the “Phone numbers of the called person” is a data grid
related to a table named “test2_chain”, bellow the figure of the popup that will open on
the agent side:
As displayed above the data grid displays multiple records. In order to setup a data grid
there are a set of properties to be taken into consideration:
Copyright © 2015 Aheeva Technology. All Rights Reserved 177
AheevaCCS 6.0 User Guide
Data source
Specify the table on which the data grid is based and the primary key of the table, this
primary key is useful for insert/update. If the primary key is auto increment there is no
need to add column for it in the data grid.
Grid columns
Define the column to be displayed in the data grid, click on the “…” icon to edit the
properties of each element.
Insert allowed
By default the data grid allows insert to the base table, you can disallow insert by choosing
“No” for “Insert allowed” property.
Delete allowed
By default the data grid allows delete from the base table, you can disallow delete by
choosing “No” for “Delete allowed” property.
The properties of an item are edited in the properties list (right pane).
See, in this document, the Properties reference list for page elements.
Copyright © 2015 Aheeva Technology. All Rights Reserved 178
AheevaCCS 6.0 User Guide
To delete an item from the page select the item by clicking on it in the work area and then either click
the delete icon at the bottom of the properties list (right pane) or drag the item to the delete bin.
Related topics: Please refer to the section “how to load a calling list for outbound” in this document.
You can access the database configuration from the Form Builder interface under Tools menu.
Configuring a database for the agents’ on‐line form is done from the Form builder. The program
provides a default database: aheevaccs_X. You can use the default database, and use its access and
PHP generation information, to apply globally to all the forms in your repertoire, or you can create a new
database link from where to generate the forms.
You can also keep the default database to generate and store the forms while creating a new database
to hold the tables that are to be linked to the form’s dynamic page elements and the calling list (in
campaigns) or the customers’ files (in inbound applications). You can retrieve data from both
aheevaccs_X database and other databases that you add. In fact, the added databases already exists,
you add only the link to them in order to retrieve data from fields of their tables.
Global configuration applies to all the forms and they cover the default aheevaccs_X database access
and the PHP generation path to produce the forms.
To access the global configuration
1. In the Form builder interface, click the Tools menu and select Global configuration.
A window appears containing global parameter properties.
Copyright © 2015 Aheeva Technology. All Rights Reserved 179
AheevaCCS 6.0 User Guide
2. Specify the following:
PHP generation path The path of the directory created when you save the form.
This directory contains the PHP file for the form and all
needed files to allow the execution of the form under the
Apache server. For each form a directory is created
containing the PHP file with the javascript libraries file
and icons/images used in the form.
A new database means a database other than the one provided by default (aheevacss) that is
configured from Global configuration to generate the forms. Access information to this new database
will apply only to the associated form and will be used to write into tables and to retrieve information
from tables intended for the form type page elements.
Copyright © 2015 Aheeva Technology. All Rights Reserved 180
AheevaCCS 6.0 User Guide
Information for the page elements can be picked from any number of tables and across several
databases.
1. In the Form builder interface, click the tools menu and select Database configuration.
A pop‐up window lists the databases that have been configured. (aheevaccs_X, the default, is always
shown and cannot be removed from the list.)
2. Click the+ Add database option.
A window appears where you can add the properties for the database.
3. Enter the information for the database in the following fields:
Label The name of the database as it will appear in the form
builder.
Copyright © 2015 Aheeva Technology. All Rights Reserved 181
AheevaCCS 6.0 User Guide
Password The password for the database.
4. You can test the connection by clicking the [Test connection] button.
5. Click the [Save] button.
Warning
In the Form builder, select the name of the form (in the top left‐hand pane of the interface) and look at
the form’s properties, displayed in the right‐hand pane of the form builder, to verity that it displays the
name of the newly created database.
You can modify the configuration by selecting Database configuration from the Tools menu and clicking
the database name. The properties of added databases will be listed and can be edited.
Note that adjustments made to the configuration of newly added databases do not affect the properties
of the default database aheevaccs_X. They are editable only from the Tools menu in Global
parameters.
You must specify the tables that will be used in the Form for each of your databases in order to relate
elements or to create WHERE conditions.
You can access the Table Configuration from the Form Builder interface under Tools menu.
You can relate the table to a previously created parameter. In this way, you can use the same pop up for
several calling lists and tables by only changing the value of the parameter.
Copyright © 2015 Aheeva Technology. All Rights Reserved 182
AheevaCCS 6.0 User Guide
1. In the Form builder interface, click the Tools menu and select Table configuration.
A window appears containing the current list of selected tables for the specific database shown in the
dropdown menu field. The tables listed are the calling list’s tables (for an outbound type application) as
well as all the tables for an inbound type application.
Copyright © 2015 Aheeva Technology. All Rights Reserved 183
AheevaCCS 6.0 User Guide
2. Choose a database from the dropdown list.
3. Click the '...' button to show a list of available tables for the selected database.
4. You can select or deselect tables from this list by checking the box next to the table’s name.
5. Click the [Save] button.
The list of tables will be refreshed showing the new selection of tables for the database. The Form
builder interface also lists the table in the form’s properties pane under the database information.
Good Practice
The order in which the tables are listed is the insert order while executing the save on the generated
PHP code. You can change the order of the tables by clicking on the up‐ and down‐pointing arrow icons
next to the table’s name.
For example, in the screen capture shown previously, insert will be executed on table test2 first and
second, on table test2_chain
For information on the contents of these tables and the values in their fields, refer to your database
table collection or dictionary.
The forms initiate actions, such as retrieving a customer’s last purchase, or submitting an update
request to the database. You must define how and when this reading and writing from and into the
database is going to take place.
Copyright © 2015 Aheeva Technology. All Rights Reserved 184
AheevaCCS 6.0 User Guide
22.10.1 Parameters configuration
Parameters are the values sent to the form via its URL (ex: http://xxx.xxx.xxx.xxx/test.php?p1=1&p2=2).
To catch the value of a parameter in the form you must define the parameter and its values during the
creation of the form.
Parameters can be used when defining WHERE clauses or used as the initial valueof a page element
when the form first appears on the agent’s screen.
In the current URL example, the p1 parameter = “1” and the p2 parameter = “2” when the form reaches
the agent.
How to create a parameter
Defining a parameter means giving it a name in the form generation in order to retrieve to intended
records from the database tables as instructed by the WHERE clauses.
1. In the Form builder interface, click the Tools menu and select Parameters configuration.
A window appears containing the current list of parameters.
2. Click the+ Add Parameter option.
3. Name (Label) the new parameter. The name must be unique in the form.
Copyright © 2015 Aheeva Technology. All Rights Reserved 185
AheevaCCS 6.0 User Guide
4. Click the [Save] button.
The list of parameters will be refreshed.
You can label a parameter by clicking its name or remove the parameter by clicking the delete icon,
located to the right of the name.
Use the WHERE clause utility to limit the data that is read from the database tables to only those records
that are requested.
How to configure where clauses
1. In the Form builder interface, click the Tools menu and select Where Clause config.
A window appears containing the existing clauses for a specific database.
Figure 139. WHERE clauses — source tables and target tables or parameters.
2. Choose a database from the dropdown list. It is to this database and its tables that the WHERE
clause will be associated.
3. Click the Add WHERE Clause option. A list of empty property fields will appear in the window.
4. Fill the appropriate fields:
From table The filtered table. The source of the values.
Where field The filter will be based on the content of this table field
(to choose or change the field you have to click the '...'
button).
Dest. Type Set this to 'Table' or 'Parameter' to determines the type of
data used to filter the 'From table'
Copyright © 2015 Aheeva Technology. All Rights Reserved 186
AheevaCCS 6.0 User Guide
When set to 'Table' specify the destination table and field,
otherwise specify the destination parameter you create in
the previous step.
Dest. table The value used for filtering the source table is retrieved
from the dest. Table
Click the “...” button to list the tables
Dest. parameter Destination parameter that will hold the value passed from
the URL to filter the source table.
5. Click the [Save] button.
Warning
You cannot use a table as the destination table before adding a where clause for the said table.
This means that the first where clause must contain in the destination a parameter. This will limit the
selection from the source table to a single row, then the subsequent where clauses can be related to
either this table or to the parameter.
The where clauses must be defined for each database alone. So, if I use several databases, where
clauses must be written for each one of them.
Agent opened popups: it displays a live view of the non submitted popups. The non submitted popup
are divided into two categories:
Still opened popups: it displays info about the popup that are currently opened at the agents.
Closed popups: jt displays popups closed by the agents without pressing on save button.
Search Criteria Bloc:
From date: default value today
To Date: default value today
Campaign: Combo box listing all campaigns with default value “All campaigns”
Refresh Rate: The report should be refreshed each <x> seconds
Default value: 5 secs
Available values: 5 sec, 10 sec, 30 sec, 1 min, 2 min, 10 min, 30 min, 1h, Stop
refresh
Copyright © 2015 Aheeva Technology. All Rights Reserved 187
AheevaCCS 6.0 User Guide
Legend:
Highlight in <yellow> opened popup greater than <input> minutes, default 5 minutes
Highlight in <orange> opened popup greater than <input> minutes, default 10 minutes
Highlight in <red> opened popup greater than <input> minutes, default 15 minutes
Highlight in <blue>if same agent has more than one opened popup.
Result Bloc:
Refresh each <x> seconds
Display the following fields in the report
Campaign
Agent id
Agent name
Call time
URL
Submit popup (button) on click the url column (opened_popup) should be opened in order to
submit the popup.
Highlight in blue when 2 or more lines refers to the same agent.
Sort by date/time
date search bloc (Yearly,monthly,fromdate/todate)
three checkboxes for:
Closed by agents without submitting
Pop ups opened for more than <input> minutes
Pop ups submitted by supervisor
Result
Copyright © 2015 Aheeva Technology. All Rights Reserved 188
AheevaCCS 6.0 User Guide
If only “Closed by agents without submitting” is checked contains the records closed by the
agents without save including those submitted by the supervisor.
If only “Pop ups submitted by supervisor” is checked contains the records submitted by
supervisor including those closed by agents without save.
If only “Popups opened for more than <X> seconds” is checked contains the still opened popups
records for more than <X> seconds.
All the page elements in this block produce values that will execute, when encountered, a specific
action. When you adapt the template to suit your own needs you will decide on the values that the
agents will see in these fields and the actions that the agents’ selections will cause.
In the Form builder interface, select the desired page element [text field or combo box] ‐ then click on
the "Actions" property, found in the properties toolbar to the right side of the page
Copyright © 2015 Aheeva Technology. All Rights Reserved 189
AheevaCCS 6.0 User Guide
Example of setting up the action element “disposition code” to display and filling other form elements
Figure 140. Inserting a scheduled call-back by using action elements — define values of the result code.
A calling list table contains three columns that are typically engaged when a given telephone number
must be called back: the record’s status (Ready), the record’s type (“Campaign CallBack” or “Personal
CallBack”) and the scheduled redial date and time. In order for the form to pull that information about
the call‐back out of the database, you must place on the form the page elements to do that task. And to
fill the form’s 4 elements with data from the database, you will turn those elements into action
elements with “Fill” action.
When using chain calling (multiple phone numbers for the same person), you can specify on which
number you want to call the person by adding a new element on the page related to the
CALLBACK_NUMBER column. The most useful element is the combo box you can use it as bellow in
order to display the list of numbers for the called person.
Copyright © 2015 Aheeva Technology. All Rights Reserved 190
AheevaCCS 6.0 User Guide
The RECORD_ID is the parameter sent to the agent concerning the called person.
Following is a list of the page elements that you can use to build an on‐line form for the agents working
in customer services or the agents working on campaigns. Each of the page elements listed below are
configured by defining their properties. See, in this document, topic “Element properties reference list”.
Good Practice
To see an example of how the page elements are put together, and the way some of them can be used
on a form, see, in this document, topics “Design example of a page and its elements”
Text field. Displays a single line of editable alphanumeric values.
The item generated on the page can be related to a table field and/or a parameter.
To see an example, go to topic “Design example of a page and its elements”
Combo field. Displays a user‐defined list of values.
The item generated on the page can be related to a table field and/or a parameter, it
Copyright © 2015 Aheeva Technology. All Rights Reserved 191
AheevaCCS 6.0 User Guide
can be assigned values from which a default value can be specified.
To see an example, go to topic “Design example of a page and its elements”
Related topics: See Datasourceelement property,
Parameter element property,
Text area field. Displays multiple lines of editable alphanumeric values.
The item generated on the page can be related to a table field and/or a parameter.
In the examples used in this document, this type of element has been used as a text box
where agents could enter comments about the call. See topic “Design example of a page
and its elements”
Related topics: SeeDatasourceelement property,
Parameter element property,
Radio button. Displays a user‐defined list of values.
The item generated on the page can be related to a table field and/or a parameter, it
can be assigned values and a default value can be specified from the list of assigned
values.
Related topics: See Datasource element property,
Parameter element property,
Checkbox. Displays a checkbox.
The item generated on the page can be related to a table field and/or a parameter, it
can be assigned a value to return when checked and another one when unchecked. This
form element can be displayed in a default checked or unchecked state.
Related topics: See Datasourceelement property,
Parameter element property,
Display value field. Displays a single line of non‐editable alphanumeric values.
The item generated on the page can be related to a table field and/or a parameter. It
can display a default value.
Related topics: SeeDatasourceelement property,
Parameter element property,
Number field. Displays an editable numeric value.
The item generated on the page can be related to a table field and/or a parameter, the
number value can be limited to a defined range by setting the minimum and maximum
properties. It can display a default value.
Copyright © 2015 Aheeva Technology. All Rights Reserved 192
AheevaCCS 6.0 User Guide
Related topics: See Datasourceelement property,
Parameter element property,
Date field. Displays an editable date value.
The item generated on the page can be related to a table field and/or a parameter.
Example: see the disposition block for scheduled call‐backs in the outbound template.
Related topics: See Datasourceelement property,
Parameter element property,
Time field. Displays an editable time value (HH:MM:SS).
The item generated on the page can be related to a table field and/or a parameter. I can
display a default value.
Example: see the disposition block for scheduled call‐backs in the outbound template.
Related topics: See Datasourceelement property,
Parameter element property,
Phone number field. Displays an editable numeric value.
The item generated on the page can be related to a table field and/or a parameter. It
can display a default value.
Related topics: See Datasourceelement property,
Parameter element property,
E‐mail field. Displays an editable email value ([email protected]).
The item generated on the page can be related to a table field and/or a parameter. It
can display a default value.
Related topics: See Datasource element property,
Parameter element property,
Data grid. Displays multiple records based on a database table
The item generated on the page can be related to a table field and/or a parameter. It
can display a default value.
Related topics: See Datasource element property,
Grid columns element property,
Copyright © 2015 Aheeva Technology. All Rights Reserved 193
AheevaCCS 6.0 User Guide
22.12.2 Search elements
You set up the search feature through the list of parameters in which the search can be performed. You
link the parameters to the database through a WHERE clause and its table and field elements.
There are no character restrictions and only full words are valid.
Button. Displays a search button.
The button generated on the page is used to refresh data. You can change the label
“search” and call the button something else.
Search item field. Displays a search item.
The item generated on the page can be related to a parameter, thus when changing its
value it refresh the data with the newly entered value. You can change the label “search
item” and call the text box something else such as “search tel. number”.
Example: Based on the above figure where the parameters have been created and ANI
is the parameter selected to be the search target.
Then, you indicate that the search feature is to be made available to agents by placing a
search element and a search button on the form’s page. By selecting the ANI
parameter you are specifying that agent can enter a telephone number and pull out the
file associated to that number.
When a customer gets to talk to an agent who, to get the caller’s information, enters
the customer’s telephone number in the search field, the form displays that customer’s
file.
Related topics: See the topic Parameter configuration
the topic WHERE clause configuration
Copyright © 2015 Aheeva Technology. All Rights Reserved 194
AheevaCCS 6.0 User Guide
the element property Parameter.
Static text field. Displays multiple lines of static alphanumeric values. Agents cannot edit the text.
You can use it for headings and titles on the form or to provide instructions to the agents.
Image field. Use it to display a static image on the page.
Accepted file types are '.gif', '.bmp' or '.jpg'
(A background color can be added to the image.)
Click the '...' button to located the File and upload an image into the item. A window appears
containing the upload application.
To upload an image
1. Enter the location of the image to upload into the text field or click the [Browse] button and select
an image from your folders.
2. Click upload to place the image in the selected item in the form builder.
(The image will appear in the form builder’s work space and will be visible in the upload application
view area.)
The image file name is shown in the upload application window to confirm the file has been uploaded
successfully.
3. Click the [Close] button to close the upload application window.
Copyright © 2015 Aheeva Technology. All Rights Reserved 195
AheevaCCS 6.0 User Guide
To change an image
1. Select the image to change in the work space and click the '...' button in the properties list.
The upload application will open in a new window.
(The current image will be shown in the upload application view area.)
2. Select a new image by browsing your folders or enter the location of the new image in the text field.
3. Click upload to change the image to the new selection.
(The new image will appear in the form builder work space and in the view area of the upload
application.)
4. Click the [Close] button to close the upload application window.
Section7 break. Used to display a bar.
The item generated on the page can be used to indicate breaks in sections of the page or the
height and width can be modify and the item used as a background canvas.
Example: See Figure 132 for an illustration of a section break that is used as a
background to divide the various section on the form.
Copyright © 2015 Aheeva Technology. All Rights Reserved 196
AheevaCCS 6.0 User Guide
Hyperlink. Used to determine a connection from the form to another location, any internet
URL already defined.
The hyperlink is activated when the user clicks on the URL or the label associated to it. One or
more parameters can be combined to the URL. The type of the parameter can be any of the
following three:
Static value, Parameter or Page Element.
The static value is entered directly.
The parameter is a factor that is created separately and associated to a table.
The page element is any element existing in a selected page. The user has the choice to “get”
or “post” the parameters. One difference between “get” and “post” methods is that “get” is used
when the parameters are show in the URL; while “post” is used oppositely. It is meant to be
used when the user wants to hide the info and exclude it from the URL.
Hyperlink has also several common properties that facilitate the manipulation of the object.
Properties for each item added to the work area of the form builder are displayed in the right‐hand side
pane.
To view the properties of a specific item select the item by clicking it in the work area.
Copyright © 2015 Aheeva Technology. All Rights Reserved 197
AheevaCCS 6.0 User Guide
Changing the properties allows customization of the page elements.
See, in this document, the page elements reference list and an example of a page design and its
elements.
Following are the properties that you use to make a page element fit a given context. Not all the
properties apply to every of the page elements and some properties are optional.
Align Alignment of the label (Left, right or center).
Backgd Color Image field and Section Break only. Sets the color of the containing box for
an image, or the fill color for a section break.
Will show through any transparent areas of an image or, if the
containing box is larger than the image, will be visible as a
border around the image.
Copyright © 2015 Aheeva Technology. All Rights Reserved 198
AheevaCCS 6.0 User Guide
Backgd Width, Image field only. Sets the width and height of the containing box for an
Backgd Height
image (in pixels). If the containing box is set smaller than the image the
image will be resized to fit the box. If the image is set larger than the
containing box the containing box will be resized to fit the image.
Border Color Section break only. Sets the border color for a section break.
If the border width is set to “0px” the border color will not be
visible.
Border Width Section break only. Sets the border width for a section break.
Set to “0px” for no border.
Button Type Button only. Determines the function of the button.
Checked / Checkbox only. Determines the value to be returned when the item is
Unchecked value
checked/unchecked.
Content Static Text only. The text to be shown in the static text box.
Use it to relate a page element (or many) to a field in a table. That field will
Datasource
feed the page element on the form or, if the dataflow is going in the other
(optional)
direction, the agent’s action on the page element, such as entering some
information, will update the database table’s field.
To configure the Data source, click the ‘…’ button. A pop‐up window
appears with customizable options.
In Datasource operations, we have two options:
1. Relating one or more database fields to a display value, a concatenation
of contents will be associated in one entity field in the display. This is of
course, with the possibility of including, pre and post delimiters.
2. Relating one or more input elements to a single database field.
Copyright © 2015 Aheeva Technology. All Rights Reserved 199
AheevaCCS 6.0 User Guide
3. Now, Choose the required table, then the required field from the
dropdown lists.
For tables to be listed in the dropdown menu they must have
been defined previously. See the instructions, in this
document, in topic Table configuration.
Datasource(Data Specify the table on which the data grid is based and the primary key of the
grid)
table, this primary key is useful for insert/update. If the primary key is auto
increment there is no need to add column for it in the data grid.
Grid columns Define the column to be displayed in the data grid, click on the “…” icon to
edit the properties of each element.
Copyright © 2015 Aheeva Technology. All Rights Reserved 200
AheevaCCS 6.0 User Guide
Insert Allowed By default the data grid allows insert to the base table, you can disallow
insert by choosing “No” for “Insert allowed” property.
Delete Allowed By default the data grid allows delete from the base table, you can disallow
delete by choosing “No” for “Delete allowed” property.
Default (optional) Sets the default value of an item (the initial value shown in the generated
form).
See the Parameter property.
File Image field only. Click the '...' button to upload an image into the page
element.
Format accepted are GIF, JPEG and bitmaps.
Font Includes the font’s size, style, weight and color.
The settings apply to the text of the given page element.
Remember that sans serif typefaces (“stick” letters) such as
Arial, Gill Sans or Tahoma are easier to read on‐line than
serif letters such as Times New Roman or Garamond
(whereas the latters are easier to read on print).
Format Date field only. Determines the way in which a date is shown (mm/dd/yyyy,
dd/mm/yyyy, dd.mm.yyyy or yyyy‐mm‐dd).
Height Sets the size of the item (in pixels).
Label Optional except for button properties where the label is the text that
agents see on the button.
Otherwise, it is a text entry displayed to the left of the item.
Label width Sets the width (in pixels) of the area in which the label will be shown.
Left Sets the position of the item on the page. (Coordinates are relative to the
top‐left corner on the page, measured in pixels.)
Maximum, Number fields only. Determines the lowest and the highest numbers that
Minimum
will be accepted as values entered into the field.
Parameter You can assign a parameter value to a page element.
(optional)
Copyright © 2015 Aheeva Technology. All Rights Reserved 201
AheevaCCS 6.0 User Guide
If the item has a default value as well as a parameter value
the form will check the parameter value first, then the
default value.
Required Determines whether a form item is required to be filled before the form can
be submitted. (Required items are emphasized in the generated form,)
Style Section break only. Sets the style of the section break.
Top Sets the position of the item on the page. (Coordinates are relative to the
top‐left corner on the page, measured in pixels.)
Values Combo field and Radio buttons only. Determines the options that agents
will see in the drop‐down menu (combo) or choices (radio button).
Click the '...' button to open a pop‐up window where new options/choices
can be entered.
There are two ways to fill the list of values:
Fill from static values:
1. Click Add row to add an option/choice.
2. Specify the following:
Code: The hidden value that will be read/written from/into the
Copyright © 2015 Aheeva Technology. All Rights Reserved 202
AheevaCCS 6.0 User Guide
database field.
Example: A combo box with 2 values: 'M', for 'Male', and 'F', for
'Female'. You can relate this combo box element to a column in a
table containing the code 'F' or 'M' but displaying the associated
description (‘Male’ or ‘Female’) instead of the code.
Description: The text to appear in the dropdown menu or next to
the selected radio button
Default: The checked option/choice will be shown as the initial
(default) result.
Delete: Click to remove the option/choice from the list.
Fill from database:You can write aSQL query for retrieving data from
database instead of writing static values. You can pass parameters to
the query either by choosing the parameter from the list of “Add a
parameter to the where clause” or by writing it directly in the query
(‘$param_name’). Your result should be composed of two columns:
1. First column: Will be used as code
2. Second column: Will be used as description
If your query returns only one column, this column
used as code and description.
If your query returns more than two columns the fir
will be used as code and the second as description.
Example: select country_code, country_desc from tab_country
This query will retrieve the list of countries in the tab_country table.
Country_code as code and countr_desc as description
Width Sets the size of the item (in pixels).
Visible Hides or shows the items of the page. If the item is hidden no
validation is performed on it at all.
Database Especially meant for date and time property objects. The user
format
can choose from several formats for the database and
display. Note that sometimes, the database requires a certain
format.
Retrieve data This text area allows the user to write a select
from database
statement to retrieve data from a database table.
Whatever the selected fields are, only the first two
columns will be retrieved. The first one will be
considered as code the second as description. The
values will be updated in the level of log in.
Copyright © 2015 Aheeva Technology. All Rights Reserved 203
AheevaCCS 6.0 User Guide
Actions It is a utility for customizing the information gathered from a customer and the options that
are presented to a customer according to their particular situation and needs
Listing values to provide selections to the agents.
Each page element can have one or many actions. These actions can be
switched and shuffle up and down along the actions list. Each action has
one or more conditions, and one or more element actions.
As displayed above the actions are divided into three sections:
Actions section: Define the actions you want to execute according the
selected element values. For each action you should define the
conditions and elements actions
Conditions section: Define for the selected action the list of conditions
that –when satisfied‐ will trigger the execution of the list of elements
actions.
The user can choose between “OR” and “AND” to join the
conditions:
1. OR: Conditions of selected actions are considered as true if at least one
of the conditions is satisfied.
2. And: Conditions of selected actions are considered as true if all of the
conditions are satisfied.
Note that the conditions are different according to the page element
selected. If a combo box or a radio button is selected then, the values of
these elements will be shown in the condition box. While if the selected
page element is a checkbox then two options only will be shown, checked
or unchecked, and so on.
The figure above shows the case of a selected text field. The choice of
Copyright © 2015 Aheeva Technology. All Rights Reserved 204
AheevaCCS 6.0 User Guide
operators is as follows:
= [equal]
!= [not equal]
> [greater]
< [smaller]
<= [less than or equal]
>= [greater than or equal]
Like [containing a string of characters that the user specifies]
Elements actions section: Define the behavior when the conditions are
satisfied
The available actions are: FILL, HIDE, GO_TO_PAGE, HIDE_VALUES
FILL, the page has to be specified, the element has to be chosen, and the
desired value must be entered. This will fill the specified element with the
chosen value.
HIDE: no value is needed to be specified. Note that a radio button page
element cannot be hidden. The chosen element will be hidden. When the
condition is not satisfied, the chosen element will be displayed.
GO_TO_PAGE: Specify the next page that the agent will be redirected to
when clicking on “next”.
HIDE_VALUES: a special action for combo boxes and radio buttons page
elements. The values of the combo/radio are shown when the” …” is
clicked and then the user can choose the values by clicking on the
checkbox near each desired one. This will hide the specified values among
the list of values, when the condition is not satisfied all values will be
displayed.
If condition1 or/and condition2 or/ and conditions 3 are
satisfied; do element action1 and element action2…..
The Form builder generates forms written in PHP, therefore they must run on an Apache server.
Once you are done creating the form, you can run it from your browser with the following URL:
http://XXX.XXX.XXX.XXX/forms/forms.php?form=MyFormName&realm=MyTenantCode
Copyright © 2015 Aheeva Technology. All Rights Reserved 205
AheevaCCS 6.0 User Guide
This URL is composed of several parts and the ones in red must be modified to the correct values:
Fields to modify Description
XXX.XXX.XXX.XXX This is the IP address or hostname where the web server is running. It
can be the same location where the Aheeva Manager is running.
Please refer to the system administrator for the correct value
MyFormName This parameter is the name of the form that you specified when you
created the form.
MyTenantCode This is the code that indicates to which tenant this form belongs. It is
the same code that you specified on the login page of the Aheeva
Manager
Please refer to the system administrator for the correct value.
You can also add any number of parameters that you may need to the URL. However, the “form=” and
“realm=” are mandatory.
Copyright © 2015 Aheeva Technology. All Rights Reserved 206
AheevaCCS 6.0 User Guide
23DASHBOARDS
The Dashboards module in Aheeva Manager allows a user to display real‐time statistics on different
entities in Aheeva CCS with different graphical representations. Dashboards are access by pure https
communication, thus they can be displayed on a standalone Smart TV with Wi‐Fi access, without the
need to have the screen connected to a computer.
A dashboard can be made available to one or multiple users, and the access rights of users can allow
them to edit the dashboard or just view it.
Dashboards allow you to display statistics on
Queues
Agents
Agent Groups
Teams
Campaigns
Calling Lists
The graphical representations to choose from can be
Counter
Grid
Line
Pie
The possible type of graphical representation depends on the type of statistic chosen. For example, if
the user decides to have the number of answered calls and the number of abandons on a queue, this
cannot be shown as a counter; but as pie or a graph or a grid.
A dashboard can be opened in View mode or in Edit mode.
The edit button is used to switch to edit mode.
The view button is used to switch to view mode.
View mode displays the dashboard and statistics get updated in real‐time.
Edit mode allows the user to modify the dashboard. The possible operations are:
Copyright © 2015 Aheeva Technology. All Rights Reserved 207
AheevaCCS 6.0 User Guide
Change the name of the Dashboard
Add/modify/delete widgets
Delete the dashboard
Save an existing dashboard under another name (Save as…)
Save the modified dashboard
From the Dashboards module in Aheeva Manager, add a new dashboard as shown below:
Figure 148. Dashboard creation
Once a dashboard is created you can start adding statistics on it by adding widgets.
Copyright © 2015 Aheeva Technology. All Rights Reserved 208
AheevaCCS 6.0 User Guide
23.2 Add widgets
A widget is a statistic representation on a dashboard. You must be in Edit mode to add widgets.
Follow the steps below:
1. Click on the button to add a widget. This will open a white page with a toolbar from which
you must select the entity (Queue, Agent, etc.)
Don’t forget to give the widget a name that will be displayed on the dashboard.
2.
3. Select the entity. This will display four section on the page: The list of fields, the filter, the list of
resources of that entity type, a preview of the available graphics that apply for the selected
statistics.
a. List of fields
This is the information that make up the statistic.
From this list you can select which data you want to display.
Copyright © 2015 Aheeva Technology. All Rights Reserved 209
AheevaCCS 6.0 User Guide
Data can be of type Dimension of Measure. A Dimension is a descriptive data of the entity while
a Measure is a quantitative data.
b. Filter
The filter controls what resources are visible in the List of resources.
By clicking on a type of resource in the filer you decide what will be made available in the list of
resources below. You can also set the filter to “All” which will automatically select all resources.
c. Lists of resources
From the list of resources you can select the resources that you want to have statistics on. You
can select one, multiple, or all resources.
IMPORTANT: There is a difference between setting the filter to “All”, and setting the filter to a
resource type and manually selecting all the listed resources.
If you manually select all the listed resources then you will have statistics on all these resources,
and ONLY on these resources. Any resource created after the dashboard had been created will
not be included. The user will have to modify the dashboard to add it.
If you set the filter to “All” then you will have statistics on all the resources of the entity, even
ones created in the future.
Copyright © 2015 Aheeva Technology. All Rights Reserved 210
AheevaCCS 6.0 User Guide
d. Available graphics
Selecting Entities and resources will make the list of available charts change to only display the
type graphics that can properly represent the statistics.
This section is for informative and does not require any action from the user.
4. On the next page you must choose the type of graphical representation of the statistics.
The selection that do not apply to the chosen statistics will be disabled and you cannot choose from
them. When you select the type of graphic
Only counters can have their look customized, as shown below:
Copyright © 2015 Aheeva Technology. All Rights Reserved 211
AheevaCCS 6.0 User Guide
Adding a Grid offers two options that are not available with other widgets:
Display total: Will add a summary row at the bottom of the grid which will include totals and
averages.
Group by: Gives the possibility of grouping a list of agents by agent group or by team, or of
grouping a list of calling lists by campaign. Every subgroup will have a summary row that
displays total and averages.
This option is only available for entities of type Agents or Calling Lists.
Only Grids have the “Display total” and “Group by” options.
5. When done adding widgets DO NOT FORGET to save your dashboard before switching to view
mode. Otherwise you will lose your changes.
To edit widgets you must switch to edit mode of the dashboard. In that view you can edit, move,
resize, or delete a widget.
Copyright © 2015 Aheeva Technology. All Rights Reserved 212
AheevaCCS 6.0 User Guide
To edit the widget click on the little edit icon visible on the widget
To move the widget hold the widget anywhere and move it in your dashboard
To resize the widget hold one of the edges of the widget and drag it
To delete the widget click on the little trash bin visible on the widget
Copyright © 2015 Aheeva Technology. All Rights Reserved 213
AheevaCCS 6.0 User Guide
24LIVE MONITORING
A user with the set of permissions “Real‐time agent management” can do live monitoring of agents.
Live monitoring is started from a dashboard showing agents in real‐time. You can view the list of agents
on a dashboard by creating a grid widget on agents.
By simply clicking on an agent, the user will have access to a new toolbar from which the live monitoring
actions can be launched, as shown below:
The possible actions are:
Spying on agent
Whisper to an agent, without the customer hearing
Barge‐in and being a third party on a call
Chat window from which a supervisor can view a chat session or take part in it
Screen Monitoring where a supervisor can view the screen of an agent’s desktop, with the
possibility to control it (refer to permissions)
Change an agent’s status to Not‐ready (refer to permissions)
Logout an agent
Jump to the agent’s configuration page
Copyright © 2015 Aheeva Technology. All Rights Reserved 214
AheevaCCS 6.0 User Guide
It is possible to send some message to the agent’s softphone, the Starphone, through a TCP socket. The
socket must be opened to the IP address of the PC running the Starphone at port TCP 8767.
Before sending messages please note these facts:
The letter case is very important in the string sent.
Every message must end with a tild ‘~’ character. This indicates the end of the message and that
nothing else is coming on the socket.
Bellow the list of messages that can be sent.
25.1 RM_MSG_TYPE_LOGIN
This message is used to remotely login an agent.
<RM_MSG_TYPE_LOGIN><CtiHost>host</CtiHost><CtiPort>port</CtiPort><AgentID>agentId</Age
ntID><AgentPassword>password</AgentPassword><>tenant code<></RM_MSG_TYPE_LOGIN>~
25.2 RM_MSG_TYPE_LOGOUT
This message is used to remotely logout an agent. It does not logout the agent if he is during a
conversation (in this case you should hang up the call than logout)
<RM_MSG_TYPE_LOGOUT></RM_MSG_TYPE_LOGOUT>~
25.3 RM_MSG_TYPE_DIAL
This message is used to remotely send a command to the agent to dial a specific phone number:
<RM_MSG_TYPE_DIAL><Number>number</Number></RM_MSG_TYPE_DIAL>~
25.4 RM_MSG_TYPE_TRANSFER
This message is used to remotely transfer the call from an agent to another party:
<RM_MSG_TYPE_TRANSFER><Number>number</Number><RM_MSG_TYPE_TRANSFER>~
Copyright © 2015 Aheeva Technology. All Rights Reserved 215
AheevaCCS 6.0 User Guide
25.5 RM_MSG_TYPE_ CONFERENCE
This message is used to remotely create a conference between an agent and other parties.
<RM_MSG_TYPE_CONFERENCE><DialType>type</DialType><TimeOut>20</TimeOut>
<Number>number</Number></RM_MSG_TYPE_CONFERENCE>~
The <DialType>Type</ DialType> needs to correspond to a phone number (SIP) or an agent (IAX)
Type = 0 implements a conference with a phone number.
Type = 1 implementsa conference with an agent.
The <TimeOut>Time</TimeOut>Time is the specific duration to establish the conference if the Time is attempt and
the conference is not completed we will leave the conference.
25.6 RM_MSG_TYPE_FORCE_HANGUP
This message is used to remotely hang up the call of an agent:
<RM_MSG_TYPE_FORCE_HANGUP></RM_MSG_TYPE_FORCE_HANGUP>~
25.7 RM_MSG_TYPE_FORCE_READY
This message is used to remotely put the agent in "ready" mode if and only if the agent was in "not
ready" or "wrap up" mode.
<RM_MSG_TYPE_FORCE_READY></RM_MSG_TYPE_FORCE_READY>~
25.8 RM_MSG_TYPE_UNCONDITIONNAL_READY
This message is used to put the agent in "ready" mode whatever its current status is.
<RM_MSG_TYPE_UNCONDITIONNAL_READY></RM_MSG_TYPE_UNCONDITIONNAL_READY>~
25.9 RM_MSG_TYPE_HOLD
This message is used to put the current call on hold.
<RM_MSG_TYPE_HOLD></RM_MSG_TYPE_HOLD>~
Copyright © 2015 Aheeva Technology. All Rights Reserved 216
AheevaCCS 6.0 User Guide
25.10 RM_MSG_TYPE_UNHOLD
This message is used to retrieve the current call after putting it on hold.
< RM_MSG_TYPE_UNHOLD></RM_MSG_TYPE_UNHOLD>~
25.11 RM_MSG_TYPE_NOT_READY
This message is used to put the agent in not ready mode, if the agent is in ready state:
<RM_MSG_TYPE_NOT_READY></RM_MSG_TYPE_NOT_READY>~
You can specify the not ready reason by adding it to the message:
<RM_MSG_TYPE_NOT_READY><NotReasonReason>break</NotReasonReason></RM_MSG_TYPE_NOT_READY
>~
The <NotReasonReason>xyz</NotReasonReason> needs to correspond to a valid not ready reason that
is configured in the manager.
Copyright © 2015 Aheeva Technology. All Rights Reserved 217
AheevaCCS 6.0 User Guide
Agent stops recording while getting sensitive data verbally over the phone: Both audio and video are
stopped. In order to be able to stop the recording, you should modify the configuration of the agent
group. Refer to the Agent Groups section for more details.
Capture the customer sensitive data by DTMF (from phone keypad): Refer to the Agent Starphone
section for more details on how to use this functionality.
Copyright © 2015 Aheeva Technology. All Rights Reserved 218