Cisco Unified Contact Center Express Historical Reporting Administrator and Developer Guide, Release 9.0(2)
Historical reports query designs
Downloads: This chapterpdf (PDF - 2.37MB) The complete bookPDF (PDF - 4.43MB) | The complete bookePub (ePub - 377.0KB) | Feedback

Contents

Historical reports query designs

This chapter explains how the information in each field in each Unified CCX historical report is obtained or calculated. It also describes how the filter parameters for a report obtain data.

This chapter includes the following topics.

Conventions used in this chapter

The following conventions are used in this chapter:

  • Database table names - Explanations of report fields in this chapter refer to various Unified CCX database tables. In some cases, these explanations use abbreviations for database table names. Conventions used in this chapter lists the database tables that this chapter refers to and shows the abbreviations that are used. For detailed information about the Unified CCX database tables, refer to Cisco Unified Contact Center Express Database Schema.
    Table 1 Database Tables

    Database table name

    Abbreviation used in this chapter

    AgentConnectionDetail

    ACD

    AgentStateDetail

    ASD

    Campaign

    ContactCallDetail

    CCD

    ContactQueueDetail

    CQD

    ContactRoutingDetail

    CRD

    ContactServiceQueue

    CSQU

    DialingList

    MonitoredResourceDetail

    MRD

    RemoteMonitoringDetail

    RMD

    Resource

    ResourceGroup

    RG

    ResourceSkillMapping

    RSM

    Skill

    SkillGroup

    SG

    TextAgentConnectionDetail

    TACD

    TextAgentStateDetail

    TASD

    TextContactDetail

    TCD

    TextContactQueueDetail

    TCQD

    EEMContactEmailDetail

    EEMCED

    EEMQueueAgentDetail

    EEMQAD

    EEMEmailAgentStateDetail

    EEMEASD

  • Database table fields - Explanations in this chapter specify fields in the Cisco Unified CCX database tables as follows: table.field
    where table is the name or abbreviation of the database table (see above) and field is the name of the field. For example,
    • CSQU.skillGroupID means the skillGroupID field in the ContactServiceQueue table
    • Resource.resourceID means the resourceID field in the Resource table
  • Report field names - In an explanation of a report field, a report field name in bold type indicates that field in the same report.

Abandoned Call Detail Activity report

The Abandoned Call Detail Activity report contains one row per abandoned call. An abandoned call is a call for which CCD.contactDisposition is set to 1 (abandoned).

Table 1 shows how the information in the Abandoned Call Detail Activity report is obtained or calculated.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 2 Abandoned Call Detail Activity report query design

Field

Explanation

Call Start Time

Obtained from CCD.startDateTime.

Called Number

Obtained from CCD.calledNumber.

Call ANI

For ACD calls, obtained from CCD.originatorDN.

For IVR calls, this field is set to the extension of the originating agent as follows: join CCD.originatorID with Resource.resourceID, and CCD.profileID with Resource.profileID to obtain Resource.extension.

Initial Call Priority

Join CCD and CRD on sessionID, sessionSeqNum, nodeID, and profileID.

Note   

A call may be abandoned without being assigned a call priority. In this case, CRD.origPriority will be blank and this Initial Call Priority field will show "n/a."

Call Routed CSQ

Join CCD and CQD on sessionID, sessionSeqNum, nodeID, and profileID. Additional search criteria are CCD.contactDisposition is 1 (abandoned), CQD.disposition is 1 (abandoned) or 3 (dequeued), and CQD.targetType is 0 (CSQ type). The CSQ information is stored in CQD.targetID. Join CQD.targetID with CSQ.recordID, and join CQD.profileID with CSQ.profileID to obtain CSQ name, which is stored in CSQ.csqName.

Note   

A call may be abandoned without being presented to any CSQ. In this case, this Call Routed CSQ field will be blank.If a call has been routed to multiple CSQs, the Call Routed CSQ field displays the CSQ name followed by ellipsis (for example: CSQ025...).

Agent Name

Join CCD and ACD on sessionID, sessionSeqNum, nodeID and profileID to include only calls with CCD.contactDisposition set to 1 (abandoned). Join ACD and Resource on resourceID and profileID to obtain the name of the agent who was presented with the call, which is stored in Resource.resourceName.

Note   

A call may be abandoned without being presented to any agent. In this case, this agent Name field will be blank.

Call Skills

This field shows the list of skills that belong to the CSQ shown in Call Routed CSQ.

Join CQD.targetID with CSQU.recordID, and CQD.profileID with CSQU.profileID to obtain CSQU.skillGroupID. Join CSQU.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join SG.skillID with Skill.skillID to obtain the list of call skills, which is stored in Skill.skillName.

Note   

This Call Skills field will be blank for a call that is abandoned without being presented to a CSQ and for a call that is abandoned after it is presented a resource-based CSQ.

Final Call Priority

Join CCD and CRD on sessionID, sessionSeqNum, nodeID, and profileID.

Note   

A call may be abandoned without being assigned a call priority. In this case, CRD.finalPriority will be blank and this Final Call Priority field will show "n/a."

Call Abandon Time

Obtained from CCD.endDateTime.

Aborted and Rejected Call Detail report

The Aborted and Rejected Call Detail report provides detailed information about each call that is aborted or rejected by the system. A call is aborted if an exception occurs in the workflow that is processing a call. A call is rejected if system resources reach maximum capacity (for example, the maximum number of CTI ports is reached).

Table 1 shows how the information in the Aborted and Rejected Call Detail report is obtained or calculated.

Table 2 explains how the Aborted and Rejected Call Detail report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 3 Aborted and Rejected Call Detail report Query Design

Field

Explanation

Node ID

Obtained from CCD.nodeID.

Session ID

Obtained from CCD.sessionID.

Sequence No

Obtained from CCD.sessionSeqNum.

Call Start Time

Obtained from CCD.startDateTime.

Call End Time

Obtained from CCD.endDateTime.

Contact Type

Obtained from CCD.contactType.

Contact Disposition

Obtained from CCD.contactDisposition.

If CCD.contactDisposition is 4, this field displays Aborted. If CCD.contactDisposition is 5 or greater, this field displays Rejected.

Abort/Reject Reason

For aborted calls, CCD.contactDisposition is 4, and this field displays the value stored in CCD.dispositionReason.

For rejected calls, CCD.contactDisposition is 5 or greater, and this field displays the text according to the following mapping. The description for each reject reason is also explained below:

5—Reject: No Trigger - Trigger is not recognized or has been removed

6—Reject: Channels Not Ready - Channels Not Ready - Group(s) are not ready

7—Reject: Trigger Timeout - Trigger timeout expires before attempting to get the channel

8—Reject: Channels Busy - No channel(s) available

9—Reject: No Channel License - No channel license is available to process the call

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.

Note   

The event occurred when the campaign got disabled or deleted or when the associated CSQ got deleted before the agent clicked Cancel Reservation. This is because CCDR will be written only when the call is disconnected.

25-98—Reserved.

Originator DN

(DN = Directory Number)

Obtained from CCD.originatorDN.

If CCD.originatorType is 1 (agent type), this field contains the extension of the originating agent, and is calculated as follows: Join CCD.originatorID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain the agent extension, which is stored in Resource.extension.

Destination DN

Obtained from CCD.destinationDN.

If CCD.destinationType is 1 (agent type), this field contains the extension of the destination agent, and is calculated as follows: Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain the agent extension, which is stored in Resource.extension.

Called Number

Obtained from CCD.calledNumber.

Original Called No.

Obtained from CCD.origCalledNumber.

Application Name

Obtained from CCD.applicationName.

Call Routed CSQ

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to determine CQD records with a CCD.startDateTime value that is within the report period. Join CQD and CRD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex to obtain CQD.targetID, and join CQD.profileID with CQD.targetType = 0 (CSQ type). CQD.targetID contains the recordID of the CSQ that handled the call. Join CQD.targetID with CSQ.recordID, and join CQD.profileID with CSQ.profileID to obtain the CSQ name, which is stored in CSQ.csqName.

Table 4 Aborted and Rejected Call Detail report filter parameter

Filter parameter

Explanation

Contact Disposition

To report on aborted calls only, obtain CCD records with CCD.contactDisposition = 4.

To report on rejected calls only, obtain CCD records with CCD.contactDisposition >= 5.

To report on both aborted and rejected calls, obtain CCD records with CCD.contactDisposition >= 4.

Agent Call Summary report

The Agent Call Summary report shows, for each agent specified, summary information about each call that was received (an inbound call) and each call that was made (an outbound call) by the agent. This report also shows the number of calls transferred to the agent and transferred out (to another route point or another agent) by the agent, and the number of conference calls in which the agent participated.

Table 1 shows how the information in the Agent Call Summary report is obtained or calculated.

Table 2 explains how the Agent Call Summary report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see Conventions used in this chapter.

Table 5 Agent Call Summary report query design

Field

Explanation

Agent Name

For the agents specified, obtain the Resource.resourceID and Resource.profileID as described in Table 2. Agent Name is stored in Resource.resourceName.

Note   

When an attribute of an agent changes (for example, extension or resource group), the agent will have multiple entries in the Resource table. In this case, each entry will have a different resource ID, so several resource IDs can belong to one agent, and Resource.resourceID will not uniquely identify an agent. Also, one agent may belong to different application profiles, and will have different Resource.profileID entries. Therefore, the combination of Resource.resourceID and Resource.profileID is not sufficient to uniquely identify an agent. The combination of Resource.resourceName and Resource.resourceLoginID is used to uniquely identify an agent. Resource.resourceName itself is not sufficient to do so because different agents may have the same first and last names, but have different resource login IDs. Resource.resourceLoginID by itself does not uniquely identify an agent because a generic resource login ID (for example, supportagent003) may be used for different agents at different times. The combination of two uniquely identifies an agent.

Extension

For agents who have not had their extension changed, obtained from Resource.extension.

For agents who have had their extension changed at some time, the extension that is assigned to the agent during the report period.

Total Inbound

Calculated as follows:

Total inbound ACD calls + Total inbound IVR calls.

Inbound ACD— Total

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to find ACD records within the report period. (For such records, the corresponding CCD.startDateTime value is within the report period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

For each agent, count the number of ACD records to determine the total number of inbound ACD calls received by each agent.

Inbound ACD—Avg Talk

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to find ACD records within the report period. (For such records, the corresponding CCD.startDateTime value is within the report period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

For each agent, calculate the sum of the values in ACD.talkTime, then divide by the number of ACD records for that agent.

Inbound ACD—Avg Hold

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to find ACD records within the report period. (For such records, the corresponding CCD.startDateTime value is within the report period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

For each agent, calculate the sum of the values in ACD.holdTime, then divide by the number of ACD records for that agent.

Inbound ACD—Avg Work

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to find ACD records within the report period. (For such records, the corresponding CCD.startDateTime value is within the report period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

For each agent, calculate the sum of the values in ACD.workTime, then divide by the number of ACD records for that agent.

Inbound Non-ACD—Total

Search CCD for records for which the value of startDateTime is within the report period and destinationType is 1 (agent). Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

Compare sessionID, sessionSeqNum, profileID, nodeID, and resourceID in this result set with the results for these fields obtained from Inbound ACD—Total. Eliminate all entries that are already counted in the calculation of total inbound ACD calls. The remaining value is the number of IVR calls.

For each agent, count the number of CCD records to determine the number of total inbound IVR calls.

Inbound Non-ACD— Avg Talk Time

Talk time of an IVR call is stored in CCD.connectTime.

Search CCD for records in which the value of startDateTime is within the report period and destinationType is 1 (agent). Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

Compare sessionID, sessionSeqNum, profileID, nodeID, and resourceID in this result set with the result obtained from Inbound ACD—Total. Eliminate all entries that are already counted in the calculation of total inbound ACD calls. The remaining value is the number of IVR calls.

For each agent, calculate the sum of the values stored in CCD.connectTime, then divide by the number of CCD records for that agent.

Inbound Non-ACD— Max Talk Time

Talk time of an IVR call is stored in CCD.connectTime.

Search CCD for records for which the value of startDateTime is within the report period and destinationType is 1 (agent). Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

Compare sessionID, sessionSeqNum, profileID, nodeID, and resourceID in this result set with the result obtained from Inbound ACD—Total. Eliminate all entries that are already counted in the calculation of total inbound ACD calls. The remaining value is the number of IVR calls.

For each agent, determine the maximum value stored in CCD.connectTime.

Outbound—Total

Search CCD for records in which the startDateTime is within the report period, and originatorType is 1 (agent). Join CCD.originatorID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

For each agent, count the number of CCD records.

Outbound—Avg Call Time

Search CCD for records in which the startDateTime is within the report period, and originatorType is 1 (agent). Join CCD.originatorID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

For each agent, calculate the sum of the values stored in CCD.connectTime, then divide by the number of CCD records for that agent.

Outbound—Max Call Time

Search CCD for records in which the startDateTime is within the report period, and originatorType is 1 (agent). Join CCD.originatorID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

For each agent, determine the maximum value stored in CCD.connectTime.

ACD Transfer-In

For ACD calls that are transferred in, CCD.contactType = 5 (transfer-in), and an ACD record is present.

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to find ACD records within the report period. (For such records, the corresponding CCD.startDateTime value is within the report period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

For each agent, count the number of ACD records for which the corresponding CCD records have contactType = 5 (transfer-in).

ACD Transfer-Out

For ACD calls that are transferred out, CCD.transfer = 1, and an ACD record is present.

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to find ACD records within the report period. (For such records, the corresponding CCD.startDateTime value is within the report period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

For each agent, count the number of ACD records for which the corresponding CCD records have transfer = 1.

ACD Conference

For ACD conference calls, CCD.conference = 1, and an ACD record is present.

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to find ACD records within the report period. (For such records, the corresponding CCD.startDateTime value is within the report period.) Join ACD.resourceID with Resource.resourceID and ACD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

For each agent, count the number of ACD records for which the corresponding CCD records have conference = 1.

Table 6 Agent Call Summary report filter parameters

Filter parameter

Explanation

All Agents (default, no filter parameter)

To report on all agents, obtain the list of resource IDs and profile IDs as follows:

Search the Resource table for agents who are active (Resource.active is 1) or who are deleted after report start time (Resource.dateInactive is later than the report start time). In this way, the report does not include agents who are deleted before the report start time.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of agent names from the user selection for this parameter. These values are in Resource.resourceName. Obtain the corresponding Resource.resourceID and Resource.profileID.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of resource group names from the user selection for this parameter. Search the ResourceGroup table to find records for which RG.resourceGroupName contains values found in the list. Join RG and Resource on resourceGroupID and profileID to find the list of agents that belong to the selected resource group or groups. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who are active and agents who are deleted after the report start time.

Skill Names

To report on agents with a specific skill or skills, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Search the Skill table to find records for which Skill.skillName contains values found in the list. Join Skill and RSM on skillID and profileID to find resourceSkillMapID. Join RSM and Resource on resourceSkillMapID and profileID to find the list of agents that have the selected skill or skills. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who are active and agents who are deleted after the report start time.

Team Names

To report on a specific team or teams, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of team names from the user selection for this parameter. Search the Team table to find records whose Team.teamName contains values found in the list. Join Team.teamID with Resource.assignedTeamID, and Team.profileID with Resource.profileID to find the list of agents who belong to the selected team or teams. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively.

Agent Detail report

The Agent Detail report contains detailed information for calls received and calls made by an agent. The report contains one row per call and includes Unified CCX and Cisco Unified IP IVR calls.

For ACD calls, the ACD table records all the calls handled by an agent.

For IVR calls, the CCD table records all the calls made by or received by an agent. If an agent makes an IVR call, the agent’s resource ID appears in CCD.originatorID. If the agent receives an IVR call, the agent’s resource ID appears in CCD.destinationID.

Table 1 shows how the information in the Agent Detail report is obtained or calculated.

Table 2 explains how the Agent Detail report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 7 Agent Detail report query design

Field

Explanation

Agent Name

For ACD calls, an agent is identified by the combination of ACD.resourceID and ACD.profileID. Join ACD.resourceID with Resource.resourceID, and join ACD.profileID with Resource.profileID to obtain the agent name, which is stored in Resource.resourceName.

For IVR calls, if an agent is the originator of the call, the agent is identified by CCD.originatorID and CCD.profileID, when CCD.originatorType = 1 (agent type). Join CCD.originatorID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName.

If an agent is the destination of an IVR call, the agent is identified by CCD.destinationID and CCD.profileID, when CCD.destinationType = 1 (agent type). Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName.

Extension

For ACD calls, an agent is identified by the combination of ACD.resourceID and ACD.profileID. Join ACD.resourceID with Resource.resourceID, and join ACD.profileID with Resource.profileID to obtain the agent name, which is stored in Resource.resourceName.

For IVR calls, if an agent is the originator of the call, the agent is identified by CCD.originatorID and CCD.profileID, when CCD.originatorType = 1 (agent type). Join CCD.originatorID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName.

If an agent is the destination of an IVR call, the agent is identified by CCD.destinationID and CCD.profileID, when CCD.destinationType = 1 (agent type). Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.extension.

Call Start Time

For ACD calls, obtained from ACD.startDateTime.

For IVR calls, obtained from CCD.startDateTime.

Call End Time

For ACD calls, obtained from ACD.endDateTime.

For IVR calls, obtained from CCD.startDateTime.

Duration

Calculated as follows:

Call End Time – Call Start Time

Displayed as hh:mm:ss.

Called Number

For ACD calls, agent identification is stored in ACD (see Agent Name earlier in this table). Join ACD and CCD on sessionID, sessionSeqNum, nodeID, and profileID. The value of this field is obtained from CCD.calledNumber.

For IVR calls, agent identification is stored in CCD (see Agent Name earlier in this table). The value of this field is obtained directly from CCD.calledNumber.

Call ANI

For ACD calls, agent identification is stored in ACD (see Agent Name earlier in this table). Join ACD and CCD on sessionID, sessionSeqNum, nodeID, and profileID. The value of this field is obtained from CCD.originatorDN.

For IVR calls, agent identification is stored in CCD (see Agent Name earlier in this table). The value of this field is obtained directly from CCD.originatorDN.

For internal calls (CCD.contactType = 3), but the CCD.orignatorDN field is blank. This field is set to the extension of the agent who originates the call, as follows:

Join CCD.originatorID with Resource.resourceID, join and CCD.profileID with Resource.profileID to obtain the extension of the originating agent, which is stored in Resource.extension.

Call Routed CSQ

Join ACD and CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type), and CQD.disposition = 2 (handled). The combination of CQD.targetID and CQD.profileID uniquely identifies a CSQ. Join CQD.targetID with CSQ.recordID, and join CQD.profileID with CSQ.profileID to obtain the CSQ name, which is stored in CSQ.csqName.

Other CSQs

Join ACD and CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type), and CQD.disposition is not 2 (not handled) to obtain the CSQ for which the call was queued but not handled. The combination of CQD.targetID and CQD.profileID uniquely identifies a CSQ. Join CQD.targetID with CSQ.recordID, and join CQD.profileID with CSQ.profileID to obtain the CSQ name, which is stored in CSQ.csqName. Multiple CSQ names are represented by "…".

Call Skills

Join ACD and CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type), and CQD.disposition = 2 (handled) to obtain a skill group ID, which is stored in CSQ.skillGroupID. Join CSQ.skillGroupID with SG.skillGroupID to get SG.skillID. Join SG.skillID with Skill.skillID to get the list of skill names, stored in Skill.skillName. Multiple skill names are separated by commas.

Talk Time

For ACD calls, obtained from ACD.talkTime.

For IVR calls, shows the value of Duration if CCD.contactDispostion = 2 (handled). Shows zero if CCD.contactDisposition = 1 (abandoned).

Hold Time

For ACD calls, obtained from ACD.holdTime.

Blank for IVR calls.

Work Time

For ACD calls, obtained from ACD.workTime.

Blank for IVR calls.

Call Type

  • Inbound ACD—Call has an ACD record present.
  • Inbound Non-ACD—CCD.destinationType = 1 (agent type), CCD.destinationID is a resource ID, and there is no corresponding ACD record. (A corresponding ACD record has the same sessionID, sessionSeqNum, nodeID, and profileID.)
  • Outbound—CCD.originatorType = 1 (agent type), and CCD.originatorID is a resource ID.
  • Transfer-In—CCD.contactType = 5 (transfer-in), and there is a corresponding ACD record.
  • Transfer-Out—CCD.transfer = 1, and there is a corresponding ACD record.
  • Conference—CCD.conference = 1, and there is a corresponding ACD record.
Table 8 Agent Detail report filter parameters

Filter parameter

Explanation

All Agents (default, no filter parameter)

To report on all agents, obtain the list of resource IDs and profile IDs from the Resource table.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of resource group names from the user selection for this parameter. Search the ResourceGroup table to find records for which RG.resourceGroupName contains values found in the list. Join RG and Resource on resourceGroupID and profileID to find the list of agents that belong to the selected resource group or groups. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of agent names from the user selection for this parameter. These values are in Resource.resourceName. Obtain the corresponding Resource.resourceID and Resource.profileID.

Skill Names

To report on agents with a specific skill or skills, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Search the Skill table to find records for which Skill.skillName contains values found in the list. Join Skill and RSM on skillID and profileID to find resourceSkillMapID. Join RSM and Resource on resourceSkillMapID and profileID to find the list of agents that have the selected skill or skills. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively.

Team Names

To report on a specific team or teams, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of team names from the user selection for this parameter. Search the Team table to find records whose Team.teamName contains values found in the list. Join Team.teamID with Resource.assignedTeamID, and Team.profileID with Resource.profileID to find the list of agents who belong to the selected team or teams. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively.

Call Type

To report on a specific call type or types, obtain the call types from the user selection for this parameter. (Up to 6 call types can be selected.) Call types that are not selected will be eliminated before the final result set is displayed. The elimination process is based on the classification criteria described in the Call Type field in Table 1.

Agent Login Logout Activity report

The Agent Login Logout Activity report contains detailed information about the login and logout activities of agents. The login and logout information is stored in the ASD table.

Table 1 shows how the information in the Agent Login Logout Activity report is obtained or calculated.

Table 2 explains how the Agent Login Logout Activity report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 9 Agent Login Logout Activity report query design

Field

Explanation

Agent Name

Join ASD.agentID with Resource.resourceID to obtain the agent name, which is stored in Resource.resourceName.

Extension

For agents who have not had their extension changed, obtained from Resource.extension.

For agents who have had their extension changed at some time, the extension that is assigned to the agent during the report period.

Login Time

Join ASD.agentID with Resource.resourceID, and join ASD.profileID with Resource.profileID to obtain state transition records for each agent, identified by Resource.resourceName and Resource.resourceLoginID. (See agent Name for the relationship between resourceID/profileID and resourceName/ resourceLoginID.) Login Time is stored in ASD.eventDateTime where ASD.eventType = 1. If the agent logged in before the report start time, this field is displayed as < report start time.

Logout Time

Join ASD.agentID with Resource.resourceID, and join ASD.profileID with Resource.profileID to obtain state transition records for each agent, identified by Resource.resourceName and Resource.resourceLoginID. (See Agent Name for the relationship between resourceID/profileID and resourceName/ resourceLoginID.) Login Time is stored in ASD.eventDateTime where ASD.eventType = 7. If the agent logged out after the report end time, this field is displayed as: > report end time.

Logout Reason Code

This field is obtained from ASD.reasonCode when ASD.eventType = 7 (logout).

Logged-In Duration

  • If the agent logged in before the report start time and logged out after the report end time—Logged-In Duration = report end time – report start time
  • If the agent logged in before the report start time and logged out during the report period—Logged-In Duration = Logout Time – report start time
  • If the agent logged in during the report period and logged out after the report end time—Logged-In Duration = report end time – Login Time
  • If the agent logged in and out during the report period—Logged-In Duration = Logout TimeLogin Time
Table 10 Agent Login Logout Activity report filter parameters

Filter parameter

Explanation

All Agents (default, no filter parameter)

To report on all agents, obtain the list of resource IDs as follows:

Search the Resource table for records with resourceType set to 1 (agent). Resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ASD.resourceID to obtain other call-related data.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs as follows:

Obtain the list of resource group name(s) from the user selection for this parameter. Find the corresponding RG.resourceGroupID(s). Join RG.resourceGroupID with Resource.resourceGroupID to find agents belonging to the selected resource group(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ASD.resourceID to obtain other call-related data.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs as follows:

Obtain the list of agent names from the user selection for this parameter. Find the corresponding Resource.resourceID(s).

Join Resource.resourceID with ASD.resourceID to obtain other call-related data.

Skill Names

To report on agents who possess a specific skill or skills, obtain the list of resource IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Find the corresponding Skill.skillID(s). Join Skill.skillID with RSM.skillID, RSM.resourceSkillMapID with Resource.resourceSkillMapID to find the agents who possess the selected skill(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ASD.resourceID to obtain other call-related data.

Team Names

To report on a specific team or teams, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of team names from the user selection for this parameter. Search the Team table to find records in which Team.teamName contains values found in the list. Join Team.teamID with Resource.assignedTeamID, and join Team.profileID with Resource.profileID to find the list of agents who belong to the selected team or teams. The Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively.

Agent Not Ready Reason Code Summary report

The Agent Not Ready Reason Code Summary report provides information about the length of time each agent spent in Not Ready state during the report period. This report also shows the length of time that agents spent in Not Ready state for the reasons indicated by the reason codes that agents entered when going to Not Ready state. The report shows detailed information for each of up to eight reason codes, and displays consolidated information for other reason codes. By default, the report shows information for eight predefined reason codes. However, you can specify the eight reason codes for which the report shows detailed information.

Table 1 shows how the information in the Agent Not Ready Reason Code Summary report is obtained or calculated.

Table 2 explains how the Agent Not Ready Reason Code Summary report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 11 Agent Not Ready Reason Code Summary report Query Design

Field

Explanation

Agent Name

For the agents specified, obtain the Resource.resourceID and Resource.profileID as described in Table 2. Agent Name is stored in Resource.resourceName.

Note   

When an attribute of an agent changes (for example, extension or resource group), the agent will have multiple entries in the Resource table. In this case, each entry will have a different resource ID, so several resource IDs can belong to one agent, and Resource.resourceID will not uniquely identify an agent. Also, one agent may belong to different application profiles, and will have different Resource.profileID entries. Therefore, the combination of Resource.resourceID and Resource.profileID is not sufficient to uniquely identify an agent. The combination of Resource.resourceName and Resource.resourceLoginID is used to uniquely identify an agent.

Resource.resourceName itself is not sufficient to do so because different agents may have the same first and last names, but have different resource login IDs.

Resource.resourceLoginID by itself does not uniquely identify an agent because a generic resource login ID (for example, supportagent003) may be used for different agents at different times. The combination of two uniquely identifies an agent.

Extension

For agents who have not had their extension changed, obtained from Resource.extension.

For agents who have had their extension changed at some time, the extension that is assigned to the agent during the report period.

Interval Start Time

Beginning of an interval.

End users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

Interval End Time

End of an interval.

End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

Total Logged-in

Login time is stored in ASD.eventDateTime with eventType set to 1 (log in). Logout time is stored in ASD.eventDateTime with eventType set to 7 (log out).

The calculation of the logged-in time for a single session depends on the agent activity, as follows:

  • An agent logs in and logs out during the interval: Total Logged-in Time = logout time – login time
  • An agent logs in before the interval and logs out after the interval: Total Logged-in Time = Interval End TimeInterval Start Time
  • An agent logs in before the interval and logs out during the interval: Total Logged-in Time = logout time – Interval Start Time
  • An agent logs in during the interval and logs out after the interval: Total Logged-in Time = Interval End Time – login time

If an agent has multiple login sessions during the interval, this field displays the sum of the time spent in each login session.

Total Not Ready

Join ASD.agentID with Resource.resourceID, and join ASD.profileID with Resource.profileID to obtain state transition records for each agent, identified by Resource.resourceName and Resource.resourceLoginID. (See agent Name in this table for the relationship between resourceID/profileID and resourceName/resourceLoginID.) Not Ready state is identified by ASD.eventType = 2.

The time spent in Not Ready state depends on the agent activity, as follows:

  • An agent goes in to and out of Not Ready state during the interval: Total Not Ready Time = time out of Not Ready state – time in Not Ready state
  • An agent goes in to Not Ready state before the interval and goes out of Not Ready state after the interval: Total Not Ready Time = Interval End TimeInterval Start Time
  • An agent goes in to Not Ready state before the interval and goes out of Not Ready state during the interval: Total Not Ready Time = time out of Not Ready state – Interval Start Time
  • An agent goes in to Not Ready state during the interval and goes out of Not Ready state after the interval: Total Not Ready Time = Interval End Time – time in to Not Ready state

If an agent goes to Not Ready state multiple times during the interval, this field displays the sum of the time spent in each Not Ready state.

Time in RC n1

Time in RC n2

Time in RC n3

Time in RC n4

Time in RC n5

Time in RC n6

Time in RC n7

Time in RC n8

Join ASD.agentID with Resource.resourceID, and join ASD.profileID with Resource.profileID to obtain state transition records for each agent, identified by Resource.resourceName and Resource.resourceLoginID. (See Agent Name in this table for the relationship between resourceID/profileID and resourceName/resourceLoginID.) Not Ready state is identified by ASD.eventType = 2. The reason code is stored in ASD.reasonCode.

By default, this report sorts the predefined Not Ready reason codes in numerical order and displays the first eight reason codes.

You can specify other reason codes to report by selecting Filter Parameter Reason Code.

Time in Other RCs

Sum of the duration spent in Not Ready reason codes that are not shown in the Time in RC n1 through Time in RC n8 fields. The total time spent in different reason codes adds up to Total Not Ready Time (Time in Reason Code 1 + Time in Reason Code 2 + … + Time in Reason Code 8 = Total Not Ready Time).

Join ASD.agentID with Resource.resourceID, and join ASD.profileID with Resource.profileID to obtain state transition records for each agent, identified by Resource.resourceName and Resource.resourceLoginID. (See Agent Name in this table for the relationship between resourceID/profileID and resourceName/resourceLoginID.) Not Ready state is identified by ASD.eventType = 2. The reason code is stored in ASD.reasonCode. For this calculation, do not consider values that have been listed in the previous eight fields.

Table 12 Agent Not Ready Reason Code Summary report filter parameter

Filter parameter

Explanation

All Agents (default, no filter parameter)

To report on all agents, obtain the list of resource IDs and profile IDs as follows:

Search and display the Resource table for agents who are active (Resource.active is 1) or who are deleted after report start time (Resource.dateInactive is later than the report start time). In this way, the report does not include agents who are deleted before the report start time.

Interval Length

Entire report range—Displays information from the report start time through the report end time, but does not display information for specific intervals within the report period.

Thirty (30) minute intervals—Displays information for 30-minute intervals within the report period. The first interval begins at the report start time, the next interval begins 30 minutes after the report start time, and so on.

Sixty (60) minute intervals—Displays information for 60-minute intervals within the report period. The first interval begins at the report start time, the next interval begins 60 minutes after the report start time, and so on.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of resource group names from the user selection for this parameter. Search the ResourceGroup table to find records for which RG.resourceGroupName contains values found in the list. Join RG and Resource on resourceGroupID and profileID to find the list of agents that belong to the selected resource group or groups. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who are active and agents who are deleted after the report start time.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of agent names from the user selection for this parameter. These values are in Resource.resourceName. Obtain the corresponding Resource.resourceID and Resource.profileID.

Skill Names

To report on agents with a specific skill or skills, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Search the Skill table to find records for which Skill.skillName contains values found in the list. Join Skill and RSM on skillID and profileID to find resourceSkillMapID. Join RSM and Resource on resourceSkillMapID and profileID to find the list of agents that have the selected skill or skills. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who are active and agents who are deleted after the report start time.

Team Names

To report on a specific team or teams, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of team names from the user selection for this parameter. Search the Team table to find records whose Team.teamName contains values found in the list. Join Team.teamID with Resource.assignedTeamID, and Team.profileID with Resource.profileID to find the list of agents who belong to the selected team or teams. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively.

Reason Code

To report on a specific reason code or codes, obtain the list of reason codes from the user selection for this parameter. Find ASD records for which the ASD.eventType is 2 (Not Ready) and for which the value stored ASD.reasonCode is found in the selected list.

Agent State Detail report

The Agent State Detail report shows detailed information about when an agent changed from one state to another.

Table 1 shows how the information in the Agent State Detail report is obtained or calculated.

Table 2 explains how the Agent State Detail report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 13 Agent State Detail report query design

Field

Explanation

Agent Name

For the agents specified, obtain the Resource.resourceID and Resource.profileID as described in Table 2. Agent Name is stored in Resource.resourceName.

Note   

When an attribute of an agent changes (for example, extension or resource group), the agent will have multiple entries in the Resource table. In this case, each entry will have a different resource ID, so several resource IDs can belong to one agent, and Resource.resourceID will not uniquely identify an agent. Also, one agent may belong to different application profiles, and will have different Resource.profileID entries. Therefore, the combination of Resource.resourceID and Resource.profileID is not sufficient to uniquely identify an agent. The combination of Resource.resourceName and Resource.resourceLoginID is used to uniquely identify an agent. Resource.resourceName itself is not sufficient to do so because different agents may have the same first and last names, but have different resource login IDs. Resource.resourceLoginID by itself does not uniquely identify an agent because a generic resource login ID (for example, supportagent003) may be used for different agents at different times. The combination of two uniquely identifies an agent.

Extension

For agents who have not had their extension changed, obtained from Resource.extension.

For agents who have had their extension changed at some time, the extension that is assigned to the agent during the report period.

State Transition Time

Obtained from ASD.eventDateTime.

For agent identification, join ASD.agentID with Resource.resourceID, and join ASD.profileID with Resource.profileID to obtain Resource.resourceName and Resource.resourceLoginID, the combination of which uniquely identifies an agent.

Agent State

Obtained from ASD.eventType. The mapping between the numeric ASD.eventType and the displayed text is as follows:

1—Logged-in

2—Not Ready

3—Ready

4—Reserved

5—Talking

6—Work

7—Logout

Reason Code

Obtained from ASD.reasonCode.

Duration

Time agent goes out of the state specified in the Agent State field – Time Agent goes to Agent State

The calculation of the duration depends on the agent activity, as follows:

  • An agent goes to Agent State before the report start time and goes out of that state after the report end time: Duration = report end time – report start time
  • An agent goes to Agent State before the report start time and goes out of that state during the report period: Duration = time agent goes out of Agent State – report start time
  • An agent goes to Agent State during the report period and goes out of that state after the report end time: Duration = report end time – Transition Time
  • An agent goes to Agent State and out of Agent State during the report period: Duration = time agent goes out of Agent State – Transition Time
Table 14 Agent State Detail report filter parameters

Filter parameter

Explanation

All Agents (default, no filter parameter)

To report on all agents, obtain the list of resource IDs and profile IDs as follows:

Search and display the Resource table for agents who are active (Resource.active is 1) or who are deleted after report start time (Resource.dateInactive is later than the report start time). In this way, the report does not include agents who are deleted before the report start time.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of agent names from the user selection for this parameter. These values are in Resource.resourceName. Obtain the corresponding Resource.resourceID and Resource.profileID.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of resource group names from the user selection for this parameter. Search the ResourceGroup table to find records for which RG.resourceGroupName contains values found in the list. Join RG and Resource on resourceGroupID and profileID to find the list of agents that belong to the selected resource group or groups. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who are active and agents who are deleted after the report start time.

Skill Names

To report on agents with a specific skill or skills, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Search the Skill table to find records for which Skill.skillName contains values found in the list. Join Skill and RSM on skillID and profileID to find resourceSkillMapID. Join RSM and Resource on resourceSkillMapID and profileID to find the list of agents that have the selected skill or skills. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who are active and agents who are deleted after the report start time.

Team Name

To report on a specific team or teams, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of team names from the user selection for this parameter. Search the Team table to find records whose Team.teamName contains values found in the list. Join Team.teamID with Resource.assignedTeamID, and Team.profileID with Resource.profileID to find the list of agents who belong to the selected team or teams. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively.

Agent State Summary report (by Agent and Interval)

The Agent State Summary report (by Agent) and the Agent State Summary report (by Interval) show the length and percentage of time that each agent spent in each of the following agent states: Not Ready, Ready, Reserved, Talk, and Work. These reports also show the total length of time that each agent was logged in.

In the Agent State Summary report (by Agent), information presented is sorted first by agent, then by interval.

In the Agent State Summary report (by Interval), information presented is sorted first by interval, then by agent.

Table 1shows how the information in the Agent State Summary reports is obtained or calculated.

Table 2 explains how the Agent State Summary reports filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 15 Agent State Summary reports query design

Field

Explanation

Agent Name

Join ASD.agentID with Resource.resourceID to obtain the agent name, which is stored in Resource.resourceName.

Extension

For agents who have not had their extension changed, obtained from Resource.extension.

For agents who have had their extension changed at some time, the extension that is assigned to the agent during the report period.

Interval Start Time

Beginning of an interval.

End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

Interval End Time

End of an interval.

End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

Total Logged-in Time

Login time is stored in ASD.eventDateTime with eventType set to 1 (log in). Logout time is stored in ASD.eventDateTime with eventType set to 7 (log out).

The calculation of the logged-in time for a single session depends on the agent activity, as follows:

  • An agent logs in and logs out during the interval: Total Logged-in Time = logout time – login time
  • An agent logs in before the interval and logs out after the interval: Total Logged-in Time = Interval End TimeInterval Start Time
  • An agent logs in before the interval and logs out during the interval: Total Logged-in Time = logout time – Interval Start Time
  • An agent logs in during the interval and logs out after the interval: Total Logged-in Time = Interval End Time – login time

If an agent has multiple login sessions during the interval, this field displays the sum of the time spent in each login session.

Not Ready Time

Total time that an agent spent in Not Ready state during the interval, and the percentage of total logged-in time that an agent spent in Not Ready state.

The time that an agent goes to Not Ready state is stored in ASD.eventDateTime with eventType set to 2. The time spent in Not Ready state depends on the agent activity, as follows:

  • An agent goes in to and out of Not Ready state during the interval: Total Not Ready Time = time out of Not Ready state – time in to Not Ready state
  • An agent goes in to Not Ready state before the interval and goes out of Not Ready state after the interval: Total Not Ready Time = Interval End TimeInterval Start Time
  • An agent goes in to Not Ready state before the interval and goes out of Not Ready state during the interval: Total Not Ready Time = time out of Not Ready state – Interval Start Time
  • An agent goes in to Not Ready state during the interval and goes out of Not Ready state after the interval: Total Not Ready Time = Interval End Time – time in to Not Ready state

If an agent goes to Not Ready state multiple times during the interval, this field displays the sum of the time spent in each Not Ready state.

The percentage is calculated as:

(Not Ready Time / Total Logged-in Time) * 100%

Ready Time

Total time that an agent spent in Ready state during the interval, and the percentage of total logged-in time that an agent spent in Ready state.

The time that an agent goes to the Ready state is stored in ASD.eventDateTime with eventType set to 3. The time spent in Ready state depends on the agent activity, as follows:

  • An agent goes in to and out of Ready state during the interval: Total Ready Time = time out of Ready state – time in to Ready state
  • An agent goes in to Ready state before the interval and goes out of Ready state after the interval: Total Ready Time = Interval End TimeInterval Start Time
  • An agent goes in to Ready state before the interval and goes out of Ready state during the interval: Total Ready Time = time out of Ready state – Interval Start Time
  • An agent goes in to Ready state during the interval and goes out of Ready state after the interval: Total Ready Time = Interval End Time – time in to Ready state

If an agent goes to Ready state multiple times during the interval, this field displays the sum of the time spent in each Ready state.

The percentage is calculated as:

(Ready Time / Total Logged-in Time) * 100%

Reserved Time

Total time an agent spent in the Reserved state during the interval, and the percentage total logged-in time that an agent spent in Reserved state.

The time that an agent goes to the Reserved state is stored in ASD.eventDateTime with eventType set to 4. The time spent in Reserved state depends on the agent activity, as follows:

  • An agent goes in to and out of Reserved state during the interval: Total Reserved Time = time out of Reserved state – time in to Reserved state
  • An agent goes in to Reserved state before the interval and goes out of Reserved state after the interval: Total Reserved Time = Interval End TimeInterval Start Time
  • An agent goes in to Reserved state before the interval and goes out of Reserved state during the interval: Total Reserved Time = time out of Reserved state – Interval Start Time
  • An agent goes in to Reserved state during the interval and goes out of Reserved state after the interval: Total Reserved Time = Interval End Time – time in to Reserved state

If an agent goes to the Reserved state multiple times during the interval, this field displays the sum of the time spent in each Reserved state.

The percentage is calculated as:

(Reserved Time / Total Logged-in Time) * 100%

Talk Time

Total time an agent spent in the Talk state during the interval, and the percentage of total logged-in time that an agent spent in Talk state.

The time that an agent goes to the Talk state is stored in ASD.eventDateTime with eventType set to 5. The time spent in Talk state depends on the agent activity, as follows:

  • An agent goes in to and out of Talk state during the interval: Total Talk Time = time out of Talk state – time in to Talk state
  • An agent goes in to Talk state before the interval and goes out of Talk state after the interval: Total Talk Time = Interval End TimeInterval Start Time
  • An agent goes in to Talk state before the interval and goes out of Talk state during the interval: Total Talk Time = time out of Talk state – Interval Start Time
  • An agent goes in to Talk state during the interval and goes out of Talk state after the interval: Total Talk Time = Interval End Time – time in to Talk state

If an agent goes to the Talk state multiple times during the interval, this field displays the sum of the time spent in each Talk state.

The percentage is calculated as:

(Talk Time / Total Logged-in Time) * 100%

Work Time

Total time an agent spent in the Work state during the interval, and the percentage of total logged-in time that an agent spent in Work state.

The time that an agent goes to the Work state is stored in ASD.eventDateTime with eventType set to 6. The time spent in Work state depends on the agent activity, as follows:

  • An agent goes in to and out of Work state during the interval: Total Work Time = time out of Work state – time in to Work state
  • An agent goes in to Work state before the interval and goes out of Work state after the interval: Total Work Time = Interval End TimeInterval Start Time
  • An agent goes in to Work state before the interval and goes out of Work state during the interval: Total Work Time = time out of Work state – Interval Start Time
  • An agent goes in to Work state during the interval and goes out of Work state after the interval: Total Work Time = Interval End Time – time in to Work state

If an agent goes to the Work state multiple times during the interval, this field displays the sum of the time spent in each Work state.

The percentage is calculated as:

(Work Time / Total Logged-in Time) * 100%

Summary

For the Agent State Summary report (by Agent): Summation of data in each report field across all intervals.

For the Agent State Summary report (by Interval): Summation of data in each report field during each interval.

Grand Total

Summation of data in all report fields for all intervals.

Table 16 Agent State Summary reports filter parameters

Filter parameter

Explanation

All Agents (default, no filter parameter)

To report on all agents, obtain the list of resource IDs as follows:

Search the Resource table for records with resourceType set to 1 (agent). Resource ID is stored in the Resource.resourceID field.

Join Resource.resourceID with ASD.resourceID to obtain other call-related data.

Interval Length

Options are entire report period (default), 30 minutes, 60 minutes.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs as follows:

Obtain the list of resource group name(s) from the user selection for this parameter. Find the corresponding RG.resourceGroupID(s). Join RG.resourceGroupID with Resource.resourceGroupID to find agents belonging to the selected resource group(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ASD.resourceID to obtain other call-related data.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs as follows:

Obtain the list of agent names from the user selection for this parameter. Find the corresponding Resource.resourceID(s).

Join Resource.resourceID with ASD.resourceID to obtain other call-related data.

Skill Names

To report on agents who possess a specific skill or skills, obtain the list of resource IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Find the corresponding Skill.skillID(s). Join Skill.skillID with RSM.skillID and join RSM.resourceSkillMapID with Resource.resourceSkillMapID to find the agents who possess the selected skill(s). The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ASD.resourceID to obtain other call-related data.

Team Names

To report on a specific team or teams, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of team names from the user selection for this parameter. Search the Team table to find records in which Team.teamName contains values found in the list. Join Team.teamID with Resource.assignedTeamID, and join Team.profileID with Resource.profileID to find the list of agents who belong to the selected team or teams. The Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively.

Agent Summary report

The Agent Summary report contains one row per agent. Each row contains a summary of the activities of an agent.

The ACD table contains information of the agents who handled ACD calls. This table provides the basic data for the Agent Summary report.

Table 1 shows how the information in the Agent Summary report is obtained or calculated.

Table 2 explains how the Agent Summary report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 17 Agent Summary report query design

Field

Explanation

Agent Name

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to get ACD.resourceID and ACD.profileID. ACD.resourceID contains the resource ID of the agent who handled the call. Join ACD.resourceID with Resource.resourceID, and ACD.profileID with Resource.profileID to obtain the agent name, which is stored in Resource.resourceName.

Extension

For agents who have not had their extension changed, obtained from Resource.extension.

For agents who have had their extension changed at some time, the extension that is assigned to the agent during the report period.

Avg Logged-In Time

The ASD provides the times that each agent logs in and logs out. The length of time between log in and log out is the agent logged-in time. Login time is stored in ASD.eventDateTime with eventType set to 1 (log in). Logout time is stored in ASD.eventDateTime with eventType set to 7 (log out).

The calculation of the average logged-in time depends on the agent activity, as follows. In these calculations, t1 is the report start time and t2 is the report end time.

  • An agent logs in before t1 and logs out between t1 and t2: Logged-in duration = logout time – t1
  • An agent logs in between t1 and t2 and logs out after t2: Logged-in duration = t2 – login time
  • An agent logs in between t1 and t2 and logs out between t1 and t2: Logged-in duration = logout time – login time
  • An agent logs in before t1 and logs out after t2: Logged-in duration = t2 – t1

The average logged-in time for an agent is calculated as follows:

Calculate the total logged-in time for an agent during the report period and divide by the number of logged-in sessions.

Calls Handled

Join ACD and CCD on sessionID, sessionSeqNum, profileID, and nodeID. For each agent, count the number of unique CCD.sessionID that meet the following criteria:

  • CCD.startDateTime is in the report period
  • CCD.contactDisposition is 2 (handled)
  • ACD.talkTime is greater than zero

Calls Presented

Join ACD and CCD on sessionID and sessionSeqNum, profileID, and nodeID. For each agent, count the number of unique CCD.sessionID with CCD.startDateTime falling within the report period.

Handle Ratio

Call Handled divided by Calls Presented.

Handle Time—Avg

Each call handled by an agent has an ACD record. The handle time of a call is calculated as follows:

ACD.talkTime + ACD.holdTime + ACD.workTime

The average handle time is the sum of the handle times of all the calls handled by the agent within the report period divided by the number of calls handled within the report period.

Handle Time—Max

Each call handled by an agent has an ACD record. The handle time of a call is calculated as follows:

ACD.talkTime + ACD.holdTime + ACD.workTime

The maximum handle time for an agent is the longest handle time of all calls handled by the agent within the report period.

Talk Time—Avg

Talk time of a call is obtained from ACD.talkTime.

The average talk time for an agent is the sum of talk times of all calls handled by the agent within the report period divided by the number of calls handled within the report period.

Talk Time—Max

Talk time of a call is obtained from ACD.talkTime.

Maximum talk time for an agent is the longest talk time of all the calls handled by the agent within the report period.

Hold Time—Avg

Hold time of a call is obtained from ACD.holdTime.

Average hold time for an agent is the sum of the hold times of all calls handled by the agent within the report period divided by the number of calls handled calls within the report period.

Hold Time—Max

Hold time of a call is obtained from ACD.holdTime.

The maximum hold time for an agent is the longest hold time of all calls handled by the agent within the report period.

Work Time—Avg

Work time of a call is obtained from ACD.workTime.

The average work time for an agent is the sum of work times of all calls handled by the agent within the report period divided by the number of calls handled within the report period.

Work Time—Max

Work time of a call is obtained from ACD.workTime.

The maximum work time for an agent is the longest work time of all the calls handled by the agent within the report period.

Idle Time—Avg

The ASD records the date and time that an agent goes to a specific state. Idle time is the time spent in the Not Ready state (2). While in the Not Ready state (2), an agent can go to Ready state (3), Reserved state (4), or Logout state (7).

An idle session begins when an agent goes to Not Ready state and ends when the agent goes to the next state (Ready, Reserved, or Logout). The length of time that the agent spends in Not Ready state is the duration of an idle session.

The average idle time for an agent is the sum of the durations of all of an agent’s idle sessions within the report period divided by the number of idle sessions within the report period.

Idle Time—Max

The ASD records the date and time that an agent goes to a specific state. Idle time is the time spent in the Not Ready state (2). While in the Not Ready state (2), an agent can go to Ready state (3), Reserved state (4), or Logout state (7).

An idle session begins when an agent goes to Not Ready state and ends when the agent goes to the next state (Ready, Reserved, or Logout). The length of time that the agent spends in Not Ready state is the duration of an idle session.

The maximum idle time for an agent is the longest duration of the idle sessions within the report period.

Table 18 Agent Summary report filter parameters

Filter parameter

Explanation

All Agents (default, no filtering parameters)

To report on all agents, obtain the list of resource IDs and profile IDs as follows:

Search and display the Resource table for agents who are active (Resource.active = 1) or who are deleted after the report start time (Resource.dateInactive later than the report start time, which means that the agent is still active during the report period). In this way, the report does not include agents who are deleted before the report start time.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of resource group names from the user selection for this parameter. Search the ResourceGroup table to find records for which RG.resourceGroupName contains values found in the list. Join RG and Resource on resourceGroupID and profileID to find the list of agents who belong to the selected resource group(s). Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who are active and agents who are deleted after the report start time.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of agent names from the user selection for this parameter. These values are found in Resource.resourceName. Obtain the corresponding Resource.resourceID and Resource.profileID.

Skill Names

To report on agents with a specific skill or skills, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Search the Skill table to find records whose Skill.skillName contains values found in the list. Join Skill and RSM on skillID and profileID to find resourceSkillMapID. Join RSM and Resource on resourceSkillMapID and profileID to find the list of agents who have the selected skill(s). Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who were active during the report start time.

Team Names

To report on a specific team or teams, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of team names from the user selection for this parameter. Search the Team table to find records in which Team.teamName contains values found in the list. Join Team.teamID with Resource.assignedTeamID, and join Team.profileID with Resource.profileID to find the list of agents who belong to the selected team or teams. The Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively.

This report displays only the active agents and the agents who are deleted after the report start time.

Top N Calls Handled/Presented Ratio

To report on N agents who rank highest in the calls handled/presented ratio, obtain the list of resource IDs as follows:

Rank the agents by the calls handled/presented ratio in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the top N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID and ACD.profileID to obtain other call-related data.

Bottom N Calls Handled/Presented Ratio

To report on N agents who rank lowest in the calls handled/presented ratio, obtain the list of resource IDs as follows:

Rank the agents by the calls handled/presented ratio in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the bottom N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID and ACD.profileID to obtain other call-related data.

Top N Avg Hold Time

To report on N agents who rank highest in average hold time, obtain the list of resource IDs as follows:

Rank the agents by average hold time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the top N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID and ACD.profileID to obtain other call-related data.

Bottom N Avg Hold Time

To report on N agents who rank lowest in average hold time, obtain the list of resource IDs as follows:

Rank the agents by average hold time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the bottom N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID and ACD.profileID to obtain other call-related data.

Top N Avg Talk Time

To report on N agents who rank highest in average talk time, obtain the list of resource IDs as follows:

Rank the agents by average talk time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the top N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID and ACD.profileID to obtain other call-related data.

Bottom N Avg Talk Time

To report on N agents who rank lowest in average talk time, obtain the list of resource IDs as follows:

Rank the agents by average talk time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the bottom N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID and ACD.profileID to obtain other call-related data.

Top N Avg Work Time

To report on N agents who rank highest in average work time, obtain the list of resource IDs as follows:

Rank the agents by average work time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the top N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID and ACD.profileID to obtain other call-related data.

Bottom N Avg Work Time

To report on N agents who rank lowest in average work time, obtain the list of resource IDs as follows:

Rank the agents by average work time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the bottom N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID and ACD.profileID to obtain other call-related data.

Top N Avg Handle Time

To report on N agents who rank highest in average handle time, obtain the list of resource IDs as follows:

Rank the agents by average handle time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the top N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID and ACD.profileID to obtain other call-related data.

Bottom N Avg Handle Time

To report on N agents who rank lowest in average handle time, obtain the list of resource IDs as follows:

Rank the agents by average handle time in descending order. In case of a tie, order the agents alphabetically by Resource.resourceLoginID. Select the bottom N agents. The value of resource ID is stored in Resource.resourceID.

Join Resource.resourceID with ACD.resourceID and ACD.profileID to obtain other call-related data.

Agent Wrap-Up Data Detail report

The Agent Wrap-Up Data Detail report shows the details entered by an agent when entering the work state after attending an ACD. This report is available with the Agent Wrap-Up feature.

Table 1 shows how the information in the Agent Wrap-Up Data Detail report is obtained or calculated.

Table 2 explains how the Agent Wrap-Up Data Detail report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 19 Agent Wrap-Up Data Detail report query design

Field

Explanation

Agent Name

For ACD calls, an agent is identified by the combination of ACD.resourceID and ACD.profileID. Join ACD.resourceID with Resource.resourceID, and join ACD.profileID with Resource.profileID to obtain the agent name, which is stored in Resource.resourceName.

For IVR calls, if an agent is the originator of the call, the agent is identified by CCD.originatorID and CCD.profileID, when CCD.originatorType = 1 (agent type). Join CCD.originatorID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName.

If an agent is the destination of an IVR call, the agent is identified by CCD.destinationID and CCD.profileID, when CCD.destinationType = 1 (agent type). Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName.

Extension

For ACD calls, an agent is identified by the combination of ACD.resourceID and ACD.profileID. Join ACD.resourceID with Resource.resourceID, and join ACD.profileID with Resource.profileID to obtain the agent name, which is stored in Resource.resourceName.

For IVR calls, if an agent is the originator of the call, the agent is identified by CCD.originatorID and CCD.profileID, when CCD.originatorType = 1 (agent type). Join CCD.originatorID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.resourceName.

If an agent is the destination of an IVR call, the agent is identified by CCD.destinationID and CCD.profileID, when CCD.destinationType = 1 (agent type). Join CCD.destinationID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.extension.

Node ID

Obtained from CCD.nodeID.

Session ID

Obtained from CCD.sessionID.

Sequence No.

Obtained from CCD.sessionSeqNum.

Call Start Time

Obtained from ACD.startDateTime.

Call End Time

Obtained from ACD.endDateTime.

Call ANI

Agent identification is stored in ACD (see Agent Name earlier in this table). Join ACD and CCD on sessionID, sessionSeqNum, nodeID, and profileID. The value of this field is obtained from CCD.originatorDN.

Called Number

Agent identification is stored in ACD (see Agent Name earlier in this table). Join ACD and CCD on sessionID, sessionSeqNum, nodeID, and profileID. The value of this field is obtained from CCD.calledNumber.

Call Routed CSQ

Join ACD and CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type), and CQD.disposition = 2 (handled). The combination of CQD.targetID and CQD.profileID uniquely identifies a CSQ. Join CQD.targetID with CSQ.recordID, and join CQD.profileID with CSQ.profileID to obtain the CSQ name, which is stored in CSQ.csqName.

Talk Time

Obtained from ACD.talkTime.

Hold Time

Obtained from ACD.holdTime.

Work Time

Obtained from ACD.workTime.

Wrap-Up Data

Obtained from ACD.callWrapupData.

Table 20 Agent Wrap-Up Data Detail report filter parameters

Filter parameter

Explanation

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of agent names from the user selection for this parameter. These values are in Resource.resourceName. Obtain the corresponding Resource.resourceID and Resource.profileID.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of resource group names from the user selection for this parameter. Search the ResourceGroup table to find records for which RG.resourceGroupName contains values found in the list. Join RG and Resource on resourceGroupID and profileID to find the list of agents that belong to the selected resource group or groups. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who are active and agents who are deleted after the report start time.

Skill Names

To report on a specific agent or agents, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of agent names from the user selection for this parameter. These values are in Resource.resourceName. Obtain the corresponding Resource.resourceID and Resource.profileID.

Team Names

To report on agents with a specific skill or skills, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Search the Skill table to find records for which Skill.skillName contains values found in the list. Join Skill and RSM on skillID and profileID to find resourceSkillMapID. Join RSM and Resource on resourceSkillMapID and profileID to find the list of agents that have the selected skill or skills. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who are active and agents who are deleted after the report start time.

Agent Wrap-Up Data Summary report

The Agent Wrap-Up Data Summary report displays shows detailed information about Wrap-Up data. This report is available with the Agent Wrap-Up feature.

Table 1 shows how the information in the Agent Wrap-Up Data Summary report is obtained or calculated.

Table 2 explains how the Agent Wrap-Up Data Summary report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 21 Agent Wrap-Up Data Summary report query design

Field

Explanation

Wrap-Up Data

Obtained from ACD.callWrapupData.

Total ACD Calls

For the selected Wrap-Up data, count the number of ACD records.

Total Handle Time

For the selected Wrap-Up data, for all ACD records, calculate (ACD.talkTime + ACD.holdTime + ACD.workTime).

Average Handle Time

Total Handle Time / Total ACD Calls.

Max Handle Time

For the selected Wrap-Up data, for all ACD records, find the one with maximum (talkTime + holdTime + workTime).

Total Talk Time

For the selected Wrap-Up data, for all ACD records, determine the total ACD.talkTime.

Average Talk Time

Total Talk Time / Total ACD Calls.

Max Talk Time

For the selected Wrap-Up data, for all ACD records, find the one with the maximum ACD.talkTime.

Total Talk Time as % of Total Handle Time

(Total Talk Time / Total Handle Time) * 100%

Total Work Time

For the selected Wrap-Up data, for all ACD records, determine the total ACD.workTime.

Average Work Time

Total Work Time / Total ACD Calls.

Max Work Time

For the selected Wrap-Up data, for all ACD records, find the one with the maximum ACD.workTime.

Total Work Time as % of Total Handle Time

(Total Work Time / Total Handle Time) * 100%

Table 22 Agent Wrap-Up Data Summary report filter parameter

Filter parameter

Explanation

Wrap-Up Data

To report on a specific Wrap-Up data, obtain the list of data from the user selection for this parameter. Look up these selections in the ACD table, and include the corresponding ACD records.

Application Performance Analysis report

The Application Performance Analysis report shows information about calls received by each Unified CCX or Cisco Unified IP IVR application. It contains one row per call application. The information is stored in the CCD table.

Table 1 shows how the information in the Application Performance Analysis report is obtained or calculated.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 23 Application Performance Analysis report query design

Field

Explanation

Application ID

Obtained from CCD.applicationID.

Application Name

Obtained from CCD.applicationName.

Call Presented

Each application is identified by the combination of CCD.applicationID and CCD.applicationName. For each application, count the number of CCD records to determine the total number of calls presented to the application.

Calls Handled

Each application is identified by the combination of CCD.applicationID and CCD.applicationName. For each application, count the number of CCD records with CCD.contactDisposition = 2 (handled) to determine the total number of calls presented to the application.

Calls Abandoned

Each application is identified by the combination of CCD.applicationID and CCD.applicationName. For each application, count the number of CCD records with CCD.contactDisposition = 1 (abandoned) or 4 (aborted) to determine the total number of calls presented to the application.

Abandon Rate (per hour)

Calculated as follows:

Calls Abandoned / number of hours within the report period

Avg Call Duration

Call duration is stored in CCD.connectTime. Average call duration of an application is calculated as the sum of CCD.connectTime for all calls in that application, divided by the number of calls.

Application Summary report

The Application Summary report provides summary call statistics for each Unified CCX or Cisco Unified IP IVR application.

Table 1 shows how the information in the Application Summary report is obtained or calculated.

Table 2 explains how the Application Summary report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 24 Application Summary report Query Design

Field

Explanation

Application Name

Obtained from CCD.applicationName.

Called Number

Obtained from CCD.origCalledNumber.

Calls Presented

The combination of CCD.applicationName and CCD.origCalledNumber uniquely identifies an application.

For each application, count the number of CCD records to obtain the number of calls presented to the application.

Flow-In

The combination of CCD.applicationName and CCD.origCalledNumber uniquely identifies an application.

For each application, count the number of CCD records in which CCD.contactType is 4 (redirect in).

Flow-Out

The combination of CCD.applicationName and CCD.origCalledNumber uniquely identifies an application.

For each application, count the number of CCD records in which CCD.flowout is 1.

Calls Handled

The combination of CCD.applicationName and CCD.origCalledNumber uniquely identifies an application.

For each application, count the number of CCD records in which CCD.contactDisposition is 2 (handled).

Avg Speed Answer

This field includes only calls connected to agents.

Join CCD, CRD, and ACD on sessionID, sessionSeqNum, profileID, and nodeID. Find ACD records with ACD.talkTime greater than zero (so that RNAs are excluded).

To calculate total queue time, add the values stored in CRD.queueTime.

To obtain total ring time, add the values stored in ACD.ringTime.

To obtain the number of calls connected to agents, count the number of ACD records in the result set from the join.

Average speed to answer is calculated as:

total queue time / number of calls connected to agents.

If number of calls connected to agents is zero for this application, this field is zero.

Avg Talk Time

Join CCD, CRD, and ACD on sessionID, sessionSeqNum, profileID, and nodeID. Find ACD records with ACD.talkTime greater than zero (so that RNAs are excluded).

To obtain total talk time, add up the values stored in ACD.talkTime.

To obtain the number of calls connected to agents, count the number of ACD records in the result set from the join.

Average talk time is calculated as:

Total talk time / number of calls connected to agents.

If number of calls connected to agents is zero for this application, this field is zero.

Avg Work Time

Join CCD, CRD, and ACD on sessionID, sessionSeqNum, profileID, and nodeID. Find ACD records with ACD.talk time greater than zero (so that RNAs are excluded).

To obtain total work time, add up the values stored in ACD.workTime.

To obtain the number of calls connected to agents, count the number of ACD records in the result set from the join.

Average work time is calculated as:

Total work time / number of calls connected to agents.

If number of calls connected to agents is zero for this application, this field is zero.

Calls Abandoned

The combination of CCD.applicationName and CCD.origCalledNumber uniquely identifies an application.

For each application, count the number of CCD records in which CCD.contactDisposition is 1 (abandoned), 4 (aborted), or 5 or greater (rejected).

Avg Abandon Time

The combination of CCD.applicationName and CCD.origCalledNumber uniquely identifies an application.

For each application, calculate the sum of the values in CCD.connectTime where the CCD.contactDispostion is 1 (abandoned), 4 (aborted), or 5 or greater (rejected) to obtain the total abandon time.

If Calls Abandoned is not zero, this field is calculated as:

Total abandon time / Calls Abandoned.

If Calls Abandoned is zero, this field is zero.

Table 25 Aborted and Rejected Call Detail report filter parameter

Filter parameter

Explanation

Application Name

To report on a specific application or applications, obtain the list of application names from the user selection for this parameter. Find CCD records for which values stored in CCD.applicationName are found in the selected list.

Call Custom Variables report

The Call Custom Variables report shows information about custom variables that are set by the Set Enterprise Call step in the workflow that the Unified CCX or Cisco Unified IP IVR application associated with a call invoked. This information comes from the CCD table.

Table 1 shows how the information in the Call Custom Variables report is obtained or calculated.

Table 2 explains how the Call Custom Variables report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 26 Call Custom Variables report query design

Field

Explanation

Node ID

Obtained from CCD.nodeID

Session ID

Obtained from CCD.sessionID.

Sequence No.

Obtained from CCD.sessionSeqNum.

Start Time

Obtained from CCD.startDateTime.

End Time

Obtained from CCD.endDateTime.

Contact Disposition

Obtained from CCD.contactDisposition.

Agent Name

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to obtain ACD.resourceID and ACD.profileID. ACD.resourceID contains the resource ID of the agent who handled the call. Join ACD.resourceID with Resource.resourceID, and join ACD.profileID with Resource.profileID to obtain the agent name, which is stored in Resource.resourceName.

Blank for ACD calls that were not handled by any agent and for IVR calls.

Application Name

Obtained from CCD.applicationName.

Custom Variable 1

Obtained from CCD.customVariable1.

Custom Variable 2

Obtained from CCD.customVariable2.

Custom Variable 3

Obtained from CCD.customVariable3.

Custom Variable 4

Obtained from CCD.customVariable4.

Custom Variable 5

Obtained from CCD.customVariable5.

Custom Variable 6

Obtained from CCD.customVariable6.

Custom Variable 7

Obtained from CCD.customVariable7.

Custom Variable 8

Obtained from CCD.customVariable8.

Custom Variable 9

Obtained from CCD.customVariable9.

Custom Variable 10

Obtained from CCD.customVariable10.

Called Number Summary Activity report

The Called Number Summary Activity report contains one row per called number. The called number is stored in CCD.origCalledNumber.

Outgoing calls are not included in this report.

Table 1 shows how the information in the Called Number Summary Activity report is obtained or calculated.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 27 Called Number Summary Activity report query design

Field

Explanation

Called Number

Obtained from CCD.calledNumber

Call Type

Obtained from CCD.destinationType. The value 1 (agent) indicates an IVR call. The value 2 (device) indicates an ACD call. The value 3 (unknown) indicates an outgoing call or a call to an unmonitored device, and is not reported.

Total Calls

For each unique CCD.calledNumber, count the number of CCD records.

Avg Calls (per day)

Total calls divided by the number of days in the report period.

The number of days in the report period is calculated as follows. This information is displayed in units of days, rounded up to the next integer.

report end time – report start time

For example, if the report start time and the report end time are on the same day, the number of days is 1.

Avg Call Duration

Duration of a call is obtained from CCD.connectTime. Average call duration of a called number is calculated by the sum of CCD.connectTime of all calls for that called number, divided by the number of calls to that number.

Table 28 Call Custom Variables report filter parameters

Filter parameter

Result

Original Called Number

To report on a specific original called number or numbers, obtain the list of original called numbers from the user selection for this parameter. Find CCD records whose value stored in CCD.origCalledNumber is in the selected list.

Called Number

To report on a specific called number or numbers, obtain the list of called numbers from the user selection for this parameter. Find CCD records whose value stored in CCD.calledNumber is in the selected list.

Calling Number

To report on a specific calling number or numbers, obtain the list of calling numbers from the user selection for this parameter. Find at CCD records whose value stored in CCD.originatorDN is in the selected list.

Application Name

To report on a specific application name or names, obtain the list of application names from the user selection for this parameter. Find CCD records whose value stored in CCD.applicationName is in the selected list.

Contact Type

To report on a specific contact type or types, obtain the list of contact type names from the user selection for this parameter. The numeric ID is mapped to contact type name as follows:

1—incoming

2—outgoing

3—internal

4—redirect-in

5—transfer-in

6—outbound preview

Find CCD records for which the value stored in CCD.contactType is in the selected list.

Originator Type

To report on a specific originator types, obtain the list of originator types from the user selection for this parameter. The numeric ID is mapped to originator type name as follows:

1—agent

2—device

3—unknown

Find CCD records for which the value stored in CCD.originatorType is in the selected list.

Destination Type

To report on a specific destination type, obtain the list of destination type from the user selection for this parameter. The numeric ID is mapped to destination type name is as follows:

1—agent

2—device

3—unknown

Find at CCD records for which the value stored in CCD.destinationType is in the selected list.

Duration Greater Than or Equal to T seconds

To report on calls with duration greater than or equal to T seconds, obtain the value of T from the user input for this parameter. The call duration is calculated as CCD.endDateTime minus CCD.startDateTime, in number of seconds. Find CCD records with call duration greater than or equal to T.

Duration Less Than or Equal to T seconds

To report on calls with duration less than or equal to T seconds, obtain the value of T from the user input for this parameter. The call duration is calculated as CCD.endDateTime minus CCD.startDateTime, in number of seconds. Find CCD records with call duration less than or equal to T.

Custom Variable 1

Obtain the string from the user input for this parameter. Find CCD records for which the value stored in CCD.customVariable1 matches the user input either partially or wholly.

Custom Variable 2

Obtain the string from the user input for this parameter. Find CCD records for which the value stored in CCD.customVariable2 matches the user input either partially or wholly.

Custom Variable 3

Obtain the string from the user input for this parameter. Find CCD records for which the value stored in CCD.customVariable3 matches the user input either partially or wholly.

Custom Variable 4

Obtain the string from the user input for this parameter. Find CCD records for which the value stored in CCD.customVariable4 matches the user input either partially or wholly.

Custom Variable 5

Obtain the string from the user input for this parameter. Find CCD records for which the value stored in CCD.customVariable5 matches the user input either partially or wholly.

Custom Variable 6

Obtain the string from the user input for this parameter. Find CCD records for which the value stored in CCD.customVariable6 matches the user input either partially or wholly.

Custom Variable 7

Obtain the string from the user input for this parameter. Find CCD records for which the value stored in CCD.customVariable7 matches the user input either partially or wholly.

Custom Variable 8

Obtain the string from the user input for this parameter. Find CCD records for which the value stored in CCD.customVariable8 matches the user input either partially or wholly.

Custom Variable 9

Obtain the string from the user input for this parameter. Find CCD records for which the value stored in CCD.customVariable9 matches the user input either partially or wholly.

Custom Variable 10

Obtain the string from the user input for this parameter. Find CCD records for which the value stored in CCD.customVariable10 matches the user input either partially or wholly.

Any Custom Variable

Obtain the string from the user input for this parameter. Find CCD records for which the value stored in any of the 10 custom variables matches the user input either partially or wholly. The value of custom variable is stored in CCD.customVariablen, where n = 1 to 10.

Chat Agent Detail report

The Chat Agent Detail report contains detailed information for the chat contacts received by all the chat agents. The report contains one row per chat contact for each of the agents.


Note


Chat Agent Detail report is available in Unified CCX Premium license package.


Table 1 shows how the information in the Chat Agent Detail report is obtained or calculated.

Table 29 Chat Agent Detail report

Field

Explanation

Agent Name(Agent ID)

For the agents specified, obtain the Resource.resourceID and Resource.profileID as described in Table 2. Agent Name is stored in Resource.resourceName.

Note   

When an attribute of an agent changes (for example, extension or resource group), the agent will have multiple entries in the Resource table. In this case, each entry will have a different resource ID, so several resource IDs can belong to one agent, and Resource.resourceID will not uniquely identify an agent. Also, one agent may belong to different application profiles, and will have different Resource.profileID entries. Therefore, the combination of Resource.resourceID and Resource.profileID is not sufficient to uniquely identify an agent. The combination of Resource.resourceName and Resource.resourceLoginID is used to uniquely identify an agent. Resource.resourceName itself is not sufficient to do so because different agents may have the same first and last names, but have different resource login IDs. Resource.resourceLoginID by itself does not uniquely identify an agent because a generic resource login ID (for example, supportagent003) may be used for different agents at different times. The combination of two uniquely identifies an agent.

Chat Start Time

Time at which the chat contact is offered to an agent. It is obtained from the startdatetime field of the TACD table.

Chat End Time

Time at which agent ends the chat. It is obtained from the enddatetime field of the TACD table.

Duration

Chat time period which is calculated as follows:

Chat End Time – Chat Start Time

Displayed as hh:mm:ss.

Chat Originator

Contactid which uniquely identifies a chat contact. It is obtained from the Contactid field of the TACD table.

Chat Routed CSQ

CSQ through which the chat contact was routed to an agent. It is obtained from the csqname field of the contactservicequeue table.

Chat Skills

Skills associated with an agent for handling a chat contact. This is obtained from the skillname field of the skill table.

Active Time

Talk time for the chat agent. This is obtained from the talk time field of the TACD table.

Accept Time

Time the agent spent in accepting the chat contact. This is obtained from the acceptTime field of the TACD table.

Chat Type

Type of the chat contact. This is obtained from the contactType field of the TCD table.

Chat Agent Summary report

The Chat Agent Summary report provides a summary line per chat agent. It includes the number of chats assigned and handled by an agent, active time, and accept time.


Note


Chat Agent Summary report is available in Unified CCX Premium license package.


Table 1 shows how the information in the Chat Agent Summary report is obtained or calculated.

Table 30 Chat Agent Summary report

Field

Explanation

Agent Name(Agent ID)

For the agents specified, obtain the Resource.resourceID and Resource.profileID as described in Table 2. Agent Name is stored in Resource.resourceName.

Note   

When an attribute of an agent changes (for example, extension or resource group), the agent will have multiple entries in the Resource table. In this case, each entry will have a different resource ID, so several resource IDs can belong to one agent, and Resource.resourceID will not uniquely identify an agent. Also, one agent may belong to different application profiles, and will have different Resource.profileID entries. Therefore, the combination of Resource.resourceID and Resource.profileID is not sufficient to uniquely identify an agent. The combination of Resource.resourceName and Resource.resourceLoginID is used to uniquely identify an agent. Resource.resourceName itself is not sufficient to do so because different agents may have the same first and last names, but have different resource login IDs. Resource.resourceLoginID by itself does not uniquely identify an agent because a generic resource login ID (for example, supportagent003) may be used for different agents at different times. The combination of two uniquely identifies an agent.

Total Presented

Number of chats assigned to the agent. It is calculated by counting the number of TextAgentConnectionDetail records (TACDR) for the chat agent after joining with TextContactDetail records (TCDR) based on contactid, contactseqnum, and mediatype, which is 1 (chat_type).

Total Handled

Number of chats handled by the agent. It is calculated by counting the number of TACDR with talk time > 0 for the agent after joining with TCDR based on contactid, contactseqnum and mediatype = 1 (chat_type) and disposition = 2 (handled).

Active Time—Avg

Average talk time for the chat agent. It is calculated by taking the average talk time of all the TACDR for the agent after joining with TCDR based on contactid, contactseqnum, and mediatype = 1 (chat_type)

Active Time—Max

Maximum talk time for the chat agent. It is calculated by taking the maximum talk time of all the TACDR for the agent after joining with TCDR based on contactid, contactseqnum, and mediatype = 1 (chat_type)

Accept Time—Avg

Average time the agent spent in accepting the chat contact. It is calculated by taking the average accept time of all the TACDR for the agent after joining with TCDR based on contactid, contactseqnum, and mediatype = 1 (chat_type).

Accept Time—Max

Maximum time the agent spent in accepting the chat contact. It is calculated by taking the maximum accept time of all the TACDR for the agent after joining with TCDR based on contactid, contactseqnum, and mediatype = 1 (chat_type).

Chat Contact Service Queue Activity report

The Chat Contact Service Queue Activity report shows one line for each CSQ that is configured in Unified CCX. A CSQ can be configured based on resource skill.

Table 1 shows how the information in the Chat Contact Service Queue Activity report is obtained or calculated.

Table 2 explains how the Chat Contact Service Queue Activity report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter

Table 31 Chat Contact Service Queue Activity report query design

Field

Explanation

CSQ Name

The CSQ.recordID uniquely identifies a CSQ. Obtain this value as described in Table 2. CSQ name is stored in CSQ.csqName.

Chats Presented

Chats Presented is calculated using the sum of Chats Handled and Chats Abandoned.

Avg Queue Time

Calculated as total TCQD.queueTime / Total number of TCQD records with TCQD.queueTime greater than zero.

Max Queue Time

Join TCD and TCQD on contactId, contactseqnum, and nodeID to find TCQD records during the report period. (For these records, the values of the corresponding TCD.startdatetime is within the report period.) For each CSQ, determine the maximum value stored in TCQD.queueTime.

Chats Handled

Join TCQD and TACD on contactId, contactseqnum, qindex, and nodeID with TCQD.disposition is 2 (handled), and TACD.talkTime greater than zero. This process provides the chats handled by agents.

For each CSQ, count the number of TCQD records to determine the number of chats handled by the CSQ.

Avg Handle Time

Join TCQD and TACD on contactId, contactseqnum, qindex, and nodeID with TCQD.disposition is 2 (handled), and TACD.talkTime greater than zero. This process provides the chats handled by agents.

For each CSQ, calculate the average of TACD.talkTime to determine the average time for chats handled by the CSQ.

If Chats Handled is zero, this field is zero.

Max Handle Time

Join TCQD and TACD on contactId, contactseqnum, qindex, and nodeID with TCQD.disposition is 2 (handled), and TACD.talkTime greater than zero. This process provides the chats handled by agents.

For each CSQ, maximum of TACD.talkTime determine the value of this field.

If Chats Handled is zero, this field is zero.

Chats Abandoned

For each CSQ, count the number of TCQD records where TCQD.disposition = 1 to determine the number of chats abandoned from the CSQ.

You can filter the Chat Contact Service Queue Activity report by the following parameter:

Table 32 Chat Contact Service Queue Activity report filter parameter  

Filter parameter

Result

All CSQs (default, no filter parameter)

Search the CSQ table to find the distinct CSQ.csqName with CSQ.queueType is equal to 2 and CSQ.dateinactive is NULL. This action determines all the active chat CSQs.

CSQ Names

Obtain the list of CSQ names from the user selection for this parameter. Search the CSQ table to find records for which CSQ.csqName contains values that are in the list. Obtain the corresponding CSQ.recordID.

Chat CSQ Agent Summary report

An agent can handle chat contacts for multiple CSQs. The Chat CSQ Agent Summary report table provides information about chat contacts handled in each CSQ for each agent.

Table 1 explains how to obtain and calculate the information in the Chat CSQ Agent Summary report.

Table 2 explains how the Chat CSQ Agent Summary report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 33 Chat CSQ Agent Summary report query design

Field

Explanation

CSQ Name

The CSQ.recordID uniquely identifies a CSQ. Obtain this value as described in Table 2. CSQ name is stored in CSQ.csqName.

Agent Name

Chat record tables (TACD and TASD) refer to agents by resource ID. Given Resource.resourceID, search the Resource table for the corresponding Resource.resourceName and Resource.resourceLoginID. These two fields uniquely identify an agent. The agent name is stored in Resource.resourceName.

Chat Received

A received chat contact has a TCCD record, a TCQD record for the CSQ that the chat contact was routed to, and a TACD record for the agent who received the chat contact.

Join TCCD and TCQD on contactID, contactSeqNum, and nodeID to find the TCQD record for the CSQ to which the chat contact was routed. Join TCQD and TACD on contactID, contactSeqNum, nodeID, and qIndex to find the agent who handled the chat contact. To uniquely identify a CSQ, the CSQ record ID is stored in TCQD.csqrecordid.

To uniquely identify an agent, the resource ID is stored in TACD.resourceid.

For each CSQ-Agent combination (CSQ is identified by CSQ.recordID, and agent is identified by Resource.resourceName), count the number of TACD records to determine the number of chat contacts handled by the specified CSQ-Agent combination.

Chat Handled

Same calculation as for chat contacts received, but in the search criteria, TACD.talkTime is greater than zero.

Average Active Chat Time

If chat contacts handled is not zero then this field is calculated as Total Talk Time divided by Chat Contacts Handled.

If Chat Contacts Handled is zero, this field is zero.

Chat No Answer

Same calculation as for chat contacts Received, but in the search criteria, TACD. talkTime is zero, and TACD.acceptTime is greater than zero.

For each CSQ-Agent combination, count the number of TACD records. This result is the number of chat contacts that got no answer.

Average Acceptance Time

If chat contacts Handled is not zero then this field is calculated as Total Accept Time divided by Chat Contacts Handled.

If Chat Contacts Handled is zero then this field is zero.

Table 34 Chat CSQ Agent Summary report filter parameter

Field

Explanation

All CSQs (default, no filter parameter)

Search the CSQ table to find CSQ.recordID for CSQs with CSQ.dateInactive set to null or set to a date/time later than the report start time and with CSQ.queuetype equal to 2. This action determines the active chat CSQs and CSQs that are deleted after the report start time (they are still active during the report period).

CSQ Names

Obtain the list of CSQ names from the user selection for this parameter. Search the CSQ table to find records for which CSQ.csqname contains values that are in the list. Obtain the corresponding CSQ.recordID.

Chat Traffic Analysis report

The Chat Traffic Analysis report shows information about incoming chat contacts to the Unified CCX system.

Table 1 shows how the information in the Chat Traffic Analysis report is obtained or calculated.

If the selected report Start Date and report End Date exceeds the date range available in the database, the report start date and report end date are automatically adjusted to match the date range that is available in the database. For example, if data is available in the database only from start date x to end date y, and if the selected start date is earlier than x and the selected end date is later than y, the report start date and report end date are automatically adjusted to x and y respectively.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter .

Table 35 Chat Traffic Analysis report query design

Field

Explanation

Date

Date of each day in the report period.

Total Incoming Chat Contacts

For each day, count the number of TCCD records with a unique contactID with the Contact Type field set to the value of 1 (incoming contact).

Avg Chats (per hour)

Calculated as total incoming contacts divided by the number of hours in a day.

The first day or the last day of the report period may be a partial day depending on the start time and the end time selected by the user. Any other day within the report period has 24 hours.

Peak Chats (per hour)

Divide each day into 1-hour intervals. The number of incoming chat contacts within each interval is determined by counting the number of TCCD records with a unique contactID in the interval. The peak hour is the interval with the largest number of incoming chat contacts. This field displays the number of chat contacts in the peak hour.

Peak Hour Start Time

Divide each day into 1-hour intervals. The number of incoming chat contacts within each interval is determined by counting the number of TCCD records with a unique contactID in the interval. The peak hour is the interval with the largest number of incoming chat contacts. This field displays the start time of the peak hour.

Peak Hour End Time

Divide each day into 1-hour intervals. The number of incoming chat contacts within each interval is determined by counting the number of TCCD records with a unique contactID in the interval. The peak hour is the interval with the largest number of incoming chat contacts. This field displays the end time of the peak hour.

Avg Chat Duration

The contact duration for a chat contact is calculated as the sum of TACD.talkTime for all the contacts connected to an agent. It is zero for all other contacts.

Average contact duration for a day is calculated as the sum of contact durations for all incoming contacts on that day divided by the number of incoming contacts on that day.

Min Chat Duration

The contact duration for a chat contact is calculated as the sum of TACD.talkTime for all the contacts connected to an agent. It is zero for all other contacts.

Minimum contact duration for a day is the shortest contact duration of all incoming contacts for that day.

Max Chat Duration

The contact duration for a chat contact is calculated as the sum of TACD.talkTime for all the contacts connected to an agent. It is zero for all other contacts.

Maximum contact duration for a day is the shortest contact duration of all incoming contacts for that day.

Common Skill Contact Service Queue Activity report (by Interval)

The Common Skill Contact Service Queue Activity report (by Interval) shows summary information about calls presented, calls handled, and calls abandoned for each group of contact service queues (CSQs). (Such a group consists of CSQs that are configured with the same skill or skills and with different competence levels.)

Table 1 shows how the information in the Common Skill Contact Service Queue Activity report (by Interval) is obtained or calculated.

Table 2 explains how the Common Skill Contact Service Queue Activity report (by Interval) filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 36 Common Skill Contact Service Queue Activity report (by Interval) query design

Field

Explanation

Interval Start Time

Beginning of an interval.

End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

Interval End Time

End of an interval.

End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

CSQ Name

The combination of CSQ.recordID and CSQ.profileID uniquely identifies a CSQ. Obtain these two values as described in Table 2. CSQ name is stored in CSQ.csqName.

Skills (Competence Level)

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.

Calls Presented— Total

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.

Calls Presented— Queue Time Avg

Queue Time is stored in CQD.queueTime. Determine the sum of CQD.queueTime values for all calls presented to this CSQ, then divide by Calls Presented—Total, if calls presented is not zero. If it is zero, this field is set to zero.

Calls Presented— Queue Time Max

Maximum value stored in CQD.queueTime, for all calls presented to this CSQ.

Calls Handled— Total

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.

Calls Handled— Handle Time Avg

Handle time of a call is calculated as (ACD.talkTime + ACD.holdTime + ACD.workTime). Determine the sum of handle times for all calls handled by this CSQ, then divide by Calls Handled—Total, if calls handled is not zero. If it is zero, this field is set to zero.

Calls Handled— Handle Time Max

Handle time of a call is calculated as (ACD.talkTime + ACD.holdTime + ACD.workTime). This field is set to the maximum value of handle time for all calls handled by this CSQ.

Calls Abandoned— Total

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.

Calls Abandoned— Queue Time Avg

Queue Time is stored in CQD.queueTime. Determine the sum of CQD.queueTime values for all calls abandoned from this CSQ, then divide by Calls Abandoned—Total, if calls abandoned is not zero. If it is zero, this field is set to zero.

Calls Abandoned— Queue Time Max

Maximum value stored in CQD.queueTime, for all calls abandoned from this CSQ.

Service Level— Percentage SL Met

Join CQD and ACD on sessionID, sessionSeqNum, nodeID, profileID, and qIndex. Additional search criteria is CQD.targetType is 0 (CSQ type) and CQD.metServiceLevel is 1.

For each CSQ identified by the combination of CQD.targetID and CQD.profileID, determine the number of CQD records, which is the number of Calls Handled Within Service Level.

This field is calculated as follows, if Calls Presented—Total is not zero:

(Calls Handled Within Service Level / Calls Presented) * 100%

If Calls Presented—Total is zero, this field is set to zero.

Summary for Skills

Summation of statistics for all CSQs within the same logical CSQ group.

Table 37 Common Skill Contact Service Queue Activity report (by Interval) filter parameters

Filter parameter

Explanation

Interval Length

Options are entire report period (default), 30 minutes, 60 minutes.

CSQ Names

To report on a specific CSQ or CSQs, obtain the list of the CSQ names from the user selection for this parameter. Join CSQ.recordID with CQD.targetID, and join CSQ.profileID with CQD.profileID to obtain the CQD records for the specified CSQs. For these CQD records, CQD.targetType should be 0 (CSQ type). Join CQD and CCD on sessionID, sessionSeqNum, nodeID, and profileID to obtain other information stored in the CCD table.

Contact Service Queue Activity report

The Contact Service Queue Activity report shows one line for each CSQ that is configured in Unified CCX. A CSQ can be configured based on resource group or based on resource skill.

Table 1 shows how the information in the Contact Service Queue Activity report is obtained or calculated.

Table 2 explains how the Contact Service Queue Activity report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 38 Contact Service Queue Activity report query design

Field

Explanation

CSQ Name

The combination of CSQ.recordID and CSQ.profileID uniquely identifies a CSQ. Obtain these two values as described in Table 2. CSQ name is stored in CSQ.csqName.

Call Skills

The combination of CSQ.recordID and CSQ.profileID uniquely identifies a CSQ. Obtain these two values as described in Table 2. Join CSQ.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join SG.skillID with Skill.skillID to obtain the list of skill names, which are stored in Skill.skillName. Multiple skill names are separated by commas.

Calls Presented

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (For these records, the values of the corresponding CCD.startDateTime is within the report period.) Additional search criterion: CQD.targetType is 0 (type CSQ).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records to determine the number of calls presented to that CSQ.

Average Queue Time

Calculated as total queue time / Calls Presented.

To obtain total queue time, Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (For these records, the values of the corresponding CCD.startDateTime is within the report period.) Additional search criterion: CQD.targetType is 0 (type CSQ).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, calculate the sum of the values stored in CQD.queueTime.

Max Queue Time

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (For these records, the values of the corresponding CCD.startDateTime is within the report period.) Additional search criterion: CQD.targetType is 0 (type CSQ).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, determine the maximum value stored in CQD.queueTime.

Calls Handled

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID with CCD.contactDisposition is 2 (handled), and ACD.talkTime greater than zero. This process provides the calls handled by agents. To obtain CSQ information, join ACD with CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type) and CQD.disposition = 2 (handled).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records to determine the number of calls handled by the CSQ.

Avg Speed of Answer

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID with CCD.contactDisposition is 2 (handled), and ACD.talkTime greater than zero. This process provides the calls handled by agents. To obtain CSQ information, join ACD with CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type) and CQD.disposition = 2 (handled).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, calculate the sum of the values stored in ACD.ringTime to obtain total ring time, and calculate the sum of the values stored in CQD.queueTime to obtain total queue time.

If Calls Handled is not zero, the Avg Speed of Answer is calculated as:

total queue time / Calls Handled

Here total queue time includes the total ring time. If Calls Handled is zero, this field is zero.

Avg Handle Time

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID with CCD.contactDisposition is 2 (handled), and ACD.talkTime greater than zero. This process provides the calls handled by agents. To obtain CSQ information, join ACD with CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type) and CQD.disposition = 2 (handled).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, calculate the sum of the values stored in ACD.talkTime, ACD.holdTime, and ACD.workTime to obtain the total handle time for all calls handled. Handle time for a call is defined as talk time + hold time + work time.

If Calls Handled is not zero, this field is calculated as:

total handle time / Calls Handled

If Calls Handled is zero, this field is zero.

Max Handle Time

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID with CCD.contactDisposition is 2 (handled), and ACD.talkTime greater than zero. This process provides the calls handled by agents. To obtain CSQ information, join ACD with CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type) and CQD.disposition = 2 (handled).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, calculate the handle time for each call as follows:

ACD.talkTime + ACD.holdTime + ACD.workTime

This field shows the maximum handle time for all calls handled by this CSQ.

Calls Abandoned

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values that are within the report period.) Additional search criteria are CQD.targetType is 0 (CSQ type) and CQD.disposition is 1 (abandoned).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records to determine the number of calls abandoned from the CSQ.

Avg Time to Abandon

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values that are within the report period.) Additional search criteria are CQD.targetType is 0 (CSQ type) and CQD.disposition is 1 (abandoned).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, calculate the sum of the values stored in CQD.queueTime to obtain total queue time for abandoned calls.

If Calls Abandoned is not zero, this field is:

total queue time / Calls Abandoned

If Calls Abandoned is zero, this field is zero.

Max Time to Abandon

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values that are within the report period.) Additional search criteria are CQD.targetType is 0 (CSQ type) and CQD.disposition is 1 (abandoned).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, find the maximum value stored in CQD.queueTime.

Avg Abandon Per Day

Calculated as Calls Abandoned / number of days during report period.

The number of days is calculated as follows. This information is displayed in units of days, rounded up to the next integer.

report end time – report start time

For example, if the report start time and the report end time are on the same day, the number of days is 1.

Max Abandon Per Day

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values that are within the report period.) Additional search criteria are CQD.targetType is 0 (CSQ type) and CQD.disposition is 1 (abandoned).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ and each day during the report period, count the number of CQD records to determine the number of calls abandoned from the CSQ. CCD.startDateTime is used to determine on which day a call is abandoned.

For each CSQ, find the maximum number of calls abandoned on a particular day during the report period.

Calls Dequeued

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values within the report period.) Additional search criteria are CQD.targetType is 0 (CSQ type), and CQD.disposition is 3 (dequeued).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records to determine the number of calls dequeued from the CSQ.

Avg Time to Dequeue

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values within the report period.) Additional search criteria are CQD.targetType is 0 (CSQ type), and CQD.disposition is 3 (dequeued).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, calculate the sum of the values stored in CQD.queueTime to determine queue time.

If Calls Dequeued is not zero, this field is calculated as:

total queue time / Calls Dequeued

If Calls Dequeued is zero, this field is zero.

Max Time to Dequeue

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values within the report period.) Additional search criteria are CQD.targetType is 0 (CSQ type), and CQD.disposition is 3 (dequeued).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, determine the maximum value stored in CQD.queueTime.

Calls Handled by Other

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values within the report period.) Additional search criteria are: CQD.targetType is 0 (CSQ type), and CQD.disposition is 4 (handled by script) or 5 (handled by another CSQ).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records to determine the number of calls handled by script or another CSQ.

Table 39 Contact Service Queue Activity report filter parameter

Filter parameter

Explanation

All CSQs (default, no filter parameter)

Search the CSQ table to find CSQ.recordID and CSQ.profileID for CSQs with CSQ.dateInactive set to null or set to a date/time later than the report start time. This action determines the active CSQs and CSQs that are deleted after the report start time (they are still active during the report period).

CSQ Names

Obtain the list of CSQ names from the user selection for this parameter. Search the CSQ table to find records for which CSQ.csqName contains values that are in the list. Obtain the corresponding CSQ.recordID and CSQ.profileID.

CSQ Types

To report on a specific CSQ type or types, obtain the list of CSQ.recordID and CSQ.profileID from the user selection for this parameter as follows:

  • If user selects Resource Group, search the CSQ table for records with CSQ.resourcePoolType = 1 (resource group type).
  • If user selects Skill Group, search the CSQ table for records with CSQ.resourcePoolType = 2 (skill group type).
  • If user selects both Resource Group and Skill Group, search the CSQ table to find records for which CSQ.csqName contains values that are in the list. Obtain the corresponding CSQ.recordID and CSQ.profileID.

Contact Service Queue Activity reports (by CSQ and Interval)

The Contact Service Queue Activity report (by CSQ) and the Contact Service Queue Activity report (by Interval) show information about service levels, and about the number and percentage of calls presented, handled, abandoned, and dequeued.

In the Contact Service Queue Activity report (by CSQ), information presented is sorted first by CSQ, then by interval.

In the Contact Service Queue Activity report (by Interval), information presented is sorted first by interval, then by CSQ.

Table 1shows how the information in the Contact Service Queue Activity reports is obtained or calculated.

Table 2 explains how the Contact Service Queue Activity reports filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 40 Contact Service Queue Activity reports query design

Field

Explanation

CSQ Name

The combination of CSQ.recordID and CSQ.profileID uniquely identifies a CSQ. Obtain these two values as described in Table 1. CSQ name is stored in CSQ.csqName.

Call Skills

The combination of CSQ.recordID and CSQ.profileID uniquely identifies a CSQ. Obtain these two values as described in Table 2. Join CSQ.skillGroupID with SG.skillGroupID to get SG.skillID. Join SG.skillID with Skill.skillID to obtain the list of skill names, which is stored in Skill.skillName. Multiple skill names are separated with commas.

Interval Start Time

Beginning of an interval.

End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

Interval End Time

End of an interval.

End-users can divide the report period into 30- or 60-minute intervals. (The default interval length is the entire report period.)

Service Level (sec)

Obtained from CSQU.serviceLevel.

Calls Hand < SL

Join ACD and CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex. Additional search criteria are CQD.targetType is 0 (CSQ type), and CQD.metServiceLevel is 1. For each CSQ identified by the combination of CQD.targetID and CQD.profileID, count the number of CQD records.

Calls Aband < SL

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to determine CQD records during the report period. (Corresponding CCD records have CCD.startDateTime during the report period.) Additional search criteria are CQD.disposition is 1 (abandoned), and CQD.targetType is 0 (CSQ type). For each CSQ identified by the combination of CQD.targetID and CQD.profileID, count the number of CQD records with CQD.metServiceLevel = 1.

Percentage of Service Level Met— Only Handled

Considers calls that were handled only, regardless of whether they were handled within the service level. This value does not consider calls that were abandoned.

This value is calculated as follows:

(number of calls handled within service level / number of calls handled) * 100%

Percentage of Service Level Met— Without Abandon

Does not include information for calls that were abandoned within the service level.

This value is calculated as follows:

(number of calls handled within service level / (number of calls presented – number of calls abandoned within service level)) * 100%

Percentage of Service Level Met— Positive Abandon

Considers calls that were abandoned within the service level as meeting the service level.

This value is calculated as follows:

((number of calls handled within service level + number of calls abandoned within service level) / number of calls presented) * 100%

Percentage of Service Level Met— Negative Abandon

Considers calls that were abandoned within the service level as not meeting the service level.

This value is calculated as follows:

(number of calls handled within service level / number of calls presented) * 100%

Calls Presented

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to determine CQD records during the report period. (For these records, the corresponding CCD.startDateTime is during the report period.) The additional search criterion is CQD.targetType is 0 (type CSQ).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. CSQ record ID and profile ID are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records to determine the number of calls presented to that CSQ.

Calls Handled

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID with CCD.contactDisposition = 2 (handled) and ACD.talkTime greater than zero. This process determines the calls handled by agents. To obtain the CSQ information, join ACD with CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type) and CQD.disposition = 2 (handled).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. CSQ record ID and profile ID are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records to determine the number of calls handled by the CSQ.

The percentage is calculated as follows:

(calls handled / calls presented) * 100%

Calls Abandoned

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to determine CQD records during the report period. (Corresponding CCD records have CCD.startDateTime during the report period.) Additional search criteria are CQD.disposition is 1 (abandoned), and CQD.targetType is 0 (CSQ type). For each CSQ identified by the combination of CQD.targetID and CQD.profileID, count the number of CQD records.

The percentage is calculated as follows:

(calls abandoned / calls presented) * 100%

Calls Dequeued

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to determine CQD records during the report period. (Corresponding CCD records have CCD.startDateTime during the report period.) Additional search criteria are CQD.targetType is 0 (CSQ type), and CQD.disposition is 3 (dequeued via Dequeue step), 4 (call handled by workflow script and therefore dequeued from this CSQ), or 5 (handled by another CSQ and therefore dequeued from this CSQ). For each CSQ identified by the combination of CQD.targetID and CQD.profileID, count the number of CQD records.

The percentage is calculated as follows:

(calls dequeued / calls presented) * 100%

Table 41 Contact Service Queue Activity reports filter parameters

Filter parameter

Explanation

All CSQs (default, no filter)

To report on all agents, obtain the list of resource IDs and profile IDs as follows:

Search and display the Resource table for agents who are active (Resource.active = 1) or who are deleted after report start time (Resource.dateInactive is later than report start time, which means that agent is still active during the report period). In this way, the report does not include agents who are deleted before the report start time.

Interval Length

Options are entire report period (default), 30 minutes, 60 minutes.

CSQ Name

To report on a specific CSQ or CSQs, obtain the list of the CSQ names from the user selection for this parameter. Join CSQ.recordID with CQD.targetID, and join CSQ.profileID with CQD.profileID to obtain the CQD records for the specified CSQs. For these CQD records, CQD.targetType should be 0 (CSQ type). Join CQD and CCD on sessionID, sessionSeqNum, nodeID, and profileID to obtain other information stored in the CCD table.

Contact Service Queue Call Distribution Summary report

The Contact Service Queue Call Distribution Summary report shows the number and percentage of calls handled and dequeued in four different time intervals. The time interval lengths can be configured by users.

Table 1 shows how the information in the Contact Service Queue Call Distribution Summary report is obtained or calculated.

Table 2 explains how the Contact Service Queue Call Distribution Summary report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 42 Contact Service Queue Call Distribution Summary report query design

Field

Explanation

CSQ Name

The combination of CSQ.recordID and CSQ.profileID uniquely identifies a CSQ. Obtain these two values as described in Table 2. CSQ name is stored in CSQ.csqName.

Call Skills

The combination of CSQ.recordID and CSQ.profileID uniquely identifies a CSQ. Obtain these two values as described in Table 2. Join CSQ.skillGroupID with SG.skillGroupID to obtain SG.skillID. Join SG.skillID with Skill.skillID to obtain the list of skill names, which are stored in Skill.skillName. Multiple skill names are separated by commas.

Calls Handled

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID with CCD.contactDisposition is 2 (handled), and ACD.talkTime greater than zero. This process provides the calls handled by agents. To obtain CSQ information, join ACD with CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type) and CQD.disposition = 2 (handled).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records to determine the number of calls handled by the CSQ.

Total Calls Handled With Queue Time 0–T sec

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID with CCD.contactDisposition is 2 (handled), and ACD.talkTime greater than zero. This process provides the calls handled by agents. To obtain CSQ information, join ACD with CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type) and CQD.disposition = 2 (handled).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records in which the value stored in CQD.queueTime is less than or equal to T seconds.

Percentage Calls Handled With Queue Time 0–T sec

If Calls Handled is not zero, this field is calculated as

(Total Calls Handled with Queue Time in 0–T seconds / Calls Handled) * 100%

If Calls Handled is zero, this field is zero.

Total Calls Handled With Queue Time 0–2T sec

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID with CCD.contactDisposition is 2 (handled), and ACD.talkTime greater than zero. This process provides the calls handled by agents. To obtain CSQ information, join ACD with CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type) and CQD.disposition = 2 (handled).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records in which the value stored in CQD.queueTime is less than or equal to 2T seconds.

Percentage Calls Handled With Queue Time 0–2T sec

If Calls Handled is not zero, this field is calculated as:

(Total Calls Handled with Queue Time in 0–2T seconds / Calls Handled) * 100%

If Calls Handled is zero, this field is zero.

Total Calls Handled With Queue Time 0–3T sec

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID with CCD.contactDisposition is 2 (handled), and ACD.talkTime greater than zero. This process provides the calls handled by agents. To obtain CSQ information, join ACD with CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type) and CQD.disposition = 2 (handled).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records in which the value stored in CQD.queueTime is less than or equal to 3T seconds.

Percentage Calls Handled With Queue Time 0–3T sec

If Calls Handled is not zero, this field is calculated as:

(Total Calls Handled with Queue Time in 0–3T seconds / Calls Handled) * 100%

If Calls Handled is zero, this field is zero.

Total Calls Handled With Queue Time 0–4T sec

Join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID with CCD.contactDisposition is 2 (handled), and ACD.talkTime greater than zero. This process provides the calls handled by agents. To obtain CSQ information, join ACD with CQD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex, with CQD.targetType = 0 (CSQ type) and CQD.disposition = 2 (handled).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records in which the value stored in CQD.queueTime is less than or equal to 4T seconds.

Percentage Calls Handled With Queue Time 0–4T sec

If Calls Handled is not zero, this field is calculated as:

(Total Calls Handled with Queue Time in 0–4T seconds / Calls Handled) * 100%

If Calls Handled is zero, this field is zero.

Calls Abandoned

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values that are within the report period) Additional search criteria are CQD.targetType is 0 (CSQ type) and CQD.disposition is 1 (abandoned).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records to determine the number of calls abandoned from the CSQ.

Total Calls Abandoned With Queue Time 0–T

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values that are within the report period) Additional search criteria are CQD.targetType is 0 (CSQ type) and CQD.disposition is 1 (abandoned).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records in which the value stored in CQD.queueTime is less than or equal to T seconds.

Percentage Calls Abandoned With Queue Time 0–T

If Calls Abandoned is not zero, this field is calculated as:

(Total Calls Abandoned with Queue Time 0–T seconds / Calls Abandoned) * 100%

If Calls Abandoned is zero, this field is zero.

Total Calls Abandoned With Queue Time 0–2T sec

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values that are within the report period) Additional search criteria are CQD.targetType is 0 (CSQ type) and CQD.disposition is 1 (abandoned).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records in which the value stored in CQD.queueTime is less than or equal to 2T seconds.

Percentage Calls Abandoned With Queue Time 0–2T sec

If Calls Abandoned is not zero, this field is calculated as:

(Total Calls Abandoned with Queue Time 0–2T seconds / Calls Abandoned) * 100%

If Calls Abandoned is zero, this field is zero.

Total Calls Abandoned With Queue Time 0–3T sec

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values that are within the report period) Additional search criteria are CQD.targetType is 0 (CSQ type) and CQD.disposition is 1 (abandoned).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records in which the value stored in CQD.queueTime is less than or equal to 3T seconds.

Percentage Calls Abandoned With Queue Time 0–3T sec

If Calls Abandoned is not zero, this field is calculated as:

(Total Calls Abandoned with Queue Time 0–3T seconds / Calls Abandoned) * 100%

If Calls Abandoned is zero, this field is zero.

Total Calls Abandoned With Queue Time 0–4T sec

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (These records have corresponding CCD.startDateTime values that are within the report period) Additional search criteria are CQD.targetType is 0 (CSQ type) and CQD.disposition is 1 (abandoned).

The combination of CSQ record ID and profile ID uniquely identifies a CSQ. These values are stored in CQD.targetID and CQD.profileID, respectively.

For each CSQ, count the number of CQD records in which the value stored in CQD.queueTime is less than or equal to 4T seconds.

Percentage Calls Abandoned With Queue Time 0–4T sec

If Calls Abandoned is not zero, this field is calculated as:

(Total Calls Abandoned with Queue Time 0–4T seconds / Calls Abandoned) * 100%

If Calls Abandoned is zero, this field is zero.

Table 43 Contact Service Queue Call Distribution Summary report filter parameters

Filter parameter

Explanation

All CSQs (default, no filter parameter)

Search the CSQ table to find CSQ.recordID and CSQ.profileID for CSQs with CSQ.dateInactive set to null or set to a date/time later than the report start time. This action determines the active CSQs and CSQs that are deleted after the report start time (they are still active during the report period).

CSQ Names

Obtain the list of CSQ names from the user selection for this parameter. Search the CSQ table to find records for which CSQ.csqName contains values that are in the list. Obtain the corresponding CSQ.recordID and CSQ.profileID.

Time Interval (sec) T

Obtained from user input for this parameter. Indicates the length of the time interval, in number of seconds.

Contact Service Queue Priority Summary report

The Contact Service Queue Priority Summary report shows the total number of calls presented to each CSQ selected. It also shows the total number of calls by priority and the average number of calls per day, by priority, that were presented to each CSQ.

Table 1 shows how the information in the Contact Service Queue Priority Summary report is obtained or calculated.

Table 2 explains how the Contact Service Queue Priority Summary report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 44 Contact Service Queue Priority Summary report query design

Field

Explanation

CSQ Name

The combination of CSQ.recordID and CSQ.profileID uniquely identifies a CSQ. Obtain these two values as described in Table 2. CSQ name is stored in CSQ.csqName.

Call Skills

The combination of CSQ.recordID and CSQ.profileID uniquely identifies a CSQ. Obtain these two values as described in Table 2. Join CSQ.skillGroupID with SG.skillGroupID to get SG.skillID. Join SG.skillID with Skill.skillID to get the list of skill names, stored in Skill.skillName. Multiple skill names are separated by commas.

Total Calls Presented

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (The corresponding CCD records have CCD.startDateTime during the report period). Additional search criterion is CQD.targetType is 0 (CSQ type). For each CSQ, which is uniquely identified by the combination of CQD.targetID and CQD.profileID, count the number of CQD records to determine the number of calls presented to each CSQ.

Total Number of Calls by Priority (Priority 1 through Priority 10)

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (The corresponding CCD records have CCD.startDateTime during the report period.) Join CQD and CRD on sessionID, sessionSeqNum, profileID, nodeID, and qIndex. Additional search criterion is CQD.targetType is 0 (CSQ type).

For each CSQ (identified by CQD.targetID and CQD.profileID) and each call priority (identified by CRD.finalPriority), count the number of CQD records to determine the number of calls presented to each CSQ for each call priority.

Average Number of Calls by Priority (Priority 1 through Priority 10)

If the number of days within the report period is not zero, this field is calculated as follows:

(Total Calls Presented by Call Priority / number of days within report period) * 100%

If the number of days within the report period is zero, this field is zero.

Number of days within report period is the maximum value stored in CQD.queueTime for all calls abandoned from this CSQ.

Table 45 Contact Service Queue Priority Summary report filter parameter

Filter parameter

Explanation

All CSQs (default, no filter parameter)

Search the CSQ table to find CSQ.recordID and CSQ.profileID for CSQs with CSQ.dateInactive set to null or set to a date/time later than the report start time. This action determines the active CSQs and CSQs that are deleted after the report start time (they are still active during the report period).

CSQ Name

Obtain the list of CSQ names from the user selection for this parameter. Search the CSQ table to find records for which CSQ.csqName contains values that are in the list. Obtain the corresponding CSQ.recordID and CSQ.profileID.

Contact Service Queue Service Level Priority Summary report

The Contact Service Queue Service Level Priority Summary report contains information about the total number and percentage of calls that are handled within a service level and the number and percentage of calls that are handled within service level for each call priority.

Table 1 shows how the information in the Contact Service Queue Service Level Priority Summary report is obtained or calculated.

Table 2 explains how the Contact Service Queue Service Level Priority Summary report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 46 Contact Service Queue Service Level Priority Summary report query design

Field

Explanation

CSQ Name (Call Skills)

The combination of CSQ.recordID and CSQ.profileID uniquely identifies a CSQ. Obtain these two values as described in Table 2. CSQ name is stored in CSQ.csqName.

Service Level (sec)

Obtained from CSQ.serviceLevel

Calls Presented

Join CCD and CQD on sessionID, sessionSeqNum, profileID, and nodeID to find CQD records during the report period. (The corresponding CCD records have CCD.startDateTime during the report period.) Additional search criterion is CQD.targetType is 0 (CSQ type).

For each CSQ, which is uniquely identified by the combination of CQD.targetID and CQD.profileID, count the number of CQD records to determine the number of calls presented to each CSQ.

Total Service Level Met

Join CCD, CQD, and ACD on sessionID, sessionSeqNum, nodeID, and profileID. Join CQD and ACD also on qIndex. Additional search criteria are: CCD.contactDisposition is 2 (handled), CQD.targetType is 0 (CSQ type), CQD.disposition is 2 (handled), and ACD.talkTime is greater than zero.

For each CSQ identified by the combination of CQD.targetID and CQD.profileID, count the number of CQD records whose value in CQD.metServiceLevel is 1. This is the number of calls handled by each CSQ which met the specified service level.

Percent SL Met

If Calls Presented is not zero, this field is calculated as:

(Total Service Level Met / Calls Presented) * 100%

If Calls Presented is zero, this field is zero.

Number of Calls that Met Service Level for Each Call Priority (Priority 1 through Priority 10)

Join CCD, CQD, and ACD on sessionID, sessionSeqNum, nodeID, and profileID. Join CQD and ACD also on qIndex. Join CRD also on sessionID, sessionSeqNum, nodeID, profileID, and qIndex. The call priority is stored in CRD.finalPriority. Additional search criteria are, CCD.contactDisposition is 2 (handled), CQD.targetType is 0 (CSQ type), CQD.disposition is 2 (handled), and ACD.talkTime is grater than 0.

For each CSQ (identified by CQD.targetID and CQD.profileID), and each call priority (identified by CRD.finalPriority), count the number of CQD records for which the value of CQD.metServiceLevel is 1. This total is the number of calls handled by each CSQ for each call priority which met the specified service level.

Percentage of Calls that Met Service Level for Each Call Priority (Priority 1 through Priority 10)

If total calls presented for each call priority is not zero, this field is calculated as follows:

(number of calls that met SL for each call priority / total calls presented for each call priority) * 100%

If total calls presented for each call priority is zero, this field is zero.

Total calls presented for each call priority is calculated as follows:

For each CSQ (identified by CQD.targetID and CQD.profileID) and each call priority (identified by CRD.finalPriority), count the number of CQD records. This total is the number of calls handled by each CSQ for each call priority which met the specified service level.

Table 47 Contact Service Queue Service Level Priority Summary report filter parameter

Filter parameter

Explanation

All CSQs (default, no filter parameter)

Search the CSQ table to find CSQ.recordID and CSQ.profileID for CSQs with CSQ.dateInactive set to null or set to a date/time later than the report start time. This action determines the active CSQs and CSQs that are deleted after the report start time (they are still active during the report period).

CSQ Names

Obtain the list of CSQ names from the user selection for this parameter. Search the CSQ table to find records for which CSQ.csqName contains values that are in the list. Obtain the corresponding CSQ.recordID and CSQ.profileID.

CSQ-Agent Summary report

An agent can handle calls for multiple CSQs. The CSQ-Agent Summary report shows, for each agent, information about calls handled in each CSQ.

Table 1 shows how the information in the CSQ-Agent Summary report is obtained or calculated.

Table 2 explains how the CSQ-Agent Summary report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 48 CSQ-Agent Summary report query design

Field

Explanation

CSQ Name

The combination of CSQ.recordID and CSQ.profileID uniquely identifies a CSQ. Obtain these two values as described in Table 2. CSQ name is stored in CSQ.csqName.

Agent Name

Call record tables (ACD and ASD) refer to agent by resource ID and profile ID. Given Resource.resourceID and Resource.profileID, search the Resource table for corresponding Resource.resourceName and Resource.resourceLoginID. These two fields uniquely identify an agent. The agent name is stored in Resource.resourceName.

Note   

Note: One resourceName/resourceLoginID combination may have multiple resourceID/profileID combinations, because when an agent has a certain attribute changed (for example, extension or resource group), a resource ID is created and the old one is set to Deactivated.

Extension

Given Resource.resourceName and Resource.resourceLoginID, search the Resource table for the corresponding Resource.extension.

If an agent extension changed, display the most recent extension assigned to the agent.

Calls Handled

A handled call has a CCD record, a CQD record for the CSQ that the call is routed to, and an ACD record for the agent who handles the call. The talk time in ACD should be greater than zero.

Join CCD and CQD on sessionID, sessionSeqNum, nodeID, and profileID to find the CQD record for the CSQ to which the call is routed. Join CQD and ACD on sessionID, sessionSeqNum nodeID, profileID, and qIndex to find the agent who handles the call. Additional search criteria are CQD.disposition is 2 (handled), CQD.targetType is 0 (CSQ type), and ACD.talkTime is greater than zero.

To uniquely identify a CSQ, the CSQ record ID and profile ID are stored in CQD.targetID and CQD.profileID.

To uniquely identify an agent, obtain resource ID and resource login ID as follows: join ACD.resourceID with Resource.resourceID, and join ACD.profileID with Resource.profileID to find Resource.resourceName and Resource.resourceLoginID.

For each CSQ-Agent combination (CSQ is identified by CSQ.recordID/CSQ.profileID, and agent is identified by Resource.resourceName/Resource.resourceLoginID), count the number of ACD records to determine the number of calls handled by the specified CSQ-Agent combination.

Talk Time Avg

If Calls Handled is not zero, this field is calculated as Total Talk Time / Calls Handled.

If Calls Handled is zero, this field is zero.

Talk Time Total

Same calculation as for Calls Handled, but instead of counting the number of ACD records, calculate the sum of the values stored in ACD.talkTime.

Work Time Avg

If Calls Handled is not zero, this field is calculated as Total Work Time / Calls Handled.

If Calls Handled is zero, this field is zero.

Work Time Total

Same calculation as for Calls Handled, but instead of counting the number of ACD records, calculate the sum of the values stored in ACD.workTime.

Total Ring Time

Same calculation as for Calls Handled, but instead of counting the number of ACD records, calculate the sum of the values stored in ACD.ringTime.

Calls On Hold

Same calculation as for Calls Handled. An additional search criterion is ACD.holdTime is greater than zero.

For each CSQ-Agent combination, count the number of ACD records. The result is the number of calls put on hold by the specified CSQ-Agent combination.

Hold Time Avg

If Calls on Hold is not zero, this field is calculated as Total Hold Time / Calls on Hold.

If Calls on Hold is zero, this field is zero.

Hold Time Total

Same calculation as for Calls on Hold, but instead of counting the number of ACD records, add up the values stored in ACD.holdTime.

RNA

Same calculation as for Calls Handled, but the search criteria should be: ACD.talkTime is zero, and ACD.ringTime is greater than zero.

For each CSQ-Agent combination, count the number of ACD records. This result is the number of calls that go to Ring No Answer (RNA).

Table 49 CSQ-Agent Summary report filter parameter

Filter parameter

Explanation

All CSQs (default, no filter parameter)

Search the CSQ table to find CSQ.recordID and CSQ.profileID for CSQs with CSQ.dateInactive set to null or set to a date/time later than the report start time. This action determines the active CSQs and CSQs that are deleted after the report start time (they are still active during the report period).

CSQ Names

Obtain the list of CSQ names from the user selection for this parameter. Search the CSQ table to find records for which CSQ.csqName contains values that are in the list. Obtain the corresponding CSQ.recordID and CSQ.profileID.

Detailed Call by Call CCDR report

The Detailed Call by Call CCDR report shows most of the information that is contained in the CCD table. This report also includes information from the CRD and the ACD tables. The report contains one row per call leg (a call transfer or redirect initiates a new call leg).

Table 1 shows how the information in the Detailed Call by Call CCDR report is obtained or calculated.

Table 2 explains how the Detailed Call by Call CCDR report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 50 Detailed Call by Call CCDR report query design

Field

Explanation

Node ID

Obtained from CCD.nodeID.

Session ID

Obtained from CCD.sessionID.

Sequence No.

Obtained from CCD.sessionSeqNum.

Start Time

Obtained from CCD.startDateTime.

End Time

Obtained from CCD.endDateTime.

Contact T

Obtained from CCD.contactType.

Contact D

Obtained from CCD.contactDisposition.

Originator T

Obtained from CCD.originatorType.

Originator ID

Obtained from CCD.originatorID.

If originator type is 1 (agent), CCD.originatorID is a resource ID. join CCD.originatorID with Resource.resourceID, and join CCD.profileID with Resource.profileID to display the agent login ID, which is stored in Resource.resourceLoginID.

Originator DN

(DN = directory number)

If CCD.originatorType is Device (2) or Unknown (3), obtained from CCD.originatorDN.

If CCD.originatorType is Agent (1), join CCD.originatorID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.extension.

Destination T

Obtained from CCD.destinationType.

Destination ID

Obtained from CCD.destinationID.

If destination type is 1 (agent), CCD.destinationID is a resource ID.join CCD.destinationID with Resource.resourceID, and join CCD.profileID with Resource.profileID to display the agent login ID, which is stored in Resource.resourceLoginID.

Destination DN

If CCD.destinationType is Device (2) or Unknown (3), obtained from CCD.destinationDN.

If CCD.destinationType is Agent (1), jCCD.destinationID with Resource.resourceID, and join CCD.profileID with Resource.profileID and obtain Resource.extension.

Called Number

Obtained from CCD.calledNumber.

Original Called No.

Obtained from CCD.origCalledNumber.

Application Name

Obtained from CCD.applicationName.

Queue Time

Join CCD and CRD on sessionID, sessionSeqNum, nodeID, and profileID to obtain value stored in CRD.queueTime.

Blank for IVR calls.

Talk Time

For ACD calls, join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to obtain the value in ACD.talkTime.

For IVR calls, there is no ACD record. Talk time of handled IVR calls (where CCD.contactDisposition set to 2) is calculated as (CCD.endDateTime – CCD.startDateTime). For abandoned IVR calls (where CCD.contactDisposition set to 1), talk time is zero.

Hold Time

For ACD calls, join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to obtain the value in ACD.holdTime.

Blank for IVR calls.

Work Time

For ACD calls, join CCD and ACD on sessionID, sessionSeqNum, profileID, and nodeID to obtain the value in ACD.workTime.

Blank for IVR calls.sessionID, sessionSeqNum, nodeID, and profileID to obtain value stored in CRD.queueTime.

Table 51 Detailed Call by Call CCDR report filter parameter

Filter parameter

Explanation

Original Called Number

To report on a specific original called number or numbers, obtain the list of original called numbers from the user selection for this parameter. Find each CCD record for which the value stored in CCD.origCalledNumber is in the selected list.

Called Number

To report on a specific called number or numbers, obtain the list of called numbers from the user selection for this parameter. Find each CCD record for which the value stored in CCD.calledNumber is in the selected list.

Calling Number

To report on a specific calling number or numbers, obtain the list of calling numbers from the user selection for this parameter. Find each CCD record for which the value stored in CCD.originatorDN is in the selected list.

Application Name

To report on a specific application name or names, obtain the list of application names from the user selection for this parameter. Find each CCD record for which the value stored in CCD.applicationName is in the selected list.

Contact Type

To report on a specific contact type or types, obtain the list of contact type names from the user selection for this parameter. The mapping between numeric ID and contact type name is as follows:

1—incoming

2—outgoing

3—internal

4—redirect-in

5—transfer-in

6—outbound preview

Find each CCD record for which the value stored in CCD.contactType is in the selected list.

Originator Type

To report on a specific originator type or types, obtain the list of originator type or types from the user selection for this parameter. The mapping between numeric ID and originator type name is as follows:

1—agent

2—device

3—unknown

Find each CCD record for which the value stored in CCD.originatorType is in the selected list.

Destination Type

To report on a specific destination type or types, obtain the list of destination type or types from the user selection for this parameter. The mapping between numeric ID and destination type name is as follows:

1—agent

2—device

3—unknown

Find each CCD records for which the value stored in CCD.destinationType is in the selected list.

Duration Greater Than or Equal to T seconds

To report on calls with durations greater than or equal to T seconds, obtain the value of T from the user input for this parameter. Call duration is calculated as CCD.endDateTime minus CCD.startDateTime, in number of seconds. Find CCD records with call duration greater than or equal to T.

Duration Less Than or Equal to T seconds

To report on calls with durations less than or equal to T seconds, obtain the value of T from the user input for this parameter. The call duration is calculated as CCD.endDateTime minus CCD.startDateTime, in number of seconds. Find at CCD records with call duration less than or equal to T.

Detailed Call CSQ Agent report

The Detailed Call, CSQ, Agent report shows detailed call information about the CSQ that a call was routed to and the agent that handled the call.

Table 1 shows how the information in the Detailed Call, CSQ, Agent report is obtained or calculated.

Table 2 explains how the Detailed Call, CSQ, Agent report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 52 Detailed Call, CSQ, Agent report query design

Field

Explanation

Node ID

Obtained from CCD.nodeID.

Session ID

Obtained from CCD.sessionID.

Sequence No.

Obtained from CCD.sessionSeqNum.

Call Start Time

Obtained from CCD.startDateTime.

Call End Time

Obtained from CCD.endDateTime.

Contact Disp

Obtained from CCD.contactDisposition.

Originator DN (Calling Number)

Obtained from CCD.originatorDN.

If originator is an agent (CCD.originatorType = 1), this field shows the extension of the agent, and is determined as follows: join CCD.originatorID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.extension.

Destination DN

Obtained from CCD.destinationDN.

If destination is an agent (CCD.destinationType = 1), this field shows the extension of the agent and is determined as follows: join CCD.destinationID with Resource.resourceID, and join CCD.profileID with Resource.profileID to obtain Resource.extension.

Called Number

Obtained from CCD.calledNumber.

App. Name

Obtained from CCD.applicationName.

CSQ Names

Join CCD and CQD on sessionID, sessionSeqNum, nodeID, and profileID. Find CQD records with targetType = 0 (CSQ type). The CSQ information is stored in CQD.targetID and CQD.profileID. Join CQD.targetID with CSQ.recordID, and join CQD.profileID with CSQ.profileID. The CSQ name is stored in CSQ.csqName. Multiple CSQ names are separated by commas.

Queue Time

Join CCD and CQD on sessionID, sessionSeqNum, nodeID, and profileID. Queue Time is stored in CQD.queueTime.

Agent Name

Join CCD and ACD on sessionID, sessionSeqNum, nodeID, and profileID to obtain ACD.resourceID and ACD.profileID. Join ACD.resourceID with Resource.resourceID, and join ACD.profileID with Resource.profileID to obtain agent name, which is stored in Resource.resourceName.

Ring Time

Join CCD and ACD on nodeID, sessionID, sessionSeqNum, and profileID. The value is stored in ACD.ringTime.

Talk Time

For ACD calls, join CCD and ACD on nodeID, sessionID, sessionSeqNum, and profileID. The value is stored in ACD.talkTime.

For IVR calls, there is no ACD record for the call. If the call is handled (CCD.contactDisposition = 2), this field is calculated as (Call End Time – Call Start Time), and shows the result in hh:mm:ss. Otherwise, this field shows zero.

Work Time

Join CCD and ACD on nodeID, sessionID, sessionSeqNum, and profileID. The value is stored in ACD.workTime.

Table 53 Detailed Call, CSQ, Agent report filter parameters

Filter parameter

Explanation

Called Number

To report on a specific called number or numbers, obtain the list of called numbers from the user selection for this parameter. Find CCD records for which the value stored in CCD.calledNumber is in the selected list.

Calling Number

To report on a specific calling number or numbers, obtain the list of calling numbers from the user selection for this parameter. Find CCD records for which the value stored in CCD.originatorDN is in the selected list.

Application Name

To report on a specific application name or names, obtain the list of application names from the user selection for this parameter. Find CCD records for which the value stored in CCD.applicationName is in the selected list.

Contact Type

To report on a specific contact type or types, obtain the list of contact type names from the user selection for this parameter. The mapping between numeric ID and contact type name is as follows:

1—incoming

2—outgoing

3—internal

4—redirect-in

5—transfer-in

6—outbound preview

Find CCD records for which the value stored in CCD.contactType is in the selected list.

Originator Type

To report on a specific originator type or types, obtain the list of originator types from the user selection for this parameter. The mapping between numeric ID and originator type name is as follows:

1—agent

2—device

3—unknown

Find CCD records for which the value stored in CCD.originatorType is in the selected list.

Destination Type

To report on a specific destination type or types, obtain the list of destination types from the user selection for this parameter. The mapping between numeric ID and destination type name is as follows:

1—agent

2—device

3—unknown

Find CCD records for which the value stored in CCD.destinationType is in the selected list.

Agent Name

To report on a specific agent or agents, find Resource records in which values in resourceName match the user input for this parameter. Join Resource.resourceID with ACD.resourceID, join and Resource.profileID with ACD.profileID to obtain the corresponding ACD records for the specified agents. Join ACD and CCD on sessionID, sessionSeqNum, nodeID, and profileID to obtain other information stored in the CCD table.

CSQ Name

To report on a specific CSQ or CSQs, find for CSQ records in which values in csqName match the user input for this parameter. Join CSQ.recordID with CQD.targetID, and join CSQ.profileID with CQD.profileID to obtain the CQD records for the specified CSQs. For these CQD records, CQD.targetType should be 0 (CSQ type). Join CQD and CCD on sessionID, sessionSeqNum, nodeID, and profileID to obtain other information stored in the CCD table.

Duration Greater Than or Equal to T seconds

To report on calls with durations greater than or equal to T seconds, obtain the value of T from the user input for this parameter. The call duration is calculated as CCD.endDateTime minus CCD.startDateTime, in number of seconds. Find CCD records with call duration greater than or equal to T.

Duration Less Than or Equal to T seconds

To report on calls with durations less than or equal to T seconds, obtain the value of T from the user input for this parameter. The call duration is calculated as CCD.endDateTime minus CCD.startDateTime, in number of seconds. Find CCD records with call duration less than or equal to T.

Outbound Agent Detail Performance report

The Outbound Agent Detail Performance report shows detailed statistics for each agent by campaign. It also shows the total call details and campaign call details. This report is available with the Cisco Unified Outbound Dialer (Cisco Unified OUTD) feature.

Table 1 shows how the information in the Outbound Agent Detail Performance report is obtained or calculated.

Table 2 explains how the Outbound Agent Detail Performance report filter parameters obtain data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 54 Outbound Agent Detail Performance report query design

Field

Explanation

Agent Name

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. The agent that dials for the campaign is recorded in ACD.resourceID. Join ACD.resourceID with Resource.resourceID to obtain Resource.resourceName.

Campaign Name

For a given campaignID, look up the campaign name in the Campaign table.

Offered

Calculated as (Accepted + Rejected + Closed)

Accepted

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records for this agent (as identified in ACD.resourceID) where callResult is not 9 (agent reject) or 10 (agent close).

Rejected

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records for this agent (as identified in ACD.resourceID) where callResult = 9 (agent reject).

Closed

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records for this agent (as identified in ACD.resourceID) where callResult = 10 (agent close).

RNA

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records for this agent (as identified in ACD.resourceID) where callResult is not 12 (transfer).

Transfer

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records for this agent (as identified in ACD.resourceID) where callResult is not 13 (ring no answer).

Average Talk Time

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records with callResult = 1 (voice) and resourceID for this agent. For these records, calculate the average talk time using ACD.talkTime.

Maximum Talk Time

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records with callResult = 1 (voice) and resourceID for this agent. For these records, obtain the maximum ACD.talkTime.

Table 55 Outbound Agent Detail Performance report filter parameters

Filter parameter

Explanation

Campaign Name

Obtain the list of campaign names from the user selection for this parameter. Look up the corresponding campaignID in the Campaign table, and use these campaignIDs only for report generation.

Agent Names

To report on a specific agent or agents, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of agent names from the user selection for this parameter. These values are in Resource.resourceName. Obtain the corresponding Resource.resourceID and Resource.profileID.

Resource Group Names

To report on a specific resource group or groups, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of resource group names from the user selection for this parameter. Search the ResourceGroup table to find records for which RG.resourceGroupName contains values found in the list. Join RG and Resource on resourceGroupID and profileID to find the list of agents that belong to the selected resource group or groups. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who are active and agents who are deleted after the report start time.

Skill Names

To report on agents with a specific skill or skills, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of skill names from the user selection for this parameter. Search the Skill table to find records for which Skill.skillName contains values found in the list. Join Skill and RSM on skillID and profileID to find resourceSkillMapID. Join RSM and Resource on resourceSkillMapID and profileID to find the list of agents that have the selected skill or skills. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively. This report displays only agents who are active and agents who are deleted after the report start time.

Team Names

To report on a specific team or teams, obtain the list of resource IDs and profile IDs as follows:

Obtain the list of team names from the user selection for this parameter. Search the Team table to find records whose Team.teamName contains values found in the list. Join Team.teamID with Resource.assignedTeamID, and Team.profileID with Resource.profileID to find the list of agents who belong to the selected team or teams. Resource ID and profile ID of agents are stored in Resource.resourceID and Resource.profileID, respectively.

Outbound Campaign Summary report

The Outbound Campaign Summary report provides summary statistics for each campaign over a specified time period. This report is available with the Cisco Unified OUTD feature.

Table 1 shows how the information in the Outbound Campaign Summary report is obtained or calculated.

Table 2 explains how the Outbound Campaign Summary report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 56 Outbound Campaign Summary report query design

Field

Explanation

Campaign Name

For each outbound call, campaignID is recorded in CCDR. Campaign Name is obtained from the Campaign table, given the campaignID. The mapping between campaignName and campaignID is one-to-one.

Total Records

For a given campaignID, total number of DailingList records with a unique dialingListID and that have the specified campaignID. Active and inactive records are included in the calculation. Records are marked inactive when callStatus becomes 3 (closed) or 5 (max calls).

Available

For a given campaignID, total number of DialingList records with a unique dialingListID and that have the specified campaignID. Also, DailingList.callStatus must be one of the following values (it cannot be 3 (closed) or 5 (max calls):

1 = pending

2 = active

4 = callback

6 = retry

7 = unknown

Attempted

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records in which callResult is not 9 (agent skip) or 10 (agent close). This number is the same as Accepted. From this number, deduct duplicate records with the same dialingListID so that a given dialingListID occurs only once in the final result.

Attempted %

(Attempted / Total Records) * 100%

Accepted

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult not equal to 9 (agent reject) or 10 (agent close).

Rejected

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult = 9 (agent reject).

Closed

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult = 10 (agent close).

Voice

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult = 1 (voice).

Answering Machine

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult = 3 (answering machine).

Fax/Modem

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult = 2 (fax/modem).

Invalid

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult = 4 (invalid).

Requested Callback

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult = 8 (requested callback).

Customer Not Home

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult = 7 (customer not home).

Wrong Number

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult = 6 (wrong number).

Do Not Call

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult = 5 (do not call).

Busy

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records. Count the number of ACD records with ACD.callResult = 11 (busy).

Average Talk Time

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records with callResult = 1 (voice). For these records, calculate the average talk time using ACD.talkTime.

Maximum Talk Time

For a given campaignID, determine from the CCD table the sessionID, sessionSeqNum, profileID, and nodeID values. Use these values to look up the associated ACD records with callResult = 1 (voice). For these records, obtain the maximum ACD.talkTime.

Table 57 Outbound Campaign Summary report filter parameter

Filter parameter

Explanation

Campaign Name

Obtain the list of campaign names from the user selection for this parameter. Look up the corresponding campaignID in the Campaign table, and use these campaignIDs only for report generation.

Priority Summary Activity report

The Priority Summary Activity report contains one row per call priority.

Table 1 shows how the information in the Priority Summary Activity report is obtained or calculated.

Table 2 explains how the Priority Summary Activity report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 58 Priority Summary Activity report query design

Field

Explanation

Call Priority

Obtained from CRD.finalPriority. It is a value from 1 through 10.

Total Calls

Join CCD and CRD on sessionID, sessionSeqNum, nodeID, and profileID to find CRD records during the report period. (Corresponding CCD records have startDateTime during the report period.) For each call priority identified by CRD.finalPriority, count the number of CRD records.

Avg Calls

Total calls divided by the number of days in the report period.

The number of days is calculated as follows. This information is displayed in units of days, rounded up to the next integer.

report end time – report start time

For example, if the report start time and the report end time are on the same day, the number of days is 1.

Total Number of Calls (Per Day) with Different Original and Final Priorities

Original call priority is stored in CRD.origPriority and final call priority in CRD.finalPriority. Count the number of CRD records with CRD.finalPriority different than CRD.origPriority in the report period.

Average Number of Calls (Per Day) with Different Original and Final Priorities

Total number of calls with different original and final call priorities divided by the number of days in the report period.

The number of days is calculated as follows. This information is displayed in units of days, rounded up to the next integer.

report end time – report start time

For example, if the report start time and the report end time are on the same day, the number of days is 1.

Maximum Difference Between Original and Final Priorities Experienced by All Calls

Original call priority is stored in CRD.origPriority and final call priority in CRD.finalPriority. For a single call, the difference between original and final priorities is calculated as the absolute value of (CRD.finalPriority – CRD.origPriority)

This field shows the largest number of all calls in the report period.

Average Difference (Per Call) Between Original and Final Priorities Experienced by All Calls

Original call priority is stored in CRD.origPriority and final call priority in CRD.finalPriority. For a single call, the difference between original and final priorities is calculated as the absolute value of (CRD.finalPriority – CRD.origPriority).

This field is calculated as sum of the difference (absolute value) for all calls in the report period, divided by the number of calls.

Table 59 Priority Summary Activity report filter parameter

Filter parameter

Explanation

Call Priority Levels

To report on a specific call priority or priorities, obtain the list of call priorities from the user selection for this parameter. Query the CRD table to include only the selected call priority or priorities.

Remote Monitoring Detail report

The Remote Monitoring Detail report shows information about the agent monitoring activities of supervisors.

Table 1 shows how the information in the Remote Monitoring Detail report is obtained or calculated.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 60 Remote Monitoring Detail report query design

Field

Explanation

User ID

Join CCD and RMD on sessionID, sessionSeqNum, profileID, and nodeID to determine RMD records with a CCD.startDateTime value that is within the report period. Join RMD.rmonID with RmonUser.rmonID and join RMD.profileID with RmonUser.profileID. User ID is stored in RmonUser.name.

Start Time

Join CCD and RMD on sessionID, sessionSeqNum, profileID, and nodeID to determine RMD records with a CCD.startDateTime value that is within the report period. Start Time is stored in RMD.startMonitoringReqTime.

Original Monitored Party

Join CCD and RMD on sessionID, sessionSeqNum, profileID, and nodeID to obtain RMD records with a CCD.startDateTime value that is within the report period.

If RMD.origMonitoredIDType is 1 (agent Type), the value of this field is an agent extension. It is stored in RMD.origMonitoredID.

If RMD.origMonitoredIDType is 2 (CSQ Type), this field is a CSQ name. Join RMD.origMonitoredID with CSQ.contactServiceQueueID, and join RMD.profileID with CSQ.profileID to obtain the CSQ name, which is stored in CSQ.csqName.

Monitored Extension(s)

Join CCD and RMD on sessionID, sessionSeqNum, profileID, and nodeID to determine RMD records with a CCD.startDateTime value that is within the report period. Join RMD.sessionID with MRD.sessionID, and join RMD.startMonitoringReqTime with MRD.startMonitoringReqTime to obtain MRD.monitoredRsrcID and MRD.profileID. Join MRD.monitoredRsrcID with Resource.resourceID, and MRD.profileID with Resource.profileID, to get the agent extension, which is stored in Resource.extension.

If the session has multiple extensions monitored, there are multiple MRD records, and the values in Resource.extension are separated by commas.

Duration

Join CCD and RMD on sessionID, sessionSeqNum, profileID, and nodeID to determine RMD records with a CCD.startDateTime value that is within the report period. The value of this field is the difference between RMD.startMonitoringReqTime and RMD.endMonitoringTime, in number of seconds.

Wait Time

Join CCD and RMD on sessionID, sessionSeqNum, profileID, and nodeID to determine RMD records with a CCD.startDateTime value that is within the report period. Join RMD.sessionID with MRD.sessionID, and join RMD.startMonitoringReqTime with MRD.startMonitoringReqTime. The value of this field is MRD.startMonitoringCallTime minus MRD.startMonitoringReqTime, in number of seconds.

If the supervisor waited on the call but did not monitor it, MRD table will not have a record for this call. In this case, this field is set to the value of Duration.

Status

Join CCDR with RMD on sessionID, sessionSeqNum, profileID, and nodeID to determine RMD records with a CCD.startDateTime value that is within the report period. The numeric value of the status is stored in RMD.cause. The textual display is based on the cause as follows:

Normal – Monitored: cause = 3

Normal – Agent RNA: cause = 100

Error – Unable to Stop Monitoring: cause = –9

Error – Unable to Monitor New Call: cause = –8

Error – Agent Logged Off: cause = –7

Error – Network Problem: cause = –6

Error – VoIP Server Unable to Communicate: cause = –5

Error – Monitoring Not Allowed: cause = –4

Error – Agent Not Logged In: cause = –3

Error – Invalid Input: cause = –2

Error – Other: cause = 0 or –1

Traffic Analysis report

The Traffic Analysis report shows information about incoming calls to the Unified CCX system.

Table 1 shows how the information in the Traffic Analysis report is obtained or calculated.

If the selected report Start Date and report End Date exceeds the date range available in the database, the report start date and report end date is automatically adjusted to match the date range available in the database. For example: If data is available in the database only from the start date x and end date y and if the selected start date is earlier than x and selected end date is later than y, then the report start date and report end date is automatically adjusted to x and y respectively.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 61 Traffic Analysis report query design

Field

Explanation

Date

Date of each day in the report period.

Total Incoming Calls

For each day, count the number of CCD records with the unique sessionID with the Contact Type field set to the value of 1 (incoming call).

Avg Calls (per hour)

Calculated as total incoming calls divided by the number of hours in the day.

The first day or the last day of the report period may be a partial day, depending on the start time and the end time selected by the user. Any other day within the report period has 24 hours.

Peak Calls (per hour)

Divide each day into one-hour intervals. The number of incoming calls within each interval is determined by counting the number of CCD records with unique sessionIDs in the interval. The peak hour is the interval with the largest number of incoming calls. This field displays the number of calls in the peak hour.

Peak Hour Start

Divide each day into one-hour intervals. The number of incoming calls within each interval is determined by counting the number of CCD records with unique sessionIDs in the interval. The peak hour is the interval with the largest number of incoming calls. This field displays the start time of the peak hour.

Peak Hour End

Divide each day into one-hour intervals. The number of incoming calls within each interval is determined by counting the number of CCD records with unique sessionIDs in the interval. The peak hour is the interval with the largest number of incoming calls. This field displays the end time of the peak hour.

Call Duration Avg

A call may have multiple call legs. The call duration for a call is calculated as sum of CCD.connectTime for all the call legs.

Average call duration for a day is calculated as the sum of call durations for all incoming calls on that day divided by the number of incoming calls on that day.

Call Duration Min

A call may have multiple call legs. The call duration for a call is calculated as sum of CCD.connectTime for all the call legs.

Minimum call duration for a day is the shortest call duration of all incoming calls for that day.

Call Duration Max

A call may have multiple call legs. The call duration for a call is calculated as sum of CCD.connectTime for all the call legs.

Maximum call duration for a day is the longest call duration of all incoming calls for that day.

Email Agent Activity report

The Email Agent Activity report shows, for each agent, information about emails handled.

Table 1 shows how the information in the Email Agent Activity report is obtained or calculated.

Table 2 explains how the Email Agent Activity report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 62 Email Agent Activity report

Field

Explanation

Agent Name

Resource.resourceName.

Join Resource.resourceLoginID, EEMEASD.Agent, and EEMQAD.Agent to obtain the name of the Agent that was presented emails.

Date

This is the date of the day interval.

This is a sum of EEMEASD.eventStartDateTime, EEMEASD.eventEndDateTime, EEMQAD.getEmailDateTime, and EEMQAD.endEmailDateTime truncated to just the date portion of the DateTime.

Login Time

Sum of email Not Ready, Ready, and Processing times.

Not Ready

Difference between eventStartDateTime and eventEndDateTime in EEMEASD where stateId = 2 (Not Ready)

Joined with Resource.resourceName and Date, both determined above.

Ready

Difference between eventStartDateTime and eventEndDateTime in EEMEASD where stateId = 3 (Ready)

Joined with Resource.resourceName and Date, both determined above.

Processing

Difference between eventStartDateTime and eventEndDateTime in EEMEASD where stateId = 4 (Processing)

Joined with Resource.resourceName and Date, both determined above.

Retrieved

Count of EEMQAD.getEmailDateTime truncated to just the date.

Requeued

Count of EEMQAD.endEmailDateTime truncated to just the date where endTypeFK = 8

Trans Out

Count of EEMQAD.endEmailDateTime truncated to just the date where endTypeFK = 7

Sent

Count of EEMQAD.endEmailDateTime truncated to just the date where endTypeFK = 5

Deleted

Count of EEMQAD.endEmailDateTime truncated to just the date where endTypeFK = 6

Total In Process Time Sent

Join EEMQAD.Agent with Resource.resourceLoginID and total is sum of EEMQAD.inProcessTimeSeconds where endTypeFK = 5

Note   

This will count all In Process time for each email sent during the selected time period, even any In Process time that occurred before the report start time.

Avg. In Process

Total In Process Time Sent divided by the number Sent for each agent/date (see above Sent row.)

Avg. On Desk

Join EEMQAD.Agent with Resource.resourceLoginID. The total On Desk Time for each Email is the difference between EEMQAD.getEmailDateTime and EEMQAD.endEmailDateTime. These are then summed up by agent and date and the average is computed by dividing by the number of Sent Emails (see above Sent row.)

Table 63 Email Agent Activity report filter parameter

Filter parameter

Explanation

All Agents

To report on all agents, obtain the list of resourceLoginIDs as follows:

Search the Resource table for agents who are active (Resource.active is 1).

Agent Names

To report on a specific agent or agents, obtain the list of resourceLoginIDs as follows:

Obtain the list of agent names from the user selection for this parameter. These values are in Resource.resourceName. Obtain the corresponding Resource.resourceLoginID.

Email Contact Service Queue Activity report

The Email Contact Service Queue Activity report shows, for each CSQ, information about emails handled.

Table 1 shows how the information in the Email Contact Service Queue Activity report is obtained or calculated.

Table 2 explains how the Email Contact Service Queue Activity report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 64 Email Contact Service Queue Activity report

Field

Explanation

CSQ Name

Join CSQ.csqID and EEMQAD.EEMQueueId, where the name is CSQ.csqName.

Date

This is the date of the day interval.

This is a sum of EEMQAD.queueDateTime, and EEMQAD.endEmailDateTime truncated to just the date portion of the DateTime.

Routed In

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 1 grouped by CSQ and date.

Trans In

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 7 grouped by CSQ and date.

Requeued

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 8 grouped by CSQ and date.

Trans Out

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 7 grouped by CSQ and date.

Sent

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 5 grouped by CSQ and date.

Deleted

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 6 grouped by CSQ and date.

Total In Process Time Sent

Join EEMQAD.EEMQueueId with CSQ.csqId and total is sum of EEMQAD.inProcessTimeSeconds where endTypeFK = 5.

Note   

This will count all In Process time for each email sent during the selected time period, even any In Process time that occurred before the report start time.

Avg. In Process

Total In Process Time Sent divided by the number Sent for each agent/date (see above Sent row.)

Avg. On Desk

Join EEMQAD.EEMQueueId with CSQ.csqID. The total On Desk Time for each Email is the difference between EEMQAD.getEmailDateTime and EEMQAD.endEmailDateTime. These are then summed up by CSQ and date and the average is computed by dividing by the number of Sent Emails (see above Sent row.)

Avg. Response

Join EEMQAD.EEMQueueId with CSQ.csqId. The total Response Time for each Email is the difference between EEMQAD.queueDateTime and EEMQAD.endEmailDateTime. These are then summed up by CSQ and date and the average is computed by dividing by the number of Sent Emails (see above Sent row.)

Table 65 Email Contact Service Queue Activity report filter parameter

Filter parameter

Explanation

All CSQs

To report on all CSQs, obtain the list of CSQ names as follows:

Search the CSQ table for CSQs that are active (CSQ.active is 1).

CSQ Names

To report on a specific CSQ or CSQs, obtain the list of csqIDs as follows:

Obtain the list of CSQ names from the user selection for this parameter. These values are in CSQ.csqName. Obtain the corresponding CSQ.csqID.

Email Contact Service Queue Agent Activity report

An agent can handle emails for multiple CSQs. The Email Contact Service Queue Agent Activity report shows, for each agent, information about emails handled in each CSQ.

Table 1 shows how the information in the Email Contact Service Queue Agent Activity report is obtained or calculated.

Table 2 explains how the Email Contact Service Queue Agent Activity report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 66 Email Contact Service Queue Agent Activity report

Field

Explanation

CSQ Name

Join CSQ.csqID and EEMQAD.EEMQueueId, where the name is CSQ.csqName

Date

This is the date of the day interval.

This is a sum of EEMQAD.queueDateTime, and EEMQAD.endEmailDateTime truncated to just the date portion of the DateTime.

Agent Name

Resource.resourceName.

Join Resource.resourceLoginID and EEMQAD.Agent to obtain the name of the agent that was presented emails.

Routed In

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 1 grouped by CSQ and date.

Trans In

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 7 grouped by CSQ and date.

Requeued

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 8 grouped by CSQ and date.

Trans Out

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 7 grouped by CSQ and date.

Sent

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 5 grouped by CSQ and date.

Deleted

Count of EEMQAD.receivedReasonFK where receivedReasonFK = 6 grouped by CSQ and date.

Total In Process Time Sent

Join EEMQAD.EEMQueueId with CSQ.csqId and total is sum of EEMQAD.inProcessTimeSeconds where endTypeFK = 5.

Note   

This will count all In Process time for each email sent during the selected time period, even any In Process time that occurred before the report start time.

Avg. In Process

Total In Process Time Sent divided by the number Sent for each agent/date (see above Sent row.)

Avg. On Desk

Join EEMQAD.EEMQueueId with CSQ.csqID. The total On Desk Time for each Email is the difference between EEMQAD.getEmailDateTime and EEMQAD.endEmailDateTime. These are then summed up by CSQ and date and the average is computed by dividing by the number of Sent Emails (see above Sent row.)

Table 67 Email Contact Service Queue Agent Activity report filter parameter

Filter parameter

Explanation

All CSQs

To report on all CSQs, obtain the list of CSQ names as follows:

Search the CSQ table for CSQs that are active (CSQ.active is 1).

CSQ Names

To report on a specific CSQ or CSQs, obtain the list of csqIDs as follows:

Obtain the list of CSQ names from the user selection for this parameter. These values are in CSQ.csqName. Obtain the corresponding CSQ.csqID.

Email Inbox Traffic Analysis report

The Email Inbox Traffic Analysis report shows information about incoming emails to the Unified CCX system.

Table 1 shows how the information in the Email Inbox Traffic Analysis report is obtained or calculated.

Table 2 explains how the Email Inbox 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.

Table 68 Email Inbox Traffic Analysis report

Field

Explanation

Email Address

Obtained from EEMCED.toAddress.

Incoming Email Date

Obtained from EEMCED.receivedDateTime.

Email Count

Count of EEMCED.toAddress where receivedReasonFK = 1 (Routed in).

Table 69 Email Inbox Traffic Analysis report filter parameter

Filter parameter

Explanation

Email Address

Obtain the list of addresses from EEMCED.toAddress.

Email Response Detail report

The Email Response Detail report contains one row per email response sent.

Table 1 shows how the information in the Email Response Detail report is obtained or calculated.

Table 2 explains how the Email Response Detail report filter parameter obtains data.

For information about the database table names and field names that are shown in this section, see the Conventions used in this chapter.

Table 70 Email Response Detail report

Field

Explanation

CSQ Name

Join CSQ.csqID and EEMCED.EEMQueueId, where the name is CSQ.csqName.

Sent Date

EEMCED.finalDispositionDateTime where finalDispositionTypeFK = 5 (Sent)

Agent Name

Resource.resourceName.

Join Resource.resourceLoginID and EEMCED.Agent to obtain the name of the agent that was presented emails.

Date Received

Obtained from EEMCED.receivedDateTime.

Date Retrieved

Join EEMCED.ContactEmailDetailId and EEMQAD.ContactEmailDetailFK. Obtained from EEMQAD.getEmailDateTime.

To Address

Obtained from EEMCED.toAddress.

From Address

Obtained from EEMCED.fromAddress.

Email Subject

Obtained from EEMCED.emailSubject.

Table 71 Email Response Detail report filter parameter

Filter parameter

Explanation

All Agents

To report all agents, obtain the list of resourceLoginIDs as follows:

Search the Resource table for agents who are active (Resource.active is 1).

Agent Names

To report on a specific agent or agents, obtain the list of resourceLoginIDs as follows:

Obtain the list of agent names from the user selection for this parameter. These values are in Resource.resourceName. Obtain the corresponding Resource.resourceLoginID.

All CSQs

To report on all CSQs, obtain the list of CSQ names as follows:

Search the CSQ table for CSQs that are active (CSQ.active is 1).

CSQ Names

To report on a specific CSQ or CSQs, obtain the list of csqIDs as follows:

Obtain the list of CSQ names from the user selection for this parameter. These values are in CSQ.csqName. Obtain the corresponding CSQ.csqID.