cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
252
Views
0
Helpful
0
Comments
cdnadmin
Level 11
Level 11
This document was generated from CDN thread

Created by: Shikha Sharma on 26-03-2013 12:54:55 PM
We have several customer  applications(25-30) deployed on 3 vxml servers and we need to charge each customer based on the port usage on monthly basis, can someone please help me to identify how w can find approximate value for number of ports used by each application. Its easier to figure out in UCCX since each applicaiton is tied to ports but in CVP I'm not able to figure out how this value can be calculated.

Subject: RE: New Message from Shikha Sharma in Customer Voice Portal (CVP) - General
Replied by: GEOFFREY THOMPSON on 26-03-2013 03:10:50 PM
You can get some of the information you need from the GlobalCallLog files.

As a call enters an application it writes a line in the file with a timestamp. Aside from this, there is one extra piece of useful info in the line – the number of concurrently executing sessions. This gives you an idea of the load – but not which other apps are executing.

You will have to put this data into a database (which is easy, because it is in CSV format) and use some queries to find the overlap. Good luck with that.

Regards,
Geoff

Subject: RE: New Message from Shikha Sharma in Customer Voice Portal (CVP) - General
Replied by: Rodrigo Covarrubias on 26-03-2013 04:50:44 PM
Another way to accomplish this task counting calls for each application would be for example, develop a script that goes into each application\log\ActivityLog folder, read each activity log line searching for end, result (or whatever you want) in order to count number of calls were in each application. Even you can use Notepadd++ and its search in files functionality.

If had to do this I'll use Java XD, good luck

Subject: RE: Port License usage for each application
Replied by: Patrick Legate on 27-03-2013 12:53:08 PM
In our environment we have a bazillion port licenses but they are never all used concurrently.  On the other hand we have an app that takes 500,000+ calls a month and we only have 20 speech and 20 TTS licenses so I watch this one closely. 
 
Years ago I wrote a program using the call end time and duration to determine the number of concurrent calls.   So here is what you do…
 
Go to your activity logs of each application, and extract the duration info of each call.  At the command line I type: 
grep end,duration, activity_log2013-03-25.txt >  calldurationsS1.csv
(or  you can use the DOS findstr command)
Next you will need to concatenate each of the duration files from each server:
cat callDurationsS1.csv callDurationsS2.csv callDurationsS3.csv > callDurationsAll.csv
(DOS copy file1+file2+file3 file4)
Copy the script below in into a text file called concurrentcalls.vbs
Then run the command:
                Cscript concurrentcalls.vbs callDurationsAll.csv
'
'concurrentcalls.vbs
'Pat Legate
'The input file has lines that look like:
'10.10.90.108.1362117691802.5644.VXMLAPP,03/01/2013 00:01:52.302,,end,duration,21
'
ForReading   = 1
ForWriting   = 2
ForAppending = 8
set oArg = WScript.arguments
Set oFSO = CreateObject("Scripting.FileSystemObject")
max=0
Dim arrTimeInSecs(86400)
For i = 0 to 86399
    arrTimeInSecs(i) = 0
Next
For each xFName in oArg
  if oFSO.FileExists(xFName) Then
      Call procFile(xFName)
  End If
next
Function procFile(xF)
  set oFileIn = oFSO.OpenTextFile(xF, ForReading)
  Do Until oFileIn.AtEndofstream
    datetimedur = Split(oFileIn.ReadLine,",")
    HR = mid(datetimedur(1),12,2)
    MN = mid(datetimedur(1),15,2)
    SC = mid(datetimedur(1),18,2)
    dur = datetimedur(5)
    i = HR * 3600 + MN * 60 + SC - dur  'calculate the call start second of the day
    If i < 0 Then                       'what if the call began the previous day? we could ignore but
      i = i + 86400                     'what the heck i will put these seconds at the end of theday
    End If
    for j = 1 to dur
      arrTimeInSecs(i) = arrTimeInSecs(i) + 1 
        if (arrTimeInSecs(i) > max) Then
             max = arrTimeInSecs(i)
             wscript.echo datetimedur(1), "Max Concurrent Calls: ", max
        End If
      i = i + 1
   If i > 86399 Then            'what if the call carries over until the next day?
     i = i - 86400              'i will put these seconds at the beginning of the day
   End If
    Next 
  Loop
  oFileIn.close
End Function

 

Subject: RE: New Message from Patrick Legate in Customer Voice Portal (CVP) - Genera
Replied by: GEOFFREY THOMPSON on 27-03-2013 12:58:11 PM
Nice one, Patrick.

Regards,
Geoff

Subject: RE: Port License usage for each application
Replied by: Shikha Sharma on 01-04-2013 12:34:02 PM
Thanks for great ideas everyone. I deffinitely know from where to start now.
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:

Quick Links