cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2320
Views
9
Helpful
4
Replies

UCCX - Number of concurrent logged agents for a certain period

stamatovs
Level 1
Level 1

Hello, is there a way to understand how many agents were simultaneously logged in for a given period or the absolute maximum of logged agents ever?

Thanks

1 Accepted Solution

Accepted Solutions

OK, here's what we do to get this information (and a whole lot more besides) from UCCX.  It requires a MS SQL server - we use 2008 R2.

<><>

Step 1 : Install the IBM Informix database ODBC driver onto your MS SQL server and create an ODBC connection called "UCCX".  This is a fiddly thing as the ODBC Informix client is a bit of a cow to use but there are some good examples out there of how to do it - Google is your friend here, as is the Cisco forum search.

Step 2 : Configure the UCCX ODBC connector as a "linked database" under MS SQL Server Manager.  With this done you can open the Informix database as a linked database via the MS SQL Server Manager just as if it was a local MS SQL database (give or take a few differences)

Step 3 : Create a database on the MS SQL server to keep the data from Informix.  In our case we took an existing database that we use for UCCX stuff and added a table that has the same data values and types as the RtICDStatistics table in the UCCX database.  The T-SQL code to do this is attached as "UCCX Snapshot Table.txt"

Step 4 : Create an SQL server job that copies data from the UCCX (Informix) database to the SQL database/table that was created in step 3.  Schedule this job to run every 5 minutes.  The T-SQL code to do this is attached as "UCCX Copy Stats.txt"

<><>

Now this could be done using any system - the logic is just "connect to UCCX", "get UCCX statistics from RtICDStatistics", "store them somewhere" and "repeat".

In addition to storing the RtICDStatistics, we also copy information about the state of each of our queues every 5 minutes.  It's the same method as copying the RtICDStatistics table only we work on the rtcsqsummary table.

Happy hacking!

View solution in original post

4 Replies 4

Christian Legg
Level 1
Level 1

I'm pretty sure that UCCX doesn't keep this sort of information itself, or if it does it doesn't make it available easily.

We've developed an interesting way to workaround this though and have a fairly good mechanism that tracks concurrent agent numbers over time, but it requires some external systems to do the hard work for us.

We linked our UCCX database to our MS SQL server and then set up a job that runs every 5 minutes on the SQL server that appends the current rtcsqsummary data into a separate SQL database.

This gives us a database on our SQL server that contains the status of the UCCX system every 5 minutes, ever since we started the monitoring. 23,000 data points at five minute intervals going back to January 2013.

It's not 100% accurate at spotting the maximum number of concurrent agents, as the 5 minute window means that agents can log in or log out before the snapshot is taken.

We also grab the CSQname stats at the same time, so we have a picture of how our queues progress through the day too.  On our system that is now 635,000+ data points since January 2013 as well.

If you are interested I could post the code that we use to do it, along with more detailed instructions on setting it up.  You could probably do it without an SQL server but you really need a device outside your UCCX system to regularly poll the UCCX and record the details for posterity.

regards

Christian Legg

Hi Christian, I'll be glad to try your solution. Thank you

OK, here's what we do to get this information (and a whole lot more besides) from UCCX.  It requires a MS SQL server - we use 2008 R2.

<><>

Step 1 : Install the IBM Informix database ODBC driver onto your MS SQL server and create an ODBC connection called "UCCX".  This is a fiddly thing as the ODBC Informix client is a bit of a cow to use but there are some good examples out there of how to do it - Google is your friend here, as is the Cisco forum search.

Step 2 : Configure the UCCX ODBC connector as a "linked database" under MS SQL Server Manager.  With this done you can open the Informix database as a linked database via the MS SQL Server Manager just as if it was a local MS SQL database (give or take a few differences)

Step 3 : Create a database on the MS SQL server to keep the data from Informix.  In our case we took an existing database that we use for UCCX stuff and added a table that has the same data values and types as the RtICDStatistics table in the UCCX database.  The T-SQL code to do this is attached as "UCCX Snapshot Table.txt"

Step 4 : Create an SQL server job that copies data from the UCCX (Informix) database to the SQL database/table that was created in step 3.  Schedule this job to run every 5 minutes.  The T-SQL code to do this is attached as "UCCX Copy Stats.txt"

<><>

Now this could be done using any system - the logic is just "connect to UCCX", "get UCCX statistics from RtICDStatistics", "store them somewhere" and "repeat".

In addition to storing the RtICDStatistics, we also copy information about the state of each of our queues every 5 minutes.  It's the same method as copying the RtICDStatistics table only we work on the rtcsqsummary table.

Happy hacking!

Chakshu Piplani
Cisco Employee
Cisco Employee

For UCCX 8.x and above use the following command from CLI/SSH:

show uccx cad license usage


Regards,
Chuck

Please rate helpful posts and identify correct answers.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: