Cisco Cisco Computer Telephony Integration Option 9.0 Developer's Guide
4-37
CTI OS Developer’s Guide for Cisco Unified ICM/Contact Center Enterprise & Hosted
Release 8.0(1)
Chapter 4 Building Your Application
Working with Calls
int nRetVal =
m_pctiSession->RemoveAllInOneEventListener((IAllInOne *)
m_pmyEventSink);
//The application is closing, remove current agent from session
CAgent * pNullAgent = NULL;
m_Session->SetAgent(*pNullAgent);
m_Session->Release();
m_Session = NULL;
}
if(m_ctiAgent)
{
m_ctiAgent->Release();
m_ctiAgent = NULL;
}
if (m_pmyEventSink)
{
m_pmyEventSink->Release();
m_pmyEventSink = NULL;
}
Working with Calls
Handling Multiple Calls
It is critical that you design an Agent Mode desktop application to be able to store all the calls on the
specific device, in order to do the following:
specific device, in order to do the following:
•
Apply incoming events to the correct call
•
Select the correct call on which to make method calls (i.e. telephony requests)
It is not necessary to maintain a set of Call Objects in order to do this. Instead, the application could
store the string UniqueObjectID of each call (keyword CTIOS_UNIQUEOBJECTID).
CTIOS_UNIQUEOBJECTID is always included in the args parameter for each call event. The actual
Call Object can be obtained with the Session object's GetObjectFromObjectID() method to make a
method call.
store the string UniqueObjectID of each call (keyword CTIOS_UNIQUEOBJECTID).
CTIOS_UNIQUEOBJECTID is always included in the args parameter for each call event. The actual
Call Object can be obtained with the Session object's GetObjectFromObjectID() method to make a
method call.
What is the Current Call?
The CIL maintains a concept of a Current Call, which is the call for which the last
OnButtonEnablementChange() event was fired. Knowing which call is the Current Call is useful when
there are multiple components which set and act on the Current Call, such as telephony ActiveX
Controls.
OnButtonEnablementChange() event was fired. Knowing which call is the Current Call is useful when
there are multiple components which set and act on the Current Call, such as telephony ActiveX
Controls.
The CTI OS ActiveX controls included in the CTI OS Toolkit use the concept of the Current Call. The
CallAppearance grid control sets the Current Call when the user clicks on a particular call in the grid.
When the user clicks the Answer control, this control must get the Current Call in order to call the
Answer() method on the correct call.
CallAppearance grid control sets the Current Call when the user clicks on a particular call in the grid.
When the user clicks the Answer control, this control must get the Current Call in order to call the
Answer() method on the correct call.
The Current Call is set according to the following rules:
•
When there is only 1 call on a device, the CIL sets it to the Current Call.