Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Extract Real Time Data from CMS

Status
Not open for further replies.

geebeetoo

Programmer
Mar 5, 2017
9
US
Hello

A little bit of context: No Avaya system available to me. Potential customer is a financial entity and getting access at this stage for Dev/Tests is out of the question. So we're pretty much in the dark as we know nothing about Avaya, and CMS. Their system is Avaya Elite 6.3 with CMS R18.

Goal: To extract all items for csplit, cagent, and cvdn (not in the same feed), into a flatfile every 3 or 5 seconds.

What are my options?

I heard about the RT_Socket, I thought I also heard of RTD Api but apparently this RTD api is for a different Avaya Contact Center product.

Guidance will be truly appreciated.
 
Let me know if this helps:

thread690-1741837

- Stinney

“The man who asks a question is a fool for a minute, the man who does not ask is a fool for life.” - Confucius
 
Thanks Stinney,

We have been able to do what you have in link, but there are fields (items) that are not in some of the reports that could be accessed via some other way. I heard RT-Socket can provide more fields (items).

Are you familiar with RT-Socket?


Thanks again for the quick response, much appreciated.

Geebee
 
RT socket pushes real time data to a TCP port (so you obviously need something to collect that data and put it in a legible format , its usually used for wallboards) , the details that you are loking for is the current interval data thats what the C prefix on cvdn cagent etc relates to , i have attached a screen shot that will hopefully go a little further into explaining that.

You are just looking for information that is real time , when you (if you dont specfically need the data there and then as it happens ) could look for previous interval data , what Stinney has shown you is a really clever way to extract the data , RT_Socket does not provide "greater content" just more current metrics.

You could look into ECHI ( but this is historical info) however there is well documented material


ACSS (UC/SBCE/SM/SME)

Not that they mean a thing anymore , get a brain dump pass the test crash the system.
 
Thanks Montyzummer

That is helping. We do need the "current" data. I need to refresh the data every 3-5 seconds. So it sounds like the RT_Socket would be the advisable way to go.

Well, I'm also now intrigued by your comment about Stinney solution. The fields (items) we need to be sure to have in our RealTime data are "ACCEPTABLE" and "CALLSOFFERED". If those two items are in fact available in his solution, then it is worth looking into.

Do you know the answer to that?

Thanks
 
So yes i believe it is , you may just need to create a custom report to extract the information

First link is to the database items list , that include both your requirements , also the document is quite informative in other areas that may help you to understand on what you are looking at.

Second & 3rd links are to the custom reports guide , tbh custom reports can be complex , but once the penny drops they do get easier.




ACSS (UC/SBCE/SM/SME)

Not that they mean a thing anymore , get a brain dump pass the test crash the system.
 
That's wonderful. Thank you. We will look at this and if we have more questions, I hope you won't mind that I come back.

In the meantime, I am very grateful for your help.

Regards
Gilles
 
This is a document that will be helpful, it gives you all the data items and calculations available in CMS and in which reports:


Acceptable and Callsoffered are both available in a real time report, however, the are accumulative items, so they probably refresh after each interval.

Depending on what your report need is, I suspect you may want an integrated report instead of a real-time report which will give you a combination of real-time and aggregated data for the day. If you're looking for acceptable as a field, then your looking to provide metrics as to the level of acceptable calls. Do you want that over the course of the full day, or just that interval? One of the real-time reports I built to display on a 55" display for a call center was to provide the center with what their acceptable call level was for the entire day up to the current time, as well as other metrics such as abandonment rate, calls offered etc.

My solution will work for exporting the report at 3 - 5 second intervals, or almost no interval if you remove the wait timers.

If you can use RT-Socket instead though, it's a much cleaner and supported solution. All it takes is $$$money$$$

- Stinney

“The man who asks a question is a fool for a minute, the man who does not ask is a fool for life.” - Confucius
 
Thanks. This is great info.

The fact that we need items like Acceptable is as you pointed as if we are looking for cumulative, and that is true, but we need to show items that can show realtime like calls waiting, agent staffed, and also show cumulative ones like Service levels, aban rate etc. So a combo.

 
You can also try a tool called ClintSVR which has REST and database interfaces for programming.
 
@Stinney

Thanks again. The more I think about it and the more research I do, more use a custom solution rather than the rt_socket.

Is your solution "open source" or is your code available so we can support our customers ourselves with it?

How would I go about getting your solution?

Gilles
 

There's a lot to setting it up. It's nothing proprietary, it "simply" uses the CMS reporting tools.

There are some things to consider.

1) We set this up using a Windows Server because it was on all the time. You need a source that will run CMS all the time so it will be able to export the report. Will you need this data 24/7 or just during business hours when the call center is open? Our call center was only open from 8am to 8pm, so we had the server start the report in the morning just before the center opened and about 1/2 hour after the center was supposed to be closed (in case there were any lingering calls). This was done using a .bat file to start the report and a .bat file to kill the report using the Windows Scheduler. We setup a CMS user name that was used only to run this report and only had read permissions to the skills it needed to run the report. You have to save the user name and password in the CMS login settings under Tools | Options | Scripting and clicking on the Set User and entering the credentials for the user there.

2) If CMS is rebooted or crashes or there is any type of network connectivity issues to CMS, the connection to CMS will be lost and need to be restarted on the server. This wouldn't happen with an RT Socket which would recover automatically. Again, because our report didn't run all the time it didn't conflict with our normal reboot schedule of the CMS or any maintenance after hours. It may be possible to run a task that checks to make sure the report is running and if it doesn't update to kill any CMS process that is running and restart the report.

If your okay with these requirements and risks, I'll see if I can pull together the information for you.






- Stinney

“The man who asks a question is a fool for a minute, the man who does not ask is a fool for life.” - Confucius
 
I'm okay with those requirements and risks. Thank you!!

 

I found the documentation. I need to clean it up so that sensitive information is removed.

- Stinney

“The man who asks a question is a fool for a minute, the man who does not ask is a fool for life.” - Confucius
 
@Stinney, Thank you very much. Again, much appreciated.
 

I'm attaching the guide that talks about setting up the report to run on the pc/server host as well as the script that runs the report. You'll need to create your own report and script. Things in the script that will change are references I changed to: [YOUR CMS SERVER NAME], [YOUR REPORT NAME], the directory paths and skills you're running the report on.

In order to make the report loop so it exports the data every 5 seconds after "Set objDoc = objExplorer.Document" you have to add the lines:

Do While count <1

Wscript.Sleep 5000

After the line that exports the report "b = Rep.ExportData("[path/filename]", 44, 1, True, True, True)" you have to enter the line:

Rep.Quit

(Otherwise every time the script runs it will open a new report window)

Then at the bottom of the script, after the line "Set Info = Noting" you have to add the line:

Loop


- Stinney

“The man who asks a question is a fool for a minute, the man who does not ask is a fool for life.” - Confucius
 
 http://files.engineering.com/getfile.aspx?folder=7b0e671d-52ff-49ac-9288-5d4e46a53e09&file=Generating_Reports.docx

I need to find or recreate the .bat files you will need.

- Stinney

“The man who asks a question is a fool for a minute, the man who does not ask is a fool for life.” - Confucius
 

I believe this is the .bat that I used to launch the report every day. I found that the files on my USB that I had saved from my last job are corrupted, but I dug this out of old emails. I have asked a former coworker if he can send me a copy of the .bat files I created.

I believe the beginning of this .bat was to make sure that all instances of CMS were closed before trying to re-launch the report. Change the start line C:\ to be the location and name of your report.



taskkill /F /IM ACS* /T
taskkill /F /IM acs* /T


start "" "C:\Reports\[Reportname}.acsauto

- Stinney

“The man who asks a question is a fool for a minute, the man who does not ask is a fool for life.” - Confucius
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top