« Back to CTIOS Toolkit Questions

RE: New Message from Arthur Shats in Computer Telephony Integration Object

Combination View Flat View Tree View
Threads [ Previous | Next ]
Showing 41 - 60 of 87 results.
of 5
David,
If you suggest after doing
Arguments &stats = Arguments::CreateInstance();
I should call   stats.Release();
Then I am doing it, but the memory usage still increases. It seems to be possible to check for for the rcode returned by .Release(), so I did
unsigned long rcode = stats.Release(),
and when I print the rcode, it's 2. I don't know what 2 means, but I know 1 is OK, 0 is failed. So I don't know if .Release() works. Am I doing the right thing?
Thanks. 

If you check the Release documentation in the Developer’s Guide it says:

C++: The current reference count after the Release() call.

So 2 is the reference count.

All the release does is remove a reference count, so it would appear you have 2 other references to stats.
Release all other references, or call Release until the reference count is 0.

David,
I am doing Arguments &stats = Arguments::CreateInstance()  for every skillGroup in the OnSkillGroupStatisticsUpdated event and I call stats.Release() for every skillGroup after I am done. Instead of finding where I didn't release 'stats', I removed one of the stats.Release() calls for one of the skillGorups. So now when I call stats.Release() in other skillGroups, I should see the reference count to be 3, but I still see the count as 2. How do you explain this?
Thanks.

I do not know why removing the release does not change your reference count.  Have you tried calling Release an extra time to see if the count moves to 1 and ultimately to 0?  Sorry I have no other ideas.

David,
If add two extra stats.Release(), the reference count does go back to 0, but when OnSkillGroupStatisticsUpdated event is executed the next time around, the reference count is back at 2. So I keep releasing it until the count is 0, but the memory usage still keeps increasing and never decrease.

David,
According to the docs, Release() should be called after CreateInstance() and after GetValueArray(). So if in my code I use  
Arguments &stats = Arguments::CreateInstance();
stats = rArguments.GetValueArray("Statistics");
does it mean two objects were created with above lines and therefore I have to call stats.Release() twice? Even if this is true, I still can't explain why I have to Release() 3 times, not 2, because this is the only place where I careate 'stats' object.
Thanks.

I don’t have any other ideas about your memory leak other than getting the reference count to 0.

But decreasing reference count to 0 doesn't fix the memory leak. Could it be a bug in the C++Phone sample or in the version of SDK I am using (v7.5.1) ?
Thanks.

The latest 7.5(x) release as of this writing is 7.5(10). You could try to see if an upgrade fixes your issue. The C++ phone sample does not have a memory leak. I have used it with v8.5(3).

I also recall there was a memory leak found in older versions of CTIOS C++ Cil:

From a Service Request regarding the memory leak issue:

There is a known bug ddts CSCsq63700<http://wwwin-metrics.cisco.com/cgi-bin/ddtsdisp.cgi?id=CSCsq63700> in GetElement (which DumpArgs likely uses) in version
7.2(3) and earlier. This is fixed in version 7.5(2) and 7.2(6) Please upgrade to one of
these fixed versions or later and retest your scenario(s).

David,
When we upgrade from 7.5(1) to 7.5(10), is it enough to install 7.5(10) maintenance update, or do we have to do full 7.5(10) install?
I found two sites for the 7.5(10) maintenance upgrade that are pointing to different files (names are different and size slitely different):
[url=http://www.cisco.com/cisco/software/release.html?mdfid=273556284&softwareid=280840587&release=8.5(4)&relind=AVAILABLE&rellifecycle=&reltype=latest]http://www.cisco.com/cisco/software/release.html?mdfid=273556284&softwareid=280840587&release=8.5(4)&relind=AVAILABLE&rellifecycle=&reltype=latest
and another one
[url=http://www.cisco.com/cisco/software/release.html?mdfid=268439689&flowid=5214&softwareid=280840583&release=8.5(4)&relind=AVAILABLE&rellifecycle=&reltype=latest]http://www.cisco.com/cisco/software/release.html?mdfid=268439689&flowid=5214&softwareid=280840583&release=8.5(4)&relind=AVAILABLE&rellifecycle=&reltype=latest

Which one we should use for the 7.5(10) maintenance upgrade, or if there is another site all together, please let me know.
If we need to do full 7.5(10) install instead of the maintenance upgrade, could you tell me the link where to get it?
Thanks.

There is no such thing as a full install for 7.5(10) it is just a maintenance release.
7.5(10) is missing a couple of include files if you encounter that I can email them to you.

Could you provide the correct link to download 7.5(10) maintenance release? I mentioned above, I found two links pointing to two different 7.5(10) files.

Also,
please email me the .h files that are missing in 7.5(10): CTIOSKeyStrings.h and CTIOSKeyStringsAbbrev.h. I am only afraid that there could be more, but for now it only complains about these two. I don't want to publish here my email address, do you have ability to find it based on my name or id ?
thanks.

David,
According to the docs (chapter 11), "AgentsAvail" is part of SkillGroupStatistics and is available in Protocol Version 8 of CTI Server. When I call DumpArgs(), 'AgentsAvail' is not listed. I am not sure how to find out what Protocol Version we have, but I am sure we didn't change it from the default. We are using 7.5(1) and 7.5(6). Do you know what the default Protocol Version would be and if this is the reason why I can't get 'AgetnsAvail' ?
Thanks.

What version of CTI Server protocol is defined for your CTIOS Server configuration? I think it should be 13 or higher for CTIOS 7.5(x).

AgentsAvail should be in the statistics array. You can check to see if it is configured in the Statistics registry on the CTIOS Server.

See chapter 10 Automatic Skill Group Statistics Grid Configuration

Can you get the AgentsAvail statistic in the out of box CTIOS Agent Desktop?

No, out of the box Agent Desktop doesn't have 'AgentsAvail'.

Definitely check the CTIOS Server registry for the skillgroupstatistics grid configuration. If the problem persists, open a TAC case against the CTIOS Agent Desktop.

David,
Is there a simple method to find out how many skill groups a given agent is subsribed to? I found that there is GetAllSkillGroups, but it seems complicated since it returns "a pointer to an Arguments array where each member has a string key that is the UniqueObjextID of a skill group and a value that is a reference to a CilRefArg that is a pointer to the skill group object". I am not even sure this is the correct method to use to get the number of skill groups an agent is subsribed to. Could you shed some light on what I should use to get the total# of skill groups?
thanks.

To get the number of skillgroups you invoke the GetAllSkillGroups on the session object which returns an array of skillgroups. You then use the length of the array to determine how many skillgroups the agent is subscribed to.

Showing 41 - 60 of 87 results.
of 5
David Lender (474)
Shannon McCoy (91)
Arthur Shats (57)
Christopher Nagel (47)
GEOFFREY THOMPSON (40)