There's a mobile version of our website.
It has been a while since I posted my last version of the free of charge wallboard.
Some of you know that I changed jobs since (because my former employer did not like me working on the walboard). Since then I no longer have the option to further develop the script because the current employer is an Avaya shop for telephony.
I keep receiving a lot of request for the files, for unencrypted version, et cetera (and I note that a lot of people never read the full thread, which I have to say that I think that is just lame).
Because so many of you seem to enjoy the wallbaord and have great ideas for add ons and changes, I am posting version 2.4 which is last release I will post here.
The only thing changed from 2.3 to 2.4 is that I removed the encryption.
This will enable the Cisco netpro forum community to further develop this script. Note that the disclaimer file in the archive contains important info about how I would like you to handle the copyright (don't try to make mony from my efforts, unless you are willing to provide me a fair share :-))
Also important to know is that I had no possibility to run a test on this last version so it may contain small errors (shouldn't be the case, but just so you know).
Last but not least, since I have no test bed, I am unable to provide any form of support. So please, don't email me with support questions. If you do need to contact me for whatever other reason please send a mail to email@example.com
If statements on lines 160 - 180 and 215 - 235 are missing their "then" clauses. I have attached the updated file. Also the CSQ stats aren't displaying properly for me. They show up as just 1 row with the CSQ names with no data. I'm working on correcting that now. Agent stats display fine. When I turn on the option for overall ICD stats nothing happens. Not sure if that's a bug or if the functionality hasn't been built in yet.
Figured it out. The parameters.cfg was missing the Const's for the CSQ stats. Added them in from the wallboard.asp file. Now all CSQ stats and Agent Stats display fine.
Need to add the following lines to your parameters.cfg file to display CSQ info:
Const DisplayCSQloggedInAgents = 1
Const DisplayCSQavailableAgents = 1
Const DisplayCSQcallsWaiting = 1
Const DisplayCSQcallsHandled = 1
Const DisplayCSQtotalCalls = 1
Const DisplayCSQcallsAbandoned = 1
Const DisplayCSQlongestWaitDuration = 1
Const DisplayOverallStatsTrue = 1
I have written an IP Phone service to compliment this wallboard application. The service displays a subset of the information found in the wallboard app and also allows for sending alerts to the phones when certain queue thresholds have been met.
That service can be found here:
I've made some minor changes to correct some issues and add functionality.
Modified initial Select Case "" statement to instantly forward you to selected stats rather then wait for refresh timeout.
Modified Case "CSQStats" because it wasn't calling the correct function.
Added ICDStats function to enable displaying of overall ICD stats.
Last Round of updates for today...
Modified Select Case statment to take QueryString params that can be refereced elsewhere in the script.
(i.e. what was ?CSQstats or ?AgentStats...is now ?Stats=CSQ and ?Stats=Agent)
Added option to hold current displayed page. This option keeps the current page refreshing and prevents the application from moving to the next set of stats (CSQ, Agent, ICD).
"Modularized" the code to make it easier to navigate through, easier to add optional and separate code, and easier to give credit where due. Because i'm not aware of who's responsible for what, all modules that I haven't written have been credited to Leo. If other credit is due it should be added accordingly.
Side note, if this grows much beyond it currently development state I would suggest opening a sourceforge page for it to make it easier to maintain a proper versioning system, and easier for end users to obtain the lastest code, without having to sift through all of the threads on this page.
edit: I disabled the logos in the code and forgot to reenable them before I posted the latest version. If you wish to reenble the logos before the next code update remove the leading ' from lines 140, 259, and 368.
Great job in making it more modular. As said, it allows to provide proper credit. For all modules that where in the existing packet it was indeed me doing all the hard work on writing the code, testing it and making it work. However, in the disclaimer I do give credit to people who helped me big time with some specifics.
sourceforge page? Sounds like a great idea. If freely available I am more then willing to (one of the) moderator(s) of such page.
Again, great job so far ;-)
Ever since this project started I have received a lot of mails from people requesting if the reasoncode could be added. Well, the answer is yes, because you can basically add anything you would like.
In fact this is very simple (if you do have some coding experience. Sicne I have no test bed I am going to provide the rough guide lines, hoping someone picks it up to add this into the agent stats.
First, it would require the SQL query to change so it would actually get the reasoncode.
Today it looks like this:
strSQL = "SELECT x.resourceName, t.eventType, x.datetime FROM (SELECT t1.resourceID, t1.resourceName, MAX(t2.eventDateTime) AS datetime FROM Resource AS t1 INNER JOIN AgentStateDetail AS t2 ON t2.agentID = t1.resourceID GROUP BY t1.resourceID, t1.resourceName ) AS x INNER JOIN AgentStateDetail AS t ON t.agentID = x.resourceID AND t.eventDateTime = x.datetime ORDER BY x.resourceName"
Just change that string to this:
strSQL = "SELECT x.resourceName, t.eventType, t.reasonCode, x.datetime FROM (SELECT t1.resourceID, t1.resourceName, MAX(t2.eventDateTime) AS datetime FROM Resource AS t1 INNER JOIN AgentStateDetail AS t2 ON t2.agentID = t1.resourceID GROUP BY t1.resourceID, t1.resourceName ) AS x INNER JOIN AgentStateDetail AS t ON t.agentID = x.resourceID AND t.eventDateTime = x.datetime ORDER BY x.resourceName"
Now the query contains the reasoncode. However, you will have to translate the codes (small integers) to text to let it make sense on the display. If you wnt to to this neat, find out which table hold the values, make a querie that digs that table one time and loads the text values into local variables (make sure you define variables using dim).
Or, if your lame, like me, do something like this after the line "While Not objRS.EOF":
If objRS("reasonCode") = 1 Then
strReasonCode = "Lunch"
If objRS("reasonCode") = 2 Then
strReasonCode = "End of Day"
and so on
Last but not least, add a column to the table in the html output (I'll leave that up to your imagination).
I've been using a page similar to this for a while. I ran into this thread and found the solution to setting mix mode authentication on the SQL server.(not TAC supported) I've followed the instructions in the .doc file but am getting the following error when I switch to Windows only-
Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.
Login to share your discussion activity with your friends on Facebook. You can control what you share and turn off sharing anytime.
Your Facebook friends can now see that you have started this discussion
Your Facebook friends can now see that you have commented on this discussion
Your Facebook friends can now see that you have read this discussion