Reporting Data

Real Time Data Collection

Every 15 seconds (by default), both the Unified CCE Peripheral Gateway and the Call Router produce data that is forwarded and stored in the databases. This current (real time) data includes data about agents, skill groups, services, call types, Precision Queues, and other entities. Unified Intelligence Center queries the database periodically to retrieve the data stored in the Administrative Workstation (AW) database and presents it to clients, such as reports and message boards. Old real time data is constantly overwritten by new real time data. No history is kept. Real time data is stored in data fields that reflect four time increments, as described in the following table:

Table 1. Real Time Data Time Increments

Real time data time increments

Description

Half

"Half" values contain a value for the current half-hour. Real time half-hour values are not affected by Interval configuration. That is, if you set the historical reporting interval to 15 minutes, the Half values in real time tables represent the current half-hour time period falling between xx:00:00 and xx:29:59, or xx:30:00 and xx:59:59.

For example, if it is currently 09:18:33, the CallsOfferedHalf column in the Call_Type_Real_Time table contains a value that reflects the first 18 minutes and 33 seconds of the specific half-hour. When a new half-hour begins, at time 09:00:00 or 09:30:00, the database element is reset to zero.

Now

"Now" contains a snapshot of the activity at a particular instant (the last check).

For example, Unified CCE software tracks CallsQNow, which is the number of calls currently in queue for a route. When a call is answered, the CallsQNow count is reduced immediately by one (-1) because the call has left the queue. This change is seen at the next real time update for reports that query for that value.

To5

The "To5" values track data on a rolling five-minute basis. The rolling five-minute data employs a "sliding" five-minute window. The To5 data is updated every ten seconds in the database.

Today

To arrive at values for "Today", Unified CCE software adds the values at the end of each interval since midnight. It also counts the values for the current half-hour. At the end of each half hour, half-hour data (for example CallsOfferedHalf) is summed into the Today data. At midnight, the real time Today count is cleared in the database. Midnight is defined using the time of the peripheral.

Historical Data Collection

Unified CCE stores historical data in several types of database tables. These tables hold summaries of data over different periods.

Interval Tables

The Interval tables replace previous Half_Hour tables. The Interval tables have more fields than their corresponding Half_Hour tables.


Note

The database schema retains the replaced Half_Hour tables for backward compatibility. The solution does not populate them with data. Their views present the data from their corresponding Interval tables.


You can configure some of these tables to present either 15-minute or 30-minutes summary data. Your solution requires Unified Intelligence Center to use 15-minute reporting intervals. This table lists the Interval tables and details of their reporting intervals.

Table 2. Reporting Interval Details

Table

Reporting Interval (Minutes)

Where to Set Reporting Interval

Notes

Default

Allowed Values

Agent_Interval

30

15 or 30

PG Explorer > Logical Controller

Agent_Skill_Group_Interval

30

15 or 30

PG Explorer > Logical Controller

Call_Type_Interval

30

15 or 30

Configuration ICM > Enterprise > System Information

Call_Type_Skill_Group_Interval

30

15 or 30

Configuration ICM > Enterprise > System Information

Campaign_Query_Rule_Interval

30

30

NA

The Campaign_Query_Rule table contains only configuration data. The Campaign_Query_Rule_Interval table contains the reporting data. The superseded Campaign_Query_Rule_Half_Hour table contains a view of the Campaign_Query_Rule_Interval data for backward compatibility.

Dialer_Interval

30

30

NA

Peripheral_Interval

30

15 or 30

PG Explorer > Logical Controller

Router_Queue_Interval

30

15 or 30

Configuration ICM > Enterprise > System Information

The solution generates the Precision Queue interval records from the Router_Queue_Interval and Skill_Group_Interval records. If you use PQs, use the same interval setting on the PG Explorer > Logical Controller andConfiguration ICM > Enterprise > System Information.

Service_Interval

30

15 or 30

PG Explorer > Logical Controller

Skill_Group_Interval

30

15 or 30

PG Explorer > Logical Controller

The solution generates the Precision Queue interval records from the Router_Queue_Interval and Skill_Group_Interval records. If you use PQs, use the same interval setting on the PG Explorer > Logical Controller andConfiguration ICM > Enterprise > System Information.

System_Capacity_Interval

30

15 or 30

PG Explorer > Logical Controller

Half_Hour Tables

The Half_Hour tables that do not have Interval tables are populated for completed half-hour intervals. The completed interval is the time period falling between xx:00:00 and xx:29:59, or xx:30:00 and xx:59:59.

For example, it is now 15:50:00. An error occurred at 15:47:00. The half-hour interval reported on right now is for the 15:00:00 to 15:29:59 interval. The error that occurred at 15:47:00 is written to the database at 16:00:00, when the 15:30:00 to 15:59:59 half-hour interval is complete.

The active Half_Hour tables are:

  • Application_Gateway_Half_Hour

  • Campaign_Half_Hour

  • Dialer_Skill_Group_Half_Hour

  • Network_Trunk_Group_Half_Hour

  • Physical_Controller_Half_Hour

  • Route_Half_Hour

  • Translation_Route_Half_Hour

  • Trunk_Group_Half_Hour

Five_Minute Tables

The Five_Minute tables contain a subset of the real-time data. These tables provide a "snapshot" of the real-time data for use as historical data. Every five minutes, the Router copies the real-time data to the five-minute tables in the Central Database.

By default, the solution enables only the Routing_Client_Five_Minute historical reporting by default.

To enable the historical reporting of other Five_Minute tables, set the corresponding registry key values to 1. The registry hive is at HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems, Inc.\ICM\<Instance_Name>\Router<A/B>\Router\CurrentVersion\HistoricalData\FiveMinute. The changes are effective dynamically and do not require a router restart on either side.


Note

Enabling five-minute data can substantially impact your solution performance. Before you enable reporting on five-minute data, consider that performance impact.


Reporting Interval Configuration for Interval Tables

For the Interval tables with configurable reporting intervals, you control those reporting intervals through the Configuration Manager on these dialogs:

  • PG Explorer > Logical Controller

    You can change either 15 or 30 minutes, but the same setting applies to all the tables.

    You can also select a Time Source option to use either Central Controller time or Automatic Call Distributor (ACD) time. You can only use the ACD option for 30-minute data for the supported ACD types. See the PG Explorer Tool Online Help for details.

  • Configuration ICM > Enterprise > System Information

You can set the reporting interval on the Logical Controller and System Information dialogs to different values unless you use Precision Queues. The solution generates the Precision Queue interval records from the Router_Queue_Interval and Skill_Group_Interval records. Because the two tables are controlled by different tools, you must use the same setting for both to record accurate PQ data. However, Precision Queue interval records are generated from the Router_Queue_Interval and Skill_Group_Interval records and therefore these intervals need to be the same for complete Precision Queue data.

When you change the reporting interval, the solution begins writing the data to the corresponding tables when the next 30-minute interval starts. So if you change to 15-minute data at 11:13, the new setting takes effect beginning at 11:30.

Configuration Data

Configuration tables define the entities and entity names that are defined in Configuration Manager. They contain EnterpriseName fields that associate the key values in the historical tables with the text labels that are used in reports.

Examples of configuration tables are the Agent, Agent Team, Skill Group, and Call Type tables. For example, adding a new Agent Team in Configuration Manager adds an EnterpriseName for that team in the Agent Team database table.

Configuration Data and Routing Scripts are created and edited on the Administration & Data Server, stored on the Administration & Data Server database, replicated to the Central Database. and then to other Administration & Data Servers.

Call Detail Data

The following database tables store call detail records as described below:

  • Route call details

    For every call routing request it handles, the Router records detailed data about the call and how it was routed to a peripheral by Unified CCE. This route call detail data (RCD record) is stored in the Route_Call_Detail table.

    RCD data is written to the database when the script ends. Non-routed calls, such as direct dials, transfers, and conferences, have no RCD records.

    You can use the data in the Route_Call_Detail table to see the starting point of the call. For example, you can see the Automatic Number Identification (ANI), any Caller Entered Digits (CED) entered, and the type of request made. A typical Route_Call_Detail record might describe a call that originated with a Pre-Routing request, had an ANI of 9785551000 and CED such as an account number. In addition, route call detail tells you how long the call was held in a enterprise queue.

  • Route call variable

    The Route_Call_Variable records are associated with the Route_Call_Detail records. The Route_Call_Variable records are created at the same time as the corresponding Route_Call_Detail record. The Route_Call_Variable table stores expanded call context variables that are configured as persistent in the system and are employed during the routing.

  • Termination call detail

    Detailed termination call detail data (a TCD record) is written for each call that arrives at a peripheral (provided the proper monitoring is enabled for the peripheral).

    The TCD record is written after the call segment terminates and the after-call work is complete.

    Specifically, the CallRouter creates the Termination_Call_Detail record when it receives a "ClosedCallInd" message from the Open Peripheral Controller (OPC). OPC generates the ClosedCallInd message when a call is terminated (that is, when any after-call work associated with the call has completed, or when a call that was not connected to an agent is terminated).

    For example, typical Termination_Call_Detail data might show that the call was an Inbound ACD Call, that it was handled by a particular Skill Group; and that a particular agent handled the call. The Termination_Call_Detail record also describes the final disposition of the call (for example, how the call terminated; abandoned in network, disconnect/drop, and abandoned delay).

    There can be many TCDs created per call, and it is possible for a call to have TCDs records but no RCD records.

  • Termination call variable

    The Termination_Call_Variable records are associated with the Termination_Call_Detail records. The Termination_Call_Variable records are created at the same time as the corresponding Termination_Call_Detail record. The Termination_Call_Variable table stores expanded call context variables that are configured as persistent in the system and are set either through the agent desktop or received on the PG when the call was routed to it.


Note

The above tables can become very large. You must extract the data from the Historical Data Server and Detail Data Server (HDS-DDS) into your own custom database on a separate server (one that is not used for otherUnified CCE components). Use only DBDateTime (date and time of the record that was written to the HDS-DDS database) to perform the extraction. The tables on the custom database can be indexed according to the custom reporting needs.

To use Call Detail data in reports, you must create custom reports that populate from your custom database. These detail tables are constrained by the sizes of the databases. The sizes of the databases are estimated based on configuration and storage durations. Use the ICMDBA tool to estimate the sizes of the databases. Add an external database (AW/HDS/DDS) to the configuration to fulfill your reporting requirements.

Event Data

Two database tables store system and application event data that is generated by the various components of Unified CCE software:

  • Event

    The Event table stores all system events that are generated by the various Unified CCE components.

  • Application_Event

    The Application_Event table stores all application events that are generated by the various components. This is a subset of the events reported in the Event table.


Note

By default, the Event and Application_Event data is not replicated to the HDS database.


Miscellaneous

For the following tables, the data is recorded as and when event or agent state changes occur:

Agent_Event_Detail

Agent_State_Trace

Network_Event_Detail

Database Tables That Hold Reporting Data

All report data is pulled from tables and rows in the Unified CCE database. Many fields are direct database values, as reflected in their displayed column names in the reports.

For example:

  • The direction of the active task on which the agent is currently working is derived from Agent_Real_Time.Direction.

  • The number of calls to the trunk group that have been abandoned in queue since midnight is derived from Trunk_Group_Real_Time.CallsAbandonedToday.

Other report data fields are less obvious for the following reasons:

  • The data fields represent calculated values because the same data-entity name is used in multiple contexts.

  • The data fields call database values whose names are not clearly indicative.

Calculated fields. Many report values are the result of calculated fields. For example, in reports that present Skill Group Real Time activity, the Average Active Time (AAT) is calculated as follows: Skill_Group_ Real_Time.HandledCallsTalkTimeTo5 /Skill_Group_ Real_Time.CallsHandledTo5. Refer to the Unified Intelligence Center Report Template Guide for details on the calculated fields.

Fields used in many tables and context. Examples are the fields Deleted, Description, and EnterpriseName, which appear in many tables.

See the Database Schema Handbook for Cisco Unified Contact Center Enterprise at https://www.cisco.com/c/en/us/support/customer-collaboration/unified-contact-center-enterprise/products-technical-reference-list.html for descriptions of these database values and any calculations they can take in reports.

The Database Schema Handbook also lists field values such as Agent State values and Call Disposition flags.