Cisco Cisco Computer Telephony Integration Option 9.0 Developer's Guide

Page of 508
   
4-40
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
For example, when a Call receives an OnCallDelivered() event with a Connection State of 
LCS_ALERTING, its enablement mask is changed to set the Answer bit. When this Call is 
answered, and it receives the OnCallEstablished() event, the mask no longer sets the Answer bit, but 
instead enables the Hold, Release, TransferInit and ConferenceInit bits.
What to do in the OnButtonEnablementChange() Event
To see if a button should be enabled, simply do a bitwise "AND" with the appropriate value listed in the 
Table included under the OnButtonEnablementChange event in Chapter 6.
The following examples shows this in Java:
Integer IMask = rArgs.GetValueIntObj(CTIOS_ENABLEMENTMASK);
if (null != IMask) {
 int iMask = IMask.intValue();
 if (iMask & ENABLE_ANSWER) {
 
 
//Enable the AnswerCall button
 }
 else {
  //Disable 
the 
AnswerCall 
button
 }
}
// else do nothing
Checking Not Ready Bitmasks in OnButtonEnablementChange() Event
A client application receiving the OnButtonEnablementChange() event must check both the 
ENABLE_NOTREADY and ENABLE_NOTREADY_WITH_REASON bitmasks in the event.
Caution
Failure to check both the ENABLE_NOTREADY and ENABLE_NOTREADY_WITH_REASON 
bitmasks may lead to problems properly displaying a NotReady control to the agent.