Free Wallboard for UCCX 506

Wallboard  noun
: a screen or web page designed to be shown on a tv/display mounted in a call center.  It provides real time stats that are easily view-able.

The Background

My company has never had a real wallboard – we’ve shown the built in UCCX real time statistics page on a projector in the past, but it’s always been a low rent affair.  So, as part of a new new system install, I was asked to integrate with the site’s wallboard.  It turns out that their wallboard was just a plasma TV displaying some queue and agent stats.  I think we can do this.
So, I began researching free wallboards that would work with my Unified Cisco Contact Center Express (UCCX) call center.  There are a number available, including a nice one from Tenox, as well as the Free of charge Wallboard 2.4.  I liked the Free of charge Wallboard, but it was broken for UCCX 8, and had a pretty dated look, so I decided to update this wallboard, making it compatible with UCCX 8 and up, as well as giving it a significant face-lift.

A new free UCCX wallboard is born

On to the good stuff, a description of this free to use Cisco call center wallboard. Let’s start with some of the screenshots of what the system looks like:

You can show multiple CSQs (customer service queues) on one screen

UCCX call center stats on a wallboard

the main CSQ pages shows each CSQ with quite a bit of detail.

Or you can focus on only one CSQ

By selecting the "OnlyOneQueue" option, you can focus on one CSQ

By selecting the “OnlyOneQueue” option, you can focus on one CSQ

You can also show summary CSQ data

UCCX ICD stats on a wallboard

An optional page that displays the totals for the entire call center


About the Wallboard

This wallboard is free to use.  As mentioned before, I am not the original author, however I’ve done a number of updates and modifications to the script, and think it looks and works quite nicely.  Some key features:

  • It’s free!
  • All configuration data is stored in a single commented file – it’s easy to see what need to be changed.
  • Updated style – most styling (the look and size of elements) is stored in a css stylesheet.
  • Works with UCCX 8 – 10 – this is reason enough to use this script (in my book)

What is shown on the display:

  • Logged in Agents
  • Available Agents
  • Talking Agents
  • Calls in Queue
  • Calls Handled
  • Total Calls
  • Calls Abandoned
  • Current Wait Time
  • Longest Wait Time

What do the different colors mean (gray / yellow / red)

  • grey – if you have available agents then the row containing your queue will show as grey
  • yellow – If you currently have no available agents (no one logged in, everyone talking, etc) the row will turn yellow
  • red – calls are holding in the queue for an agent to become available.



The overall idea is that you will have a windows server that will connect via an odbc connection to your UCCX server.  To view the wallboard, a client pc or wallboard machine will simply view the windows server default website.

Here’s how I did it:

  1. Create a windows server (I used a virtual machine).  I found it easier to use the 32 bit version of windows, since UCCX will only use the 32 bit Informix drivers.
  2. Install IIS on the Windows server, and include ASP.  Once installed, go to the IP of your Windows server and make sure that you see the default IIS website.
  3. Download and and extract the Wallboard (link at the bottom of this article).  Put these files in the default directory of your IIS install (usually C:\inetpub\wwwroot).
  4. On your UCCX server, you’ll need to know the uccxwallboard user password.  I had no idea, so needed to reset this.  Just go to Tools -> Password Mangement and change the password for the Wallboard User.   Do not use Special Characters like &!”$£, as it won’t work.  You’ll need to do this (and make the passwords match) on both servers if you have an HA cluster.   Note about wallboard users – Cisco specifically recommends  not using the uccxhruser, as it can cause high CPU utilization, so to stay on their good side, we’ll use the wallboard users and forego any agent data.password
  5. Also on your UCCX server, go to Tools > Real Time Snapshot Config and enable the “Data Writing Enable”, “ICD CSQs Summary”, “ICD System Summary”, and set the Data writing to whatever you like.real-time-snapshot
  6. Now you’ll need to download and install the IBM Informix database drivers.  You can find them here:  I used the 4.10 version.  Please note the extra hoops you’ll need to jump through to install this on Windows 64bit.  I installed all features except the OpenAdmin Toolinformix-install
  7. Now it’s time to configure the ODBC connection on your windows box.
    1. Launch the ODBC Datasource Administrator (Start -> Administrative Tools -> Data Sources (ODBC)
    2. Click the System DSN tab
    3. hit ADD
    4. Choose IBM Informix ODBC Driver
    5. Finish
    6. For Datasource name enter UCCX (you could pick anything you’d like)
    7. on the connection tab, enter the following
      1. Server Name – the name of your server with _uccx appended
        1. Convert all uppercase characters to lowercase characters
        2. Replace all hyphens with underscores
        3. If the host name starts with a number, add the prefix i
        4. Append _uccx to the server name
        5. For example, if your host name is 123-UCCX-1, your instance name will be i123_uccx_1_uccx
      2. Host Name – enter the DNS host name of your UCCX server (make sure the Windows server can ping this box – if not then you may need to add an entry in your hosts file for the name resolution).
      3. Service – 1504
      4. Protocol – onsoctop
      5. Database Name – db_cra
      6. User Id – uccxwallboard
      7. Password – the password from step 5dsn-connection
    8. Click the apply button
    9. On the Environment tab set the Client and Database locales to en_US.UTF8environment
    10. You should now be able to go back to the connection tab and hit “apply & test connection”, and have the test succeed.
  8. Finally, we’ll need to edit the parameters.cfg file that is currently in the wwwroot folder.

Configuring the parameters.cfg file

There are a ton of options in the parameters.cfg file, but luckily, there aren’t too many that have to be changed.  The file is well commented, so you should be able to figure it out.  Here are the highlights:

  • ServerURL = the url to your windows server that hosts your file.  include the full url with trailing /
  • DBsource = the IP address of your primary UCCX server
  • DBServer = the Server Name of your UCCX server from step 7.1 above
  • DBuserID and DBpass = the credentials for your wallboard user.
  • DSN = the name of your DSN connection from step 6 above
  • OnlyOneQueue = if you have only 1 CSQ then set this to 1.  this will cause the page to display taller, but will only show one CSQ

That should get you started.  You’ll notice that there is a good bit of coding in the script for agent data and stats.  It is not possible to use this to pull agent stats using the uccxwallboard user.  if you want to go against Cisco recommendations and use the uccxhruser, you can change the DisplayAgentsStatsTrue to 1, and pull information about agents.  I don’t do this on my production server.

Required files (you only need the latest version):


Agent status using the Finesse desktop by Lucas Marcel

Lucas added some code to show the status of individual agents without using the unsupported uccxhruser.  This only works if you are using the finesse desktop and uses the ‘User – Get List‘ ( finesse API which returns the current state of the agents in a XML file. It won’t give you user stats so it’s not a replacement for using uccxhruser.

Test that the API is working for you by browsing to:

Below is the code added to generate a basic table with two columns: Agent (showing the agent first and last name) and State (shows READY, NOT_READY, TALKING, etc.). I am filtering on the team name to show only a subset of agents. You will need to replace “https://nctdgao-cuccx1:8445/finesse/api/Users/”,  “admin_user”, and “admin_password” with what makes sense in your environment.


506 thoughts on “Free Wallboard for UCCX

  1. dlowe Jan 5,2018 2:06 pm

    I am having issues getting the stats. I was able to get the ODBC and site to connect to the UCCX database but the stats are showing “0”. I am running on Windows server 2016. I was also looking for the 64bit version of Infomix if someone could link it. Thanks.

  2. Chris Z Jan 4,2018 4:45 pm

    Wrote this simple powershell Script to scrape the wallboard and email managers. This became a necessary when we had a person covering our weekend call center and they walked out.

    ## 01-04-2018
    ## Script to email managers when no agents logged into the first CSQ listed on Wallboard app
    ## To add additional rows copy/past three lines change NoAgent string and add 9 to csqColumnData number
    ## Chris Zetah
    $smtp = “10.x.x.x”
    $to = “”
    $from = “”
    $sub1 = “No Agents Logged In”
    $body1 = “Alert: Their are no agents currently logged into”
    $uri = “”
    $html = Invoke-WebRequest -Uri $uri
    ##Row 1 on Wallboard
    $NoAgent1 = ($html.ParsedHtml.getElementsByClassName(“csqColumnData”)[0] | select -expand innertext)
    If ($NoAgent1 -lt 13) {Send-MailMessage -To $to -From $from -Subject $sub1 -Body “$body1 Sales CSQ” -BodyAsHtml -SmtpServer $smtp}
    ##Row 2 on Wallboard
    $NoAgent2 = ($html.ParsedHtml.getElementsByClassName(“csqColumnData”)[11] | select -expand innertext)
    If ($NoAgent2 -lt 1) {Send-MailMessage -To $to -From $from -Subject $sub1 -Body “$body1 CS CSQ” -BodyAsHtml -SmtpServer $smtp}

  3. Tim L Dec 13,2017 5:10 pm

    So, this is new territory for me and I’m no developer. However, this looked pretty straight forward, so I thought I’d give it a shot. I think I’m almost there, but just missing something simple and obvious.

    I have my software downloaded, I’ve created a successful ODBC connection from my server that will display the Wallboard. I have IIS running on that same server. I’ve modified my parameters.cfg file.

    When I browse to my URL, I receive:
    500 Internal server error – There is a problem with the resource you are looking for, and it cannot be displayed.

    After my URL, it shows:

    What am I missing?

    • Terry Mason Dec 13,2017 9:35 pm

      Check that you have asp installed as well as asp classic in iis, and make a test asp page and see if that works. I think your problem lies in the initial server config.

      • Tim L Dec 14,2017 9:41 am

        Thanks for that info. Under my Wallboard Server’s IIS config, ASP and ASP 4.5 are enabled, but ASP 3.5 was not. I went ahead and enabled 3.5, but that did not resolve the issue.

        One other item worth noting is that when I browse to the URL via localhost on the actual Wallboard server, I don’t receive the 500 internal server error, but rather a black screen, as if it’s trying to display something, and there’s a small link, labeled “here” and it’s a link to, (no idea why).

        Probably a silly question, but do I need to only have classic ASP enabled and not 3.5 and 4.5?

      • Tim L Dec 14,2017 12:30 pm

        ….additionally, I probably should have mentioned that I’m running version 11.5. With that, is 1.42 compatible with 11.5?

      • Tim L Dec 15,2017 2:48 pm

        Anyone have any idea with this?

        It fails with either my customized parameters.cfg, or if I try the original, default parameters.cfg.

        I have this on a Windows 2012 Server (Datacenter). I have disabled all ASP, except for the classic version.

        My ODBC connection to the db_cra UCCX database is connecting successfully.

  4. James White Nov 28,2017 9:08 pm

    Hello Everyone.

    I am doing a complete rewrite and about 90% complete of a wallboard. It uses only API’s along with jquery. This doesnt require a connection to the informix database, so no installation and works only with the Finesse Desktop (that I am aware of). I have UCCX 10.6 and works good. The only thing with 10.X it doesn’t allow cross-origin domain. IE will need to be setup to allow CORS on the Domain side, not public side (will have instructions), Chrome and Firefox requires CORS plugin. UCCX 11.6 they allow CORS so this is not a issue. I will have instructions as well on configuring as I don’t know how to make it modular with a separate config file, but it will still be easy to configure.

    Let me know what you all think and I will see if the Author will want to post it here when completed along with screen shots. I started out using GURU Wallboard and wanted to give back to the users and away from using the UCCXHRUSER for agents. This will display agents states and even reason why not ready and no, none of the code is stolen as it is completely built from ground up.

  5. Bahram Najafi Nov 7,2017 1:24 pm

    i have windows 10 64 bit and i installed sdk 4.10 and thats connection with uccx is successfuly but when i open wallboard in my browser it shows this error please help me.
    An error occurred on the server when processing the URL. Please contact the system administrator.

    If you are the system administrator please click here to find out more about this error.

    • Tim L Dec 15,2017 4:02 pm

      This is the same issue that I am having. I have tried this on a Windows 2012 server, and have now tried it on a Windows 7 machine. Both give the same error and the same error you are receiving. I am running UCCX 11.5.

      I have another thread where I asked about this a couple days ago, but I have not heard back yet.

      I really hope to get this figured out as this will be a great tool for us.

  6. Bahram Najafi Nov 5,2017 3:16 pm

    hi. in my wallboard page is black and that write “here” just.
    i followed same you but that doesnt show anything.

  7. Jeff-Michelle House Oct 9,2017 2:42 pm

    I have been using this wallboard for a while now and after my recent upgrade from 11.5 to 11.6 my CSQ wallboard keeps randomly giving me 500 Internal server errors. nothing has changed and my CSQ summary wallboard works without issue (500 errors). both are served from the same IIS server. thoughts?

    • rbegue Oct 11,2017 4:36 am


      Has this been resolved? I am having the same issue at present with 11.5. We cannot work out why it is doing it?
      Can you please let me know how you resolved it as we go live with the new phone system next week Friday.


      Rod Begue

    • lsantos Oct 23,2017 10:11 am


      Can anybody help me about this issue, when I try to apply and test connection I get the informantion box:

      “”Test connection was NOT sucessful.[Informix][Informix OBDC Driver][Informix]Incorrect password or user uccxhruser@srv-reporting.hipogest.pri[SRV-REPORTING.hipogest.pri] is not known on the database server””

      What could be the cause of this?

  8. Michael Serwon Sep 27,2017 12:22 pm

    Great Wallboard.

    I need to display the average answer speed. Basically total queue time/ calls handled.

    Any pointers on how to do this?

  9. Jeff-Michelle House Aug 28,2017 12:39 pm

    I figured out how to display the summary CSQ stats (ICD Summary). question, is it possible to have the CSQ Summary page change colors at defined caller hold times (like the CSQ pages do)? thanks!

  10. Simon Leigh Aug 14,2017 11:28 pm

    Love this wallboard!

    Any pointers on how to display the average wait time?
    Would be happy to change this for the longest wait time.

  11. Lucas Marcel Aug 11,2017 4:40 pm

    Text got deleted in my previous comment because of formatting.

    Insert FQDN before the port number in the API URLs.

    Edit the following 2 lines accordingly:

    .open "GET", "https://nctdgao-cuccx1:8445/finesse/api/Users/", false, "admin_user", "admin_password"

    If (StrComp(user_property.nodeName,"teamName") = 0) AND (StrComp(user_property.text, "name_of_your_team") = 0) Then

  12. Lucas Marcel Aug 11,2017 4:19 pm

    Thanks for this, it’s working great.
    I added some code to show the status of individual agents without using the unsupported uccxhruser.
    Instead I used the ‘User – Get List‘ finesse API which returns the current state of the agents in a XML file. It won’t give you user stats so it’s not a replacement for using uccxhruser.

    Test that the API is working for you by browsing to:

    Below is the code I added to generate a basic table with two columns: Agent (showing the agent first and last name) and State (shows READY, NOT_READY, TALKING, etc.). I am filtering on the team name to show only a subset of agents. You will need to replace , , and with what makes sense in your environment.

    Dim objRequest, objXMLDoc, objXmlUsers
    Dim user, user_property
    Dim node_firstname, node_lastname, node_state

    Set objRequest = Server.createobject("MSXML2.ServerXMLHTTP")

    With objRequest
    .SetOption 2, objRequest.GetOption(2) - SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS
    .open "GET", "https://nctdgao-cuccx1:8445/finesse/api/Users/", false, "", ""
    End With

    Set objXMLDoc = Server.createobject("MSXML2.DOMDocument")

    Set objXmlUsers = objXMLDoc.getElementsByTagName("User")


    For Each user In objXmlUsers
    For Each user_property In user.ChildNodes
    If (StrComp(user_property.nodeName,"teamName") = 0) AND (StrComp(user_property.text, "") = 0) Then
    Set node_firstname = user_property.parentNode.getElementsByTagName("firstName")
    Set node_lastname = user_property.parentNode.getElementsByTagName("lastName")
    Set node_state = user_property.parentNode.getElementsByTagName("state")

    Response.Write("" & node_firstname.item(0).Text & " " & node_lastname.item(0).Text & "" & node_state.item(0).Text & "")
    End If



    Hopefully it helps somebody.

    • Terry Mason Aug 17,2017 8:59 am

      Thank you for your contribution. I’ve posted the code you submitted, however I no longer have access to the finesse desktop (I’m back on CAD for the time being). Could you let me know if I’ve missed anything?

    • younes.chafi Oct 19,2017 8:48 am

      Hi Lucas,

      I have implemented the WallBaord, it works very well with UCCX 11.5.

      Thank you for this work.

      On the other hand, I want to implement the XML code to have the agents stats, I saved the file in XML format, and I put it on the browser and I get an error:

      ” This page contains the following errors:
      error on line 1
      Below is a rendering of the first error .”

      first, how can I integrate this code with the Wallbaord system?

      Thank you for your support.


    • James White Oct 23,2017 4:17 pm

      Thank you so much! This is awesome as that is all I display with the UCCXHRUSER anyways. Well I am not a web developer. I have to figure this one out, how to get it to work.

  13. shm2105 Jul 12,2017 10:25 am

    Is there a way to display agent state by teams. The plan is to see who is ready, not ready, logged out, for each team in real time.

  14. craig.allcock Jul 12,2017 8:38 am


    as we have 12 CSQ’s is there anyway of making them display on more than one page rather than having to scroll through them>?

  15. shm2105 Jul 11,2017 4:49 pm

    Can you let me know after completing all the steps how do I connect to the wall board, what is the URL?

  16. Jeff-Michelle House Jul 10,2017 1:15 pm

    Hi, is there any way to show the summary CSQ data for a specific team? Also, where is the config option to show the summary CSQ data, I can’t seem to locate it in the config file. Thanks!

  17. M N Jul 7,2017 9:46 am

    Does this script have any parameters to allow highlighting of individual CELLS based on value, or only the entire row?

  18. Adam Nihiser Jun 30,2017 11:09 am

    Guys this is wonderful. I’ve been reading through all of the comments and the work done is outstanding. Thank you.

    I am wondering if there is anyway to manipulate the csqname variable? I would like to move it from the top of the csqwrapper so it is positioned in front instead of the top?

    I am no web dev but I’ve been analyzing the code and see no easy way to manipulate the positioning. Any ideas?

    Thanks in advance for any time given to this question.

  19. sme31 Jun 27,2017 7:52 am


    I’ve modified the default.asp file and the paparmeters.cfg file to now cater for the scenario of a HA cluster failing over to a secondary server from the primary.

    Not sure how to upload the modified files, but I’m happy to make them available if you’d like them. (I say this as the original files included a line or two saying I am allowed to modify them but if I do I should post them here?)

  20. sme31 Jun 23,2017 5:32 am

    I have been using this (great) wallboard for a while now but yesterday it suddenly stopped working.

    We have a HA UCCX cluster here and we had to restart the engine on the primary so it reverted to the secondary – which stopped the wallboard updating.

    I had to change the Const DBsource = value and the Const DBServer = value to the secondary server instead of the primary and it all fired up again.

    Is there a way to make this automatic?

    • Terry Mason Jun 23,2017 8:38 am

      You are correct that this is an issue. You can do what you did, and edit the script, or you could fail the cluster back over. There isn’t currently any intelligence in the script to try one node, then the next.

      • sme31 Jun 26,2017 4:29 am

        Thanks Terry, that’s what I thought. I’ll have a tinker to see if there is an easy way to adjust the .asp to resolve this. But at a first glance it’s not that straightforward as the DB connection seems to return success, and its just that the data is not updated. So how you distinguish between this case, and the stats just not having changed for a while is going to be tricky.

        Unlass anyone has any suggestions?!

  21. scratch May 3,2017 2:48 pm

    Hello, we have been using the wallboard without any problems for a while. We recently upgraded to UCCX 11.0 and it had still been working (or at least noone noticed that it wasn’t!) but now it seems to have lost connection to the database, and when I attempt to reconnect the ODBC connection I get the following error: [Informix][Informix ODBC Driver][Informix]Incorrect password or user[] is not known on the database server.

    TCV2013 is the name of the server it is running on, and it looks to me that this formatting is what is causing the problem. I have tried changing the wallboard user password multiple times with no luck, has anyone run into this problem?

    • scratch May 3,2017 3:11 pm

      Ok, I was able to get the first issue resolved, but now it does not show anyone as being logged into the queue. The only changes I have made are to the ODBC connection (I just recreated this) and the DBpass in the parameters.cfg file.

    • leepmarson Oct 18,2017 7:26 am

      I am having the @servername issue. what was the fix please. I am using UCCX 11.6 and ODBC 4.10


  22. Habbers Apr 26,2017 5:40 am

    First and foremost, thanks for developing the wallboard, so much better than trying to use CUIC.

    I have looked through the posts and can’t find an answer to my issue.

    The [Calls Dequeued] output does not reset to zero each morning.
    I have a queue that has the [Calls Dequeued] slowly counting up, day by day and is never reset.
    Is there a way to force this to reset when the rest of the values are reset by UCCX?

    Any help appreciated

  23. markv Mar 20,2017 3:38 pm

    Can you have multiple wallboards showing just that groups stats off the 1 server? If so, what is the secrete?

  24. uccxadmin Mar 16,2017 8:01 am

    Hello UCGuru,

    I have followed your instructions to set up wallboard on CCX 8.5.1SU4, but when i try to access the web url, from another machine, i get 500 Internal Server Error

    and when i try to access the IP on the windows server itself. i see a black screen ..

    can you please advise, how to resolve this issue ?

  25. kashif.faiyazi Mar 9,2017 5:36 am

    Hi Gurus,

    I am getting a black screen with the message “An error occurred on the server when processing the URL. Please contact the system administrator.
    If you are the system administrator please click here to find out more about this error.
    ” Please help me understand where did I go wrong. I am a new bee and just wanna configure something for my team.

  26. Dominique Graves Mar 2,2017 1:29 pm

    Hi UCGuru. First of all, thank you for the awesome Wallboard! You rock. I am doing some customization and I have a few of questions. I am by no means a web designer, so I’m stumbling through this. I’m surprised I got it running in the first place. (on a Win2012R2 server)

    1. Is there a way to change the CSQ_Container color for the ones that have an Alert status? For instance, when the “ArtNoAgentsAndCallsInQueue” turns red, is there a way to change the CSQ_Container red as well instead of the default CSQ_Container color?

    2. It seems when I set the Const DisplaySpecificCSQ to 1 to display specific CSQs, the maximum that shows up is 16. I have 29 CSQs I wish to display.

    3. Or even better than displaying 29 CSQs on one page… is there a way to display 6 CSQ’s per page and have the pages shuffle?

    • Dominique Graves Mar 3,2017 11:35 am

      I figured out the answer to my #2 question. I found the parameters in the default.asp and added additional lines for the amount of CSQs I have. 🙂 I’ll try to figure out the answers to my other questions but would love input.

      • Dominique Graves Mar 9,2017 6:11 pm

        I read through all of the comments and found KingRichards solution which is to this and it worked for me!

        “I just put them in a second folder/page. For example… IPAddress/Stats, and IPAddress/Stats2
        Then I use the Revolver Tabs (in Chrome), to switch between the two tabs.”

  27. DerKneissl Feb 16,2017 3:25 am

    Hi all,

    thanks for this great Wallboard, it really works well! The only problem I’m facing, on a big TV connected to a rasperry PI(using Chromium), it flash white as soon as the board is being refreshed. Has anyone seen this behaviour? It works fine on older PI’s with different Chromium version.
    Many thanks!

  28. jim Feb 3,2017 11:13 am

    Would it be possible to add this in the next version:
    If (Current Wait Time > Longest Wait Time) Then (Longest Wait Time = Current Wait Time)

  29. voip_n00b Jan 16,2017 11:42 am

    Recieving “0”‘s in all CSQ fields after upgrading UCCX to version 10. I am using version 1.4 of the wallboard. Any ideas?

    • Terry Mason Jan 16,2017 12:46 pm

      Did the IPs or hostnames change?
      Did the password to the wallboard user change?

      • voip_n00b Jan 16,2017 12:48 pm

        No to both. When checking on the changed password I attempted to change it in the GUI. The GUI tells me the password I attempt to change it to is the same as the old.

      • voip_n00b Jan 16,2017 12:58 pm

        Set ipcc version as 10 in the parameters folder and have the following options set as well:
        //Choosing which queues to show and setting up pretty names for them
        Const OnlyOneQueue = 0 //1 if you only have 1 queue – 0 if you want to display multiple. This will switch between a 9 colum row and a 3 x 3 table
        Const DisplaySpecificCSQ = 1 //0 to show all CSQs 1 to show specific queues (you will then have to put the name of each below). CSQs will be displayed in the order entered.
        Const usePrettyNamesIfDefined = 1 //if you enter something a pretty name for the queue – should we use it
        Const UCCXCSQ1 = “SupportCenter” //Name of your queue – i.e. My_Callcenter_CSQ
        Const UCCXCSQ1friendlyName = “Support Center” //friendly name for this queue (that will be displayed in the row title)
        Const UCCXCSQ2 = “”
        Const UCCXCSQ2friendlyName = “”
        Const UCCXCSQ3 = “”
        Const UCCXCSQ3friendlyName = “”
        Const UCCXCSQ4 = “”
        Const UCCXCSQ4friendlyName = “”
        Const UCCXCSQ5 = “”
        Const UCCXCSQ5friendlyName = “”
        Const UCCXCSQ6 = “”
        Const UCCXCSQ6friendlyName = “”
        Const UCCXCSQ7 = “”
        Const UCCXCSQ7friendlyName = “”
        Const UCCXCSQ8 = “”
        Const UCCXCSQ8friendlyName = “”
        Const UCCXCSQ9 = “”
        Const UCCXCSQ9friendlyName = “”
        Const UCCXCSQ10 = “”
        Const UCCXCSQ10friendlyName = “”
        Const UCCXCSQ11 = “”
        Const UCCXCSQ11friendlyName = “”
        Const UCCXCSQ12 = “”
        Const UCCXCSQ12friendlyName = “”
        Const UCCXCSQ13 = “”
        Const UCCXCSQ13friendlyName = “”
        Const UCCXCSQ14 = “”
        Const UCCXCSQ14friendlyName = “”
        Const UCCXCSQ15 = “”
        Const UCCXCSQ15friendlyName = “”

        //what to show on the page
        Const DisplayCSQStatsTrue = 1
        Const DisplayCSQloggedInAgents = 1
        Const DisplayCSQavailableAgents = 1
        Const DisplayCSQtalkingAgents = 1
        Const DisplayCSQcallsWaiting = 1
        Const DisplayCSQcallsHandled = 1
        Const DisplayCSQcallsDequeued = 1 //determines the calls dequeued by (callsDequeued = totalCalls – callsHandled – callsAbandoned)
        Const DisplayCSQtotalCalls = 1
        Const DisplayCSQcallsAbandoned = 1
        Const DisplayCSQlongestWaitCurrent = 1
        Const DisplayCSQlongestWaitDuration = 1
        Const DisplayOverallStatsTrue = 1
        Const DisplayICDTotalCSQs = 1
        Const DisplayICDStatsTrue = 0 //show the stats for all CSQs totaled
        Const DisplayICDloggedInAgents = 1
        Const DisplayICDavailableAgents = 1
        Const DisplayICDcallsWaiting = 1
        Const DisplayICDcallsHandled = 1
        Const DisplayICDtotalCalls = 1
        Const DisplayICDcallsAbandoned = 1
        Const DisplayICDlongestWaitCurrent = 1
        Const DisplayICDlongestWaitDuration = 1
        Const intAgentStatsMaxDays = 1
        Const intAgentStatsMaxHours = 8
        Const intAgentStatsMaxNotReady = 5
        Const intCSQStatsMinAgentsAvailable = 1
        Const intCSQStatsMaxQueuedCalls = 0
        Const TextColor_PageHeader = “Navy”
        Const TextColor_TableHeader_CSQStats = “Navy”
        Const TextColor_TableHeader_AgentStats = “Navy”
        Const TextColor_TableHeader_ICDStats = “Navy”
        Const TableColumnHeader_CSQStats_Column1 = “CSQ Name”
        Const TableColumnHeader_CSQStats_Column2 = “Logged In Agents”
        Const TableColumnHeader_CSQStats_Column3 = “Available Agents”
        Const TableColumnHeader_CSQStats_Column4 = “Talking Agents”
        Const TableColumnHeader_CSQStats_Column5 = “Calls In Queue”
        Const TableColumnHeader_CSQStats_Column6 = “Calls Handled”
        Const TableColumnHeader_CSQStats_Column7 = “Total Calls”
        Const TableColumnHeader_CSQStats_Column8 = “Calls Abandoned”
        Const TableColumnHeader_CSQStats_Column9 = “Current Wait Time”
        Const TableColumnHeader_CSQStats_Column10 = “Longest Wait Time”
        Const TableColumnHeader_CSQStats_Column11 = “Calls Dequeued”
        Const TableColumnHeader_ICDStats_Column1 = “Total CSQs”
        Const TableColumnHeader_ICDStats_Column2 = “Logged In Agents”
        Const TableColumnHeader_ICDStats_Column3 = “Available Agents”
        Const TableColumnHeader_ICDStats_Column4 = “Calls In Queue”
        Const TableColumnHeader_ICDStats_Column5 = “Calls Handled”
        Const TableColumnHeader_ICDStats_Column6 = “Total Calls”
        Const TableColumnHeader_ICDStats_Column7 = “Calls Abandoned”
        Const TableColumnHeader_ICDStats_Column8 = “Current Wait Time”
        Const TableColumnHeader_ICDStats_Column9 = “Longest Wait Time”
        Const TableColor_ICDStats = “White”
        Const TextColor_ICDStats = “Green”
        Const TableColor_CSQStats_StatusOkay = “White”
        Const TableColor_CSQStats_AlertNoAgents = “White”
        Const TableColor_CSQStats_AlertCallsInQueue = “White”
        Const TableColor_CSQStats_ArtNoAgentsAndCallsInQueue = “White”
        Const TextColor_CSQStats_StatusOkay = “#262626”
        Const TextColor_CSQStats_AlertNoAgents = “Orange”
        Const TextColor_CSQStats_AlertCallsInQueue = “Orange”
        Const TextColor_CSQStats_ArtNoAgentsAndCallsInQueue = “Red”
        Const TextSize_ICDStats = 5
        Const wallboardFooterCredit = 0

      • voip_n00b Jan 16,2017 4:22 pm

        FIXED. Had to disable and re-enable real time snapshot on UCCX on all servers in my cluster.


  30. jthomasten13 Jan 10,2017 9:58 am

    Is there a way to add Reason Codes and time in the Reason Code? If so how?

  31. Tim Ames Dec 9,2016 4:31 pm

    Thanks for the information. I am trying to figure out why I am getting the black screen showing. If I highlight I find the words:

    An error occurred on the server when processing the URL. Please contact the system administrator.
    If you are the system administrator please click here to find out more about

    After playing with this for a while I installed the Tenox wallboard using the ODBC connector I made for this and it worked right away.

    I read thru the comments today and saw that I would need to allow 32bit applications in IIS7 on my 2008R2 server and I did that but still have the same issue.

    I have tried to change as little as possible so that I don’t accidently mess it up. I know I am close and that it is reading the file. Any help would be greatly appreciated.

  32. Eric Labelle Nov 29,2016 2:00 pm

    Our company just migrated to 11.5 version. Since the migration, i changed the uxxwallboard user password and i change the version in the parameter file to version 10. My IIS server connects to the UCCX server, but my wallboard keeps displaying “0” everywhere. Did anyone face the same situation?

  33. Chriss Nov 20,2016 8:16 pm

    I get the wallboard up and running for a few seconds until the page automatically refreshes; the URL changes and causes the page to return a HTTP 404.0-not found.

    Any ideas on what might be causing this and how to fix this?


    • Chriss Nov 20,2016 9:19 pm

      Nvm i got it working now (somehow) by adding a new website in IIS.

      My question now is whether it is possible to decrease the time delay between when a phone call is placed to when the call is actually displayed in queue. We calculated that it’s takes about 35 seconds to update.

      Is it possible to shorten this time? Thanks

      • Terry Mason Nov 21,2016 11:18 am

        Take a look at the install instructions above, specifically step 5.
        Then you’ll need to think about how often you refresh the wallboard page. The more often you refresh, the newer the data.

  34. JL Harris Nov 18,2016 12:10 pm

    The Wallboard is really GREAT! Thank you very much. Easy setup, config. I would like to run this on a web server for multiple departments to access their individual Call Stats as a wallboard. How would I configure so that each department only viewed their info? Separate folders in the wwwroot folder? Also, is there a way to display agent names and login status on a second page so that Page 1 displays CSQ info and Page 2 displays Agent State?

  35. Chase M Nov 7,2016 11:17 am

    Is there a way to change the offset for standard time on the Agent Statistics page? Currently the “Time in Status” is 1 hour behind…

    • mminelli Mar 13,2017 12:45 pm

      Having the same issue today after the time change. You ever fix this?

      • mminelli Mar 13,2017 1:32 pm

        We found the answer to this. Under the “Default” page, we had to edit this part of the code:

        ‘ calculate the difference between current date/time and date/time of the last event change,
        intStatusSeconds = DateDiff(“s”,(EventHappenedDateTime – .20833),CurrentDateTime)

        We changed the .20833 to .16666 and it was close enough for us. I am in Detroit MI and we jumped ahead one hour. I assume this has to do something with EPOCH time coming from the Unix database.

  36. jgranger125 Nov 2,2016 9:59 am

    I’ve got the wallboard installed on 2012 R2. I only see a black screen with the logo at top left and “UCGuru Wallboard v1.42” at top right. IIS logs look like this:

    2016-11-02 13:56:03 GET /default.asp Stats=CSQ 443 – Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:49.0)+Gecko/20100101+Firefox/49.0 – 200 0 0 62

    2016-11-02 13:56:18 GET /default.asp Stats=ICD 443 – Mozilla/5.0+(Windows+NT+10.0;+WOW64;+rv:49.0)+Gecko/20100101+Firefox/49.0 – 200 0 0 62

    Any thoughts on what the issue may be? Thanks.

  37. shayandes Nov 1,2016 11:41 pm


    It’s a great solution. We have multiple queues used by different departments. I want to displace the wall board for a specific queue. So, I guess I need to make “Const OnlyOneQueue” to 1. Where do I specify the number of the queue I want to display?


  38. george Nov 1,2016 1:47 am

    Has anyone modified this to show the agent stats on a cisco phone? Any pointers would be appreciated.

  39. Eric Labelle Oct 13,2016 10:01 am

    Great wallboard, thanks to all for all your advises, experiences and instructions. Had it working in no time following all of your advises. I’ve even been able to work the .asp file to make some minor changes to the layout. Does anyone know if it’s possible to had the average waiting time variable in the wallboard (at least in the ICD section)?

  40. Greg Atkins Sep 13,2016 1:05 pm

    I can’t get this to work after following the guide. I keep getting a 404 file or directory not found (when going to http:///default.asp. I can access the default IIS page when just going to http://localhost. Is the UCGuru folder supposed to be at the root directory of the wwwroot folder?

  41. james.kell.58 Sep 7,2016 8:57 pm

    Just a tip for anyone who experiences the same issue as me …

    The wallboard would stop at random intervals with the “500 – Internal server error”. It only required a refresh to continue but it would re-occur some time later. The IIS logs showed |442|80020009| at the time of failure.

    There is code in the CSQ module that references the SQL result set without first checking for EOF:

    If displayPageHeader = 1 Then
    Response.Write “”
    Response.Write “stats began at ” & objRS(“startdatetime”) & ” EST”
    Response.Write “”

    I’m not sure why but it appears that the SQL request would sometimes return null and the code would fail at this point. I added “And Not objRS.EOF” in the IF statement and the failure has stopped occurring.

    The new IF statement is:

    If displayPageHeader = 1 And Not objRS.EOF Then

    Or you can just turn off the displayPageHeader in parameters.cfg which will stop this part of the code from executing.

    Good luck.

  42. derek andrew Sep 6,2016 3:39 pm

    It is working here on UCCX 11.0(1).

    • Leonardo Saavedra Sep 14,2016 5:54 pm

      HI!… do you set the v10 on the parameters.cfg?

    • derek andrew Oct 11,2016 5:24 pm

      Ran into a weird problem. We were running UCCX 11.0(1) but we were on the 100 agent OVA. We got some licences so over the weekend, I took a backup, deployed the 400 agent OVA, and restored. Nothing else changed, still 11.0(1).

      Now, the wallboard stopped working with a “500 – Internal server error”.

      I brought up the old 100 agent OVA, and there was total success. The wallboard worked. I brought up the the 400 agent OVA and it fails with the 500 error!

      I have narrowed it down thus:

      When building the DSN, at the press apply and test step, running the 100 agent it says “Test connection was successful“.

      At the same point, running the 400 agent it says “Test connection was not successful. [Informix][Informix ODBC Driver][Informix]Incorrect password or user is not known on the database server.” (where machine is the name of the pc running the UCGuru wallboard.)

      I am baffled and befuddled. The 400 agent version was restored from the backups of the 100 agent.

      Oh, and I did check the uccxwallboard password. I set it to the same value it had had and received a message that it was already that value.

      • derek andrew Oct 13,2016 1:19 pm

        Problem solved. There was a Cisco bug, CSCul06940. For some unknown reason, the uccxwallboard password gets changed, and you cannot change it on the Tools>Password Management web page.

        This wallboard does work on 11.0(1).

  43. Joey Gore Aug 31,2016 10:42 am

    Thanks for this awesome Wallboard! We have been using it for close to a year now. One thing that has been asked, is if we can display an active list of agents that are configured for a particular skill/queue. We do skill based allocation and we have a CSQ that matches the Skill that the agent needs to answer calls in that CSQ. Can we update the ASP and/or Parameters.cfg file to pull Current Agents with a particular skill? Our supervisors are constantly moving agents around in different skills/queues and we was looking to see if there is faster way to have it displayed other than going through UCCX administration. Thanks


  44. Charlie Taylor Aug 9,2016 1:15 pm

    This should be an easy one for you guru’s after reading all 4 pages of thoughts looking….

    Have all installed all S/W and dBconnection passes, IIS works but get the black screen that has the ‘server processing URL error / click here more info’ issue that was mentioned a few times here. A couple of solutions has a 32bit fall back fix which I can’t do. The page comes up with ‘My Company Wallboard’ tab so we know its close.

    Any suggestions:
    UCCX – 10.6
    IIS Server – Win7/64

    Do I need anything else in the ServerURL line?

    //DB and URL settings
    Const IPCCversion = "10"
    Const ServerURL = ";
    Const DBsource = ""
    Const DBServer = "houesccx01_uccx"
    Const DBdatabase = "db_cra"
    Const DBuserID = "uccxwallboard"
    Const DBpass = "12345"
    Const DSN = "UCCX"

    Thanks for any help

  45. wiscodisco Jul 28,2016 7:32 am

    So I have a stupid question.

    Where do I find the team ID’s? I can find the name just on the web interface but I have no idea where to look for the number associated with that.

    Other then that everything is working great.


    • James White Sep 26,2016 2:38 pm

      So what you have to do is change the uccxwallboard username to uccxhruser in the ODBC connection and the parameters.cfg.

      Ensure that you know the uccxhruser password, if not reset it in UCCX. This password only affects external wallboards. DO NOT USE SPECIAL CHARACTERS! Then, for the UCCXTeamID will be a number. I have four teams total, the default, and three others. My last team-id is 6. That you may need to play with as it seems the team-id increments by 2 in between the teams.

      I hope this is helpful!

    • BJ Beej (The Wizardzface of Oz) Mar 28,2017 10:16 pm

      The below command will give you what you need.
      run uccx sql db_cra select teamid,teamname from team

      Example output
      1 Default
      10 TEAM-BLAH
      11 TEAM-ALPHA
      13 TEAM-DELTA
      14 TEAM-ECHO
      15 TEAM-TEST

  46. DrPopcorn Jul 5,2016 5:33 pm

    Just got this up and running, thank you very much for developing this.

    We’re trying to change the time when our stats ‘reset’ on the wallboard. Currently it is resetting at 00:01; we would like to be able to set stats to reset at 05:30. Is there an easy way to do this?

    • Terry Mason Jul 5,2016 7:11 pm

      The wallboard pulls from a wallboard database on your UCCX server. The reset of the stats happen on the UCCX server – I don’t think there is any way to control when it resets though.

Leave a Reply