The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
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.
Database table fields - Explanations in this chapter specify fields in the Cisco Unified CCX database tables as follows:
table.field
Report field names - In an explanation of a report field, a report field name in bold type indicates that field in the same 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.
For the agents specified, obtain the Resource.resourceID and Resource.profileID as described in Table 2. Agent Name is stored in Resource.resourceName.
|
|||
Time at which the chat contact is offered to an agent. It is obtained from the startdatetime field of the TACD table. |
|||
Time at which agent ends the chat. It is obtained from the enddatetime field of the TACD table. |
|||
Chat time period which is calculated as follows: |
|||
Contactid which uniquely identifies a chat contact. It is obtained from the Contactid field of the TACD table. |
|||
CSQ through which the chat contact was routed to an agent. It is obtained from the csqname field of the contactservicequeue table. |
|||
Skills associated with an agent for handling a chat contact. This is obtained from the skillname field of the skill table. |
|||
Talk time for the chat agent. This is obtained from the talk time field of the TACD table. |
|||
Time the agent spent in accepting the chat contact. This is obtained from the acceptTime field of the TACD table. |
|||
Type of the chat contact. This is obtained from the contactType field of the TCD table. |
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.
For the agents specified, obtain the Resource.resourceID and Resource.profileID as described in Table 2. Agent Name is stored in Resource.resourceName.
|
|||
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). |
|||
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). |
|||
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) |
|||
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) |
|||
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). |
|||
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). |
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
The CSQ.recordID uniquely identifies a CSQ. Obtain this value as described in Table 2. CSQ name is stored in CSQ.csqName. |
|
Chats Presented is calculated using the sum of Chats Handled and Chats Abandoned. |
|
Calculated as total TCQD.queueTime / Total number of TCQD records with TCQD.queueTime greater than zero. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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:
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. |
|
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. |
|
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. |
|
Same calculation as for chat contacts received, but in the search criteria, TACD.talkTime is greater than zero. |
|
If chat contacts handled is not zero then this field is calculated as Total Talk Time divided by Chat Contacts Handled. |
|
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. |
|
If chat contacts Handled is not zero then this field is calculated as Total Accept Time divided by Chat Contacts Handled. |
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 .
The Email Agent Activity Report presents email statistics of the email-enabled agents for a day.
Table 1shows how the information in the Email Agent 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.
Agent Name |
Name of the agent. It is obtained from Agent Names filter selected by user and then mapped with resource and textagentstatedetail tables. |
||
Agent Id |
Login user ID of the agent. It is obtained from textagentstatedetail table. |
||
Login Date |
Date the agent logged in. It is obtained from textagentstatedetail table after grouping by statechangedatetime. |
||
Logged-In |
Total time the agent logged in. It is calculated from textagentstatedetail table. It is sum of ready, notready, reserved, busy and partial busy state time. |
||
Not Ready |
Total time the agent spent in the E-Mail Not Ready state. It is obtained from textagentstatedetail table. |
||
Ready |
Total time the agent spent in the E-Mail Ready state. It is obtained from textagentstatedetail table. |
||
Time Spent On Desk |
It is sum of busy and partial busy duration. It is obtained from textagentstatedetail table.
|
||
Presented |
Number of email messages that are presented to the agent. It is obtained from TextAgentConnectionDetail table. |
||
Requeued |
Number of email messages that the agent requeued. It is obtained from TextContactDetail table where disposition is 2 (Handled) and dispositionReason is email_requeue_transfer or email_requeue_agent_disconnected. |
||
Sent |
Number of response email messages that the agent sent. It is obtained from TextContactDetail table where disposition is 2 (Handled) and dispositionReason is email_agent_replied. |
||
Discarded |
Number of email messages that the agent discarded. The discarded date and time determines whether the email message falls within the interval. It is obtained from the textcontactdetail table where disposition = 4 and dispositionReason = email_agent_discarded. |
||
Avg On Desk |
Avg On Desk = Total time spent on handling email contacts/Number of emails sent and requeued by agent. It is obtained from TextAgentConnectionDetail. |
The Email Contact Detail Report presents information about each email contact that is handled by the agent.
Table 1 shows how the information in the Email Contact Detail Report is obtained or calculated.
Table 2 explains how the Email Contact 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.
Contact ID |
Contactid which uniquely identifies an email contact. It is obtained from the contactid field of the textcontactdetail table. |
Sequence No |
Number that the system incrementally assigns to each contact leg. It is obtained from the contactseqnum field of the textcontactdetail table. |
CSQ Name |
Name of the Contact Service Queue (CSQ) that routed the email contact to the agent. It is obtained from the contactservicequeue table based on the csqrecordid field from the textcontactqueuedetail table. |
Agent Name |
First name and last name of the agent who sent the response email message. It is obtained from the resource table based on the resourceid field from the textagentconnectiondetail table. |
Received |
Date and time the contact center received the email contact. It is obtained from the textcustomerdetails table. |
Retrieved |
Date and time the agent retrieved the email contact. It is obtained from the enddatetime field of the textagentconnectiondetail table. |
Replied |
Date and time the agent sent the response email message. It is obtained from the enddatetime field of the textcontactdetail table. |
Discarded |
Date and time that the agent discarded the email message. It is obtained from the enddatetime column from the textcontactdetail table where disposition = 4 and dispositionReason = email_agent_discarded. |
From |
Email address of the customer who sent the email message. It is obtained from the textcustomerdetails table. |
Reply-To |
Email address of the customer to which the response email message is sent. It is obtained from the textcustomerdetails table. |
To |
Email address of the contact center to which the email message was sent. It is obtained from the accountuserid field of the contactservicequeue table based on the csqrecordid field from the textcontactqueuedetail table. |
Subject |
Subject line of the received email message. It is obtained from the textcustomerdetails table. |
Contact Type |
Contact type of the email contact. It is obtained from the contacttype field of the textcontactdetail table. |
Contact Disposition |
Disposition of the email contact. It is obtained from the contactdisposition field of the textcontactdetail table. |
To report on specific email CSQ or CSQs, obtain the list of CSQ names from the user selection for this parameter. Search the contactservicequeue table to find the records with the queuetypename "Email" and match the csqname with the values that are in the list. In the report query, use the recordid field to get the ID of the CSQ. |
|
Agent Name |
To report on specific email agents, obtain the list of agent names from the user selection for this parameter. Search the resource table to find the records with the resourcename that matches with the values that are in the list. In the report query, use the resourceid field to get the ID of the agent. |
Subject |
This is a case-sensitive filter to search for the records that the user specifies in the search string for subject. |
The Email CSQ Activity Report presents email activity statistics of agents in a Contact Service Queue (CSQ) for each day.
Table 1 shows how the information in the Email CSQ Agent 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.
CSQ Name |
Name of the Contact Service Queue (CSQ) that routed the email contact to the agent. It is obtained from the contactservicequeue table based on the csqrecordid field from the textcontactqueuedetail table. |
||
Date |
Date of each day in the interval. |
||
Agent Name |
Name of the agent to whom the email messages are routed. It is obtained from the resource table based on the resourceid field from the textagentconnectiondetail table. |
||
Retrieved |
Number of email messages that are routed through the CSQ to the agent and then retrieved by the agent. It is obtained by taking the sum of the records obtained querying the tables textagentconnectiondetail, textcontactdetail and textcontactqueuedetail for the given date time interval. |
||
Requeued |
Number of email messages that are requeued to the agent. It is calculated by taking the sum of records obtained by querying textcontactdetail table for contactdisposition 2 and dispositionreason that contains the text 'email_requeue’ where the contactid and contactseqnum in textcontactdetail matches with the contactid and contactseqnum of textagentconnectiondetail and textcontactqueuedetail tables. |
||
Sent |
Number of response email messages that the agent sent. It is calculated by taking the sum of records obtained by querying textcontactdetail table for contactdisposition 2 and dispositionreason 'email_agent_replied' where the contactid and contactseqnum in textcontactdetail matches with the contactid and contactseqnum of textagentconnectiondetail and textcontactqueuedetail tables. |
||
Discarded |
Number of email messages that the agent discarded. The discarded date and time determines whether the email message falls within the interval. It is obtained from the textcontactdetail table where disposition = 4 and dispositionReason = email_agent_discarded. |
||
Avg On Desk |
Average time agent spent on desk to reply to email once the agent receives it. It is obtained by summing the talktime field in textagentconnectiondetail table and dividing by the total number of emails requeued and sent. |
||
Time Spent On Desk |
Sum of the time that the agent spends in email processing state to respond to all the emails. It is obtained by taking the sum of talktime in textagentconnectiondetail table for all the emails handled by the agent the given date time interval.
|
The Email Traffic Analysis Report gives the count of email messages received for the specified date or date range.
Table 1 shows how the information in the Email Traffic Analysis report is obtained or calculated.
Table 2 explains how the Email Traffic Analysis 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 ContactServiceQueue.accountuserid for email CSQs. |
|
Count of ContactServiceQueue.accountuserId where the csq type is 'Email'. |
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.
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.
Obtained from CCD.contactDisposition. If CCD.contactDisposition is 4, this field displays Aborted. If CCD.contactDisposition is 5 or greater, this field displays Rejected. |
|||
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 10—Reject: Remote Timeout - CTI Accept Timer expires 11—Reject: Software Error - Internal software error 12—Reject: Trigger Max Session - Trigger has reached its maximum session 13—Reject: Trigger Failed - JTAPI Subsystem redirect to CTI port fails 14—Reject: Setup Timeout - Setup Timeout: JTAPI Subsystem Accept timer expires 15—Reject: Setup Failed - JTAPI Subsystem Accept fails 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 22—Reject: Agent reject Outbound call - Outbound call rejected by agent 23—Reject: Agent Skipped Outbound Call - Outbound call skipped by agent 24—Reject: Agent clicked Cancel Reservation for Outbound call.
|
|||
|
|||
|
|||
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. |
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. |
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.
For the agents specified, obtain the Resource.resourceID and Resource.profileID as described in Table 2. Agent Name is stored in Resource.resourceName.
|
|||
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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). |
|||
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. |
|||
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. |
|
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. |
|
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. |
|
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. |
|
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. |
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.
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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 "…". |
|
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. |
|
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). |
|
|
To report on all agents, obtain the list of resource IDs and profile IDs from the Resource table. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
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. |
|
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. |
|
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. |
|
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. |
|
This field is obtained from ASD.reasonCode when ASD.eventType = 7 (logout). |
|
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
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.
|
|||
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. |
|||
End users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.) |
|||
End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.) |
|||
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:
If an agent has multiple login sessions during the interval, this field displays the sum of the time spent in each login session. |
|||
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:
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. |
|||
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. |
|||
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
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.
For the agents specified, obtain the Resource.resourceID and Resource.profileID as described in Table 2. Agent Name is stored in Resource.resourceName.
|
|||
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. |
|||
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. |
|||
Obtained from ASD.eventType. The mapping between the numeric ASD.eventType and the displayed text is as follows: |
|||
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:
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
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.
Join ASD.agentID with Resource.resourceID to obtain the agent name, which is stored in Resource.resourceName. |
|
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. |
|
End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.) |
|
End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.) |
|
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:
If an agent has multiple login sessions during the interval, this field displays the sum of the time spent in each login session. |
|
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:
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. |
|
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:
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. |
|
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:
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. |
|
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:
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. |
|
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:
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. |
|
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. |
|
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. |
|
Options are entire report period (default), 30 minutes, 60 minutes. |
|
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. |
|
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. |
|
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. |
|
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. |
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.
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. |
|
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. |
|
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.
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. |
|
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: |
|
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. |
|
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. |
|
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 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 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 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 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 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 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. |
|
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. |
|
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. |
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. |
|
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. |
|
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. |
|
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 were active during the report start time. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
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.
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
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.
For the selected Wrap-up data, count the number of ACD records. |
|
For the selected Wrap-up data, for all ACD records, calculate (ACD.talkTime + ACD.holdTime + ACD.workTime). |
|
For the selected Wrap-up data, for all ACD records, find the one with maximum (talkTime + holdTime + workTime). |
|
For the selected Wrap-up data, for all ACD records, determine the total ACD.talkTime. |
|
For the selected Wrap-up data, for all ACD records, find the one with the maximum ACD.talkTime. |
|
For the selected Wrap-Up data, for all ACD records, determine the total ACD.workTime. |
|
For the selected Wrap-up data, for all ACD records, find the one with the maximum ACD.workTime. |
|
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. |
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. |
|
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.
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. |
|
For each unique CCD.calledNumber, count the number of CCD records. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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: Find CCD records for which the value stored in CCD.contactType is in the selected list. |
|
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: Find CCD records for which the value stored in CCD.originatorType is in the selected list. |
|
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: Find at CCD records for which the value stored in CCD.destinationType is in the selected list. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
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.
End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.) |
|
End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.) |
|
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. |
|
CSQU.recordID is used 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. |
|
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. |
|
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. |
|
Maximum value stored in CQD.queueTime, for all calls presented to this CSQ. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Maximum value stored in CQD.queueTime, for all calls abandoned from this CSQ. |
|
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. |
|
Summation of statistics for all CSQs within the same logical CSQ group. |
Options are entire report period (default), 30 minutes, 60 minutes. |
|
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. |
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.
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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: |
|
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. |
|
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. |
|
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: |
|
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. |
|
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. |
|
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. |
|
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. |
|
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: |
|
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. |
|
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. |
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). |
|
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. |
|
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:
|
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.
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. |
|
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. |
|
End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.) |
|
End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.) |
|
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. |
|
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. |
|
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% |
|
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% |
|
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% |
|
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% |
|
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. |
|
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. |
|
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. |
|
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. |
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. |
|
Options are entire report period (default), 30 minutes, 60 minutes. |
|
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. |
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.
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. |
|
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. |
|
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. |
|
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. |
|
If Calls Handled is not zero, this field is calculated as (Total Calls Handled with Queue Time in 0–T seconds / Calls Handled) * 100% |
|
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. |
|
If Calls Handled is not zero, this field is calculated as: (Total Calls Handled with Queue Time in 0–2T seconds / Calls Handled) * 100% |
|
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. |
|
If Calls Handled is not zero, this field is calculated as: (Total Calls Handled with Queue Time in 0–3T seconds / Calls Handled) * 100% |
|
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. |
|
If Calls Handled is not zero, this field is calculated as: (Total Calls Handled with Queue Time in 0–4T seconds / Calls Handled) * 100% |
|
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. |
|
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. |
|
If Calls Abandoned is not zero, this field is calculated as: (Total Calls Abandoned with Queue Time 0–T seconds / Calls Abandoned) * 100% |
|
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. |
|
If Calls Abandoned is not zero, this field is calculated as: (Total Calls Abandoned with Queue Time 0–2T seconds / Calls Abandoned) * 100% |
|
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. |
|
If Calls Abandoned is not zero, this field is calculated as: (Total Calls Abandoned with Queue Time 0–3T seconds / Calls Abandoned) * 100% |
|
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. |
|
If Calls Abandoned is not zero, this field is calculated as: (Total Calls Abandoned with Queue Time 0–4T seconds / Calls Abandoned) * 100% |
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). |
|
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. |
|
Obtained from user input for this parameter. Indicates the length of the time interval, in number of seconds. |
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.
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. |
|
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. |
|
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. |
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). |
|
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. |
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.
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. |
|
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. |
|
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. |
|
If Calls Presented is not zero, this field is calculated as: |
|
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. |
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). |
|
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. |
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.
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 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.
|
|||
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. |
|||
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. |
|||
If Calls Handled is not zero, this field is calculated as Total Talk Time / Calls Handled. |
|||
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. |
|||
If Calls Handled is not zero, this field is calculated as Total Work Time / Calls Handled. |
|||
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. |
|||
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. |
|||
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. |
|||
If Calls on Hold is not zero, this field is calculated as Total Hold Time / Calls on Hold. |
|||
Same calculation as for Calls on Hold, but instead of counting the number of ACD records, add up the values stored in ACD.holdTime. |
|||
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). |
|
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. |
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.
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. |
|
(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. |
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. |
|
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. |
|
Join CCD and CRD on sessionID, sessionSeqNum, nodeID, and profileID to obtain value stored in CRD.queueTime. |
|
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. |
|
For ACD calls, join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to obtain the value in ACD.holdTime. |
|
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. |
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. |
|
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. |
|
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. |
|
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. |
|
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: Find each CCD record for which the value stored in CCD.contactType is in the selected list. |
|
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: Find each CCD record for which the value stored in CCD.originatorType is in the selected list. |
|
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: Find each CCD records for which the value stored in CCD.destinationType is in the selected list. |
|
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. |
|
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. |
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.
|
|
|
|
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. |
|
Join CCD and CQD on sessionID, sessionSeqNum, nodeID, and profileID. Queue Time is stored in CQD.queueTime. |
|
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. |
|
Join CCD and ACD on nodeID, sessionID, sessionSeqNum, and profileID. The value is stored in ACD.ringTime. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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: Find CCD records for which the value stored in CCD.contactType is in the selected list. |
|
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: Find CCD records for which the value stored in CCD.originatorType is in the selected list. |
|
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: Find CCD records for which the value stored in CCD.destinationType is in the selected list. |
|
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. |
|
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. |
|
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. |
|
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. |
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. |
|
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. |
|
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. |
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.
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). |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
The Agent Outbound Campaign Summary report provides call statistics for agent-based progressive and predictive outbound campaigns.
Table 1 shows how the information in the Agent Outbound Campaign Summary report is obtained or calculated.
Table 2 explains how the Agent Outbound Campaign 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.
Campaign |
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. |
Contacts—Total |
For a given campaignID, total number of DialingList 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). |
Contacts—Attempted |
For a given campaignID, sessionID, profileID, and Contact Type set to the value of 8 (agent outbound), count the number of CCD records with CCD.callResult = 1 (voice), 2 (fax), 3 (answering machine), 4 (invalid), 11 (busy), 15 (no answer), 16 (system abandoned), 17 (fail) or 18 (customer abandoned). |
Contacts—Remaining |
For a given campaignID and profileID, count the number of DialingList records with callStatus = 1 (pending), 2 (active), 4 (callback), 6 (retry) or 7 (unknown). |
Contacts—% Attempted |
|
Calls—Voice |
For a given campaignID, sessionID, profileID, and Contact Type set to the value of 8 (agent outbound), count the number of CCD records with CCD.callResult = 1 (voice). |
Calls—Answering Machine |
For a given campaignID, sessionID, profileID, and Contact Type set to the value of 8 (agent outbound), count the number of CCD records with CCD.callResult = 3 (answering machine). |
Calls—Invalid |
For a given campaignID, sessionID, profileID, and Contact Type set to the value of 8 (agent outbound), count the number of CCD records with CCD.callResult = 4 (invalid). |
Calls—Fax/Modem |
For a given campaignID, sessionID, profileID, and Contact Type set to the value of 8 (agent outbound), count the number of CCD records with CCD.callResult = 2 (fax). |
Calls—No Answer |
For a given campaignID, sessionID, profileID, and Contact Type set to the value of 8 (agent outbound), count the number of CCD records with CCD.callResult = 15 (no answer). |
Calls—Busy |
For a given campaignID, sessionID, profileID, and Contact Type set to the value of 8 (agent outbound), count the number of CCD records with CCD.callResult = 11 (busy). |
Calls—Failed |
For a given campaignID, sessionID, profileID, and Contact Type set to the value of 8 (agent outbound), count the number of CCD records with CCD.callResult = 17 (failed). |
Calls—Customer Abandoned |
For a given campaignID, sessionID, profileID, and Contact Type set to the value of 8 (agent outbound), count the number of CCD records with CCD.callResult = 18 (customer abandoned). |
Calls—System Abandoned |
For a given campaignID, sessionID, profileID, and Contact Type set to the value of 8 (agent outbound), count the number of CCD records with CCD.callResult = 16 (system abandoned). |
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). |
|
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. |
|
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 correspondingcampaignID in the Campaign table, and use these campaignIDs only for report generation. |
The Agent Outbound CCDR report shows most of the information that is contained in the CCD table. This report also includes information from the DialingList and Campaign 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 Agent Outbound CCDR report is obtained or calculated.
Table 2 explains how the Agent Outbound 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.
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. |
|
(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. |
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. |
|
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. |
|
Obtain the dialingListID from the CCD table. Find the record in the DialingList table corresponding to the dialingListID obtained from the CCD table. Get the call status value from this record in the DialingList table. The value of the call status is stored in DialingList.callStatus. |
|
Obtained from CCD.callResult. |
|
Campaign Name |
Obtain the campaignID from the CCD table. Find the record in the Campaign table corresponding to the campaignID obtained from the CCD table. The value of the campaign name is stored in Campaign.campaignName. |
UCCX Agent Campaign List |
Obtained from Campaign.campaignName. If Campaign.campaignType is 1 (agent based outbound campaign) and Campaign.dialerType is 1 (progressive) or 2 (predictive). |
The Agent Outbound Half Hourly report shows detailed statistics for all the progressive and predictive agent outbound calls for every half hour.
Table 1 shows how the information in the Agent Outbound Half Hourly report is obtained or calculated.
Table 2 explains how the Agent Outbound Half Hourly 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.
Campaign Name |
Obtain the campaignID from the CampaignData table. Find the record in the Campaign table corresponding to the campaignID obtained from the CampaignData table. Get the campaign name from this record in the Campaign table. The value of the campaign name is stored in Campaign.campaignName. |
Start Time |
Obtained from CampaignData.startDateTime. |
End Time |
Obtained from CampaignData.endDateTime. |
Total Attempted Calls |
Obtained from CampaignData.attemptedCalls. |
Total Live Voice Calls |
Obtained from CampaignData.voiceCalls. |
Total Abandoned Calls |
Obtained from CampaignData.abandonedCalls. |
Lines Per Agent |
Obtained from CampaignData.linesPerAgent. |
Abandoned Rate |
Obtained from CampaignData.abandonedRate. |
Obtain the campaignID from the CampaignData table. Find the record in the Campaign table corresponding to the campaignID obtained from the CampaignData table. Get the campaign name from this record in the Campaign table. The value of the campaign name is stored in Campaign.campaignName. |
The Outbound Agent Detail Performance report presents detailed statistics for each agent by campaign (progressive and predictive). The report also presents the total call details, campaign call details for each agent, and a summary row of the call details for each agent for all agent based progressive and predictive campaigns.
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. |
|
For a given campaignID, look up the campaign name in the Campaign table. |
|
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 12 (ring no answer). |
|
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 8 (requested callback), or 20 (transfer) and contactType = 5 (transfer-in). |
|
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), 8 (requested callback), or 20 (transfer) and resourceID for this agent. For these records, calculate the average talk time using ACD.talkTime. |
|
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), 8 (requested callback), or 20 (transfer) and resourceID for this agent. For these records, obtain the maximum ACD.talkTime. |
Obtain the list of agent based progressive and predictive 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. |
|
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. |
|
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. |
|
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. |
|
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. |
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. |
|
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). |
|
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): |
|
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. |
|
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). |
|
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). |
|
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). |
|
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). |
|
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). |
|
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). |
|
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). |
|
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). |
|
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). |
|
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). |
|
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). |
|
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. |
|
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. |
The Preview Outbound Agent Detail Performance report shows detailed statistics for each agent by campaign. It also shows the total call details and campaign call details for preview outbound campaigns. This report is available with the Cisco Unified Outbound Dialer (Cisco Unified OUTD) feature.
Table 1 shows how the information in the Preview Outbound Agent Detail Performance report is obtained or calculated.
Table 2 explains how the Preview 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. |
|
For a given campaignID, look up the campaign name in the Campaign table. |
|
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). |
|
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). |
|
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). |
|
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). |
|
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). |
|
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), 8 (requested callback), or 20 (transfer) and resourceID for this agent. For these records, calculate the average talk time using ACD.talkTime. |
|
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), 8 (requested callback), or 20 (transfer) and resourceID for this agent. For these records, calculate the average talk time using 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. |
|
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. |
|
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. |
|
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. |
|
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. |
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. |
|
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. |
|
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. |
|
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. |
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.
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. |
|
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). |
|
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. |
|
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). |
|
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. |
|
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. |
|
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. |
|
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). |
|
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: |
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. |