I am writing an App that currently uses the snapshot tables that are written for wall board stats etc. however these are a minimum of 5 seconds out of date (shortest interval)
what I am trying to put togther is either an SQL statement to get the same directly via the tables or find an existing stored procedure.
ideally I want call queue stats in realtime (a bit like the java real time reporting)
It is not really "real-time". You will still see the 5 seconds delay. The snapshot tables are the most real-time that you can get. Remember that there is a delay in CAD /CRS writing the data to these tables. I don't know if you can write to JTAPI directly to avoid this delay.
OK. I just figured that the snapshot must be looking at a bunch of the tables (which I am finding hard to figure out from the database schema docs) in order to write the snapshot tables.
I was hoping that might be a stored procedure in the same manner as those used by most/all of the built in reports.
I wondered if for example I could look at the call detail table or csq detail table to get the number of calls in a queue realtime.
guess I'll have to live with 5 seconds delay.
Sorry, I have always seen the tables delayed. CAD has the real-time data and so it displays in the CAD and CSD the real-time stuff. I always see the tables are written slowly. But this I can seen in versions 3.5.X and below. I haven't worked on 4.X versions. So, I cannot vouch for that.
Did you get this accomplished. We want to do the same thing but trigger an XML app on the phone to prompt more agents to login.
After futher testing it appears Sanjeev is right in that the databases are not written to in real time but rather written to as a process an thus you arnt going to get any more "real time" data out of it.
also a lot of the stats that get written to the real time snapshot databases appear to be sourced from memory rather than the database which is why I guess they get reset after and egine stop/start.
I am looking to decode the Remote Java Applet used by the real time reporting to see if I can retrieve the info that way.
Another way that might work in your environment is to add a step in the script to post the info from a get reporting statistic, or even just if noone is available and do that via a HTTP link to another app.
Unfortunately we have Express Enhanced so not licenced for that.
Let me know if you find out any further information on the Remote Java applet. Also, Please rate my posts. Thanks.
The statistics not being captured real-time has been a issue atleast @ 1 customer for me. Hopefully, spanlink gives use access to their real-time objects in the future.
Right update. After some serious etherreal'ing and a bit of hacking I can now get CSQ stats in around 0.5 seconds realtime. In reality I'll go for less, but with some more hacking and reponse checking I could possibly get this lower.
I'm emulating the JRMP with socks in VB ATM becuase I chose the wrong day for java to be my weakest language.
I'll persue this a little further then maybe post up some code on a website.
Any chance you'd be willing to share that application you created? We have a similar need here. Is it just a simple matter of reading data from the ip and port or are there commands that initiate the transfer? Any info you can point us to would be great.