Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

UCCE 11.5 Call Ender Query

I'm interested to design a query to know who ended the call with the customer service agent. Was it the agent or the caller (I mean who closed the line to release the call).

I'm looking for a query that would return one record for every call containing caller ANI, agent info, call time, and last but not least, "Call Ender" (this should display "agent" or "caller" to indicate which of them released the call.

Any ideas would be much appreciated.


I have had to build CUIC

I have had to build CUIC reports for this before. Not an easy query to write because you have to deal with the Termination_Call_Detail table. And you must be aware of the rules regarding querying this table - see page 525 of the Schema Guide.

"This table can become very large. Running custom reporting queries against it while it is on the HDS can degrade performance. To optimize performance, extract the data from the HDS into your own custom database"

There are multiple rows for each RouterCallKey with a different RouterCallKeySequenceNumber, so you have to find the correct row that represents the leg to the agent. But it's possible. When you have it, then CallDisposition is what you need to check. Look at the Schema Guide on page 630.

A CallDisposition value of 52 = Called Party Disconnected. With CVP as the Routing Client, 52 means the agent dropped.


New Member

Thank you Geoff for your

Thank you Geoff for your reply

Yes I understand that i should not run queries directly on Termination_Call_Detail from HDS database. I will create a scheduled job to copy its records to an external database over which i will run the query.

I have created five test calls to call center and ended the call as below:

1. Once I was directed to the queue

2. While waiting on queue

3. While agent phone is ringing

4. While talking to agent

5. While talking to agent I asked him to release the call from his side.

I have attached for the corresponding records from Termination_Call_Details to the above test.

Here is my observations over which I will build my query please review them and correct me if I'm wrong:

1. The record that represent the leg to the agent has PeripheralCallType 42. Which according to the schema handbook (42 = Switch Leg for VRU Peripheral call.)

2. After filtering for PeripheralCallType 42, all records that were closed from my side (customer) has Call Disposition value 13.

3. After filtering for PeripheralCallType 42, all records that were abandoned before talking to the agent has DelayTime = TimeToAband

Therefore, my query should filter for both 'PeripheralCallType = 42' and 'DelayTime != TimeToAband'. Then from the result , those records that have "Call Disposition = 52' are closed at the Agent side and the other records that have 'Call Disposition = 13' are closed at caller side.

CreatePlease to create content