This chapter explains how the information in each field in each Unified CCX historical report is obtained or calculated. It also describes how the filter parameters for a report obtain data.
The following conventions are used in this chapter:
Database table names - Explanations of report fields in this
chapter refer to various Unified CCX database tables. In some cases, these
explanations use abbreviations for database table names.
Conventions used in this chapter
lists the database tables that this chapter refers to and shows the
abbreviations that are used.
For detailed information about the Unified CCX database tables,
refer to
Cisco Unified Contact Center Express Database Schema.
Table 1 Database Tables
Database table name
Abbreviation used in this chapter
AgentConnectionDetail
ACD
AgentStateDetail
ASD
Campaign
—
ContactCallDetail
CCD
ContactQueueDetail
CQD
ContactRoutingDetail
CRD
ContactServiceQueue
CSQU
DialingList
—
MonitoredResourceDetail
MRD
RemoteMonitoringDetail
RMD
Resource
—
ResourceGroup
RG
ResourceSkillMapping
RSM
Skill
—
SkillGroup
SG
TextAgentConnectionDetail
TACD
TextAgentStateDetail
TASD
TextContactDetail
TCD
TextContactQueueDetail
TCQD
EEMContactEmailDetail
EEMCED
EEMQueueAgentDetail
EEMQAD
EEMEmailAgentStateDetail
EEMEASD
Database table fields - Explanations in this chapter specify
fields in the Cisco Unified CCX database tables as follows:
table.field
where
table is the name or abbreviation of the database table (see
above) and
field is the name of the field. For example,
CSQU.skillGroupID means the skillGroupID field in the
ContactServiceQueue table
Resource.resourceID means the resourceID field in the Resource
table
Report field names - In an explanation of a report field, a report
field name in
bold type indicates that field in the same report.
Abandoned Call Detail Activity report
The Abandoned Call Detail Activity report contains one row
per abandoned call. An abandoned call is a call for which
CCD.contactDisposition is set to 1 (abandoned).
Table 1
shows how the information in the Abandoned Call Detail Activity report is
obtained or calculated.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
For IVR calls, this field is set to the extension of
the originating agent as follows: join CCD.originatorID with
Resource.resourceID, and CCD.profileID with Resource.profileID to obtain
Resource.extension.
Initial Call Priority
Join CCD and CRD on sessionID, sessionSeqNum,
nodeID, and profileID.
Note
A call may be abandoned without being assigned a call
priority. In this case, CRD.origPriority will be blank and this Initial Call
Priority field will show
"n/a."
Call Routed CSQ
Join CCD and CQD on sessionID, sessionSeqNum,
nodeID, and profileID. Additional search criteria are CCD.contactDisposition is
1 (abandoned), CQD.disposition is 1 (abandoned) or 3 (dequeued), and
CQD.targetType is 0 (CSQ type). The CSQ information is stored in CQD.targetID.
Join CQD.targetID with CSQ.recordID, and join CQD.profileID with CSQ.profileID
to obtain CSQ name, which is stored in CSQ.csqName.
Note
A call may be abandoned without being presented to any CSQ.
In this case, this Call Routed CSQ field will be blank.If a call has been
routed to multiple CSQs, the Call Routed CSQ field displays the CSQ name
followed by ellipsis (for example: CSQ025...).
Agent Name
Join CCD and ACD on sessionID, sessionSeqNum, nodeID
and profileID to include only calls with CCD.contactDisposition set to 1
(abandoned). Join ACD and Resource on resourceID and profileID to obtain the
name of the agent who was presented with the call, which is stored in
Resource.resourceName.
Note
A call may be abandoned without being presented to any
agent. In this case, this agent Name field will be blank.
Call Skills
This field shows the list of skills that belong to
the CSQ shown in
Call Routed CSQ.
Join CQD.targetID with CSQU.recordID, and
CQD.profileID with CSQU.profileID to obtain CSQU.skillGroupID. Join
CSQU.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join SG.skillID
with Skill.skillID to obtain the list of call skills, which is stored in
Skill.skillName.
Note
This Call Skills field will be blank for a call that is
abandoned without being presented to a CSQ and for a call that is abandoned
after it is presented a resource-based CSQ.
Final Call Priority
Join CCD and CRD on sessionID, sessionSeqNum,
nodeID, and profileID.
Note
A call may be abandoned without being assigned a call
priority. In this case, CRD.finalPriority will be blank and this Final Call
Priority field will show
"n/a."
Call Abandon Time
Obtained from CCD.endDateTime.
Aborted and Rejected Call Detail report
The Aborted and Rejected Call Detail report provides
detailed information about each call that is aborted or rejected by the system.
A call is aborted if an exception occurs in the workflow that is processing a
call. A call is rejected if system resources reach maximum capacity (for
example, the maximum number of CTI ports is reached).
Table 1
shows how the information in the Aborted and Rejected Call Detail report is
obtained or calculated.
Table 2
explains how the Aborted and Rejected Call Detail report filter parameter
obtains data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 3 Aborted and Rejected Call Detail report Query Design
Field
Explanation
Node ID
Obtained from CCD.nodeID.
Session ID
Obtained from CCD.sessionID.
Sequence No
Obtained from CCD.sessionSeqNum.
Call Start Time
Obtained from CCD.startDateTime.
Call End Time
Obtained from CCD.endDateTime.
Contact Type
Obtained from CCD.contactType.
Contact Disposition
Obtained from CCD.contactDisposition.
If CCD.contactDisposition is 4, this field displays
Aborted. If CCD.contactDisposition is 5 or greater, this field displays
Rejected.
Abort/Reject Reason
For aborted calls, CCD.contactDisposition is 4, and
this field displays the value stored in CCD.dispositionReason.
For rejected calls, CCD.contactDisposition is 5 or
greater, and this field displays the text according to the following mapping.
The description for each reject reason is also explained below:
5—Reject: No Trigger - Trigger is not recognized or
has been removed
6—Reject: Channels Not Ready - Channels Not Ready -
Group(s) are not ready
7—Reject: Trigger Timeout - Trigger timeout expires
before attempting to get the channel
8—Reject: Channels Busy - No channel(s) available
9—Reject: No Channel License - No channel license is
available to process the call
16—Reject: Resource Invalid - Resource address is
invalid
17—Reject: Resource Not Acknowledging - Resource is
not acknowledging
18—Reject: Resource Busy - Resource is busy
19—Reject: Contact Not Offered - Contact is not
successfully offered, either because the destination is not acknowledging the
offering or it does not receive it
20—Reject: Internal Error - PlaceCall gets an
internal error
21—Reject: Contact Rejected in Script - Rejected by
script
24—Reject: Agent clicked
Cancel Reservation for Outbound call.
Note
The event occurred when the campaign got disabled or deleted
or when the associated CSQ got deleted before the agent clicked Cancel
Reservation. This is because CCDR will be written only when the call is
disconnected.
25-98—Reserved.
Originator DN
(DN = Directory Number)
Obtained from CCD.originatorDN.
If CCD.originatorType is 1 (agent type), this field
contains the extension of the originating agent, and is calculated as follows:
Join CCD.originatorID with Resource.resourceID, and join CCD.profileID with
Resource.profileID to obtain the agent extension, which is stored in
Resource.extension.
Destination DN
Obtained from CCD.destinationDN.
If CCD.destinationType is 1 (agent type), this field
contains the extension of the destination agent, and is calculated as follows:
Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with
Resource.profileID to obtain the agent extension, which is stored in
Resource.extension.
Called Number
Obtained from CCD.calledNumber.
Original Called No.
Obtained from CCD.origCalledNumber.
Application Name
Obtained from CCD.applicationName.
Call Routed CSQ
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to determine CQD records with a CCD.startDateTime value
that is within the report period. Join CQD and CRD on sessionID, sessionSeqNum,
profileID, nodeID, and qIndex to obtain CQD.targetID, and join CQD.profileID
with CQD.targetType = 0 (CSQ type). CQD.targetID contains the recordID of the
CSQ that handled the call. Join CQD.targetID with CSQ.recordID, and join
CQD.profileID with CSQ.profileID to obtain the CSQ name, which is stored in
CSQ.csqName.
Table 4 Aborted and Rejected Call Detail report filter parameter
Filter parameter
Explanation
Contact Disposition
To report on aborted calls only, obtain CCD records
with CCD.contactDisposition = 4.
To report on rejected calls only, obtain CCD records
with CCD.contactDisposition >= 5.
To report on both aborted and rejected calls, obtain
CCD records with CCD.contactDisposition >= 4.
Agent Call Summary report
The Agent Call Summary report shows, for each agent
specified, summary information about each call that was received (an inbound
call) and each call that was made (an outbound call) by the agent. This report
also shows the number of calls transferred to the agent and transferred out (to
another route point or another agent) by the agent, and the number of
conference calls in which the agent participated.
Table 1
shows how the information in the Agent Call Summary report is obtained or
calculated.
Table 2
explains how the Agent Call Summary report filter parameters obtain data.
For information about the database table names and field
names that are shown in this section, see
Conventions used in this chapter.
Table 5 Agent Call Summary report query design
Field
Explanation
Agent Name
For the agents specified, obtain the
Resource.resourceID and Resource.profileID as described in
Table 2.
Agent Name is stored in Resource.resourceName.
Note
When an attribute of an agent changes (for example,
extension or resource group), the agent will have multiple entries in the
Resource table. In this case, each entry will have a different resource ID, so
several resource IDs can belong to one agent, and Resource.resourceID will not
uniquely identify an agent. Also, one agent may belong to different application
profiles, and will have different Resource.profileID entries. Therefore, the
combination of Resource.resourceID and Resource.profileID is not sufficient to
uniquely identify an agent. The combination of Resource.resourceName and
Resource.resourceLoginID is used to uniquely identify an agent.
Resource.resourceName itself is not sufficient to do so because different
agents may have the same first and last names, but have different resource
login IDs. Resource.resourceLoginID by itself does not uniquely identify an
agent because a generic resource login ID (for example, supportagent003) may be
used for different agents at different times. The combination of two uniquely
identifies an agent.
Extension
For agents who have not had their extension changed,
obtained from Resource.extension.
For agents who have had their extension changed at
some time, the extension that is assigned to the agent during the report
period.
Total Inbound
Calculated as follows:
Total inbound ACD calls + Total inbound IVR calls.
Inbound ACD— Total
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID to find ACD records within the report period. (For such
records, the corresponding CCD.startDateTime value is within the report
period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
For each agent, count the number of ACD records to
determine the total number of inbound ACD calls received by each agent.
Inbound ACD—Avg Talk
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID to find ACD records within the report period. (For such
records, the corresponding CCD.startDateTime value is within the report
period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
For each agent, calculate the sum of the values in
ACD.talkTime, then divide by the number of ACD records for that agent.
Inbound ACD—Avg Hold
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID to find ACD records within the report period. (For such
records, the corresponding CCD.startDateTime value is within the report
period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
For each agent, calculate the sum of the values in
ACD.holdTime, then divide by the number of ACD records for that agent.
Inbound ACD—Avg Work
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID to find ACD records within the report period. (For such
records, the corresponding CCD.startDateTime value is within the report
period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
For each agent, calculate the sum of the values in
ACD.workTime, then divide by the number of ACD records for that agent.
Inbound Non-ACD—Total
Search CCD for records for which the value of
startDateTime is within the report period and destinationType is 1 (agent).
Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
Compare sessionID, sessionSeqNum, profileID, nodeID,
and resourceID in this result set with the results for these fields obtained
from
Inbound ACD—Total. Eliminate all entries that are
already counted in the calculation of total inbound ACD calls. The remaining
value is the number of IVR calls.
For each agent, count the number of CCD records to
determine the number of total inbound IVR calls.
Inbound Non-ACD— Avg Talk Time
Talk time of an IVR call is stored in
CCD.connectTime.
Search CCD for records in which the value of
startDateTime is within the report period and destinationType is 1 (agent).
Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
Compare sessionID, sessionSeqNum, profileID, nodeID,
and resourceID in this result set with the result obtained from
Inbound ACD—Total. Eliminate all entries that are
already counted in the calculation of total inbound ACD calls. The remaining
value is the number of IVR calls.
For each agent, calculate the sum of the values
stored in CCD.connectTime, then divide by the number of CCD records for that
agent.
Inbound Non-ACD— Max Talk Time
Talk time of an IVR call is stored in
CCD.connectTime.
Search CCD for records for which the value of
startDateTime is within the report period and destinationType is 1 (agent).
Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
Compare sessionID, sessionSeqNum, profileID, nodeID,
and resourceID in this result set with the result obtained from
Inbound ACD—Total. Eliminate all entries that are
already counted in the calculation of total inbound ACD calls. The remaining
value is the number of IVR calls.
For each agent, determine the maximum value stored
in CCD.connectTime.
Outbound—Total
Search CCD for records in which the startDateTime is
within the report period, and originatorType is 1 (agent). Join
CCD.originatorID with Resource.resourceID, and join CCD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
For each agent, count the number of CCD records.
Outbound—Avg Call Time
Search CCD for records in which the startDateTime is
within the report period, and originatorType is 1 (agent). Join
CCD.originatorID with Resource.resourceID, and join CCD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
For each agent, calculate the sum of the values
stored in CCD.connectTime, then divide by the number of CCD records for that
agent.
Outbound—Max Call Time
Search CCD for records in which the startDateTime is
within the report period, and originatorType is 1 (agent). Join
CCD.originatorID with Resource.resourceID, and join CCD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
For each agent, determine the maximum value stored
in CCD.connectTime.
ACD Transfer-In
For ACD calls that are transferred in,
CCD.contactType = 5 (transfer-in), and an ACD record is present.
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID to find ACD records within the report period. (For such
records, the corresponding CCD.startDateTime value is within the report
period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
For each agent, count the number of ACD records for
which the corresponding CCD records have contactType = 5 (transfer-in).
ACD Transfer-Out
For ACD calls that are transferred out, CCD.transfer
= 1, and an ACD record is present.
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID to find ACD records within the report period. (For such
records, the corresponding CCD.startDateTime value is within the report
period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
For each agent, count the number of ACD records for
which the corresponding CCD records have transfer = 1.
ACD Conference
For ACD conference calls, CCD.conference = 1, and an
ACD record is present.
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID to find ACD records within the report period. (For such
records, the corresponding CCD.startDateTime value is within the report
period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with
Resource.profileID to obtain Resource.resourceName and
Resource.resourceLoginID, the combination of which uniquely identifies an
agent.
For each agent, count the number of ACD records for
which the corresponding CCD records have conference = 1.
To report on all agents, obtain the list of resource
IDs and profile IDs as follows:
Search the Resource table for agents who are active
(Resource.active is 1) or who are deleted after report start time
(Resource.dateInactive is later than the report start time). In this way, the
report does not include agents who are deleted before the report start time.
Agent Names
To report on a specific agent or agents, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of agent names from the user
selection for this parameter. These values are in Resource.resourceName. Obtain
the corresponding Resource.resourceID and Resource.profileID.
Resource Group Names
To report on a specific resource group or groups,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of resource group names from the
user selection for this parameter. Search the ResourceGroup table to find
records for which RG.resourceGroupName contains values found in the list. Join
RG and Resource on resourceGroupID and profileID to find the list of agents
that belong to the selected resource group or groups. Resource ID and profile
ID of agents are stored in Resource.resourceID and Resource.profileID,
respectively. This report displays only agents who are active and agents who
are deleted after the report start time.
Skill Names
To report on agents with a specific skill or skills,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of skill names from the user
selection for this parameter. Search the Skill table to find records for which
Skill.skillName contains values found in the list. Join Skill and RSM on
skillID and profileID to find resourceSkillMapID. Join RSM and Resource on
resourceSkillMapID and profileID to find the list of agents that have the
selected skill or skills. Resource ID and profile ID of agents are stored in
Resource.resourceID and Resource.profileID, respectively. This report displays
only agents who are active and agents who are deleted after the report start
time.
Team Names
To report on a specific team or teams, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of team names from the user
selection for this parameter. Search the Team table to find records whose
Team.teamName contains values found in the list. Join Team.teamID with
Resource.assignedTeamID, and Team.profileID with Resource.profileID to find the
list of agents who belong to the selected team or teams. Resource ID and
profile ID of agents are stored in Resource.resourceID and Resource.profileID,
respectively.
Agent Detail report
The Agent Detail report contains detailed information for
calls received and calls made by an agent. The report contains one row per call
and includes Unified CCX and Cisco Unified IP IVR calls.
For ACD calls, the ACD table records all the calls handled
by an agent.
For IVR calls, the CCD table records all the calls made by
or received by an agent. If an agent makes an IVR call, the agent’s resource ID
appears in CCD.originatorID. If the agent receives an IVR call, the agent’s
resource ID appears in CCD.destinationID.
Table 1
shows how the information in the Agent Detail report is obtained or calculated.
Table 2
explains how the Agent Detail report filter parameters obtain data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 7 Agent Detail report query design
Field
Explanation
Agent Name
For ACD calls, an agent is identified by the
combination of ACD.resourceID and ACD.profileID. Join ACD.resourceID with
Resource.resourceID, and join ACD.profileID with Resource.profileID to obtain
the agent name, which is stored in Resource.resourceName.
For IVR calls, if an agent is the originator of the
call, the agent is identified by CCD.originatorID and CCD.profileID, when
CCD.originatorType = 1 (agent type). Join CCD.originatorID with
Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain
Resource.resourceName.
If an agent is the destination of an IVR call, the
agent is identified by CCD.destinationID and CCD.profileID, when
CCD.destinationType = 1 (agent type). Join CCD.destinationID with
Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain
Resource.resourceName.
Extension
For ACD calls, an agent is identified by the
combination of ACD.resourceID and ACD.profileID. Join ACD.resourceID with
Resource.resourceID, and join ACD.profileID with Resource.profileID to obtain
the agent name, which is stored in Resource.resourceName.
For IVR calls, if an agent is the originator of the
call, the agent is identified by CCD.originatorID and CCD.profileID, when
CCD.originatorType = 1 (agent type). Join CCD.originatorID with
Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain
Resource.resourceName.
If an agent is the destination of an IVR call, the
agent is identified by CCD.destinationID and CCD.profileID, when
CCD.destinationType = 1 (agent type). Join CCD.destinationID with
Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain
Resource.extension.
Call Start Time
For ACD calls, obtained from ACD.startDateTime.
For IVR calls, obtained from CCD.startDateTime.
Call End Time
For ACD calls, obtained from ACD.endDateTime.
For IVR calls, obtained from CCD.startDateTime.
Duration
Calculated as follows:
Call End Time – Call Start Time
Displayed as hh:mm:ss.
Called Number
For ACD calls, agent identification is stored in ACD
(see
Agent Name earlier in this table). Join ACD and CCD on
sessionID, sessionSeqNum, nodeID, and profileID. The value of this field is
obtained from CCD.calledNumber.
For IVR calls, agent identification is stored in CCD
(see
Agent Name earlier in this table). The value of this
field is obtained directly from CCD.calledNumber.
Call ANI
For ACD calls, agent identification is stored in ACD
(see
Agent Name earlier in this table). Join ACD and CCD on
sessionID, sessionSeqNum, nodeID, and profileID. The value of this field is
obtained from CCD.originatorDN.
For IVR calls, agent identification is stored in CCD
(see
Agent Name earlier in this table). The value of this
field is obtained directly from CCD.originatorDN.
For internal calls (CCD.contactType = 3), but the
CCD.orignatorDN field is blank. This field is set to the extension of the agent
who originates the call, as follows:
Join CCD.originatorID with Resource.resourceID, join
and CCD.profileID with Resource.profileID to obtain the extension of the
originating agent, which is stored in Resource.extension.
Call Routed CSQ
Join ACD and CQD on sessionID, sessionSeqNum,
profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type), and
CQD.disposition = 2 (handled). The combination of CQD.targetID and
CQD.profileID uniquely identifies a CSQ. Join CQD.targetID with CSQ.recordID,
and join CQD.profileID with CSQ.profileID to obtain the CSQ name, which is
stored in CSQ.csqName.
Other CSQs
Join ACD and CQD on sessionID, sessionSeqNum,
profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type), and
CQD.disposition is not 2 (not handled) to obtain the CSQ for which the call was
queued but not handled. The combination of CQD.targetID and CQD.profileID
uniquely identifies a CSQ. Join CQD.targetID with CSQ.recordID, and join
CQD.profileID with CSQ.profileID to obtain the CSQ name, which is stored in
CSQ.csqName. Multiple CSQ names are represented by
"…".
Call Skills
Join ACD and CQD on sessionID, sessionSeqNum,
profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type), and
CQD.disposition = 2 (handled) to obtain a skill group ID, which is stored in
CSQ.skillGroupID. Join CSQ.skillGroupID with SG.skillGroupID to get SG.skillID.
Join SG.skillID with Skill.skillID to get the list of skill names, stored in
Skill.skillName. Multiple skill names are separated by commas.
Talk Time
For ACD calls, obtained from ACD.talkTime.
For IVR calls, shows the value of Duration if
CCD.contactDispostion = 2 (handled). Shows zero if CCD.contactDisposition = 1
(abandoned).
Hold Time
For ACD calls, obtained from ACD.holdTime.
Blank for IVR calls.
Work Time
For ACD calls, obtained from ACD.workTime.
Blank for IVR calls.
Call Type
Inbound ACD—Call
has an ACD record present.
Inbound
Non-ACD—CCD.destinationType = 1 (agent type), CCD.destinationID is a resource
ID, and there is no corresponding ACD record. (A corresponding ACD record has
the same sessionID, sessionSeqNum, nodeID, and profileID.)
Outbound—CCD.originatorType = 1 (agent
type), and CCD.originatorID is a resource ID.
Transfer-In—CCD.contactType = 5
(transfer-in), and there is a corresponding ACD record.
Transfer-Out—CCD.transfer = 1, and
there is a corresponding ACD record.
Conference—CCD.conference = 1, and
there is a corresponding ACD record.
Table 8 Agent Detail report filter parameters
Filter parameter
Explanation
All Agents (default, no filter parameter)
To report on all agents, obtain the list of resource
IDs and profile IDs from the Resource table.
Resource Group Names
To report on a specific resource group or groups,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of resource group names from the
user selection for this parameter. Search the ResourceGroup table to find
records for which RG.resourceGroupName contains values found in the list. Join
RG and Resource on resourceGroupID and profileID to find the list of agents
that belong to the selected resource group or groups. Resource ID and profile
ID of agents are stored in Resource.resourceID and Resource.profileID,
respectively.
Agent Names
To report on a specific agent or agents, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of agent names from the user
selection for this parameter. These values are in Resource.resourceName. Obtain
the corresponding Resource.resourceID and Resource.profileID.
Skill Names
To report on agents with a specific skill or skills,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of skill names from the user
selection for this parameter. Search the Skill table to find records for which
Skill.skillName contains values found in the list. Join Skill and RSM on
skillID and profileID to find resourceSkillMapID. Join RSM and Resource on
resourceSkillMapID and profileID to find the list of agents that have the
selected skill or skills. Resource ID and profile ID of agents are stored in
Resource.resourceID and Resource.profileID, respectively.
Team Names
To report on a specific team or teams, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of team names from the user
selection for this parameter. Search the Team table to find records whose
Team.teamName contains values found in the list. Join Team.teamID with
Resource.assignedTeamID, and Team.profileID with Resource.profileID to find the
list of agents who belong to the selected team or teams. Resource ID and
profile ID of agents are stored in Resource.resourceID and Resource.profileID,
respectively.
Call Type
To report on a specific call type or types, obtain
the call types from the user selection for this parameter. (Up to 6 call types
can be selected.) Call types that are not selected will be eliminated before
the final result set is displayed. The elimination process is based on the
classification criteria described in the
Call Type field in
Table 1.
Agent Login Logout Activity report
The Agent Login Logout Activity report contains detailed
information about the login and logout activities of agents. The login and
logout information is stored in the ASD table.
Table 1
shows how the information in the Agent Login Logout Activity report is obtained
or calculated.
Table 2
explains how the Agent Login Logout Activity report filter parameters obtain
data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Join ASD.agentID with Resource.resourceID to obtain
the agent name, which is stored in Resource.resourceName.
Extension
For agents who have not had their extension changed,
obtained from Resource.extension.
For agents who have had their extension changed at
some time, the extension that is assigned to the agent during the report
period.
Login Time
Join ASD.agentID with Resource.resourceID, and join
ASD.profileID with Resource.profileID to obtain state transition records for
each agent, identified by Resource.resourceName and Resource.resourceLoginID.
(See agent Name for the relationship between resourceID/profileID and
resourceName/ resourceLoginID.) Login Time is stored in ASD.eventDateTime where
ASD.eventType = 1. If the agent logged in before the report start time, this
field is displayed as
< report start time.
Logout Time
Join ASD.agentID with Resource.resourceID, and join
ASD.profileID with Resource.profileID to obtain state transition records for
each agent, identified by Resource.resourceName and Resource.resourceLoginID.
(See Agent Name for the relationship between resourceID/profileID and
resourceName/ resourceLoginID.) Login Time is stored in ASD.eventDateTime where
ASD.eventType = 7. If the agent logged out after the report end time, this
field is displayed as:
> report end time.
Logout Reason Code
This field is obtained from ASD.reasonCode when
ASD.eventType = 7 (logout).
Logged-In Duration
If the agent
logged in before the report start time and logged out after the report end
time—Logged-In Duration = report end time – report start time
If the agent
logged in before the report start time and logged out during the report
period—Logged-In Duration =
Logout Time – report start time
If the agent
logged in during the report period and logged out after the report end
time—Logged-In Duration = report end time –
Login Time
If the agent
logged in and out during the report period—Logged-In Duration =
Logout Time –
Login Time
To report on all agents, obtain the list of resource
IDs as follows:
Search the Resource table for records with
resourceType set to 1 (agent). Resource ID is stored in Resource.resourceID.
Join Resource.resourceID with ASD.resourceID to
obtain other call-related data.
Resource Group Names
To report on a specific resource group or groups,
obtain the list of resource IDs as follows:
Obtain the list of resource group name(s) from the
user selection for this parameter. Find the corresponding
RG.resourceGroupID(s). Join RG.resourceGroupID with Resource.resourceGroupID to
find agents belonging to the selected resource group(s). The value of resource
ID is stored in Resource.resourceID.
Join Resource.resourceID with ASD.resourceID to
obtain other call-related data.
Agent Names
To report on a specific agent or agents, obtain the
list of resource IDs as follows:
Obtain the list of agent names from the user
selection for this parameter. Find the corresponding Resource.resourceID(s).
Join Resource.resourceID with ASD.resourceID to
obtain other call-related data.
Skill Names
To report on agents who possess a specific skill or
skills, obtain the list of resource IDs as follows:
Obtain the list of skill names from the user
selection for this parameter. Find the corresponding Skill.skillID(s). Join
Skill.skillID with RSM.skillID, RSM.resourceSkillMapID with
Resource.resourceSkillMapID to find the agents who possess the selected
skill(s). The value of resource ID is stored in Resource.resourceID.
Join Resource.resourceID with ASD.resourceID to
obtain other call-related data.
Team Names
To report on a specific team or teams, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of team names from the user
selection for this parameter. Search the Team table to find records in which
Team.teamName contains values found in the list. Join Team.teamID with
Resource.assignedTeamID, and join Team.profileID with Resource.profileID to
find the list of agents who belong to the selected team or teams. The Resource
ID and profile ID of agents are stored in Resource.resourceID and
Resource.profileID, respectively.
Agent Not Ready Reason Code Summary report
The Agent Not Ready Reason Code Summary report provides
information about the length of time each agent spent in Not Ready state during
the report period. This report also shows the length of time that agents spent
in Not Ready state for the reasons indicated by the reason codes that agents
entered when going to Not Ready state. The report shows detailed information
for each of up to eight reason codes, and displays consolidated information for
other reason codes. By default, the report shows information for eight
predefined reason codes. However, you can specify the eight reason codes for
which the report shows detailed information.
Table 1
shows how the information in the Agent Not Ready Reason Code Summary report is
obtained or calculated.
Table 2
explains how the Agent Not Ready Reason Code Summary report filter parameter
obtains data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
For the agents specified, obtain the
Resource.resourceID and Resource.profileID as described in
Table 2.
Agent Name is stored in Resource.resourceName.
Note
When an attribute of an agent changes (for example,
extension or resource group), the agent will have multiple entries in the
Resource table. In this case, each entry will have a different resource ID, so
several resource IDs can belong to one agent, and Resource.resourceID will not
uniquely identify an agent. Also, one agent may belong to different application
profiles, and will have different Resource.profileID entries. Therefore, the
combination of Resource.resourceID and Resource.profileID is not sufficient to
uniquely identify an agent. The combination of Resource.resourceName and
Resource.resourceLoginID is used to uniquely identify an agent.
Resource.resourceName itself is not sufficient to do so
because different agents may have the same first and last names, but have
different resource login IDs.
Resource.resourceLoginID by itself does not uniquely
identify an agent because a generic resource login ID (for example,
supportagent003) may be used for different agents at different times. The
combination of two uniquely identifies an agent.
Extension
For agents who have not had their extension changed,
obtained from Resource.extension.
For agents who have had their extension changed at
some time, the extension that is assigned to the agent during the report
period.
Interval Start Time
Beginning of an interval.
End users can divide the report period into 30- or
60-minute intervals. (The default interval length is the entire report period.)
Interval End Time
End of an interval.
End-users can divide the report period into 30- or
60-minute intervals. (The default interval length is the entire report period.)
Total Logged-in
Login time is stored in ASD.eventDateTime with
eventType set to 1 (log in). Logout time is stored in ASD.eventDateTime with
eventType set to 7 (log out).
The calculation of the logged-in time for a single
session depends on the agent activity, as follows:
An agent logs in
and logs out during the interval:
Total Logged-in Time = logout time – login time
An agent logs in
before the interval and logs out after the interval:
Total Logged-in Time =
Interval End Time –
Interval Start Time
An agent logs in
before the interval and logs out during the interval:
Total Logged-in Time = logout time –
Interval Start Time
An agent logs in
during the interval and logs out after the interval:
Total Logged-in Time =
Interval End Time – login time
If an agent has multiple login sessions during the
interval, this field displays the sum of the time spent in each login session.
Total Not Ready
Join ASD.agentID with Resource.resourceID, and join
ASD.profileID with Resource.profileID to obtain state transition records for
each agent, identified by Resource.resourceName and Resource.resourceLoginID.
(See agent Name in this table for the relationship between resourceID/profileID
and resourceName/resourceLoginID.) Not Ready state is identified by
ASD.eventType = 2.
The time spent in Not Ready state depends on the
agent activity, as follows:
An agent goes in
to and out of Not Ready state during the interval:
Total Not Ready Time = time out of Not Ready state – time
in Not Ready state
An agent goes in
to Not Ready state before the interval and goes out of Not Ready state after
the interval:
Total Not Ready Time =
Interval End Time –
Interval Start Time
An agent goes in
to Not Ready state before the interval and goes out of Not Ready state during
the interval:
Total Not Ready Time = time out of Not Ready state –
Interval Start Time
An agent goes in
to Not Ready state during the interval and goes out of Not Ready state after
the interval:
Total Not Ready Time =
Interval End Time – time in to Not Ready state
If an agent goes to Not Ready state multiple times
during the interval, this field displays the sum of the time spent in each Not
Ready state.
Time in RC n1
Time in RC n2
Time in RC n3
Time in RC n4
Time in RC n5
Time in RC n6
Time in RC n7
Time in RC n8
Join ASD.agentID with Resource.resourceID, and join
ASD.profileID with Resource.profileID to obtain state transition records for
each agent, identified by Resource.resourceName and Resource.resourceLoginID.
(See
Agent Name in this table for the relationship between
resourceID/profileID and resourceName/resourceLoginID.) Not Ready state is
identified by ASD.eventType = 2. The reason code is stored in ASD.reasonCode.
By default, this report sorts the predefined Not
Ready reason codes in numerical order and displays the first eight reason
codes.
You can specify other reason codes to report by
selecting Filter Parameter Reason Code.
Time in Other RCs
Sum of the duration spent in Not Ready reason codes
that are not shown in the Time in RC n1 through Time in RC n8 fields. The total
time spent in different reason codes adds up to Total Not Ready Time (Time in
Reason Code 1 + Time in Reason Code 2 + … + Time in Reason Code 8 = Total Not
Ready Time).
Join ASD.agentID with Resource.resourceID, and join
ASD.profileID with Resource.profileID to obtain state transition records for
each agent, identified by Resource.resourceName and Resource.resourceLoginID.
(See
Agent Name in this table for the relationship between
resourceID/profileID and resourceName/resourceLoginID.) Not Ready state is
identified by ASD.eventType = 2. The reason code is stored in ASD.reasonCode.
For this calculation, do not consider values that have been listed in the
previous eight fields.
To report on all agents, obtain the list of resource
IDs and profile IDs as follows:
Search and display the Resource table for agents who
are active (Resource.active is 1) or who are deleted after report start time
(Resource.dateInactive is later than the report start time). In this way, the
report does not include agents who are deleted before the report start time.
Interval Length
Entire report range—Displays information from
the report start time through the report end time, but does not display
information for specific intervals within the report period.
Thirty (30) minute intervals—Displays
information for 30-minute intervals within the report period. The first
interval begins at the report start time, the next interval begins 30 minutes
after the report start time, and so on.
Sixty (60) minute intervals—Displays
information for 60-minute intervals within the report period. The first
interval begins at the report start time, the next interval begins 60 minutes
after the report start time, and so on.
Resource Group Names
To report on a specific resource group or groups,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of resource group names from the
user selection for this parameter. Search the ResourceGroup table to find
records for which RG.resourceGroupName contains values found in the list. Join
RG and Resource on resourceGroupID and profileID to find the list of agents
that belong to the selected resource group or groups. Resource ID and profile
ID of agents are stored in Resource.resourceID and Resource.profileID,
respectively. This report displays only agents who are active and agents who
are deleted after the report start time.
Agent Names
To report on a specific agent or agents, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of agent names from the user
selection for this parameter. These values are in Resource.resourceName. Obtain
the corresponding Resource.resourceID and Resource.profileID.
Skill Names
To report on agents with a specific skill or skills,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of skill names from the user
selection for this parameter. Search the Skill table to find records for which
Skill.skillName contains values found in the list. Join Skill and RSM on
skillID and profileID to find resourceSkillMapID. Join RSM and Resource on
resourceSkillMapID and profileID to find the list of agents that have the
selected skill or skills. Resource ID and profile ID of agents are stored in
Resource.resourceID and Resource.profileID, respectively. This report displays
only agents who are active and agents who are deleted after the report start
time.
Team Names
To report on a specific team or teams, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of team names from the user
selection for this parameter. Search the Team table to find records whose
Team.teamName contains values found in the list. Join Team.teamID with
Resource.assignedTeamID, and Team.profileID with Resource.profileID to find the
list of agents who belong to the selected team or teams. Resource ID and
profile ID of agents are stored in Resource.resourceID and Resource.profileID,
respectively.
Reason Code
To report on a specific reason code or codes, obtain
the list of reason codes from the user selection for this parameter. Find ASD
records for which the ASD.eventType is 2 (Not Ready) and for which the value
stored ASD.reasonCode is found in the selected list.
Agent State Detail report
The Agent State Detail report shows detailed information
about when an agent changed from one state to another.
Table 1
shows how the information in the Agent State Detail report is obtained or
calculated.
Table 2
explains how the Agent State Detail report filter parameters obtain data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 13 Agent State Detail report query design
Field
Explanation
Agent Name
For the agents specified, obtain the
Resource.resourceID and Resource.profileID as described in
Table 2.
Agent Name is stored in Resource.resourceName.
Note
When an attribute of an agent changes (for example,
extension or resource group), the agent will have multiple entries in the
Resource table. In this case, each entry will have a different resource ID, so
several resource IDs can belong to one agent, and Resource.resourceID will not
uniquely identify an agent. Also, one agent may belong to different application
profiles, and will have different Resource.profileID entries. Therefore, the
combination of Resource.resourceID and Resource.profileID is not sufficient to
uniquely identify an agent. The combination of Resource.resourceName and
Resource.resourceLoginID is used to uniquely identify an agent.
Resource.resourceName itself is not sufficient to do so because different
agents may have the same first and last names, but have different resource
login IDs. Resource.resourceLoginID by itself does not uniquely identify an
agent because a generic resource login ID (for example, supportagent003) may be
used for different agents at different times. The combination of two uniquely
identifies an agent.
Extension
For agents who have not had their extension changed,
obtained from Resource.extension.
For agents who have had their extension changed at
some time, the extension that is assigned to the agent during the report
period.
State Transition Time
Obtained from ASD.eventDateTime.
For agent identification, join ASD.agentID with
Resource.resourceID, and join ASD.profileID with Resource.profileID to obtain
Resource.resourceName and Resource.resourceLoginID, the combination of which
uniquely identifies an agent.
Agent State
Obtained from ASD.eventType. The mapping between the
numeric ASD.eventType and the displayed text is as follows:
1—Logged-in
2—Not Ready
3—Ready
4—Reserved
5—Talking
6—Work
7—Logout
Reason Code
Obtained from ASD.reasonCode.
Duration
Time agent goes out of the state specified in the
Agent State field – Time Agent goes to Agent State
The calculation of the duration depends on the agent
activity, as follows:
An agent goes to
Agent State before the report start time and goes out of that state after the
report end time:
Duration = report end time – report start time
An agent goes to
Agent State before the report start time and goes out of that state during the
report period:
Duration = time agent goes out of Agent State – report
start time
An agent goes to
Agent State during the report period and goes out of that state after the
report end time:
Duration = report end time – Transition Time
An agent goes to
Agent State and out of Agent State during the report period:
Duration = time agent goes out of Agent State – Transition
Time
Table 14 Agent State Detail report filter parameters
Filter parameter
Explanation
All Agents (default, no filter parameter)
To report on all agents, obtain the list of resource
IDs and profile IDs as follows:
Search and display the Resource table for agents who
are active (Resource.active is 1) or who are deleted after report start time
(Resource.dateInactive is later than the report start time). In this way, the
report does not include agents who are deleted before the report start time.
Agent Names
To report on a specific agent or agents, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of agent names from the user
selection for this parameter. These values are in Resource.resourceName. Obtain
the corresponding Resource.resourceID and Resource.profileID.
Resource Group Names
To report on a specific resource group or groups,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of resource group names from the
user selection for this parameter. Search the ResourceGroup table to find
records for which RG.resourceGroupName contains values found in the list. Join
RG and Resource on resourceGroupID and profileID to find the list of agents
that belong to the selected resource group or groups. Resource ID and profile
ID of agents are stored in Resource.resourceID and Resource.profileID,
respectively. This report displays only agents who are active and agents who
are deleted after the report start time.
Skill Names
To report on agents with a specific skill or skills,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of skill names from the user
selection for this parameter. Search the Skill table to find records for which
Skill.skillName contains values found in the list. Join Skill and RSM on
skillID and profileID to find resourceSkillMapID. Join RSM and Resource on
resourceSkillMapID and profileID to find the list of agents that have the
selected skill or skills. Resource ID and profile ID of agents are stored in
Resource.resourceID and Resource.profileID, respectively. This report displays
only agents who are active and agents who are deleted after the report start
time.
Team Name
To report on a specific team or teams, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of team names from the user
selection for this parameter. Search the Team table to find records whose
Team.teamName contains values found in the list. Join Team.teamID with
Resource.assignedTeamID, and Team.profileID with Resource.profileID to find the
list of agents who belong to the selected team or teams. Resource ID and
profile ID of agents are stored in Resource.resourceID and Resource.profileID,
respectively.
Agent State Summary report (by Agent and Interval)
The Agent State Summary report (by Agent) and the Agent
State Summary report (by Interval) show the length and percentage of time that
each agent spent in each of the following agent states: Not Ready, Ready,
Reserved, Talk, and Work. These reports also show the total length of time that
each agent was logged in.
In the Agent State Summary report (by Agent), information
presented is sorted first by agent, then by interval.
In the Agent State Summary report (by Interval), information
presented is sorted first by interval, then by agent.
Table 1shows
how the information in the Agent State Summary reports is obtained or
calculated.
Table 2
explains how the Agent State Summary reports filter parameters obtain data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 15 Agent State Summary reports query design
Field
Explanation
Agent Name
Join ASD.agentID with Resource.resourceID to obtain
the agent name, which is stored in Resource.resourceName.
Extension
For agents who have not had their extension changed,
obtained from Resource.extension.
For agents who have had their extension changed at
some time, the extension that is assigned to the agent during the report
period.
Interval Start Time
Beginning of an interval.
End-users can divide the report period into 30- or
60-minute intervals. (The default interval length is the entire report period.)
Interval End Time
End of an interval.
End-users can divide the report period into 30- or
60-minute intervals. (The default interval length is the entire report period.)
Total Logged-in Time
Login time is stored in ASD.eventDateTime with
eventType set to 1 (log in). Logout time is stored in ASD.eventDateTime with
eventType set to 7 (log out).
The calculation of the logged-in time for a single
session depends on the agent activity, as follows:
An agent logs in
and logs out during the interval:
Total Logged-in Time = logout time – login time
An agent logs in
before the interval and logs out after the interval:
Total Logged-in Time =
Interval End Time –
Interval Start Time
An agent logs in
before the interval and logs out during the interval:
Total Logged-in Time = logout time –
Interval Start Time
An agent logs in
during the interval and logs out after the interval:
Total Logged-in Time =
Interval End Time – login time
If an agent has multiple login sessions during the
interval, this field displays the sum of the time spent in each login session.
Not Ready Time
Total time that an agent spent in Not Ready state
during the interval, and the percentage of total logged-in time that an agent
spent in Not Ready state.
The time that an agent goes to Not Ready state is
stored in ASD.eventDateTime with eventType set to 2. The time spent in Not
Ready state depends on the agent activity, as follows:
An agent goes in
to and out of Not Ready state during the interval:
Total Not Ready Time = time out of Not Ready state – time
in to Not Ready state
An agent goes in
to Not Ready state before the interval and goes out of Not Ready state after
the interval:
Total Not Ready Time =
Interval End Time –
Interval Start Time
An agent goes in
to Not Ready state before the interval and goes out of Not Ready state during
the interval:
Total Not Ready Time = time out of Not Ready state –
Interval Start Time
An agent goes in
to Not Ready state during the interval and goes out of Not Ready state after
the interval:
Total Not Ready Time =
Interval End Time – time in to Not Ready state
If an agent goes to Not Ready state multiple times
during the interval, this field displays the sum of the time spent in each Not
Ready state.
The percentage is calculated as:
(Not Ready Time / Total Logged-in Time) * 100%
Ready Time
Total time that an agent spent in Ready state during
the interval, and the percentage of total logged-in time that an agent spent in
Ready state.
The time that an agent goes to the Ready state is
stored in ASD.eventDateTime with eventType set to 3. The time spent in Ready
state depends on the agent activity, as follows:
An agent goes in
to and out of Ready state during the interval:
Total Ready Time = time out of Ready state – time in to
Ready state
An agent goes in
to Ready state before the interval and goes out of Ready state after the
interval:
Total Ready Time =
Interval End Time –
Interval Start Time
An agent goes in
to Ready state before the interval and goes out of Ready state during the
interval:
Total Ready Time = time out of Ready state –
Interval Start Time
An agent goes in
to Ready state during the interval and goes out of Ready state after the
interval:
Total Ready Time =
Interval End Time – time in to Ready state
If an agent goes to Ready state multiple times
during the interval, this field displays the sum of the time spent in each
Ready state.
The percentage is calculated as:
(Ready Time / Total Logged-in Time) * 100%
Reserved Time
Total time an agent spent in the Reserved state
during the interval, and the percentage total logged-in time that an agent
spent in Reserved state.
The time that an agent goes to the Reserved state is
stored in ASD.eventDateTime with eventType set to 4. The time spent in Reserved
state depends on the agent activity, as follows:
An agent goes in
to and out of Reserved state during the interval:
Total Reserved Time = time out of Reserved state – time in
to Reserved state
An agent goes in
to Reserved state before the interval and goes out of Reserved state after the
interval:
Total Reserved Time =
Interval End Time –
Interval Start Time
An agent goes in
to Reserved state before the interval and goes out of Reserved state during the
interval:
Total Reserved Time = time out of Reserved state –
Interval Start Time
An agent goes in
to Reserved state during the interval and goes out of Reserved state after the
interval:
Total Reserved Time =
Interval End Time – time in to Reserved state
If an agent goes to the Reserved state multiple
times during the interval, this field displays the sum of the time spent in
each Reserved state.
The percentage is calculated as:
(Reserved Time / Total Logged-in Time) * 100%
Talk Time
Total time an agent spent in the Talk state during
the interval, and the percentage of total logged-in time that an agent spent in
Talk state.
The time that an agent goes to the Talk state is
stored in ASD.eventDateTime with eventType set to 5. The time spent in Talk
state depends on the agent activity, as follows:
An agent goes in
to and out of Talk state during the interval:
Total Talk Time = time out of Talk state – time in to Talk
state
An agent goes in
to Talk state before the interval and goes out of Talk state after the
interval:
Total Talk Time =
Interval End Time –
Interval Start Time
An agent goes in
to Talk state before the interval and goes out of Talk state during the
interval:
Total Talk Time = time out of Talk state –
Interval Start Time
An agent goes in
to Talk state during the interval and goes out of Talk state after the
interval:
Total Talk Time =
Interval End Time – time in to Talk state
If an agent goes to the Talk state multiple times
during the interval, this field displays the sum of the time spent in each Talk
state.
The percentage is calculated as:
(Talk Time / Total Logged-in Time) * 100%
Work Time
Total time an agent spent in the Work state during
the interval, and the percentage of total logged-in time that an agent spent in
Work state.
The time that an agent goes to the Work state is
stored in ASD.eventDateTime with eventType set to 6. The time spent in Work
state depends on the agent activity, as follows:
An agent goes in
to and out of Work state during the interval:
Total Work Time = time out of Work state – time in to Work
state
An agent goes in
to Work state before the interval and goes out of Work state after the
interval:
Total Work Time =
Interval End Time –
Interval Start Time
An agent goes in
to Work state before the interval and goes out of Work state during the
interval:
Total Work Time = time out of Work state –
Interval Start Time
An agent goes in
to Work state during the interval and goes out of Work state after the
interval:
Total Work Time =
Interval End Time – time in to Work state
If an agent goes to the Work state multiple times
during the interval, this field displays the sum of the time spent in each Work
state.
The percentage is calculated as:
(Work Time / Total Logged-in Time) * 100%
Summary
For the Agent State Summary report (by Agent):
Summation of data in each report field across all intervals.
For the Agent State Summary report (by Interval):
Summation of data in each report field during each interval.
Grand Total
Summation of data in all report fields for all
intervals.
Table 16 Agent State Summary reports filter parameters
Filter parameter
Explanation
All Agents (default, no filter parameter)
To report on all agents, obtain the list of resource
IDs as follows:
Search the Resource table for records with
resourceType set to 1 (agent). Resource ID is stored in the Resource.resourceID
field.
Join Resource.resourceID with ASD.resourceID to
obtain other call-related data.
Interval Length
Options are entire report period (default), 30
minutes, 60 minutes.
Resource Group Names
To report on a specific resource group or groups,
obtain the list of resource IDs as follows:
Obtain the list of resource group name(s) from the
user selection for this parameter. Find the corresponding
RG.resourceGroupID(s). Join RG.resourceGroupID with Resource.resourceGroupID to
find agents belonging to the selected resource group(s). The value of resource
ID is stored in Resource.resourceID.
Join Resource.resourceID with ASD.resourceID to
obtain other call-related data.
Agent Names
To report on a specific agent or agents, obtain the
list of resource IDs as follows:
Obtain the list of agent names from the user
selection for this parameter. Find the corresponding Resource.resourceID(s).
Join Resource.resourceID with ASD.resourceID to
obtain other call-related data.
Skill Names
To report on agents who possess a specific skill or
skills, obtain the list of resource IDs as follows:
Obtain the list of skill names from the user
selection for this parameter. Find the corresponding Skill.skillID(s). Join
Skill.skillID with RSM.skillID and join RSM.resourceSkillMapID with
Resource.resourceSkillMapID to find the agents who possess the selected
skill(s). The value of resource ID is stored in Resource.resourceID.
Join Resource.resourceID with ASD.resourceID to
obtain other call-related data.
Team Names
To report on a specific team or teams, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of team names from the user
selection for this parameter. Search the Team table to find records in which
Team.teamName contains values found in the list. Join Team.teamID with
Resource.assignedTeamID, and join Team.profileID with Resource.profileID to
find the list of agents who belong to the selected team or teams. The Resource
ID and profile ID of agents are stored in Resource.resourceID and
Resource.profileID, respectively.
Agent Summary report
The Agent Summary report contains one row per agent. Each
row contains a summary of the activities of an agent.
The ACD table contains information of the agents who handled
ACD calls. This table provides the basic data for the Agent Summary report.
Table 1
shows how the information in the Agent Summary report is obtained or
calculated.
Table 2
explains how the Agent Summary report filter parameters obtain data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 17 Agent Summary report query design
Field
Explanation
Agent Name
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID to get ACD.resourceID and ACD.profileID. ACD.resourceID
contains the resource ID of the agent who handled the call. Join ACD.resourceID
with Resource.resourceID, and ACD.profileID with Resource.profileID to obtain
the agent name, which is stored in Resource.resourceName.
Extension
For agents who have not had their extension changed,
obtained from Resource.extension.
For agents who have had their extension changed at
some time, the extension that is assigned to the agent during the report
period.
Avg Logged-In Time
The ASD provides the times that each agent logs in
and logs out. The length of time between log in and log out is the agent
logged-in time. Login time is stored in ASD.eventDateTime with eventType set to
1 (log in). Logout time is stored in ASD.eventDateTime with eventType set to 7
(log out).
The calculation of the average logged-in time
depends on the agent activity, as follows. In these calculations, t1 is the
report start time and t2 is the report end time.
An agent logs in
before t1 and logs out between t1 and t2:
Logged-in duration = logout time – t1
An agent logs in
between t1 and t2 and logs out after t2:
Logged-in duration = t2 – login time
An agent logs in
between t1 and t2 and logs out between t1 and t2:
Logged-in duration = logout time – login time
An agent logs in
before t1 and logs out after t2:
Logged-in duration = t2 – t1
The average logged-in time for an agent is
calculated as follows:
Calculate the total logged-in time for an agent
during the report period and divide by the number of logged-in sessions.
Calls Handled
Join ACD and CCD on sessionID, sessionSeqNum,
profileID, and nodeID. For each agent, count the number of unique CCD.sessionID
that meet the following criteria:
CCD.startDateTime
is in the report period
CCD.contactDisposition is 2 (handled)
ACD.talkTime is
greater than zero
Calls Presented
Join ACD and CCD on sessionID and sessionSeqNum,
profileID, and nodeID. For each agent, count the number of unique CCD.sessionID
with CCD.startDateTime falling within the report period.
Handle Ratio
Call Handled divided by
Calls Presented.
Handle Time—Avg
Each call handled by an agent has an ACD record. The
handle time of a call is calculated as follows:
ACD.talkTime + ACD.holdTime + ACD.workTime
The average handle time is the sum of the handle
times of all the calls handled by the agent within the report period divided by
the number of calls handled within the report period.
Handle Time—Max
Each call handled by an agent has an ACD record. The
handle time of a call is calculated as follows:
ACD.talkTime + ACD.holdTime + ACD.workTime
The maximum handle time for an agent is the longest
handle time of all calls handled by the agent within the report period.
Talk Time—Avg
Talk time of a call is obtained from ACD.talkTime.
The average talk time for an agent is the sum of
talk times of all calls handled by the agent within the report period divided
by the number of calls handled within the report period.
Talk Time—Max
Talk time of a call is obtained from ACD.talkTime.
Maximum talk time for an agent is the longest talk
time of all the calls handled by the agent within the report period.
Hold Time—Avg
Hold time of a call is obtained from ACD.holdTime.
Average hold time for an agent is the sum of the
hold times of all calls handled by the agent within the report period divided
by the number of calls handled calls within the report period.
Hold Time—Max
Hold time of a call is obtained from ACD.holdTime.
The maximum hold time for an agent is the longest
hold time of all calls handled by the agent within the report period.
Work Time—Avg
Work time of a call is obtained from ACD.workTime.
The average work time for an agent is the sum of
work times of all calls handled by the agent within the report period divided
by the number of calls handled within the report period.
Work Time—Max
Work time of a call is obtained from ACD.workTime.
The maximum work time for an agent is the longest
work time of all the calls handled by the agent within the report period.
Idle Time—Avg
The ASD records the date and time that an agent goes
to a specific state. Idle time is the time spent in the Not Ready state (2).
While in the Not Ready state (2), an agent can go to Ready state (3), Reserved
state (4), or Logout state (7).
An idle session begins when an agent goes to Not
Ready state and ends when the agent goes to the next state (Ready, Reserved, or
Logout). The length of time that the agent spends in Not Ready state is the
duration of an idle session.
The average idle time for an agent is the sum of the
durations of all of an agent’s idle sessions within the report period divided
by the number of idle sessions within the report period.
Idle Time—Max
The ASD records the date and time that an agent goes
to a specific state. Idle time is the time spent in the Not Ready state (2).
While in the Not Ready state (2), an agent can go to Ready state (3), Reserved
state (4), or Logout state (7).
An idle session begins when an agent goes to Not
Ready state and ends when the agent goes to the next state (Ready, Reserved, or
Logout). The length of time that the agent spends in Not Ready state is the
duration of an idle session.
The maximum idle time for an agent is the longest
duration of the idle sessions within the report period.
Table 18 Agent Summary report filter parameters
Filter parameter
Explanation
All Agents (default, no filtering parameters)
To report on all agents, obtain the list of resource
IDs and profile IDs as follows:
Search and display the Resource table for agents who
are active (Resource.active = 1) or who are deleted after the report start time
(Resource.dateInactive later than the report start time, which means that the
agent is still active during the report period). In this way, the report does
not include agents who are deleted before the report start time.
Resource Group Names
To report on a specific resource group or groups,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of resource group names from the
user selection for this parameter. Search the ResourceGroup table to find
records for which RG.resourceGroupName contains values found in the list. Join
RG and Resource on resourceGroupID and profileID to find the list of agents who
belong to the selected resource group(s). Resource ID and profile ID of agents
are stored in Resource.resourceID and Resource.profileID, respectively. This
report displays only agents who are active and agents who are deleted after the
report start time.
Agent Names
To report on a specific agent or agents, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of agent names from the user
selection for this parameter. These values are found in Resource.resourceName.
Obtain the corresponding Resource.resourceID and Resource.profileID.
Skill Names
To report on agents with a specific skill or skills,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of skill names from the user
selection for this parameter. Search the Skill table to find records whose
Skill.skillName contains values found in the list. Join Skill and RSM on
skillID and profileID to find resourceSkillMapID. Join RSM and Resource on
resourceSkillMapID and profileID to find the list of agents who have the
selected skill(s). Resource ID and profile ID of agents are stored in
Resource.resourceID and Resource.profileID, respectively. This report displays
only agents who are active and agents who are deleted after the report start
time.
Team Names
To report on a specific team or teams, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of team names from the user
selection for this parameter. Search the Team table to find records in which
Team.teamName contains values found in the list. Join Team.teamID with
Resource.assignedTeamID, and join Team.profileID with Resource.profileID to
find the list of agents who belong to the selected team or teams. The Resource
ID and profile ID of agents are stored in Resource.resourceID and
Resource.profileID, respectively.
This report displays only the active agents and the
agents who are deleted after the report start time.
Top N Calls Handled/Presented Ratio
To report on N agents who rank highest in the calls
handled/presented ratio, obtain the list of resource IDs as follows:
Rank the agents by the calls handled/presented ratio
in descending order. In case of a tie, order the agents alphabetically by
Resource.resourceLoginID. Select the top N agents. The value of resource ID is
stored in Resource.resourceID.
Join Resource.resourceID with ACD.resourceID and
ACD.profileID to obtain other call-related data.
Bottom N Calls Handled/Presented Ratio
To report on N agents who rank lowest in the calls
handled/presented ratio, obtain the list of resource IDs as follows:
Rank the agents by the calls handled/presented ratio
in descending order. In case of a tie, order the agents alphabetically by
Resource.resourceLoginID. Select the bottom N agents. The value of resource ID
is stored in Resource.resourceID.
Join Resource.resourceID with ACD.resourceID and
ACD.profileID to obtain other call-related data.
Top N Avg Hold Time
To report on N agents who rank highest in average
hold time, obtain the list of resource IDs as follows:
Rank the agents by average hold time in descending
order. In case of a tie, order the agents alphabetically by
Resource.resourceLoginID. Select the top N agents. The value of resource ID is
stored in Resource.resourceID.
Join Resource.resourceID with ACD.resourceID and
ACD.profileID to obtain other call-related data.
Bottom N Avg Hold Time
To report on N agents who rank lowest in average
hold time, obtain the list of resource IDs as follows:
Rank the agents by average hold time in descending
order. In case of a tie, order the agents alphabetically by
Resource.resourceLoginID. Select the bottom N agents. The value of resource ID
is stored in Resource.resourceID.
Join Resource.resourceID with ACD.resourceID and
ACD.profileID to obtain other call-related data.
Top N Avg Talk Time
To report on N agents who rank highest in average
talk time, obtain the list of resource IDs as follows:
Rank the agents by average talk time in descending
order. In case of a tie, order the agents alphabetically by
Resource.resourceLoginID. Select the top N agents. The value of resource ID is
stored in Resource.resourceID.
Join Resource.resourceID with ACD.resourceID and
ACD.profileID to obtain other call-related data.
Bottom N Avg Talk Time
To report on N agents who rank lowest in average
talk time, obtain the list of resource IDs as follows:
Rank the agents by average talk time in descending
order. In case of a tie, order the agents alphabetically by
Resource.resourceLoginID. Select the bottom N agents. The value of resource ID
is stored in Resource.resourceID.
Join Resource.resourceID with ACD.resourceID and
ACD.profileID to obtain other call-related data.
Top N Avg Work Time
To report on N agents who rank highest in average
work time, obtain the list of resource IDs as follows:
Rank the agents by average work time in descending
order. In case of a tie, order the agents alphabetically by
Resource.resourceLoginID. Select the top N agents. The value of resource ID is
stored in Resource.resourceID.
Join Resource.resourceID with ACD.resourceID and
ACD.profileID to obtain other call-related data.
Bottom N Avg Work Time
To report on N agents who rank lowest in average
work time, obtain the list of resource IDs as follows:
Rank the agents by average work time in descending
order. In case of a tie, order the agents alphabetically by
Resource.resourceLoginID. Select the bottom N agents. The value of resource ID
is stored in Resource.resourceID.
Join Resource.resourceID with ACD.resourceID and
ACD.profileID to obtain other call-related data.
Top N Avg Handle Time
To report on N agents who rank highest in average
handle time, obtain the list of resource IDs as follows:
Rank the agents by average handle time in descending
order. In case of a tie, order the agents alphabetically by
Resource.resourceLoginID. Select the top N agents. The value of resource ID is
stored in Resource.resourceID.
Join Resource.resourceID with ACD.resourceID and
ACD.profileID to obtain other call-related data.
Bottom N Avg Handle Time
To report on N agents who rank lowest in average
handle time, obtain the list of resource IDs as follows:
Rank the agents by average handle time in descending
order. In case of a tie, order the agents alphabetically by
Resource.resourceLoginID. Select the bottom N agents. The value of resource ID
is stored in Resource.resourceID.
Join Resource.resourceID with ACD.resourceID and
ACD.profileID to obtain other call-related data.
Agent Wrap-Up Data Detail report
The Agent Wrap-Up Data Detail report shows the details
entered by an agent when entering the work state after attending an ACD. This
report is available with the Agent Wrap-Up feature.
Table 1
shows how the information in the Agent Wrap-Up Data Detail report is obtained
or calculated.
Table 2
explains how the Agent Wrap-Up Data Detail report filter parameters obtain
data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 19 Agent Wrap-Up Data Detail report query design
Field
Explanation
Agent Name
For ACD calls, an agent is identified by the
combination of ACD.resourceID and ACD.profileID. Join ACD.resourceID with
Resource.resourceID, and join ACD.profileID with Resource.profileID to obtain
the agent name, which is stored in Resource.resourceName.
For IVR calls, if an agent is the originator of the
call, the agent is identified by CCD.originatorID and CCD.profileID, when
CCD.originatorType = 1 (agent type). Join CCD.originatorID with
Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain
Resource.resourceName.
If an agent is the destination of an IVR call, the
agent is identified by CCD.destinationID and CCD.profileID, when
CCD.destinationType = 1 (agent type). Join CCD.destinationID with
Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain
Resource.resourceName.
Extension
For ACD calls, an agent is identified by the
combination of ACD.resourceID and ACD.profileID. Join ACD.resourceID with
Resource.resourceID, and join ACD.profileID with Resource.profileID to obtain
the agent name, which is stored in Resource.resourceName.
For IVR calls, if an agent is the originator of the
call, the agent is identified by CCD.originatorID and CCD.profileID, when
CCD.originatorType = 1 (agent type). Join CCD.originatorID with
Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain
Resource.resourceName.
If an agent is the destination of an IVR call, the
agent is identified by CCD.destinationID and CCD.profileID, when
CCD.destinationType = 1 (agent type). Join CCD.destinationID with
Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain
Resource.extension.
Node ID
Obtained from CCD.nodeID.
Session ID
Obtained from CCD.sessionID.
Sequence No.
Obtained from CCD.sessionSeqNum.
Call Start Time
Obtained from ACD.startDateTime.
Call End Time
Obtained from ACD.endDateTime.
Call ANI
Agent identification is stored in ACD (see
Agent Name earlier in this table). Join ACD and CCD on
sessionID, sessionSeqNum, nodeID, and profileID. The value of this field is
obtained from CCD.originatorDN.
Called Number
Agent identification is stored in ACD (see
Agent Name earlier in this table). Join ACD and CCD on
sessionID, sessionSeqNum, nodeID, and profileID. The value of this field is
obtained from CCD.calledNumber.
Call Routed CSQ
Join ACD and CQD on sessionID, sessionSeqNum,
profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type), and
CQD.disposition = 2 (handled). The combination of CQD.targetID and
CQD.profileID uniquely identifies a CSQ. Join CQD.targetID with CSQ.recordID,
and join CQD.profileID with CSQ.profileID to obtain the CSQ name, which is
stored in CSQ.csqName.
Talk Time
Obtained from ACD.talkTime.
Hold Time
Obtained from ACD.holdTime.
Work Time
Obtained from ACD.workTime.
Wrap-Up Data
Obtained from ACD.callWrapupData.
Table 20 Agent Wrap-Up Data Detail report filter parameters
Filter parameter
Explanation
Agent Names
To report on a specific agent or agents, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of agent names from the user
selection for this parameter. These values are in Resource.resourceName. Obtain
the corresponding Resource.resourceID and Resource.profileID.
Resource Group Names
To report on a specific resource group or groups,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of resource group names from the
user selection for this parameter. Search the ResourceGroup table to find
records for which RG.resourceGroupName contains values found in the list. Join
RG and Resource on resourceGroupID and profileID to find the list of agents
that belong to the selected resource group or groups. Resource ID and profile
ID of agents are stored in Resource.resourceID and Resource.profileID,
respectively. This report displays only agents who are active and agents who
are deleted after the report start time.
Skill Names
To report on a specific agent or agents, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of agent names from the user
selection for this parameter. These values are in Resource.resourceName. Obtain
the corresponding Resource.resourceID and Resource.profileID.
Team Names
To report on agents with a specific skill or skills,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of skill names from the user
selection for this parameter. Search the Skill table to find records for which
Skill.skillName contains values found in the list. Join Skill and RSM on
skillID and profileID to find resourceSkillMapID. Join RSM and Resource on
resourceSkillMapID and profileID to find the list of agents that have the
selected skill or skills. Resource ID and profile ID of agents are stored in
Resource.resourceID and Resource.profileID, respectively. This report displays
only agents who are active and agents who are deleted after the report start
time.
Agent Wrap-Up Data Summary report
The Agent Wrap-Up Data Summary report displays shows
detailed information about Wrap-Up data. This report is available with the
Agent Wrap-Up feature.
Table 1
shows how the information in the Agent Wrap-Up Data Summary report is obtained
or calculated.
Table 2
explains how the Agent Wrap-Up Data Summary report filter parameter obtains
data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 21 Agent Wrap-Up Data Summary report query design
Field
Explanation
Wrap-Up Data
Obtained from ACD.callWrapupData.
Total ACD Calls
For the selected Wrap-Up data, count the number of
ACD records.
Total Handle Time
For the selected Wrap-Up data, for all ACD records,
calculate (ACD.talkTime + ACD.holdTime + ACD.workTime).
Average Handle Time
Total Handle Time /
Total ACD Calls.
Max Handle Time
For the selected Wrap-Up data, for all ACD records,
find the one with maximum (talkTime + holdTime + workTime).
Total Talk Time
For the selected Wrap-Up data, for all ACD records,
determine the total ACD.talkTime.
Average Talk Time
Total Talk Time /
Total ACD Calls.
Max Talk Time
For the selected Wrap-Up data, for all ACD records,
find the one with the maximum ACD.talkTime.
Total Talk Time as % of Total Handle Time
(Total Talk Time /
Total Handle Time) * 100%
Total Work Time
For the selected Wrap-Up data, for all ACD records,
determine the total ACD.workTime.
Average Work Time
Total Work Time /
Total ACD Calls.
Max Work Time
For the selected Wrap-Up data, for all ACD records,
find the one with the maximum ACD.workTime.
Total Work Time as % of Total Handle Time
(Total Work Time /
Total Handle Time) * 100%
Table 22 Agent Wrap-Up Data Summary report filter parameter
Filter parameter
Explanation
Wrap-Up Data
To report on a specific Wrap-Up data, obtain the
list of data from the user selection for this parameter. Look up these
selections in the ACD table, and include the corresponding ACD records.
Application Performance Analysis report
The Application Performance Analysis report shows
information about calls received by each Unified CCX or Cisco Unified IP IVR
application. It contains one row per call application. The information is
stored in the CCD table.
Table 1
shows how the information in the Application Performance Analysis report is
obtained or calculated.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Each application is identified by the combination of
CCD.applicationID and CCD.applicationName. For each application, count the
number of CCD records to determine the total number of calls presented to the
application.
Calls Handled
Each application is identified by the combination of
CCD.applicationID and CCD.applicationName. For each application, count the
number of CCD records with CCD.contactDisposition = 2 (handled) to determine
the total number of calls presented to the application.
Calls Abandoned
Each application is identified by the combination of
CCD.applicationID and CCD.applicationName. For each application, count the
number of CCD records with CCD.contactDisposition = 1 (abandoned) or 4
(aborted) to determine the total number of calls presented to the application.
Abandon Rate (per hour)
Calculated as follows:
Calls Abandoned / number of hours within the
report period
Avg Call Duration
Call duration is stored in CCD.connectTime. Average
call duration of an application is calculated as the sum of CCD.connectTime for
all calls in that application, divided by the number of calls.
Application Summary report
The Application Summary report provides summary call
statistics for each Unified CCX or Cisco Unified IP IVR application.
Table 1
shows how the information in the Application Summary report is obtained or
calculated.
Table 2
explains how the Application Summary report filter parameter obtains data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 24 Application Summary report Query Design
Field
Explanation
Application Name
Obtained from CCD.applicationName.
Called Number
Obtained from CCD.origCalledNumber.
Calls Presented
The combination of CCD.applicationName and
CCD.origCalledNumber uniquely identifies an application.
For each application, count the number of CCD
records to obtain the number of calls presented to the application.
Flow-In
The combination of CCD.applicationName and
CCD.origCalledNumber uniquely identifies an application.
For each application, count the number of CCD
records in which CCD.contactType is 4 (redirect in).
Flow-Out
The combination of CCD.applicationName and
CCD.origCalledNumber uniquely identifies an application.
For each application, count the number of CCD
records in which CCD.flowout is 1.
Calls Handled
The combination of CCD.applicationName and
CCD.origCalledNumber uniquely identifies an application.
For each application, count the number of CCD
records in which CCD.contactDisposition is 2 (handled).
Avg Speed Answer
This field includes only calls connected to agents.
Join CCD, CRD, and ACD on sessionID, sessionSeqNum,
profileID, and nodeID. Find ACD records with ACD.talkTime greater than zero (so
that RNAs are excluded).
To calculate total queue time, add the values
stored in CRD.queueTime.
To obtain total ring time, add the values stored in
ACD.ringTime.
To obtain the number of calls connected to agents,
count the number of ACD records in the result set from the join.
Average speed to answer is calculated as:
total queue time / number of calls connected to
agents.
If number of calls connected to agents is zero for
this application, this field is zero.
Avg Talk Time
Join CCD, CRD, and ACD on sessionID, sessionSeqNum,
profileID, and nodeID. Find ACD records with ACD.talkTime greater than zero (so
that RNAs are excluded).
To obtain total talk time, add up the values stored
in ACD.talkTime.
To obtain the number of calls connected to agents,
count the number of ACD records in the result set from the join.
Average talk time is calculated as:
Total talk time / number of calls connected to
agents.
If number of calls connected to agents is zero for
this application, this field is zero.
Avg Work Time
Join CCD, CRD, and ACD on sessionID, sessionSeqNum,
profileID, and nodeID. Find ACD records with ACD.talk time greater than zero
(so that RNAs are excluded).
To obtain total work time, add up the values stored
in ACD.workTime.
To obtain the number of calls connected to agents,
count the number of ACD records in the result set from the join.
Average work time is calculated as:
Total work time / number of calls connected to
agents.
If number of calls connected to agents is zero for
this application, this field is zero.
Calls Abandoned
The combination of CCD.applicationName and
CCD.origCalledNumber uniquely identifies an application.
For each application, count the number of CCD
records in which CCD.contactDisposition is 1 (abandoned), 4 (aborted), or 5 or
greater (rejected).
Avg Abandon Time
The combination of CCD.applicationName and
CCD.origCalledNumber uniquely identifies an application.
For each application, calculate the sum of the
values in CCD.connectTime where the CCD.contactDispostion is 1 (abandoned), 4
(aborted), or 5 or greater (rejected) to obtain the total abandon time.
If Calls Abandoned is not zero, this field is
calculated as:
Total abandon time / Calls Abandoned.
If Calls Abandoned is zero, this field is zero.
Table 25 Aborted and Rejected Call Detail report filter parameter
Filter parameter
Explanation
Application Name
To report on a specific application or
applications, obtain the list of application names from the user selection for
this parameter. Find CCD records for which values stored in CCD.applicationName
are found in the selected list.
Call Custom Variables report
The Call Custom Variables report shows information about
custom variables that are set by the Set Enterprise Call step in the workflow
that the Unified CCX or Cisco Unified IP IVR application associated with a call
invoked. This information comes from the CCD table.
Table 1
shows how the information in the Call Custom Variables report is obtained or
calculated.
Table 2
explains how the Call Custom Variables report filter parameters obtain data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID to obtain ACD.resourceID and ACD.profileID.
ACD.resourceID contains the resource ID of the agent who handled the call. Join
ACD.resourceID with Resource.resourceID, and join ACD.profileID with
Resource.profileID to obtain the agent name, which is stored in
Resource.resourceName.
Blank for ACD calls that were not handled by any
agent and for IVR calls.
Application Name
Obtained from CCD.applicationName.
Custom Variable 1
Obtained from CCD.customVariable1.
Custom Variable 2
Obtained from CCD.customVariable2.
Custom Variable 3
Obtained from CCD.customVariable3.
Custom Variable 4
Obtained from CCD.customVariable4.
Custom Variable 5
Obtained from CCD.customVariable5.
Custom Variable 6
Obtained from CCD.customVariable6.
Custom Variable 7
Obtained from CCD.customVariable7.
Custom Variable 8
Obtained from CCD.customVariable8.
Custom Variable 9
Obtained from CCD.customVariable9.
Custom Variable 10
Obtained from CCD.customVariable10.
Called Number Summary Activity report
The Called Number Summary Activity report contains one row
per called number. The called number is stored in CCD.origCalledNumber.
Outgoing calls are not included in this report.
Table 1
shows how the information in the Called Number Summary Activity report is
obtained or calculated.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 27 Called Number Summary Activity report query design
Field
Explanation
Called Number
Obtained from CCD.calledNumber
Call Type
Obtained from CCD.destinationType. The value 1
(agent) indicates an IVR call. The value 2 (device) indicates an ACD call. The
value 3 (unknown) indicates an outgoing call or a call to an unmonitored
device, and is not reported.
Total Calls
For each unique CCD.calledNumber, count the number
of CCD records.
Avg Calls (per day)
Total calls divided by the number of days in the
report period.
The number of days in the report period is
calculated as follows. This information is displayed in units of days, rounded
up to the next integer.
report end time – report start time
For example, if the report start time and the
report end time are on the same day, the number of days is 1.
Avg Call Duration
Duration of a call is obtained from
CCD.connectTime. Average call duration of a called number is calculated by the
sum of CCD.connectTime of all calls for that called number, divided by the
number of calls to that number.
To report on a specific original called number or
numbers, obtain the list of original called numbers from the user selection for
this parameter. Find CCD records whose value stored in CCD.origCalledNumber is
in the selected list.
Called Number
To report on a specific called number or numbers,
obtain the list of called numbers from the user selection for this parameter.
Find CCD records whose value stored in CCD.calledNumber is in the selected
list.
Calling Number
To report on a specific calling number or numbers,
obtain the list of calling numbers from the user selection for this parameter.
Find at CCD records whose value stored in CCD.originatorDN is in the selected
list.
Application Name
To report on a specific application name or names,
obtain the list of application names from the user selection for this
parameter. Find CCD records whose value stored in CCD.applicationName is in the
selected list.
Contact Type
To report on a specific contact type or types,
obtain the list of contact type names from the user selection for this
parameter. The numeric ID is mapped to contact type name as follows:
1—incoming
2—outgoing
3—internal
4—redirect-in
5—transfer-in
6—outbound preview
Find CCD records for which the value stored in
CCD.contactType is in the selected list.
Originator Type
To report on a specific originator types, obtain
the list of originator types from the user selection for this parameter. The
numeric ID is mapped to originator type name as follows:
1—agent
2—device
3—unknown
Find CCD records for which the value stored in
CCD.originatorType is in the selected list.
Destination Type
To report on a specific destination type, obtain
the list of destination type from the user selection for this parameter. The
numeric ID is mapped to destination type name is as follows:
1—agent
2—device
3—unknown
Find at CCD records for which the value stored in
CCD.destinationType is in the selected list.
Duration Greater Than or Equal to T seconds
To report on calls with duration greater than or
equal to T seconds, obtain the value of T from the user input for this
parameter. The call duration is calculated as CCD.endDateTime minus
CCD.startDateTime, in number of seconds. Find CCD records with call duration
greater than or equal to T.
Duration Less Than or Equal to T seconds
To report on calls with duration less than or equal
to T seconds, obtain the value of T from the user input for this parameter. The
call duration is calculated as CCD.endDateTime minus CCD.startDateTime, in
number of seconds. Find CCD records with call duration less than or equal to T.
Custom Variable 1
Obtain the string from the user input for this
parameter. Find CCD records for which the value stored in CCD.customVariable1
matches the user input either partially or wholly.
Custom Variable 2
Obtain the string from the user input for this
parameter. Find CCD records for which the value stored in CCD.customVariable2
matches the user input either partially or wholly.
Custom Variable 3
Obtain the string from the user input for this
parameter. Find CCD records for which the value stored in CCD.customVariable3
matches the user input either partially or wholly.
Custom Variable 4
Obtain the string from the user input for this
parameter. Find CCD records for which the value stored in CCD.customVariable4
matches the user input either partially or wholly.
Custom Variable 5
Obtain the string from the user input for this
parameter. Find CCD records for which the value stored in CCD.customVariable5
matches the user input either partially or wholly.
Custom Variable 6
Obtain the string from the user input for this
parameter. Find CCD records for which the value stored in CCD.customVariable6
matches the user input either partially or wholly.
Custom Variable 7
Obtain the string from the user input for this
parameter. Find CCD records for which the value stored in CCD.customVariable7
matches the user input either partially or wholly.
Custom Variable 8
Obtain the string from the user input for this
parameter. Find CCD records for which the value stored in CCD.customVariable8
matches the user input either partially or wholly.
Custom Variable 9
Obtain the string from the user input for this
parameter. Find CCD records for which the value stored in CCD.customVariable9
matches the user input either partially or wholly.
Custom Variable 10
Obtain the string from the user input for this
parameter. Find CCD records for which the value stored in CCD.customVariable10
matches the user input either partially or wholly.
Any Custom Variable
Obtain the string from the user input for this
parameter. Find CCD records for which the value stored in any of the 10 custom
variables matches the user input either partially or wholly. The value of
custom variable is stored in CCD.customVariablen, where n = 1 to 10.
Chat Agent Detail report
The Chat Agent Detail report contains detailed information
for the chat contacts received by all the chat agents. The report contains one
row per chat contact for each of the agents.
Note
Chat Agent Detail report is available in Unified CCX Premium license
package.
Table 1
shows how the information in the Chat Agent Detail report is obtained or
calculated.
Table 29 Chat Agent Detail report
Field
Explanation
Agent Name(Agent ID)
For the agents specified, obtain the
Resource.resourceID and Resource.profileID as described in
Table 2.
Agent Name is stored in Resource.resourceName.
Note
When an attribute of an agent changes (for example,
extension or resource group), the agent will have multiple entries in the
Resource table. In this case, each entry will have a different resource ID, so
several resource IDs can belong to one agent, and Resource.resourceID will not
uniquely identify an agent. Also, one agent may belong to different application
profiles, and will have different Resource.profileID entries. Therefore, the
combination of Resource.resourceID and Resource.profileID is not sufficient to
uniquely identify an agent. The combination of Resource.resourceName and
Resource.resourceLoginID is used to uniquely identify an agent.
Resource.resourceName itself is not sufficient to do so because different
agents may have the same first and last names, but have different resource
login IDs. Resource.resourceLoginID by itself does not uniquely identify an
agent because a generic resource login ID (for example, supportagent003) may be
used for different agents at different times. The combination of two uniquely
identifies an agent.
Chat Start Time
Time at which the chat contact is offered to an
agent. It is obtained from the startdatetime field of the TACD table.
Chat End Time
Time at which agent ends the chat. It is obtained
from the enddatetime field of the TACD table.
Duration
Chat time period which is calculated as follows:
Chat End Time – Chat Start Time
Displayed as hh:mm:ss.
Chat Originator
Contactid which uniquely identifies a chat contact.
It is obtained from the Contactid field of the TACD table.
Chat Routed CSQ
CSQ through which the chat contact was routed to an
agent. It is obtained from the csqname field of the contactservicequeue table.
Chat Skills
Skills associated with an agent for handling a chat
contact. This is obtained from the skillname field of the skill table.
Active Time
Talk time for the chat agent. This is obtained from
the talk time field of the TACD table.
Accept Time
Time the agent spent in accepting the chat contact.
This is obtained from the acceptTime field of the TACD table.
Chat Type
Type of the chat contact. This is obtained from the
contactType field of the TCD table.
Chat Agent Summary report
The Chat Agent Summary report provides a summary line per
chat agent. It includes the number of chats assigned and handled by an agent,
active time, and accept time.
Note
Chat Agent Summary report is available in Unified CCX Premium
license package.
Table 1
shows how the information in the Chat Agent Summary report is obtained or
calculated.
Table 30 Chat Agent Summary report
Field
Explanation
Agent Name(Agent ID)
For the agents specified, obtain the
Resource.resourceID and Resource.profileID as described in
Table 2.
Agent Name is stored in Resource.resourceName.
Note
When an attribute of an agent changes (for example,
extension or resource group), the agent will have multiple entries in the
Resource table. In this case, each entry will have a different resource ID, so
several resource IDs can belong to one agent, and Resource.resourceID will not
uniquely identify an agent. Also, one agent may belong to different application
profiles, and will have different Resource.profileID entries. Therefore, the
combination of Resource.resourceID and Resource.profileID is not sufficient to
uniquely identify an agent. The combination of Resource.resourceName and
Resource.resourceLoginID is used to uniquely identify an agent.
Resource.resourceName itself is not sufficient to do so because different
agents may have the same first and last names, but have different resource
login IDs. Resource.resourceLoginID by itself does not uniquely identify an
agent because a generic resource login ID (for example, supportagent003) may be
used for different agents at different times. The combination of two uniquely
identifies an agent.
Total Presented
Number of chats assigned to the agent. It is
calculated by counting the number of TextAgentConnectionDetail records (TACDR)
for the chat agent after joining with TextContactDetail records (TCDR) based on
contactid, contactseqnum, and mediatype, which is 1 (chat_type).
Total Handled
Number of chats handled by the agent. It is
calculated by counting the number of TACDR with talk time > 0 for the agent
after joining with TCDR based on contactid, contactseqnum and mediatype = 1
(chat_type) and disposition = 2 (handled).
Active Time—Avg
Average talk time for the chat agent. It is
calculated by taking the average talk time of all the TACDR for the agent after
joining with TCDR based on contactid, contactseqnum, and mediatype = 1
(chat_type)
Active Time—Max
Maximum talk time for the chat agent. It is
calculated by taking the maximum talk time of all the TACDR for the agent after
joining with TCDR based on contactid, contactseqnum, and mediatype = 1
(chat_type)
Accept Time—Avg
Average time the agent spent in accepting the chat
contact. It is calculated by taking the average accept time of all the TACDR
for the agent after joining with TCDR based on contactid, contactseqnum, and
mediatype = 1 (chat_type).
Accept Time—Max
Maximum time the agent spent in accepting the chat
contact. It is calculated by taking the maximum accept time of all the TACDR
for the agent after joining with TCDR based on contactid, contactseqnum, and
mediatype = 1 (chat_type).
Chat Contact Service Queue Activity report
The Chat Contact Service Queue Activity report shows one
line for each CSQ that is configured in Unified CCX. A CSQ can be configured
based on resource skill.
Table 1
shows how the information in the Chat Contact Service Queue Activity report is
obtained or calculated.
Table 2
explains how the Chat Contact Service Queue Activity report filter parameter
obtains data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter
Table 31 Chat Contact Service Queue Activity report query design
Field
Explanation
CSQ Name
The CSQ.recordID uniquely identifies a CSQ. Obtain
this value as described in
Table 2.
CSQ name is stored in CSQ.csqName.
Chats Presented
Chats Presented is calculated using the sum of
Chats Handled and Chats Abandoned.
Avg Queue Time
Calculated as total TCQD.queueTime / Total number
of TCQD records with TCQD.queueTime greater than zero.
Max Queue Time
Join TCD and TCQD on contactId, contactseqnum, and
nodeID to find TCQD records during the report period. (For these records, the
values of the corresponding TCD.startdatetime is within the report period.) For
each CSQ, determine the maximum value stored in TCQD.queueTime.
Chats Handled
Join TCQD and TACD on contactId, contactseqnum,
qindex, and nodeID with TCQD.disposition is 2 (handled), and TACD.talkTime
greater than zero. This process provides the chats handled by agents.
For each CSQ, count the number of TCQD records to
determine the number of chats handled by the CSQ.
Avg Handle Time
Join TCQD and TACD on contactId, contactseqnum,
qindex, and nodeID with TCQD.disposition is 2 (handled), and TACD.talkTime
greater than zero. This process provides the chats handled by agents.
For each CSQ, calculate the average of
TACD.talkTime to determine the average time for chats handled by the CSQ.
If Chats Handled is zero, this field is zero.
Max Handle Time
Join TCQD and TACD on contactId, contactseqnum,
qindex, and nodeID with TCQD.disposition is 2 (handled), and TACD.talkTime
greater than zero. This process provides the chats handled by agents.
For each CSQ, maximum of TACD.talkTime determine
the value of this field.
If Chats Handled is zero, this field is zero.
Chats Abandoned
For each CSQ, count the number of TCQD records
where TCQD.disposition = 1 to determine the number of chats abandoned from the
CSQ.
You can filter the Chat Contact Service Queue Activity
report by the following parameter:
Table 32 Chat Contact Service Queue Activity report filter parameter
Filter parameter
Result
All CSQs (default, no filter parameter)
Search the CSQ table to find the distinct
CSQ.csqName with CSQ.queueType is equal to 2 and CSQ.dateinactive is NULL. This
action determines all the active chat CSQs.
CSQ Names
Obtain the list of CSQ names from the user
selection for this parameter. Search the CSQ table to find records for which
CSQ.csqName contains values that are in the list. Obtain the corresponding
CSQ.recordID.
Chat CSQ Agent Summary report
An agent can handle chat contacts for multiple CSQs. The
Chat CSQ Agent Summary report table provides information about chat contacts
handled in each CSQ for each agent.
Table 1
explains how to obtain and calculate the information in the Chat CSQ Agent
Summary report.
Table 2
explains how the Chat CSQ Agent Summary report filter parameter obtains data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
The CSQ.recordID uniquely identifies a CSQ. Obtain
this value as described in
Table 2.
CSQ name is stored in CSQ.csqName.
Agent Name
Chat record tables (TACD and TASD) refer to agents
by resource ID. Given Resource.resourceID, search the Resource table for the
corresponding Resource.resourceName and Resource.resourceLoginID. These two
fields uniquely identify an agent. The agent name is stored in
Resource.resourceName.
Chat Received
A received chat contact has a TCCD record, a TCQD
record for the CSQ that the chat contact was routed to, and a TACD record for
the agent who received the chat contact.
Join TCCD and TCQD on contactID, contactSeqNum, and
nodeID to find the TCQD record for the CSQ to which the chat contact was
routed. Join TCQD and TACD on contactID, contactSeqNum, nodeID, and qIndex to
find the agent who handled the chat contact. To uniquely identify a CSQ, the
CSQ record ID is stored in TCQD.csqrecordid.
To uniquely identify an agent, the resource ID is
stored in TACD.resourceid.
For each CSQ-Agent combination (CSQ is identified
by CSQ.recordID, and agent is identified by Resource.resourceName), count the
number of TACD records to determine the number of chat contacts handled by the
specified CSQ-Agent combination.
Chat Handled
Same calculation as for chat contacts received, but
in the search criteria, TACD.talkTime is greater than zero.
Average Active Chat Time
If chat contacts handled is not zero then this
field is calculated as Total Talk Time divided by Chat Contacts Handled.
If Chat Contacts Handled is zero, this field is
zero.
Chat No Answer
Same calculation as for chat contacts Received, but
in the search criteria, TACD. talkTime is zero, and TACD.acceptTime is greater
than zero.
For each CSQ-Agent combination, count the number of
TACD records. This result is the number of chat contacts that got no answer.
Average Acceptance Time
If chat contacts Handled is not zero then this
field is calculated as Total Accept Time divided by Chat Contacts Handled.
If Chat Contacts Handled is zero then this field is
zero.
Search the CSQ table to find CSQ.recordID for CSQs
with CSQ.dateInactive set to null or set to a date/time later than the report
start time and with CSQ.queuetype equal to 2. This action determines the active
chat CSQs and CSQs that are deleted after the report start time (they are still
active during the report period).
CSQ Names
Obtain the list of CSQ names from the user
selection for this parameter. Search the CSQ table to find records for which
CSQ.csqname contains values that are in the list. Obtain the corresponding
CSQ.recordID.
Chat Traffic Analysis report
The Chat Traffic Analysis report shows information about
incoming chat contacts to the Unified CCX system.
Table 1
shows how the information in the Chat Traffic Analysis report is obtained or
calculated.
If the selected report Start Date and report End Date
exceeds the date range available in the database, the report start date and
report end date are automatically adjusted to match the date range that is
available in the database. For example, if data is available in the database
only from start date x to end date y, and if the selected start date is earlier
than x and the selected end date is later than y, the report start date and
report end date are automatically adjusted to x and y respectively.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter .
For each day, count the number of TCCD records with
a unique contactID with the Contact Type field set to the value of 1 (incoming
contact).
Avg Chats (per hour)
Calculated as total incoming contacts divided by
the number of hours in a day.
The first day or the last day of the report period
may be a partial day depending on the start time and the end time selected by
the user. Any other day within the report period has 24 hours.
Peak Chats (per hour)
Divide each day into 1-hour intervals. The number
of incoming chat contacts within each interval is determined by counting the
number of TCCD records with a unique contactID in the interval. The peak hour
is the interval with the largest number of incoming chat contacts. This field
displays the number of chat contacts in the peak hour.
Peak Hour Start Time
Divide each day into 1-hour intervals. The number
of incoming chat contacts within each interval is determined by counting the
number of TCCD records with a unique contactID in the interval. The peak hour
is the interval with the largest number of incoming chat contacts. This field
displays the start time of the peak hour.
Peak Hour End Time
Divide each day into 1-hour intervals. The number
of incoming chat contacts within each interval is determined by counting the
number of TCCD records with a unique contactID in the interval. The peak hour
is the interval with the largest number of incoming chat contacts. This field
displays the end time of the peak hour.
Avg Chat Duration
The contact duration for a chat contact is
calculated as the sum of TACD.talkTime for all the contacts connected to an
agent. It is zero for all other contacts.
Average contact duration for a day is calculated as
the sum of contact durations for all incoming contacts on that day divided by
the number of incoming contacts on that day.
Min Chat Duration
The contact duration for a chat contact is
calculated as the sum of TACD.talkTime for all the contacts connected to an
agent. It is zero for all other contacts.
Minimum contact duration for a day is the shortest
contact duration of all incoming contacts for that day.
Max Chat Duration
The contact duration for a chat contact is
calculated as the sum of TACD.talkTime for all the contacts connected to an
agent. It is zero for all other contacts.
Maximum contact duration for a day is the shortest
contact duration of all incoming contacts for that day.
Common Skill Contact Service Queue Activity report (by Interval)
The Common Skill Contact Service Queue Activity report (by
Interval) shows summary information about calls presented, calls handled, and
calls abandoned for each group of contact service queues (CSQs). (Such a group
consists of CSQs that are configured with the same skill or skills and with
different competence levels.)
Table 1
shows how the information in the Common Skill Contact Service Queue Activity
report (by Interval) is obtained or calculated.
Table 2
explains how the Common Skill Contact Service Queue Activity report (by
Interval) filter parameters obtain data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 36 Common Skill Contact Service Queue Activity report (by Interval)
query design
Field
Explanation
Interval Start Time
Beginning of an interval.
End-users can divide the report period into 30- or
60-minute intervals. (The default interval length is the entire report period.)
Interval End Time
End of an interval.
End-users can divide the report period into 30- or
60-minute intervals. (The default interval length is the entire report period.)
CSQ Name
The combination of CSQ.recordID and CSQ.profileID
uniquely identifies a CSQ. Obtain these two values as described in
Table 2.
CSQ name is stored in CSQ.csqName.
Skills (Competence Level)
Join CRD.primaryCSD with CSQU.recordID to obtain
CSQU.skillGroupID. Join CSQU.skillGroupID with SG.skillGroupID to obtain
SG.skillID. Join SG.skillID with Skill.skillID to obtain the list of skill
names, which is stored in Skill.skillName. Competence level is obtained from
SG.competenceLevel.
Calls Presented— Total
If a call is presented to one CSQ, the record ID of
the CSQ is stored in CRD.csd1. If a call is presented to two CSQs, the record
IDs of the CSQs are stored in CRD.csd1 and in CRD.csd2. If a call is presented
to three CSQs, the record IDs of the CSQs are stored in CRD.csd1, in CRD.csd2,
and in CRD.csd3.
To calculate the number of calls presented to each
CSQ, count the number of CRD records with unique sessionIDs that contain the
record ID of the CSQ in csd1, csd2, or csd3.
Calls Presented— Queue Time Avg
Queue Time is stored in CQD.queueTime. Determine
the sum of CQD.queueTime values for all calls presented to this CSQ, then
divide by
Calls Presented—Total, if calls presented is not zero.
If it is zero, this field is set to zero.
Calls Presented— Queue Time Max
Maximum value stored in CQD.queueTime, for all
calls presented to this CSQ.
Calls Handled— Total
To calculate calls handled by each CSQ, count the
number of CRD records with unique sessionID that contain the record ID of the
CSQ in the primaryCSD field. In addition, join CRD and ACD on sessionID and
sessionSeqNum to only include calls with non-zero ACD.talkTime. Then join CRD
and CCD on sessionID and sessionSeqNum to only include calls with
CCD.contactDisposition set to 2 (handled).
Calls Handled— Handle Time Avg
Handle time of a call is calculated as
(ACD.talkTime + ACD.holdTime + ACD.workTime). Determine the sum of handle times
for all calls handled by this CSQ, then divide by
Calls Handled—Total, if calls handled is not zero. If it
is zero, this field is set to zero.
Calls Handled— Handle Time Max
Handle time of a call is calculated as
(ACD.talkTime + ACD.holdTime + ACD.workTime). This field is set to the maximum
value of handle time for all calls handled by this CSQ.
Calls Abandoned— Total
When a call is queued for a CSQ and then abandoned,
CRD.csd1 (or CRD.csd2, or CRD.csd3, depending on the order in which the call
was queued) stores the record ID of the CSQ. In addition, CRD.primaryCSD is –1.
To calculate the total number of calls abandoned
from a CSQ, count the number of CRD records with a unique sessionID that
contain the record ID of the CSQ in csd1, csd2, or csd3. Only include the CRD
records with primaryCSD set to –1. In addition, join CRD with CCD on sessionID
and sessionSeqNum to only include the records with CCD.contactDisposition set
to 1 (abandoned).
Calls Abandoned— Queue Time Avg
Queue Time is stored in CQD.queueTime. Determine
the sum of CQD.queueTime values for all calls abandoned from this CSQ, then
divide by
Calls Abandoned—Total, if calls abandoned is not zero.
If it is zero, this field is set to zero.
Calls Abandoned— Queue Time Max
Maximum value stored in CQD.queueTime, for all
calls abandoned from this CSQ.
Service Level— Percentage SL Met
Join CQD and ACD on sessionID, sessionSeqNum,
nodeID, profileID, and qIndex. Additional search criteria is CQD.targetType is
0 (CSQ type) and CQD.metServiceLevel is 1.
For each CSQ identified by the combination of
CQD.targetID and CQD.profileID, determine the number of CQD records, which is
the number of Calls Handled Within Service Level.
This field is calculated as follows, if
Calls Presented—Total is not zero:
(Calls Handled Within Service Level / Calls
Presented) * 100%
If
Calls Presented—Total is zero, this field is set to
zero.
Summary for Skills
Summation of statistics for all CSQs within the
same logical CSQ group.
Table 37 Common Skill Contact Service Queue Activity report (by Interval)
filter parameters
Filter parameter
Explanation
Interval Length
Options are entire report period (default), 30
minutes, 60 minutes.
CSQ Names
To report on a specific CSQ or CSQs, obtain the
list of the CSQ names from the user selection for this parameter. Join
CSQ.recordID with CQD.targetID, and join CSQ.profileID with CQD.profileID to
obtain the CQD records for the specified CSQs. For these CQD records,
CQD.targetType should be 0 (CSQ type). Join CQD and CCD on sessionID,
sessionSeqNum, nodeID, and profileID to obtain other information stored in the
CCD table.
Contact Service Queue Activity report
The Contact Service Queue Activity report shows one line
for each CSQ that is configured in Unified CCX. A CSQ can be configured based
on resource group or based on resource skill.
Table 1
shows how the information in the Contact Service Queue Activity report is
obtained or calculated.
Table 2
explains how the Contact Service Queue Activity report filter parameter obtains
data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 38 Contact Service Queue Activity report query design
Field
Explanation
CSQ Name
The combination of CSQ.recordID and CSQ.profileID
uniquely identifies a CSQ. Obtain these two values as described in
Table 2.
CSQ name is stored in CSQ.csqName.
Call Skills
The combination of CSQ.recordID and CSQ.profileID
uniquely identifies a CSQ. Obtain these two values as described in
Table 2.
Join CSQ.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join
SG.skillID with Skill.skillID to obtain the list of skill names, which are
stored in Skill.skillName. Multiple skill names are separated by commas.
Calls Presented
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (For these
records, the values of the corresponding CCD.startDateTime is within the report
period.) Additional search criterion: CQD.targetType is 0 (type CSQ).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records to
determine the number of calls presented to that CSQ.
Average Queue Time
Calculated as total queue time /
Calls Presented.
To obtain total queue time, Join CCD and CQD on
sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the
report period. (For these records, the values of the corresponding
CCD.startDateTime is within the report period.) Additional search criterion:
CQD.targetType is 0 (type CSQ).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, calculate the sum of the values
stored in CQD.queueTime.
Max Queue Time
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (For these
records, the values of the corresponding CCD.startDateTime is within the report
period.) Additional search criterion: CQD.targetType is 0 (type CSQ).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, determine the maximum value stored in
CQD.queueTime.
Calls Handled
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID with CCD.contactDisposition is 2 (handled), and
ACD.talkTime greater than zero. This process provides the calls handled by
agents. To obtain CSQ information, join ACD with CQD on sessionID,
sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ
type) and CQD.disposition = 2 (handled).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records to
determine the number of calls handled by the CSQ.
Avg Speed of Answer
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID with CCD.contactDisposition is 2 (handled), and
ACD.talkTime greater than zero. This process provides the calls handled by
agents. To obtain CSQ information, join ACD with CQD on sessionID,
sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ
type) and CQD.disposition = 2 (handled).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, calculate the sum of the values
stored in ACD.ringTime to obtain total ring time, and calculate the sum of the
values stored in CQD.queueTime to obtain total queue time.
If
Calls Handled is not zero, the Avg Speed of Answer is
calculated as:
total queue time /
Calls Handled
Here total queue time includes the total ring time.
If
Calls Handled is zero, this field is zero.
Avg Handle Time
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID with CCD.contactDisposition is 2 (handled), and
ACD.talkTime greater than zero. This process provides the calls handled by
agents. To obtain CSQ information, join ACD with CQD on sessionID,
sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ
type) and CQD.disposition = 2 (handled).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, calculate the sum of the values
stored in ACD.talkTime, ACD.holdTime, and ACD.workTime to obtain the total
handle time for all calls handled. Handle time for a call is defined as talk
time + hold time + work time.
If
Calls Handled is not zero, this field is calculated as:
total handle time /
Calls Handled
If
Calls Handled is zero, this field is zero.
Max Handle Time
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID with CCD.contactDisposition is 2 (handled), and
ACD.talkTime greater than zero. This process provides the calls handled by
agents. To obtain CSQ information, join ACD with CQD on sessionID,
sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ
type) and CQD.disposition = 2 (handled).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, calculate the handle time for each
call as follows:
ACD.talkTime + ACD.holdTime + ACD.workTime
This field shows the maximum handle time for all
calls handled by this CSQ.
Calls Abandoned
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values that are within the report
period.) Additional search criteria are CQD.targetType is 0 (CSQ type) and
CQD.disposition is 1 (abandoned).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records to
determine the number of calls abandoned from the CSQ.
Avg Time to Abandon
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values that are within the report
period.) Additional search criteria are CQD.targetType is 0 (CSQ type) and
CQD.disposition is 1 (abandoned).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, calculate the sum of the values
stored in CQD.queueTime to obtain total queue time for abandoned calls.
If
Calls Abandoned is not zero, this field is:
total queue time /
Calls Abandoned
If
Calls Abandoned is zero, this field is zero.
Max Time to Abandon
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values that are within the report
period.) Additional search criteria are CQD.targetType is 0 (CSQ type) and
CQD.disposition is 1 (abandoned).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, find the maximum value stored in
CQD.queueTime.
Avg Abandon Per Day
Calculated as Calls Abandoned / number of days
during report period.
The number of days is calculated as follows. This
information is displayed in units of days, rounded up to the next integer.
report end time – report start time
For example, if the report start time and the
report end time are on the same day, the number of days is 1.
Max Abandon Per Day
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values that are within the report
period.) Additional search criteria are CQD.targetType is 0 (CSQ type) and
CQD.disposition is 1 (abandoned).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ and each day during the report period,
count the number of CQD records to determine the number of calls abandoned from
the CSQ. CCD.startDateTime is used to determine on which day a call is
abandoned.
For each CSQ, find the maximum number of calls
abandoned on a particular day during the report period.
Calls Dequeued
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values within the report period.)
Additional search criteria are CQD.targetType is 0 (CSQ type), and
CQD.disposition is 3 (dequeued).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records to
determine the number of calls dequeued from the CSQ.
Avg Time to Dequeue
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values within the report period.)
Additional search criteria are CQD.targetType is 0 (CSQ type), and
CQD.disposition is 3 (dequeued).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, calculate the sum of the values
stored in CQD.queueTime to determine queue time.
If
Calls Dequeued is not zero, this field is calculated as:
total queue time /
Calls Dequeued
If
Calls Dequeued is zero, this field is zero.
Max Time to Dequeue
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values within the report period.)
Additional search criteria are CQD.targetType is 0 (CSQ type), and
CQD.disposition is 3 (dequeued).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, determine the maximum value stored in
CQD.queueTime.
Calls Handled by Other
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values within the report period.)
Additional search criteria are: CQD.targetType is 0 (CSQ type), and
CQD.disposition is 4 (handled by script) or 5 (handled by another CSQ).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records to
determine the number of calls handled by script or another CSQ.
Table 39 Contact Service Queue Activity report filter parameter
Filter parameter
Explanation
All CSQs (default, no filter parameter)
Search the CSQ table to find CSQ.recordID and
CSQ.profileID for CSQs with CSQ.dateInactive set to null or set to a date/time
later than the report start time. This action determines the active CSQs and
CSQs that are deleted after the report start time (they are still active during
the report period).
CSQ Names
Obtain the list of CSQ names from the user
selection for this parameter. Search the CSQ table to find records for which
CSQ.csqName contains values that are in the list. Obtain the corresponding
CSQ.recordID and CSQ.profileID.
CSQ Types
To report on a specific CSQ type or types, obtain
the list of CSQ.recordID and CSQ.profileID from the user selection for this
parameter as follows:
If user selects
Resource Group, search the CSQ table for records with CSQ.resourcePoolType = 1
(resource group type).
If user selects
Skill Group, search the CSQ table for records with CSQ.resourcePoolType = 2
(skill group type).
If user selects
both Resource Group and Skill Group, search the CSQ table to find records for
which CSQ.csqName contains values that are in the list. Obtain the
corresponding CSQ.recordID and CSQ.profileID.
Contact Service Queue Activity reports (by CSQ and Interval)
The Contact Service Queue Activity report (by CSQ) and the
Contact Service Queue Activity report (by Interval) show information about
service levels, and about the number and percentage of calls presented,
handled, abandoned, and dequeued.
In the Contact Service Queue Activity report (by CSQ),
information presented is sorted first by CSQ, then by interval.
In the Contact Service Queue Activity report (by Interval),
information presented is sorted first by interval, then by CSQ.
Table 1shows
how the information in the Contact Service Queue Activity reports is obtained
or calculated.
Table 2
explains how the Contact Service Queue Activity reports filter parameters
obtain data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 40 Contact Service Queue Activity reports query design
Field
Explanation
CSQ Name
The combination of CSQ.recordID and CSQ.profileID
uniquely identifies a CSQ. Obtain these two values as described in
Table 1.
CSQ name is stored in CSQ.csqName.
Call Skills
The combination of CSQ.recordID and CSQ.profileID
uniquely identifies a CSQ. Obtain these two values as described in
Table 2.
Join CSQ.skillGroupID with SG.skillGroupID to get SG.skillID. Join SG.skillID
with Skill.skillID to obtain the list of skill names, which is stored in
Skill.skillName. Multiple skill names are separated with commas.
Interval Start Time
Beginning of an interval.
End-users can divide the report period into 30- or
60-minute intervals. (The default interval length is the entire report period.)
Interval End Time
End of an interval.
End-users can divide the report period into 30- or
60-minute intervals. (The default interval length is the entire report period.)
Service Level (sec)
Obtained from CSQU.serviceLevel.
Calls Hand < SL
Join ACD and CQD on sessionID, sessionSeqNum,
profileID, nodeID, and qIndex. Additional search criteria are CQD.targetType is
0 (CSQ type), and CQD.metServiceLevel is 1. For each CSQ identified by the
combination of CQD.targetID and CQD.profileID, count the number of CQD records.
Calls Aband < SL
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to determine CQD records during the report period.
(Corresponding CCD records have CCD.startDateTime during the report period.)
Additional search criteria are CQD.disposition is 1 (abandoned), and
CQD.targetType is 0 (CSQ type). For each CSQ identified by the combination of
CQD.targetID and CQD.profileID, count the number of CQD records with
CQD.metServiceLevel = 1.
Percentage of Service Level Met— Only Handled
Considers calls that were handled only, regardless
of whether they were handled within the service level. This value does not
consider calls that were abandoned.
This value is calculated as follows:
(number of calls handled within service level /
number of calls handled) * 100%
Percentage of Service Level Met— Without Abandon
Does not include information for calls that were
abandoned within the service level.
This value is calculated as follows:
(number of calls handled within service level /
(number of calls presented – number of calls abandoned within service level)) *
100%
Percentage of Service Level Met— Positive Abandon
Considers calls that were abandoned within the
service level as meeting the service level.
This value is calculated as follows:
((number of calls handled within service level +
number of calls abandoned within service level) / number of calls presented) *
100%
Percentage of Service Level Met— Negative Abandon
Considers calls that were abandoned within the
service level as not meeting the service level.
This value is calculated as follows:
(number of calls handled within service level /
number of calls presented) * 100%
Calls Presented
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to determine CQD records during the report period. (For
these records, the corresponding CCD.startDateTime is during the report
period.) The additional search criterion is CQD.targetType is 0 (type CSQ).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. CSQ record ID and profile ID are stored in
CQD.targetID and CQD.profileID, respectively.
For each CSQ, count the number of CQD records to
determine the number of calls presented to that CSQ.
Calls Handled
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID with CCD.contactDisposition = 2 (handled) and
ACD.talkTime greater than zero. This process determines the calls handled by
agents. To obtain the CSQ information, join ACD with CQD on sessionID,
sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ
type) and CQD.disposition = 2 (handled).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. CSQ record ID and profile ID are stored in
CQD.targetID and CQD.profileID, respectively.
For each CSQ, count the number of CQD records to
determine the number of calls handled by the CSQ.
The percentage is calculated as follows:
(calls handled / calls presented) * 100%
Calls Abandoned
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to determine CQD records during the report period.
(Corresponding CCD records have CCD.startDateTime during the report period.)
Additional search criteria are CQD.disposition is 1 (abandoned), and
CQD.targetType is 0 (CSQ type). For each CSQ identified by the combination of
CQD.targetID and CQD.profileID, count the number of CQD records.
The percentage is calculated as follows:
(calls abandoned / calls presented) * 100%
Calls Dequeued
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to determine CQD records during the report period.
(Corresponding CCD records have CCD.startDateTime during the report period.)
Additional search criteria are CQD.targetType is 0 (CSQ type), and
CQD.disposition is 3 (dequeued via Dequeue step), 4 (call handled by workflow
script and therefore dequeued from this CSQ), or 5 (handled by another CSQ and
therefore dequeued from this CSQ). For each CSQ identified by the combination
of CQD.targetID and CQD.profileID, count the number of CQD records.
The percentage is calculated as follows:
(calls dequeued / calls presented) * 100%
Table 41 Contact Service Queue Activity reports filter parameters
Filter parameter
Explanation
All CSQs (default, no filter)
To report on all agents, obtain the list of
resource IDs and profile IDs as follows:
Search and display the Resource table for agents
who are active (Resource.active = 1) or who are deleted after report start time
(Resource.dateInactive is later than report start time, which means that agent
is still active during the report period). In this way, the report does not
include agents who are deleted before the report start time.
Interval Length
Options are entire report period (default), 30
minutes, 60 minutes.
CSQ Name
To report on a specific CSQ or CSQs, obtain the
list of the CSQ names from the user selection for this parameter. Join
CSQ.recordID with CQD.targetID, and join CSQ.profileID with CQD.profileID to
obtain the CQD records for the specified CSQs. For these CQD records,
CQD.targetType should be 0 (CSQ type). Join CQD and CCD on sessionID,
sessionSeqNum, nodeID, and profileID to obtain other information stored in the
CCD table.
Contact Service Queue Call Distribution Summary report
The Contact Service Queue Call Distribution Summary report
shows the number and percentage of calls handled and dequeued in four different
time intervals. The time interval lengths can be configured by users.
Table 1
shows how the information in the Contact Service Queue Call Distribution
Summary report is obtained or calculated.
Table 2
explains how the Contact Service Queue Call Distribution Summary report filter
parameters obtain data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 42 Contact Service Queue Call Distribution Summary report query
design
Field
Explanation
CSQ Name
The combination of CSQ.recordID and CSQ.profileID
uniquely identifies a CSQ. Obtain these two values as described in
Table 2.
CSQ name is stored in CSQ.csqName.
Call Skills
The combination of CSQ.recordID and CSQ.profileID
uniquely identifies a CSQ. Obtain these two values as described in
Table 2.
Join CSQ.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join
SG.skillID with Skill.skillID to obtain the list of skill names, which are
stored in Skill.skillName. Multiple skill names are separated by commas.
Calls Handled
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID with CCD.contactDisposition is 2 (handled), and
ACD.talkTime greater than zero. This process provides the calls handled by
agents. To obtain CSQ information, join ACD with CQD on sessionID,
sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ
type) and CQD.disposition = 2 (handled).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records to
determine the number of calls handled by the CSQ.
Total Calls Handled With Queue Time 0–T sec
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID with CCD.contactDisposition is 2 (handled), and
ACD.talkTime greater than zero. This process provides the calls handled by
agents. To obtain CSQ information, join ACD with CQD on sessionID,
sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ
type) and CQD.disposition = 2 (handled).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records in
which the value stored in CQD.queueTime is less than or equal to T seconds.
Percentage Calls Handled With Queue Time 0–T sec
If
Calls Handled is not zero, this field is calculated as
(Total Calls Handled with Queue Time in
0–T seconds / Calls Handled) * 100%
If
Calls Handled is zero, this field is zero.
Total Calls Handled With Queue Time 0–2T sec
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID with CCD.contactDisposition is 2 (handled), and
ACD.talkTime greater than zero. This process provides the calls handled by
agents. To obtain CSQ information, join ACD with CQD on sessionID,
sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ
type) and CQD.disposition = 2 (handled).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records in
which the value stored in CQD.queueTime is less than or equal to 2T seconds.
Percentage Calls Handled With Queue Time 0–2T sec
If
Calls Handled is not zero, this field is calculated as:
(Total Calls Handled with Queue Time in 0–2T
seconds / Calls Handled) * 100%
If
Calls Handled is zero, this field is zero.
Total Calls Handled With Queue Time 0–3T sec
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID with CCD.contactDisposition is 2 (handled), and
ACD.talkTime greater than zero. This process provides the calls handled by
agents. To obtain CSQ information, join ACD with CQD on sessionID,
sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ
type) and CQD.disposition = 2 (handled).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records in
which the value stored in CQD.queueTime is less than or equal to 3T seconds.
Percentage Calls Handled With Queue Time 0–3T sec
If
Calls Handled is not zero, this field is calculated as:
(Total Calls Handled with Queue Time in 0–3T
seconds / Calls Handled) * 100%
If
Calls Handled is zero, this field is zero.
Total Calls Handled With Queue Time 0–4T sec
Join CCD and ACD on sessionID, sessionSeqNum,
profileID, and nodeID with CCD.contactDisposition is 2 (handled), and
ACD.talkTime greater than zero. This process provides the calls handled by
agents. To obtain CSQ information, join ACD with CQD on sessionID,
sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ
type) and CQD.disposition = 2 (handled).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records in
which the value stored in CQD.queueTime is less than or equal to 4T seconds.
Percentage Calls Handled With Queue Time 0–4T sec
If
Calls Handled is not zero, this field is calculated as:
(Total Calls Handled with Queue Time in 0–4T
seconds / Calls Handled) * 100%
If
Calls Handled is zero, this field is zero.
Calls Abandoned
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values that are within the report
period) Additional search criteria are CQD.targetType is 0 (CSQ type) and
CQD.disposition is 1 (abandoned).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records to
determine the number of calls abandoned from the CSQ.
Total Calls Abandoned With Queue Time 0–T
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values that are within the report
period) Additional search criteria are CQD.targetType is 0 (CSQ type) and
CQD.disposition is 1 (abandoned).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records in
which the value stored in CQD.queueTime is less than or equal to T seconds.
Percentage Calls Abandoned With Queue Time 0–T
If
Calls Abandoned is not zero, this field is calculated
as:
(Total Calls Abandoned with Queue Time
0–T seconds / Calls Abandoned) * 100%
If
Calls Abandoned is zero, this field is zero.
Total Calls Abandoned With Queue Time 0–2T sec
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values that are within the report
period) Additional search criteria are CQD.targetType is 0 (CSQ type) and
CQD.disposition is 1 (abandoned).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records in
which the value stored in CQD.queueTime is less than or equal to 2T seconds.
Percentage Calls Abandoned With Queue Time 0–2T sec
If
Calls Abandoned is not zero, this field is calculated
as:
(Total Calls Abandoned with Queue Time
0–2T seconds / Calls Abandoned) * 100%
If
Calls Abandoned is zero, this field is zero.
Total Calls Abandoned With Queue Time 0–3T sec
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values that are within the report
period) Additional search criteria are CQD.targetType is 0 (CSQ type) and
CQD.disposition is 1 (abandoned).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records in
which the value stored in CQD.queueTime is less than or equal to 3T seconds.
Percentage Calls Abandoned With Queue Time 0–3T sec
If
Calls Abandoned is not zero, this field is calculated
as:
(Total Calls Abandoned with Queue Time
0–3T seconds / Calls Abandoned) * 100%
If
Calls Abandoned is zero, this field is zero.
Total Calls Abandoned With Queue Time 0–4T sec
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (These
records have corresponding CCD.startDateTime values that are within the report
period) Additional search criteria are CQD.targetType is 0 (CSQ type) and
CQD.disposition is 1 (abandoned).
The combination of CSQ record ID and profile ID
uniquely identifies a CSQ. These values are stored in CQD.targetID and
CQD.profileID, respectively.
For each CSQ, count the number of CQD records in
which the value stored in CQD.queueTime is less than or equal to 4T seconds.
Percentage Calls Abandoned With Queue Time 0–4T sec
If
Calls Abandoned is not zero, this field is calculated
as:
(Total Calls Abandoned with Queue Time
0–4T seconds / Calls Abandoned) * 100%
If
Calls Abandoned is zero, this field is zero.
Table 43 Contact Service Queue Call Distribution Summary report filter
parameters
Filter parameter
Explanation
All CSQs (default, no filter parameter)
Search the CSQ table to find CSQ.recordID and
CSQ.profileID for CSQs with CSQ.dateInactive set to null or set to a date/time
later than the report start time. This action determines the active CSQs and
CSQs that are deleted after the report start time (they are still active during
the report period).
CSQ Names
Obtain the list of CSQ names from the user
selection for this parameter. Search the CSQ table to find records for which
CSQ.csqName contains values that are in the list. Obtain the corresponding
CSQ.recordID and CSQ.profileID.
Time Interval (sec) T
Obtained from user input for this parameter.
Indicates the length of the time interval, in number of seconds.
Contact Service Queue Priority Summary report
The Contact Service Queue Priority Summary report shows the
total number of calls presented to each CSQ selected. It also shows the total
number of calls by priority and the average number of calls per day, by
priority, that were presented to each CSQ.
Table 1
shows how the information in the Contact Service Queue Priority Summary report
is obtained or calculated.
Table 2
explains how the Contact Service Queue Priority Summary report filter parameter
obtains data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 44 Contact Service Queue Priority Summary report query design
Field
Explanation
CSQ Name
The combination of CSQ.recordID and CSQ.profileID
uniquely identifies a CSQ. Obtain these two values as described in
Table 2.
CSQ name is stored in CSQ.csqName.
Call Skills
The combination of CSQ.recordID and CSQ.profileID
uniquely identifies a CSQ. Obtain these two values as described in
Table 2.
Join CSQ.skillGroupID with SG.skillGroupID to get SG.skillID. Join SG.skillID
with Skill.skillID to get the list of skill names, stored in Skill.skillName.
Multiple skill names are separated by commas.
Total Calls Presented
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (The
corresponding CCD records have CCD.startDateTime during the report period).
Additional search criterion is CQD.targetType is 0 (CSQ type). For each CSQ,
which is uniquely identified by the combination of CQD.targetID and
CQD.profileID, count the number of CQD records to determine the number of calls
presented to each CSQ.
Total Number of Calls by Priority (Priority 1
through Priority 10)
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (The
corresponding CCD records have CCD.startDateTime during the report period.)
Join CQD and CRD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex.
Additional search criterion is CQD.targetType is 0 (CSQ type).
For each CSQ (identified by CQD.targetID and
CQD.profileID) and each call priority (identified by CRD.finalPriority), count
the number of CQD records to determine the number of calls presented to each
CSQ for each call priority.
Average Number of Calls by Priority (Priority 1
through Priority 10)
If the number of days within the report period is
not zero, this field is calculated as follows:
(Total Calls Presented by Call Priority / number of
days within report period) * 100%
If the number of days within the report period is
zero, this field is zero.
Number of days within report period is the maximum
value stored in CQD.queueTime for all calls abandoned from this CSQ.
Table 45 Contact Service Queue Priority Summary report filter
parameter
Filter parameter
Explanation
All CSQs (default, no filter parameter)
Search the CSQ table to find CSQ.recordID and
CSQ.profileID for CSQs with CSQ.dateInactive set to null or set to a date/time
later than the report start time. This action determines the active CSQs and
CSQs that are deleted after the report start time (they are still active during
the report period).
CSQ Name
Obtain the list of CSQ names from the user
selection for this parameter. Search the CSQ table to find records for which
CSQ.csqName contains values that are in the list. Obtain the corresponding
CSQ.recordID and CSQ.profileID.
Contact Service Queue Service Level Priority Summary report
The Contact Service Queue Service Level Priority Summary
report contains information about the total number and percentage of calls that
are handled within a service level and the number and percentage of calls that
are handled within service level for each call priority.
Table 1
shows how the information in the Contact Service Queue Service Level Priority
Summary report is obtained or calculated.
Table 2
explains how the Contact Service Queue Service Level Priority Summary report
filter parameter obtains data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 46 Contact Service Queue Service Level Priority Summary report query
design
Field
Explanation
CSQ Name (Call Skills)
The combination of CSQ.recordID and CSQ.profileID
uniquely identifies a CSQ. Obtain these two values as described in
Table 2.
CSQ name is stored in CSQ.csqName.
Service Level (sec)
Obtained from CSQ.serviceLevel
Calls Presented
Join CCD and CQD on sessionID, sessionSeqNum,
profileID, and nodeID to find CQD records during the report period. (The
corresponding CCD records have CCD.startDateTime during the report period.)
Additional search criterion is CQD.targetType is 0 (CSQ type).
For each CSQ, which is uniquely identified by the
combination of CQD.targetID and CQD.profileID, count the number of CQD records
to determine the number of calls presented to each CSQ.
Total Service Level Met
Join CCD, CQD, and ACD on sessionID, sessionSeqNum,
nodeID, and profileID. Join CQD and ACD also on qIndex. Additional search
criteria are: CCD.contactDisposition is 2 (handled), CQD.targetType is 0 (CSQ
type), CQD.disposition is 2 (handled), and ACD.talkTime is greater than zero.
For each CSQ identified by the combination of
CQD.targetID and CQD.profileID, count the number of CQD records whose value in
CQD.metServiceLevel is 1. This is the number of calls handled by each CSQ which
met the specified service level.
Percent SL Met
If Calls Presented is not zero, this field is
calculated as:
(Total Service Level Met / Calls Presented) * 100%
If Calls Presented is zero, this field is zero.
Number of Calls that Met Service Level for Each
Call Priority (Priority 1 through Priority 10)
Join CCD, CQD, and ACD on sessionID, sessionSeqNum,
nodeID, and profileID. Join CQD and ACD also on qIndex. Join CRD also on
sessionID, sessionSeqNum, nodeID, profileID, and qIndex. The call priority is
stored in CRD.finalPriority. Additional search criteria are,
CCD.contactDisposition is 2 (handled), CQD.targetType is 0 (CSQ type),
CQD.disposition is 2 (handled), and ACD.talkTime is grater than 0.
For each CSQ (identified by CQD.targetID and
CQD.profileID), and each call priority (identified by CRD.finalPriority), count
the number of CQD records for which the value of CQD.metServiceLevel is 1. This
total is the number of calls handled by each CSQ for each call priority which
met the specified service level.
Percentage of Calls that Met Service Level for Each
Call Priority (Priority 1 through Priority 10)
If total calls presented for each call priority is
not zero, this field is calculated as follows:
(number of calls that met SL for each call priority
/ total calls presented for each call priority) * 100%
If total calls presented for each call priority is
zero, this field is zero.
Total calls presented for each call priority is
calculated as follows:
For each CSQ (identified by CQD.targetID and
CQD.profileID) and each call priority (identified by CRD.finalPriority), count
the number of CQD records. This total is the number of calls handled by each
CSQ for each call priority which met the specified service level.
Table 47 Contact Service Queue Service Level Priority Summary report filter
parameter
Filter parameter
Explanation
All CSQs (default, no filter parameter)
Search the CSQ table to find CSQ.recordID and
CSQ.profileID for CSQs with CSQ.dateInactive set to null or set to a date/time
later than the report start time. This action determines the active CSQs and
CSQs that are deleted after the report start time (they are still active during
the report period).
CSQ Names
Obtain the list of CSQ names from the user
selection for this parameter. Search the CSQ table to find records for which
CSQ.csqName contains values that are in the list. Obtain the corresponding
CSQ.recordID and CSQ.profileID.
CSQ-Agent Summary report
An agent can handle calls for multiple CSQs. The CSQ-Agent
Summary report shows, for each agent, information about calls handled in each
CSQ.
Table 1
shows how the information in the CSQ-Agent Summary report is obtained or
calculated.
Table 2
explains how the CSQ-Agent Summary report filter parameter obtains data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 48 CSQ-Agent Summary report query design
Field
Explanation
CSQ Name
The combination of CSQ.recordID and CSQ.profileID
uniquely identifies a CSQ. Obtain these two values as described in
Table 2.
CSQ name is stored in CSQ.csqName.
Agent Name
Call record tables (ACD and ASD) refer to agent by
resource ID and profile ID. Given Resource.resourceID and Resource.profileID,
search the Resource table for corresponding Resource.resourceName and
Resource.resourceLoginID. These two fields uniquely identify an agent. The
agent name is stored in Resource.resourceName.
Note
Note: One resourceName/resourceLoginID combination may have
multiple resourceID/profileID combinations, because when an agent has a certain
attribute changed (for example, extension or resource group), a resource ID is
created and the old one is set to Deactivated.
Extension
Given Resource.resourceName and
Resource.resourceLoginID, search the Resource table for the corresponding
Resource.extension.
If an agent extension changed, display the most
recent extension assigned to the agent.
Calls Handled
A handled call has a CCD record, a CQD record for
the CSQ that the call is routed to, and an ACD record for the agent who handles
the call. The talk time in ACD should be greater than zero.
Join CCD and CQD on sessionID, sessionSeqNum,
nodeID, and profileID to find the CQD record for the CSQ to which the call is
routed. Join CQD and ACD on sessionID, sessionSeqNum nodeID, profileID, and
qIndex to find the agent who handles the call. Additional search criteria are
CQD.disposition is 2 (handled), CQD.targetType is 0 (CSQ type), and
ACD.talkTime is greater than zero.
To uniquely identify a CSQ, the CSQ record ID and
profile ID are stored in CQD.targetID and CQD.profileID.
To uniquely identify an agent, obtain resource ID
and resource login ID as follows: join ACD.resourceID with Resource.resourceID,
and join ACD.profileID with Resource.profileID to find Resource.resourceName
and Resource.resourceLoginID.
For each CSQ-Agent combination (CSQ is identified
by CSQ.recordID/CSQ.profileID, and agent is identified by
Resource.resourceName/Resource.resourceLoginID), count the number of ACD
records to determine the number of calls handled by the specified CSQ-Agent
combination.
Talk Time Avg
If
Calls Handled is not zero, this field is calculated as
Total Talk Time / Calls Handled.
If
Calls Handled is zero, this field is zero.
Talk Time Total
Same calculation as for
Calls Handled, but instead of counting the number of ACD
records, calculate the sum of the values stored in ACD.talkTime.
Work Time Avg
If Calls Handled is not zero, this field is
calculated as Total Work Time / Calls Handled.
If Calls Handled is zero, this field is zero.
Work Time Total
Same calculation as for
Calls Handled, but instead of counting the number of ACD
records, calculate the sum of the values stored in ACD.workTime.
Total Ring Time
Same calculation as for
Calls Handled, but instead of counting the number of ACD
records, calculate the sum of the values stored in ACD.ringTime.
Calls On Hold
Same calculation as for
Calls Handled. An additional search criterion is
ACD.holdTime is greater than zero.
For each CSQ-Agent combination, count the number of
ACD records. The result is the number of calls put on hold by the specified
CSQ-Agent combination.
Hold Time Avg
If Calls on Hold is not zero, this field is
calculated as Total Hold Time / Calls on Hold.
If Calls on Hold is zero, this field is zero.
Hold Time Total
Same calculation as for
Calls on Hold, but instead of counting the number of ACD
records, add up the values stored in ACD.holdTime.
RNA
Same calculation as for
Calls Handled, but the search criteria should be:
ACD.talkTime is zero, and ACD.ringTime is greater than zero.
For each CSQ-Agent combination, count the number of
ACD records. This result is the number of calls that go to Ring No Answer
(RNA).
Search the CSQ table to find CSQ.recordID and
CSQ.profileID for CSQs with CSQ.dateInactive set to null or set to a date/time
later than the report start time. This action determines the active CSQs and
CSQs that are deleted after the report start time (they are still active during
the report period).
CSQ Names
Obtain the list of CSQ names from the user
selection for this parameter. Search the CSQ table to find records for which
CSQ.csqName contains values that are in the list. Obtain the corresponding
CSQ.recordID and CSQ.profileID.
Detailed Call by Call CCDR report
The Detailed Call by Call CCDR report shows most of the
information that is contained in the CCD table. This report also includes
information from the CRD and the ACD tables. The report contains one row per
call leg (a call transfer or redirect initiates a new call leg).
Table 1
shows how the information in the Detailed Call by Call CCDR report is obtained
or calculated.
Table 2
explains how the Detailed Call by Call CCDR report filter parameter obtains
data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 50 Detailed Call by Call CCDR report query design
Field
Explanation
Node ID
Obtained from CCD.nodeID.
Session ID
Obtained from CCD.sessionID.
Sequence No.
Obtained from CCD.sessionSeqNum.
Start Time
Obtained from CCD.startDateTime.
End Time
Obtained from CCD.endDateTime.
Contact T
Obtained from CCD.contactType.
Contact D
Obtained from CCD.contactDisposition.
Originator T
Obtained from CCD.originatorType.
Originator ID
Obtained from CCD.originatorID.
If originator type is 1 (agent), CCD.originatorID
is a resource ID. join CCD.originatorID with Resource.resourceID, and join
CCD.profileID with Resource.profileID to display the agent login ID, which is
stored in Resource.resourceLoginID.
Originator DN
(DN = directory number)
If CCD.originatorType is Device (2) or Unknown (3),
obtained from CCD.originatorDN.
If CCD.originatorType is Agent (1), join
CCD.originatorID with Resource.resourceID, and join CCD.profileID with
Resource.profileID to obtain Resource.extension.
Destination T
Obtained from CCD.destinationType.
Destination ID
Obtained from CCD.destinationID.
If destination type is 1 (agent), CCD.destinationID
is a resource ID.join CCD.destinationID with Resource.resourceID, and join
CCD.profileID with Resource.profileID to display the agent login ID, which is
stored in Resource.resourceLoginID.
Destination DN
If CCD.destinationType is Device (2) or Unknown
(3), obtained from CCD.destinationDN.
If CCD.destinationType is Agent (1),
jCCD.destinationID with Resource.resourceID, and join CCD.profileID with
Resource.profileID and obtain Resource.extension.
Called Number
Obtained from CCD.calledNumber.
Original Called No.
Obtained from CCD.origCalledNumber.
Application Name
Obtained from CCD.applicationName.
Queue Time
Join CCD and CRD on sessionID, sessionSeqNum,
nodeID, and profileID to obtain value stored in CRD.queueTime.
Blank for IVR calls.
Talk Time
For ACD calls, join CCD and ACD on sessionID,
sessionSeqNum, profileID, and nodeID to obtain the value in ACD.talkTime.
For IVR calls, there is no ACD record. Talk time of
handled IVR calls (where CCD.contactDisposition set to 2) is calculated as
(CCD.endDateTime – CCD.startDateTime). For abandoned IVR calls (where
CCD.contactDisposition set to 1), talk time is zero.
Hold Time
For ACD calls, join CCD and ACD on sessionID,
sessionSeqNum, profileID, and nodeID to obtain the value in ACD.holdTime.
Blank for IVR calls.
Work Time
For ACD calls, join CCD and ACD on sessionID,
sessionSeqNum, profileID, and nodeID to obtain the value in ACD.workTime.
Blank for IVR calls.sessionID, sessionSeqNum,
nodeID, and profileID to obtain value stored in CRD.queueTime.
Table 51 Detailed Call by Call CCDR report filter parameter
Filter parameter
Explanation
Original Called Number
To report on a specific original called number or
numbers, obtain the list of original called numbers from the user selection for
this parameter. Find each CCD record for which the value stored in
CCD.origCalledNumber is in the selected list.
Called Number
To report on a specific called number or numbers,
obtain the list of called numbers from the user selection for this parameter.
Find each CCD record for which the value stored in CCD.calledNumber is in the
selected list.
Calling Number
To report on a specific calling number or numbers,
obtain the list of calling numbers from the user selection for this parameter.
Find each CCD record for which the value stored in CCD.originatorDN is in the
selected list.
Application Name
To report on a specific application name or names,
obtain the list of application names from the user selection for this
parameter. Find each CCD record for which the value stored in
CCD.applicationName is in the selected list.
Contact Type
To report on a specific contact type or types,
obtain the list of contact type names from the user selection for this
parameter. The mapping between numeric ID and contact type name is as follows:
1—incoming
2—outgoing
3—internal
4—redirect-in
5—transfer-in
6—outbound preview
Find each CCD record for which the value stored in
CCD.contactType is in the selected list.
Originator Type
To report on a specific originator type or types,
obtain the list of originator type or types from the user selection for this
parameter. The mapping between numeric ID and originator type name is as
follows:
1—agent
2—device
3—unknown
Find each CCD record for which the value stored in
CCD.originatorType is in the selected list.
Destination Type
To report on a specific destination type or types,
obtain the list of destination type or types from the user selection for this
parameter. The mapping between numeric ID and destination type name is as
follows:
1—agent
2—device
3—unknown
Find each CCD records for which the value stored in
CCD.destinationType is in the selected list.
Duration Greater Than or Equal to T seconds
To report on calls with durations greater than or
equal to T seconds, obtain the value of T from the user input for this
parameter. Call duration is calculated as CCD.endDateTime minus
CCD.startDateTime, in number of seconds. Find CCD records with call duration
greater than or equal to T.
Duration Less Than or Equal to T seconds
To report on calls with durations less than or
equal to T seconds, obtain the value of T from the user input for this
parameter. The call duration is calculated as CCD.endDateTime minus
CCD.startDateTime, in number of seconds. Find at CCD records with call duration
less than or equal to T.
Detailed Call CSQ Agent report
The Detailed Call, CSQ, Agent report shows detailed call
information about the CSQ that a call was routed to and the agent that handled
the call.
Table 1
shows how the information in the Detailed Call, CSQ, Agent report is obtained
or calculated.
Table 2
explains how the Detailed Call, CSQ, Agent report filter parameters obtain
data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
If originator is an agent (CCD.originatorType = 1),
this field shows the extension of the agent, and is determined as follows: join
CCD.originatorID with Resource.resourceID, and join CCD.profileID with
Resource.profileID to obtain Resource.extension.
Destination DN
Obtained from CCD.destinationDN.
If destination is an agent (CCD.destinationType =
1), this field shows the extension of the agent and is determined as follows:
join CCD.destinationID with Resource.resourceID, and join CCD.profileID with
Resource.profileID to obtain Resource.extension.
Called Number
Obtained from CCD.calledNumber.
App. Name
Obtained from CCD.applicationName.
CSQ Names
Join CCD and CQD on sessionID, sessionSeqNum,
nodeID, and profileID. Find CQD records with targetType = 0 (CSQ type). The CSQ
information is stored in CQD.targetID and CQD.profileID. Join CQD.targetID with
CSQ.recordID, and join CQD.profileID with CSQ.profileID. The CSQ name is stored
in CSQ.csqName. Multiple CSQ names are separated by commas.
Queue Time
Join CCD and CQD on sessionID, sessionSeqNum,
nodeID, and profileID. Queue Time is stored in CQD.queueTime.
Agent Name
Join CCD and ACD on sessionID, sessionSeqNum,
nodeID, and profileID to obtain ACD.resourceID and ACD.profileID. Join
ACD.resourceID with Resource.resourceID, and join ACD.profileID with
Resource.profileID to obtain agent name, which is stored in
Resource.resourceName.
Ring Time
Join CCD and ACD on nodeID, sessionID,
sessionSeqNum, and profileID. The value is stored in ACD.ringTime.
Talk Time
For ACD calls, join CCD and ACD on nodeID,
sessionID, sessionSeqNum, and profileID. The value is stored in ACD.talkTime.
For IVR calls, there is no ACD record for the call.
If the call is handled (CCD.contactDisposition = 2), this field is calculated
as (Call End Time – Call Start Time), and shows the result in hh:mm:ss.
Otherwise, this field shows zero.
Work Time
Join CCD and ACD on nodeID, sessionID,
sessionSeqNum, and profileID. The value is stored in ACD.workTime.
To report on a specific called number or numbers,
obtain the list of called numbers from the user selection for this parameter.
Find CCD records for which the value stored in CCD.calledNumber is in the
selected list.
Calling Number
To report on a specific calling number or numbers,
obtain the list of calling numbers from the user selection for this parameter.
Find CCD records for which the value stored in CCD.originatorDN is in the
selected list.
Application Name
To report on a specific application name or names,
obtain the list of application names from the user selection for this
parameter. Find CCD records for which the value stored in CCD.applicationName
is in the selected list.
Contact Type
To report on a specific contact type or types,
obtain the list of contact type names from the user selection for this
parameter. The mapping between numeric ID and contact type name is as follows:
1—incoming
2—outgoing
3—internal
4—redirect-in
5—transfer-in
6—outbound preview
Find CCD records for which the value stored in
CCD.contactType is in the selected list.
Originator Type
To report on a specific originator type or types,
obtain the list of originator types from the user selection for this parameter.
The mapping between numeric ID and originator type name is as follows:
1—agent
2—device
3—unknown
Find CCD records for which the value stored in
CCD.originatorType is in the selected list.
Destination Type
To report on a specific destination type or types,
obtain the list of destination types from the user selection for this
parameter. The mapping between numeric ID and destination type name is as
follows:
1—agent
2—device
3—unknown
Find CCD records for which the value stored in
CCD.destinationType is in the selected list.
Agent Name
To report on a specific agent or agents, find
Resource records in which values in resourceName match the user input for this
parameter. Join Resource.resourceID with ACD.resourceID, join and
Resource.profileID with ACD.profileID to obtain the corresponding ACD records
for the specified agents. Join ACD and CCD on sessionID, sessionSeqNum, nodeID,
and profileID to obtain other information stored in the CCD table.
CSQ Name
To report on a specific CSQ or CSQs, find for CSQ
records in which values in csqName match the user input for this parameter.
Join CSQ.recordID with CQD.targetID, and join CSQ.profileID with CQD.profileID
to obtain the CQD records for the specified CSQs. For these CQD records,
CQD.targetType should be 0 (CSQ type). Join CQD and CCD on sessionID,
sessionSeqNum, nodeID, and profileID to obtain other information stored in the
CCD table.
Duration Greater Than or Equal to T seconds
To report on calls with durations greater than or
equal to T seconds, obtain the value of T from the user input for this
parameter. The call duration is calculated as CCD.endDateTime minus
CCD.startDateTime, in number of seconds. Find CCD records with call duration
greater than or equal to T.
Duration Less Than or Equal to T seconds
To report on calls with durations less than or
equal to T seconds, obtain the value of T from the user input for this
parameter. The call duration is calculated as CCD.endDateTime minus
CCD.startDateTime, in number of seconds. Find CCD records with call duration
less than or equal to T.
Outbound Agent Detail Performance report
The Outbound Agent Detail Performance report shows detailed
statistics for each agent by campaign. It also shows the total call details and
campaign call details. This report is available with the Cisco Unified Outbound
Dialer (Cisco Unified OUTD) feature.
Table 1
shows how the information in the Outbound Agent Detail Performance report is
obtained or calculated.
Table 2
explains how the Outbound Agent Detail Performance report filter parameters
obtain data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. The agent that dials for the
campaign is recorded in ACD.resourceID. Join ACD.resourceID with
Resource.resourceID to obtain Resource.resourceName.
Campaign Name
For a given campaignID, look up the campaign name
in the Campaign table.
Offered
Calculated as (Accepted +
Rejected +
Closed)
Accepted
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
for this agent (as identified in ACD.resourceID) where callResult is not 9
(agent reject) or 10 (agent close).
Rejected
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
for this agent (as identified in ACD.resourceID) where callResult = 9 (agent
reject).
Closed
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
for this agent (as identified in ACD.resourceID) where callResult = 10 (agent
close).
RNA
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
for this agent (as identified in ACD.resourceID) where callResult is not 12
(transfer).
Transfer
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
for this agent (as identified in ACD.resourceID) where callResult is not 13
(ring no answer).
Average Talk Time
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records with callResult = 1 (voice) and
resourceID for this agent. For these records, calculate the average talk time
using ACD.talkTime.
Maximum Talk Time
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records with callResult = 1 (voice) and
resourceID for this agent. For these records, obtain the maximum ACD.talkTime.
Obtain the list of campaign names from the user
selection for this parameter. Look up the corresponding campaignID in the
Campaign table, and use these campaignIDs only for report generation.
Agent Names
To report on a specific agent or agents, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of agent names from the user
selection for this parameter. These values are in Resource.resourceName. Obtain
the corresponding Resource.resourceID and Resource.profileID.
Resource Group Names
To report on a specific resource group or groups,
obtain the list of resource IDs and profile IDs as follows:
Obtain the list of resource group names from the
user selection for this parameter. Search the ResourceGroup table to find
records for which RG.resourceGroupName contains values found in the list. Join
RG and Resource on resourceGroupID and profileID to find the list of agents
that belong to the selected resource group or groups. Resource ID and profile
ID of agents are stored in Resource.resourceID and Resource.profileID,
respectively. This report displays only agents who are active and agents who
are deleted after the report start time.
Skill Names
To report on agents with a specific skill or
skills, obtain the list of resource IDs and profile IDs as follows:
Obtain the list of skill names from the user
selection for this parameter. Search the Skill table to find records for which
Skill.skillName contains values found in the list. Join Skill and RSM on
skillID and profileID to find resourceSkillMapID. Join RSM and Resource on
resourceSkillMapID and profileID to find the list of agents that have the
selected skill or skills. Resource ID and profile ID of agents are stored in
Resource.resourceID and Resource.profileID, respectively. This report displays
only agents who are active and agents who are deleted after the report start
time.
Team Names
To report on a specific team or teams, obtain the
list of resource IDs and profile IDs as follows:
Obtain the list of team names from the user
selection for this parameter. Search the Team table to find records whose
Team.teamName contains values found in the list. Join Team.teamID with
Resource.assignedTeamID, and Team.profileID with Resource.profileID to find the
list of agents who belong to the selected team or teams. Resource ID and
profile ID of agents are stored in Resource.resourceID and Resource.profileID,
respectively.
Outbound Campaign Summary report
The Outbound Campaign Summary report provides summary
statistics for each campaign over a specified time period. This report is
available with the Cisco Unified OUTD feature.
Table 1
shows how the information in the Outbound Campaign Summary report is obtained
or calculated.
Table 2
explains how the Outbound Campaign Summary report filter parameter obtains
data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
For each outbound call, campaignID is recorded in
CCDR. Campaign Name is obtained from the Campaign table, given the campaignID.
The mapping between campaignName and campaignID is one-to-one.
Total Records
For a given campaignID, total number of DailingList
records with a unique dialingListID and that have the specified campaignID.
Active and inactive records are included in the calculation. Records are marked
inactive when callStatus becomes 3 (closed) or 5 (max calls).
Available
For a given campaignID, total number of DialingList
records with a unique dialingListID and that have the specified campaignID.
Also, DailingList.callStatus must be one of the following values (it cannot be
3 (closed) or 5 (max calls):
1 = pending
2 = active
4 = callback
6 = retry
7 = unknown
Attempted
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
in which callResult is not 9 (agent skip) or 10 (agent close). This number is
the same as Accepted. From this number, deduct duplicate records with the same
dialingListID so that a given dialingListID occurs only once in the final
result.
Attempted %
(Attempted /
Total Records) * 100%
Accepted
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult not equal to 9 (agent reject) or 10 (agent close).
Rejected
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult = 9 (agent reject).
Closed
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult = 10 (agent close).
Voice
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult = 1 (voice).
Answering Machine
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult = 3 (answering machine).
Fax/Modem
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult = 2 (fax/modem).
Invalid
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult = 4 (invalid).
Requested Callback
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult = 8 (requested callback).
Customer Not Home
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult = 7 (customer not home).
Wrong Number
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult = 6 (wrong number).
Do Not Call
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult = 5 (do not call).
Busy
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records. Count the number of ACD records
with ACD.callResult = 11 (busy).
Average Talk Time
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records with callResult = 1 (voice). For
these records, calculate the average talk time using ACD.talkTime.
Maximum Talk Time
For a given campaignID, determine from the CCD
table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these
values to look up the associated ACD records with callResult = 1 (voice). For
these records, obtain the maximum ACD.talkTime.
Obtain the list of campaign names from the user
selection for this parameter. Look up the corresponding campaignID in the
Campaign table, and use these campaignIDs only for report generation.
Priority Summary Activity report
The Priority Summary Activity report contains one row per
call priority.
Table 1
shows how the information in the Priority Summary Activity report is obtained
or calculated.
Table 2
explains how the Priority Summary Activity report filter parameter obtains
data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Obtained from CRD.finalPriority. It is a value from
1 through 10.
Total Calls
Join CCD and CRD on sessionID, sessionSeqNum,
nodeID, and profileID to find CRD records during the report period.
(Corresponding CCD records have startDateTime during the report period.) For
each call priority identified by CRD.finalPriority, count the number of CRD
records.
Avg Calls
Total calls divided by the number of days in the
report period.
The number of days is calculated as follows. This
information is displayed in units of days, rounded up to the next integer.
report end time – report start time
For example, if the report start time and the
report end time are on the same day, the number of days is 1.
Total Number of Calls (Per Day) with Different
Original and Final Priorities
Original call priority is stored in
CRD.origPriority and final call priority in CRD.finalPriority. Count the number
of CRD records with CRD.finalPriority different than CRD.origPriority in the
report period.
Average Number of Calls (Per Day) with Different
Original and Final Priorities
Total number of calls with different original and
final call priorities divided by the number of days in the report period.
The number of days is calculated as follows. This
information is displayed in units of days, rounded up to the next integer.
report end time – report start time
For example, if the report start time and the
report end time are on the same day, the number of days is 1.
Maximum Difference Between Original and Final
Priorities Experienced by All Calls
Original call priority is stored in
CRD.origPriority and final call priority in CRD.finalPriority. For a single
call, the difference between original and final priorities is calculated as the
absolute value of (CRD.finalPriority – CRD.origPriority)
This field shows the largest number of all calls in
the report period.
Average Difference (Per Call) Between Original and
Final Priorities Experienced by All Calls
Original call priority is stored in
CRD.origPriority and final call priority in CRD.finalPriority. For a single
call, the difference between original and final priorities is calculated as the
absolute value of (CRD.finalPriority – CRD.origPriority).
This field is calculated as sum of the difference
(absolute value) for all calls in the report period, divided by the number of
calls.
To report on a specific call priority or
priorities, obtain the list of call priorities from the user selection for this
parameter. Query the CRD table to include only the selected call priority or
priorities.
Remote Monitoring Detail report
The Remote Monitoring Detail report shows information about
the agent monitoring activities of supervisors.
Table 1
shows how the information in the Remote Monitoring Detail report is obtained or
calculated.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Join CCD and RMD on sessionID, sessionSeqNum,
profileID, and nodeID to determine RMD records with a CCD.startDateTime value
that is within the report period. Join RMD.rmonID with RmonUser.rmonID and join
RMD.profileID with RmonUser.profileID. User ID is stored in RmonUser.name.
Start Time
Join CCD and RMD on sessionID, sessionSeqNum,
profileID, and nodeID to determine RMD records with a CCD.startDateTime value
that is within the report period. Start Time is stored in
RMD.startMonitoringReqTime.
Original Monitored Party
Join CCD and RMD on sessionID, sessionSeqNum,
profileID, and nodeID to obtain RMD records with a CCD.startDateTime value that
is within the report period.
If RMD.origMonitoredIDType is 1 (agent Type), the
value of this field is an agent extension. It is stored in RMD.origMonitoredID.
If RMD.origMonitoredIDType is 2 (CSQ Type), this
field is a CSQ name. Join RMD.origMonitoredID with CSQ.contactServiceQueueID,
and join RMD.profileID with CSQ.profileID to obtain the CSQ name, which is
stored in CSQ.csqName.
Monitored Extension(s)
Join CCD and RMD on sessionID, sessionSeqNum,
profileID, and nodeID to determine RMD records with a CCD.startDateTime value
that is within the report period. Join RMD.sessionID with MRD.sessionID, and
join RMD.startMonitoringReqTime with MRD.startMonitoringReqTime to obtain
MRD.monitoredRsrcID and MRD.profileID. Join MRD.monitoredRsrcID with
Resource.resourceID, and MRD.profileID with Resource.profileID, to get the
agent extension, which is stored in Resource.extension.
If the session has multiple extensions monitored,
there are multiple MRD records, and the values in Resource.extension are
separated by commas.
Duration
Join CCD and RMD on sessionID, sessionSeqNum,
profileID, and nodeID to determine RMD records with a CCD.startDateTime value
that is within the report period. The value of this field is the difference
between RMD.startMonitoringReqTime and RMD.endMonitoringTime, in number of
seconds.
Wait Time
Join CCD and RMD on sessionID, sessionSeqNum,
profileID, and nodeID to determine RMD records with a CCD.startDateTime value
that is within the report period. Join RMD.sessionID with MRD.sessionID, and
join RMD.startMonitoringReqTime with MRD.startMonitoringReqTime. The value of
this field is MRD.startMonitoringCallTime minus MRD.startMonitoringReqTime, in
number of seconds.
If the supervisor waited on the call but did not
monitor it, MRD table will not have a record for this call. In this case, this
field is set to the value of
Duration.
Status
Join CCDR with RMD on sessionID, sessionSeqNum,
profileID, and nodeID to determine RMD records with a CCD.startDateTime value
that is within the report period. The numeric value of the status is stored in
RMD.cause. The textual display is based on the cause as follows:
Normal – Monitored: cause = 3
Normal – Agent RNA: cause = 100
Error – Unable to Stop Monitoring: cause = –9
Error – Unable to Monitor New Call: cause = –8
Error – Agent Logged Off: cause = –7
Error – Network Problem: cause = –6
Error – VoIP Server Unable to Communicate: cause =
–5
Error – Monitoring Not Allowed: cause = –4
Error – Agent Not Logged In: cause = –3
Error – Invalid Input: cause = –2
Error – Other: cause = 0 or –1
Traffic Analysis report
The Traffic Analysis report shows information about
incoming calls to the Unified CCX system.
Table 1
shows how the information in the Traffic Analysis report is obtained or
calculated.
If the selected report Start Date and report End Date
exceeds the date range available in the database, the report start date and
report end date is automatically adjusted to match the date range available in
the database. For example: If data is available in the database only from the
start date x and end date y and if the selected start date is earlier than x
and selected end date is later than y, then the report start date and report
end date is automatically adjusted to x and y respectively.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 61 Traffic Analysis report query design
Field
Explanation
Date
Date of each day in the report period.
Total Incoming Calls
For each day, count the number of CCD records with
the unique sessionID with the Contact Type field set to the value of 1
(incoming call).
Avg Calls (per hour)
Calculated as total incoming calls divided by the
number of hours in the day.
The first day or the last day of the report period
may be a partial day, depending on the start time and the end time selected by
the user. Any other day within the report period has 24 hours.
Peak Calls (per hour)
Divide each day into one-hour intervals. The number
of incoming calls within each interval is determined by counting the number of
CCD records with unique sessionIDs in the interval. The peak hour is the
interval with the largest number of incoming calls. This field displays the
number of calls in the peak hour.
Peak Hour Start
Divide each day into one-hour intervals. The number
of incoming calls within each interval is determined by counting the number of
CCD records with unique sessionIDs in the interval. The peak hour is the
interval with the largest number of incoming calls. This field displays the
start time of the peak hour.
Peak Hour End
Divide each day into one-hour intervals. The number
of incoming calls within each interval is determined by counting the number of
CCD records with unique sessionIDs in the interval. The peak hour is the
interval with the largest number of incoming calls. This field displays the end
time of the peak hour.
Call Duration Avg
A call may have multiple call legs. The call
duration for a call is calculated as sum of CCD.connectTime for all the call
legs.
Average call duration for a day is calculated as
the sum of call durations for all incoming calls on that day divided by the
number of incoming calls on that day.
Call Duration Min
A call may have multiple call legs. The call
duration for a call is calculated as sum of CCD.connectTime for all the call
legs.
Minimum call duration for a day is the shortest
call duration of all incoming calls for that day.
Call Duration Max
A call may have multiple call legs. The call
duration for a call is calculated as sum of CCD.connectTime for all the call
legs.
Maximum call duration for a day is the longest call
duration of all incoming calls for that day.
Email Agent Activity report
The Email Agent Activity report shows, for each agent,
information about emails handled.
Table 1
shows how the information in the Email Agent Activity report is obtained or
calculated.
Table 2
explains how the Email Agent Activity report filter parameter obtains data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 62 Email Agent Activity report
Field
Explanation
Agent Name
Resource.resourceName.
Join Resource.resourceLoginID, EEMEASD.Agent, and
EEMQAD.Agent to obtain the name of the Agent that was presented emails.
Date
This is the date of the day interval.
This is a sum of EEMEASD.eventStartDateTime,
EEMEASD.eventEndDateTime, EEMQAD.getEmailDateTime, and EEMQAD.endEmailDateTime
truncated to just the date portion of the DateTime.
Login Time
Sum of email Not Ready, Ready, and Processing
times.
Not Ready
Difference between eventStartDateTime and
eventEndDateTime in EEMEASD where stateId = 2 (Not Ready)
Joined with Resource.resourceName and Date, both
determined above.
Ready
Difference between eventStartDateTime and
eventEndDateTime in EEMEASD where stateId = 3 (Ready)
Joined with Resource.resourceName and Date, both
determined above.
Processing
Difference between eventStartDateTime and
eventEndDateTime in EEMEASD where stateId = 4 (Processing)
Joined with Resource.resourceName and Date, both
determined above.
Retrieved
Count of EEMQAD.getEmailDateTime truncated to just
the date.
Requeued
Count of EEMQAD.endEmailDateTime truncated to just
the date where endTypeFK = 8
Trans Out
Count of EEMQAD.endEmailDateTime truncated to just
the date where endTypeFK = 7
Sent
Count of EEMQAD.endEmailDateTime truncated to just
the date where endTypeFK = 5
Deleted
Count of EEMQAD.endEmailDateTime truncated to just
the date where endTypeFK = 6
Total In Process Time Sent
Join EEMQAD.Agent with Resource.resourceLoginID and
total is sum of EEMQAD.inProcessTimeSeconds where endTypeFK = 5
Note
This will count all In Process time for each email sent
during the selected time period, even any In Process time that occurred before
the report start time.
Avg. In Process
Total In Process Time Sent divided by the number
Sent for each agent/date (see above Sent row.)
Avg. On Desk
Join EEMQAD.Agent with Resource.resourceLoginID.
The total On Desk Time for each Email is the difference between
EEMQAD.getEmailDateTime and EEMQAD.endEmailDateTime. These are then summed up
by agent and date and the average is computed by dividing by the number of Sent
Emails (see above Sent row.)
To report on all agents, obtain the list of
resourceLoginIDs as follows:
Search the Resource table for agents who are active
(Resource.active is 1).
Agent Names
To report on a specific agent or agents, obtain the
list of resourceLoginIDs as follows:
Obtain the list of agent names from the user
selection for this parameter. These values are in Resource.resourceName. Obtain
the corresponding Resource.resourceLoginID.
Email Contact Service Queue Activity report
The Email Contact Service Queue Activity report shows, for
each CSQ, information about emails handled.
Table 1
shows how the information in the Email Contact Service Queue Activity report is
obtained or calculated.
Table 2
explains how the Email Contact Service Queue Activity report filter parameter
obtains data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 64 Email Contact Service Queue Activity report
Field
Explanation
CSQ Name
Join CSQ.csqID and EEMQAD.EEMQueueId, where the
name is CSQ.csqName.
Date
This is the date of the day interval.
This is a sum of EEMQAD.queueDateTime, and
EEMQAD.endEmailDateTime truncated to just the date portion of the DateTime.
Routed In
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 1 grouped by CSQ and date.
Trans In
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 7 grouped by CSQ and date.
Requeued
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 8 grouped by CSQ and date.
Trans Out
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 7 grouped by CSQ and date.
Sent
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 5 grouped by CSQ and date.
Deleted
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 6 grouped by CSQ and date.
Total In Process Time Sent
Join EEMQAD.EEMQueueId with CSQ.csqId and total is
sum of EEMQAD.inProcessTimeSeconds where endTypeFK = 5.
Note
This will count all In Process time for each email sent
during the selected time period, even any In Process time that occurred before
the report start time.
Avg. In Process
Total In Process Time Sent divided by the number
Sent for each agent/date (see above Sent row.)
Avg. On Desk
Join EEMQAD.EEMQueueId with CSQ.csqID. The total On
Desk Time for each Email is the difference between EEMQAD.getEmailDateTime and
EEMQAD.endEmailDateTime. These are then summed up by CSQ and date and the
average is computed by dividing by the number of Sent Emails (see above Sent
row.)
Avg. Response
Join EEMQAD.EEMQueueId with CSQ.csqId. The total
Response Time for each Email is the difference between EEMQAD.queueDateTime and
EEMQAD.endEmailDateTime. These are then summed up by CSQ and date and the
average is computed by dividing by the number of Sent Emails (see above Sent
row.)
Table 65 Email Contact Service Queue Activity report filter
parameter
Filter parameter
Explanation
All CSQs
To report on all CSQs, obtain the list of CSQ names
as follows:
Search the CSQ table for CSQs that are active
(CSQ.active is 1).
CSQ Names
To report on a specific CSQ or CSQs, obtain the
list of csqIDs as follows:
Obtain the list of CSQ names from the user
selection for this parameter. These values are in CSQ.csqName. Obtain the
corresponding CSQ.csqID.
Email Contact Service Queue Agent Activity report
An agent can handle emails for multiple CSQs. The Email
Contact Service Queue Agent Activity report shows, for each agent, information
about emails handled in each CSQ.
Table 1
shows how the information in the Email Contact Service Queue Agent Activity
report is obtained or calculated.
Table 2
explains how the Email Contact Service Queue Agent Activity report filter
parameter obtains data.
For information about the database table names and field
names that are shown in this section, see the
Conventions used in this chapter.
Table 66 Email Contact Service Queue Agent Activity report
Field
Explanation
CSQ Name
Join CSQ.csqID and EEMQAD.EEMQueueId, where the
name is CSQ.csqName
Date
This is the date of the day interval.
This is a sum of EEMQAD.queueDateTime, and
EEMQAD.endEmailDateTime truncated to just the date portion of the DateTime.
Agent Name
Resource.resourceName.
Join Resource.resourceLoginID and EEMQAD.Agent to
obtain the name of the agent that was presented emails.
Routed In
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 1 grouped by CSQ and date.
Trans In
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 7 grouped by CSQ and date.
Requeued
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 8 grouped by CSQ and date.
Trans Out
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 7 grouped by CSQ and date.
Sent
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 5 grouped by CSQ and date.
Deleted
Count of EEMQAD.receivedReasonFK where
receivedReasonFK = 6 grouped by CSQ and date.
Total In Process Time Sent
Join EEMQAD.EEMQueueId with CSQ.csqId and total is
sum of EEMQAD.inProcessTimeSeconds where endTypeFK = 5.
Note
This will count all In Process time for each email sent
during the selected time period, even any In Process time that occurred before
the report start time.
Avg. In Process
Total In Process Time Sent divided by the number
Sent for each agent/date (see above Sent row.)
Avg. On Desk
Join EEMQAD.EEMQueueId with CSQ.csqID. The total On
Desk Time for each Email is the difference between EEMQAD.getEmailDateTime and
EEMQAD.endEmailDateTime. These are then summed up by CSQ and date and the
average is computed by dividing by the number of Sent Emails (see above Sent
row.)
To report all agents, obtain the list of
resourceLoginIDs as follows:
Search the Resource table for agents who are active
(Resource.active is 1).
Agent Names
To report on a specific agent or agents, obtain the
list of resourceLoginIDs as follows:
Obtain the list of agent names from the user
selection for this parameter. These values are in Resource.resourceName. Obtain
the corresponding Resource.resourceLoginID.
All CSQs
To report on all CSQs, obtain the list of CSQ names
as follows:
Search the CSQ table for CSQs that are active
(CSQ.active is 1).
CSQ Names
To report on a specific CSQ or CSQs, obtain the
list of csqIDs as follows:
Obtain the list of CSQ names from the user
selection for this parameter. These values are in CSQ.csqName. Obtain the
corresponding CSQ.csqID.