Showing results for 
Search instead for 
Did you mean: 
Walkthrough Wednesdays

CTIOS Agent Desktop, Calls Being Stuck in CTIOS Grid

This document was generated from CDN thread

Created by: JAMES HANDERMANN on 20-04-2010 02:14:29 AM
I have a client with ICM 7.5.6 with a custom CTIOS Agent Desktop (Win32 CIL), client is using G3 / PBX. Calls are getting stuck on the CTIOS Agent Desktop GRID with the grid status of "CLEARED". I think this is occurring because they are doing adjuncts in routing call flow from a VRU. So, ICM may not be in control of the entire call. The client says they cannot remove the adjuncts. The error only occurs on some calls and always on the adjunct ANI / DNIS calls.
The ERROR in the CTIOS LOG before the call get stuck in the GRID.
04/19/10 22:55:48.082  6480  StarTekCTIOS  Thd(6800)  CCtiOsSession:nEvent( eControlFailureConf ), EnablementMask = ffffffff
04/19/10 22:55:48.082  6480  StarTekCTIOS  Thd(6800)  CCtiOsSession:nEvent, (PeripheralID:5000 FailureCode:71
PeripheralErrorCode:15 AgentID:43418 UniqueObjectID:agent.5000.43418
MessageID:eControlFailureConf MessageType:eSetAgentStateRequest
ErrorMessage:Unable to perform requested operation:: Domain or call is being<font size="3"></font>
monitored by another adjunct
Any ideals how I can fix this issue in the CTIOS Agent Desktop code?
One ideal i had was to loop throuh all the calls in the CIL's object cache via the "args = m_Session.GetAllCalls()" and issue a "aCall.Clear" or "aCall.ClearConnection" to the calls with a status of "LSC_NULL".   OR uses the "args = m_Session.GetAllCalls()" then do and args.RemoveItem then update CIL's object. ????
Here is some code, but I get an error at  "CilRefArg type is not defined", not sure if that has been replaced with a new lib. ????
Dim args As New Cisco.CTIOSCLIENTLib.Arguments
args = m_Session.GetAllCalls()
' Iterate through all of the CILRefArg objects
' in the Arguments array.
Dim i As Integer
For i = 1 To args.NumElements()
Dim refArg As CilRefArg
' Retrieve the CILRefArg at each position in the
' array
If (args.GetElement(i, refArg)) Then
If ((refArg Is Nothing) = False) Then
' The value method will return a reference
' to the call object referenced by the
' CILRefArg.
Dim aCall As Cisco.CTIOSCLIENTLib.Call
Dim str As String
If (aCall Is Nothing) Then
End If
End If
End If
Thank you for your help!

Subject: RE: New Message from JAMES HANDERMANN in Computer Telephony Integration Obj
Replied by: David Lender on 20-04-2010 03:40:40 PM
CilRefArg is for C++, Java and .NET

for VB,  use a A pointer to a VARIANT containing a SAFEARRAY of pointers
to ICalls.

use code similar to that in Chapter 9 for Agent object method

In VB the GetSkillGroups method returns a variant array where each
element is a reference to a CTIOSClientLib.SkillGroup object.

To retrieve references to skill group objects you need to do something
similar to what is shown in the following code example.

Dim obSkill As CTIOSClientLib.SkillGroup

Dim arSkills As Variant

Dim lNumElements as Long

arSkills = m_Agent.GetSkillGroups()

lNumElements = UBound(arSkills,1)

For nI = 0 to lNumElements

Set obSkill = arSkills(nI)

Print "SkillGroup" & obSkill.GetValueString(CStr("UniqueObjectId")) & _

"Skill Group Number: " & obSkill.GetValueInt(CStr("SkillGroupNumber"))


End For

Subject: RE: New Message from JAMES HANDERMANN in Computer Telephony Integration Obj
Replied by: JAMES HANDERMANN on 23-04-2010 07:29:57 PM
Thank you David!
Content for Community-Ad

This widget could not be displayed.