0% found this document useful (0 votes)
492 views

AheevaCCS 6.0 User Guide

Uploaded by

Evariste n'drin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
492 views

AheevaCCS 6.0 User Guide

Uploaded by

Evariste n'drin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 226

 

 
 
 
 
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

1.1 Intended Audience

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. 

1.3 About Aheeva Technology

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 
 
 

2 LOGIN TO AHEEVA MANAGER

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. 

Figure 1. Aheeva Manager Login Screen

 
The login credentials are: 

 
Copyright © 2015 Aheeva Technology. All Rights Reserved  3 
 
 
AheevaCCS 6.0 User Guide 
 
 
Username A username provided by the administrator

Password The password is provided by the administrator or set by user

Tenant A code uniquely identifying the tenant and 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 
 
 

4 USERS AND ROLES

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. 

4.1 Create a role

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. 

4.2 Create a user

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

Minimum length This is the minimum length of a password

Maximum length This is the maximum length of a password


User defines password If enabled it allows the admin to set a password when
on creation creating a new user
Enable to allow the reset of a password from the login
User can reset password
page. This is used to hide/reveal the forgot password from
by email
the login page
If enabled it forces the user to wait for a certain
Enable lockout option
duration “lockout time” after a certain number of failed
after attempts
attempts “Lock out counter”
If enabled then user’s account will be deactivated after a
Enable activation after
certain number of failed attempts “Attempts before
attempts
deactivation”
Days for password Number of allowed days the user gets after changing the
expiration password
This is the time that a user can stay logged in without any
Idle account time activity, before getting automatically logged out from the
Aheeva Manager
 

 
Copyright © 2015 Aheeva Technology. All Rights Reserved  14 
 
 
AheevaCCS 6.0 User Guide 
 
 

6 USER CHAT INTERFACE

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”. 

Figure 10. User access to chat window

 
 
 

 
Copyright © 2015 Aheeva Technology. All Rights Reserved  15 
 
 
AheevaCCS 6.0 User Guide 
 
 

Figure 11. User chat interface

 
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

Lastname The last name of the agent


The login ID or agent ID that the agent must enter on his
Login
softphone in order to login to the Aheeva CCS
The password that the agent must enter on his softphone in
Password
order to login to the Aheeva CCS
Group The agent group to which the agent belongs.
Specify is the agent takes Inbound or Outbound calls, or
Agent type
both (Blended)
Team The team to which the agent belongs
If enabled then the agent can handle both Calls and Chat
Allow chat
communications
Skills Specify the values for the skills that the agent has.

 
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. 

8.1 Create an Agent 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. 

8.1.1 Agent Group – General settings 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.

Associated queue A name of a queue associated with this agent group.

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.
 

8.1.2 Agent Group – Agents configuration section

 
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.

8.1.3 Agent Group – Recording options

 
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.
 

8.1.1 Agent Group – Security settings

 
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

A team is a  named grouping of agents, similar to agent groups  but without  all the settings that agent 


groups offer. Grouping agents from an agent group into teams makes it easier for supervisors to monitor 
the activity of ‘their’ agents. 
Team members must belong to the same agent group. 
Adding or editing a team can be done from the Teams module in Aheeva Manager, as shown below: 

 
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) 
 

10.1 Uploading sound files

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. 

10.2 Setting up PCI sound files

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 
 
 

12CHAT CUSTOM MESSAGES

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. 

Figure 20. Chat custom 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

13.1 Using the 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. 
 

Figure 21. The Aheeva 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. 

Figure 22. Starphone – Login

 
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.

Tenant Id The tenant code provided by the administrator

 
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. 

Figure 23. Starphone — Conference

 
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 
 
 

Figure 24. Starphone — Conference, step 2

 
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 
 
 

Figure 25. Starphone — Transfer

 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. 
 

Figure 26. Starphone — Agent Pickup Method

 
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. 

Figure 27. Starphone — Attached Variables

 
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. 

Figure 28. Starphone — Confidential data

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.  

Figure 29. Starphone — Confidential data

 
The data received will appear as hidden values.  

Figure 30. Starphone — Confidential data

 
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.

Global If checked then this Not-Ready reason will be available to


all agent groups. If left unchecked then it will only get
created and you will have to manually add it to the desired
agent groups.
Use in productivity Use this Not-Ready reason in the calculation of the
productivity for the agents that are part of the agent group

 
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. 

15.1 Creating a skill

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 
 

16.1 Setting up an inbound service

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 

16.2 Associating the phone number with a 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) 
 

Figure 39. Call Condition on DNID

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. 

16.3 Developing a 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 

Figure 40. Routing Script Toolbar

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. 

16.3.1 Call properties

Call properties are the set of variables defined for a Routing script. 

Figure 41. Call Properties

 
 
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.

DNID Corresponds to the dialed number.


Similar to the DNIS.
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 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.
CHATTYPE Used by Chat Routing Scripts to
determine the right Routing Script
to execute for a chat request
 
There are two ways for adding a new call property: 

 
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 ‘$’. 

16.3.2 If-Else condition

An IF‐ELSE condition is used to compare a variable, or call property, to a value.  

Figure 42. IF-ELSE Condition

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. 

16.3.3 Switch-Case statement

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 
 
 

Figure 43. SWiTCH-CASE Statement

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 

clicking on the  button.To  and   buttons allow you to change the order of possibilities in the 


list. 

16.3.4 Agent Pick-up method

Distributing an inbound call to an agent is done from the routing script via  the Agent  Pickup  Method 


box. 

 
Copyright © 2015 Aheeva Technology. All Rights Reserved  53 
 
 
AheevaCCS 6.0 User Guide 
 
 

Figure 44. Agent Pickup Method — Setup

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.

DNID Corresponds to the dialed number. Similar to the DNIS.

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.

16.3.5 Virtual On Hold

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. 

16.3.6 Modify call priority

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 
 
 

Figure 47. Call Priority Change

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

16.3.7 Execute Asterisk applications

This  box  allows  you  to  select  one  or  several  Asterisk  applications  for  execution  and  specify  their 
parameters.  

Figure 48. Asterisk Applications

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.  

16.3.8 Automated Speech Recognition(ASR)

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.  

Figure 49. Automated speech recognition

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 

16.3.9 Text To Speech(TTS)

The text to speech is used to convert a text into an audio stream. You can add to your text routing script 
variable values 

Figure 50. Text to speech

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.  

16.3.10 Get DTMF

The GetDTMF box is used to play a voice prompt and capture DTMF input.  

Figure 51. GetDTMF Action

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).  
 

16.3.11 Database access

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 
 
 

Figure 52. Database Access

 
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) 
 

16.3.12 Arithmetic Operation

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 
 

16.3.13 Web Services

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. 
 

16.3.14 Get real-time statistics

Access all real‐time queues and agent statistics.  

Figure 53. Get 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. 

16.3.15 Call ending

 
Copyright © 2015 Aheeva Technology. All Rights Reserved  69 
 
 
AheevaCCS 6.0 User Guide 
 
 

Figure 54. Call Ending

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. 

16.3.16 Attach data

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.  

Figure 55. Attached Data

 
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 
 
 

Figure 56. Counters

 
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.  

16.3.18 Link boxes

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 

16.3.19 Delete link

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.  

16.4 Example of a routing script

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 
 
 

Figure 57. Routing Script Example

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. 
 

17.1 Setting up an inbound chat service

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 

17.2 Add a link on the website

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 

Associating the link with a Chat Routing Script

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) 

Figure 58. Call Condition on CHATTYPE

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.  

17.3 Developing a Chat 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 
 
 

Figure 59. Chat Routing Script Toolbar

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. 

17.3.1 Call properties

Call properties are the set of variables defined for a Chat Routing Script.  

Figure 60. Call Properties

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 ‘$’.  

17.3.2 If-Else condition

Please refer to the “If‐Else condition” in “Inbound IVR” section for details. 

17.3.3 Switch-Case statement

Please refer to the “Switch‐Case statement” in “Inbound IVR” section for details.  

17.3.4 Agent Pick-up method

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 
 
 

Figure 61. Agent Pickup Method

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

17.3.5 Modify call priority

Please refer to the “Modify call priority” in “Inbound IVR” section for details. 

17.3.6 Execute applications

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 
 
 

Figure 62. Chat applications

Click on the  button  to add it to the list of applications to execute. You  can remove an application 

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. 

17.3.7 Database access

Please refer to the “Database access” in “Inbound IVR” section for details. 

17.3.8 Arithmetic Operation

Please refer to the “Arithmetic Operation” in “Inbound IVR” section for details. 

17.3.9 Web Services

Please refer to the “Web Services” in “Inbound IVR” section for details. 

17.3.10 Get real-time statistics

 
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. 

17.3.11 Chat ending

Figure 63. Chat Ending

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). 

17.3.12 Attach data

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. 

17.3.14 Custom server

Please refer to the “Custom server” in “Inbound IVR” section for details. 

17.3.15 Link boxes

Please refer to the “Link boxes” in “Inbound IVR” section for details. 

17.3.16 Delete link

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. 

18.1 Loading a calling list

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. 

Figure 64. New Calling List

 
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.

Description (optional) An optional informative description of the calling list.

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 

Figure 65. New Calling List — step 2

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 

Figure 66. New Calling List —step 3

 
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 
 
 

Figure 67. New Calling List —step 4

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 
 
 

Figure 68. New Calling List —step 5

This  page will show you  the  progression of  the load operation  of the file into the  database calling list 


table.  
 

 
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 

Figure 69. New Calling List —step 6

 
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 

Figure 70. New Calling List — step 7

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 

Figure 71. New Calling List — step 8

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. 

18.2 Overview of chain-calling

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. 

18.2.1 Adding a chain-calling list step by step

1. Launching the wizard 

Figure 72. Launching the New Calling List 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.

Description An optional informative description of the calling list.

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:  

Figure 74. Example of a Chain-Calling List Source File.

 
 Click [Next] to go to the next page of the wizard. 
 

18.2.2 To add multiple telephones numbers for each of the parties


to be called

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

18.2.3 Matching the source file to the database table’s columns

 
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. 
 

18.2.4 Database table loading status

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 
 
 

Figure 76. Status of the Loading of the Database Table

Click [Next] to go to the next page of the wizard. 
 

18.2.5 Setting dialing hours, screen pops and time zones

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.

Defined URLs Choose from a list of URLs and IP addresses.

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.  

18.2.6 Processing status on dialing hours, screen pops and time


zones

Displays a progression status of the actions that were launched  on the database table in the previous 
step.  

Figure 78. Status of the Changes to the Database

Click [Next] to go to the next page of the wizard. 

18.2.7 Associating filters and treatments to the new calling list

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 
 
 

Figure 79. Applying Filters and Treatments to the Calling List.

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.  

18.2.8 Saving your settings as a template

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

18.3 Creating a treatment on a calling list

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 
 
 

Figure 82. Adding a New Treatment — step 2

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. 

Figure 83. Adding a New Treatment — step 3

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. 

18.4 Creating a filter on a calling list

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: 

Figure 84. Adding a New Filter

You have to specify the following parameters: 
Filter name The name to give to this filter.

Description An optional description.

Criteria This is where you have to specify the WHERE condition.


For example: WHERE time_zone=’EST’.
Note that statements of mixed case will not work. For

 
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

19.1 Setting up the prefix rules for outbound 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.  

19.2 Setting up the time zone rules for outbound campaigns

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. 

19.3 Setting up an outbound campaign

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.

19.3.1 Cancel Preview Call

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. 

19.3.2 Limit Callbacks

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 
 
 

Figure 85. Limit callbacks section

 
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.

19.3.1 Create an Outbound 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:  

Figure 86. Setting up an Outbound Campaign

You have to specify the following parameters on the General panel: 
Campaign name The name of the campaign.

Description A description of the campaign.


(optional)
Number of ports This is the maximum numbers of ports that the campaign is allowed
to use simultaneously.
If configuring a predictive campaign, an industry rule of thumb is
to have a 2-to-1, or even 3-to-1 ports-to-agents ratio. For
example, if you have 10 agents available, you should have at least
20 ports allocated to the campaign. The hit rate of the calling
list directly determines the number of ports required. For example,
if you have 10 agents and the hit rate is 25%, then you need to
dial 40 numbers to get 10 answers and keep all 10 agents busy,
which means you will need 40 ports for the campaign. A lower ratio
will cause agents waiting longer for calls.
For progressive and preview campaigns, this number can be the same
as the number of agents.
For a broadcast campaign, this number determines the maximum number
of calls you want to launch concurrently.
Caller ID This is the caller ID name and number that will appear on the
called party’s phone. It can be customized by campaign.
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 for all the dials for this
campaign
Active Check this option to make the campaign active.

 
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: 

Figure 87. Setting up an Outbound Campaign — Calling Lists

 
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: 

Figure 88. Setting up an Outbound Campaign—Do-not-Call Lists

 
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: 

Figure 89. Setting up an Outbound Campaign —Hours

 
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. 

Figure 90. Setting up an Outbound Campaign

The parameters that you need to define are in 5 groups: 
 

Dialing mode
Agent group Select the Agent Group that will recieve the calls.

Dialing mode Select the dialing mode.

Optimization parameter Choose “Overdial rate” or “Agent busy factor”. If you


select “overdial rate” the % value defaults to “10”. If you
select “agent busy factor” the % value defaults to “80”.

 
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: 

Figure 91. Setting up an Outbound Campaign —Security

On this page you can specify which user will have access to this campaign. 
 

19.3.2 FTC/CRTC compliance enforcing parameters

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 
 

19.4 Setting up a broadcast outbound campaign

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: 

Figure 92. Broadcast Routing Script

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. 

Figure 93. Screen Pop

 
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. 

Figure 94. Broadcast Routing Script — Mode

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.

Answering Enable or disable answering machine detection in Asterisk on the


Machine outbound campaign calls.
Detection
Leave a message This parameter indicates whether we need to invoke the routing
if answering script on a call if an answering machine is detected.
machine is
detected

 
  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. 

19.5 Operating an outbound campaign

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

20.1 Configuring black 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: 

Figure 95. Black list

 
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 
 
 

Figure 96. Configuring a Do-Not-Call List —step 2

 
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

21.1 Evaluation form overview

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. 

21.2 Creating an evaluation form

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. 

21.2.1 Steps to creating the form

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.  

Figure 97. How is it Made?

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. 

21.2.2 Identifying and activating a form

From the Evaluation Forms in Aheeva Manager, add a new form. 

 
Copyright © 2015 Aheeva Technology. All Rights Reserved  137 
 
 
AheevaCCS 6.0 User Guide 
 
 

Figure 98. Identifying the Evaluation Form — Personalized or Global.

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.

21.2.3 Grouping the questions into quality monitoring activities

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. 
 

21.2.4 Allowing for evaluators’ comments and categorizing results

 
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 
 
 

Figure 101. Questions and Answers sets

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.  

21.2.6 Group dependency

 
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.  
 

Figure 102. Evaluation Activity Dependencies

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. 

Figure 103. Hiding Questions based on an Answer

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  

Figure 105. Score dependent on every answer

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. 

Figure 106. Scoring while disregarding some answers

 
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. 

21.2.7 Recordings belonging to outbound campaigns

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 
 
 

Figure 107. Linking a Campaign, and its Recordings, to an Evaluation Form.

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.  

21.2.8 Recordings belonging to inbound queues

You  can associate one or  more queues, from one or more routing scripts, to a given evaluation form. 


When the recordings from those queues are evaluated they will use said form. For details on inbound 
queues see the topics “How to create an agent group” and “How to set up an inbound service” in the 
document titled Aheeva user guide.  
  Warning
  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 queue. 
If you want to specifically link a predefined form to a queue, click the General tab and deactivate the 
predefined option. 

 
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.  

21.2.9 Recordings belonging to agent groups

You  can associate one or  more agent  groups to a  given evaluation form. When  the manual calls from 


these agent groups are evaluated, they will use said form.  
  Warning
  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 agent group. 
If you want to specifically link a predefined form to a group, click the General tab and deactivate the 
predefined option. 

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.  

21.3 Labels list setup — or post-evaluation format

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. 

Figure 110. Defining and Activating Labels.

The following needs to be specified: 
General information 
Name Name of the set of labels. It should be unique.

Description Free text that describes the labels list.

 
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.

21.3.1 Defining the sorting criteria

 
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. 
 

21.4 Answers list setup

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. 
 

21.4.1 Selecting the answering method

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.

Description Free text that describes the list of answers.

Type Choose the style in which the selection of answers are


displayed on the evaluation form. You have the following
choices:
  Radio buttons. Use to provide a list of short options that
evaluators can pick. This is good for questions where users
are asked to classify an element in a general, broad, manner
or if the answer does not need expanding any further.
Example — writing questions that are gradually more
pointed and provide comment boxes.
To the question “How is the agent’s first contact
(introducing him- herself) with the customer?”, you can
have the evaluator select between “excellent”, “very
good”, “good” and “poor”. You can then provide a comment
box so the evaluator can explain his/her answer or you can
follow up with a second, more specific question, such as
“What needs improving?” and then list several areas (by
using a combo box) where improvements can be achieved.
This last question, about improvement, can be hidden from
the user if he/she selected “excellent” in the previous
step. 
Combo. Creates a drop-down list from which to select values.
Numeric. Evaluators can enter the score in a text field. The
score must be set between the Minimum and the Maximum values
that you indicate in the next two fields of this general
information panel.
Minimum and Maximum Useful when the type is Numeric. The score provided by
evaluators must be set between the Minimum and the Maximum
values that you indicate here.
Active Indicate whether the answers list is activate. By activating
an answers list, it can be assigned to a question.

 
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.

Description Tooltip that appears on mouse over the name.

Score Score taken when choosing an answer.

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.

21.5 Evaluating recordings

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. 

Figure 115. Searching for Records that need to be Evaluated.

  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: 

Figure 116. Evaluation Form Ready to be Used on a 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 
 
 

Figure 117. Evaluation Form – number of pauses

Figure 118. Evaluation Form – pause details popup

21.6 Viewing saved evaluation

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. 

Figure 120. Results of a Search for Evaluated Recordings.

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

22.1 Form builder overview

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”. 

22.3 Quick tour of the Form builder’s interface

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 
 
 

Figure 121. Tools to Design the Form.

 
1 Name of the form. In the current example, it is “Sample form”.

2 Lists the names of the pages that make up the form:

In the current example, there are 2 pages named “Page 1” and “Page 2”.

Page 1 is currently active (selected), its name is highlighted. The objects


that are displayed on the work area (8) belong to page 1.
3 Tools menu. Lists the tools that you use to configure the settings for the
entire form: all the pages on the form and all the elements that are on each of
the pages (such as buttons and text boxes).

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.

6 The Properties configuration pane for whichever item happens to be selected,


whether it’s the form itself or an entire page or a single element on the page.
See, in this document, the form’s properties. 
See also the properties of page elements.
7 Formatting, layout settings for the entire form.

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.

The work space has a background grid to aid in aligning items.

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.

In the current example, there are 3 elements on Page 1:

A text field that the designer called “Name”.

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.

See, in this document, the description of the page elements.


See also the properties of the page elements.

Related display: Design example of a form and its elements. 

22.4 Creating a form

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: 

Figure 122. Launching the Form Builder to create a new form.

22.4.1 Using an existing form

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 
 
 

Figure 123. Selecting an existing form in order to create a new one.

 
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. 

22.4.2 Creating the form from scratch

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 Displays the date the form was created.

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.

Type Displays whether the form is intended for outbound or inbound


use.
Switching between either type involves modifying tables or
databases or calling lists, or all of these at once.

Form title Display the title of the form as “submit:required” on opening


if it’s checked.
If this option is checked then the agent can’t go to ready
after he hanged up the call if he didn’t submit or close the
form.

 
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. 

Figure 125. A form that uses tables from two databases.

  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.

For a list of browser-safe hexadecimal color values, see


www.w3schools.com/css/css_colors.asp
Required Required elements on all pages will be marked with the selected
color.
(Click the color square to select the color - select from available
colors or enter a hexadecimal value.)

Preview your settings.

 
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.

22.5 Putting the form’s elements together

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. 

22.5.2 Page elements — the form’s building pieces

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. 

Figure 128. The form’s parts.

 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. 

22.5.3 How to add a callback block?

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 ToolsAdd 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 
 
 

The examples below show how the result  code element behaves and what  the agent sees with  every 


result selection: 

 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 = Not reached: The call couldn't be established 

 Result code = Do not call: The phone number of the called person will be added into the blacklist 
table. 

 Result  code  =  Callback: The agent must enter call back information and the system will try to call 


this person at the specified date and time. 

 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  . 

22.6 First design example of a form and its elements

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 
 
 

Figure 129. Example of a form being assembled in the Form builder.

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.

9 Section break. Static design element.

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. 

22.7 Second design example of a form and its elements

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 
 
 

Figure 130. Example of a form being assembled in the Form builder.

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. 

22.7.1 Edit the properties of an element

The properties of an item are edited in the properties list (right pane). 
See, in this document, the Properties reference list for page elements. 

22.7.2 Delete an element

 
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. 
 

Figure 131. Deleting items on the form.

22.8 Database configuration

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. 

22.8.1 Global database parameters

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 
 
 

Figure 132. Database and the form’s PHP generation path.

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.

Database physical name Name of the database on the server.

Database username The username to access the database.

Database password The password to access the database.

Server IP IP address of the database server.

Port Port number to access the database.

CTI server IP IP address of the CTI.

22.8.2 How to configure a new database

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.) 

Figure 133. Configuring space in your database.

2. Click the+ Add database option. 
A window appears where you can add the properties for the database. 

Figure 134. Properties of the new database space.

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.

Port The port used to access the database.

IP IP of the database server.

Username Database username.

DB name Name of the database on the database server.

Database type Defaults to MySQL.

 
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. 

22.8.3 How to modify the database configuration

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. 

22.9 Table configuration

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. 

22.9.1 How to choose the list of tables for a database

 
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. 

Figure 135. Accessing tables in a particular database

  Case Study Scenario


  Using tables across multiple databases:
In the screen capture above, the database in use is aheevaccs_X. Two of its tables are actively in use in 
the form that is being built: black_list_group and datamart_call_extradata. 
 
The form designer may add more tables from aheevaccs_X, or may select another database and use its 
tables instead in other page elements of the same form. 

 
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. 

Figure 136. Selecting particular tables in the 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. 

22.10 Giving interactivity to the form

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. 

Figure 137. Viewing the list of parameters.

 
2. Click the+ Add Parameter option.  
3. Name (Label) the new parameter. The name must be unique in the form. 

Figure 138. Adding parameters

 
 
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. 

22.10.2 Where clause configuration

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. 

22.10.3 How to use Form reports

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 

22.11 Delinquency report

22.11.1 Search criteria

 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. 

22.11.2 Dispositions block

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.

22.11.3 How to add a scheduled call-back block on your form’s page

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.  

22.12 Page elements reference list

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” 

22.12.1 Form 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. 

Figure 141. Setting up the Search Function

 
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. 
 

22.12.3 Design elements

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.
     

Figure 142. Loading an Image unto the Form.

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.) 
 

Figure 143. Changing images on the Form

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.

22.13 Element properties reference list

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 
 
 

Figure 144. Example of a page element’s list of properties.

 
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. 

22.13.1 Properties reference list for page 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. 

Figure 145. Linking several Database Fields to a Single Display Value

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 
 
 

Figure 146. Lin


king Several Input
Page Elements to
a Single Database
Field

 
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. 
 

Figure 147. Listing values to provide selections to the agents.

 
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…..  
 
 
 

22.14 Executing a form

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 

23.1 Create a 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. 

23.3 Edit widgets

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: 

Spy Whisper Barge‐in Chat Screen 


S/W/B Monitoring

Change  Logout  Open agent 


Agent to  Agent configuration
Not‐ready

 
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 
 
 

25REMOTE API FOR AGENT STARPHONE

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 
 
 

26PCI DSS COMPLIANCE

The PCI DSS  guidelines specify that after a  payment has been authorized,  the sensitive authentication 


data (i.e. the three‐ or four digit CV2 security number on the card) should not be stored in any format, 
not even encrypted. Help you become compliant to the PCI DSS guideline, you can choose between two 
methods: 

 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 
 

You might also like