The concept of "counter" has never been implemented by Cisco in the CRS.
Since most of my customers need this type of tracking, I built a custom library which provide me all the tools I need for that.
Here are the methods of this library:
- public boolean incCounter(String pCounterName, int pValue)
- public boolean decCounter(String pCounterName, int pValue)
- public boolean setCounter(String pCounterName, int pValue)
- public String getCounter(String pCounterName)
- public boolean writeCounters(String pSessionID)
During the call, all the counters value are kept in an HashMap variable. Then, when the call ends, the method "writeCounters" will insert all of them into the database in a special table.
Here is the specification of the table:
- Session_ID : varchar
- Start_Hour : date
- End_Hour : date
- CNT_XXXX : int
- CNT_YYYY : int
- CNT_ZZZZ : int
- ...
I have one column per counter in my script. So, one row, is equal to one call. Columns Start_Hour and End_Hour are populated directly in the custom class. At constructor time and then when I call "writeCounters".
I hope this help.