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

CVP Custom Reports


I have a customer that needs to generate a report that tracks a client in the IVR, meaning they need to be able to know what each client has chosen in the IVR, for example ( a client X chose the English language then he pressed 1 then 2 then...)

Has someone tried to create SQL reports that show such information?

Your help is highly appreciated.

Thank you in advance.

Lara Noueir




Lara,the most consistent way


the most consistent way would be using CallTypes within the ICM script. I know it might be a bit against any logic to jump back and forth between ICM and CVP but again, we should use the right tools. CVP has some basic reporting but it's all about IVR and queuing. ICM is about call control and reporting. CallTypes is the ultimate way of understanding call flow from the historical perspective.


New Member

Hi Gergely,Thank you for your

Hi Gergely,

Thank you for your helpful reply.

I thought of a solution to put a database element after every node of the Call Studio script and write the entry of the customer to a database. what do you think about it?


Hi,the PC answer: well, it's


the PC answer: well, it's a solution, too.

The not so PC answer: well, it's a solution, too, but I would not go that way. You are introducing a second reporting data source, where you are forced to do all the DBA work like indexing and also finding a way to join in other reporting data.


New Member

Hmmm okay Gergely Thank you :

Hmmm okay Gergely Thank you :)


i had this kind of

i had this kind of requirement once, and i found a way to do it in this way.

i would create one session variable in CVP call RetVAL, and append values at the end of it every time customer chooses selection.


and at the end i will pass this data to ICM in one of FromExtVXML field in CVP subdialog return, then you can achieve reporting on this.

here is the link for more information:




New Member

Thank you Chintan for your

Thank you Chintan for your reply, I will proceed in this way.

Your best bet is to write out

Your best bet is to write out some session variables to the CVP reporting DB. That's the only way you're really going to get all the details you want. While CT can give you some information, it's not really a true count since many callers will drop in the IVR as soon as they receive the information they are looking for, so your numbers are never really going to be 100% accurate.



Chintan, with all due respect

Chintan, with all due respect, and while agreeing this might be a solution, too, I must express my doubts. Using CallVariables is a great way of exchanging information within the script or various applications that support it, but it's not meant to be a reporting solution. It distributes reporting logic to at least two places, it's kind of complicated to administer, it's a documentation nightmare. Again, this is a solution, but to me it looks like using a pair of pliers to drive a screw in: it works but should be considered only if all your screwdrivers have been borrowed by your neighbour.


Agree with you Gergely on

Agree with you Gergely on should be done with call types , but this approach will be useful when building complex multilayer menu in CVP Call studio application, where it is not feasible to pass data back and forth with ICM.

And Reporting Can be Done on CVP as well. i would just see the data coming to ICM used for routing or reporting.


Best Regards,


New Member

Ah okay, so the recommended


New Member

Hello Chintan,Can you kindly

Hello Chintan,

Can you kindly shed some light on how to achieve reporting in ICM once user selections have been sent from CVP.

Thank you in advance.

Best Regards,


Lara, I am not an expert on

Lara, I am not an expert on reporting side, but just on brief Note:

The Data returned from CVP, you can store it to some Peripheral Variables.

These PVs will be recorded in TCD tables on termination of call.

You can write a SQL query to Query TCD tables against given Date and Time, for particular Peripheral variable. and you can then represent this variable menu choice (Note you have to parse the variable).


But again this is just brief note, some one like Jameson or Gergely can answer in Detail on How to achieve this from ICM side.

Lara,This approach is not 100


This approach is not 100% accurate, but can give you some decent numbers. Let's say you have a menu with option 1, 2, 3, 4, 5, 6. Once the caller makes a selection the call goes back to ICM, either for Qing or to transfer the call to a label. You can pass a variable from CVP to ICM and you can then set a dynamic call type and use that to report how many people made that selection. This doesn't work well with self service as many time the caller will hang up in the IVR and the call will not return to ICM.

Hope this helps.

New Member

By far the easiest thing to

By far the easiest thing to do is "Set Enterpise Call Info" then run a Custom call report to get the information. I do this for several state funded phone lines. I track the phone number and the options that they select.


CreatePlease to create content