Cisco Cisco Computer Telephony Integration Option 8.5 Developer's Guide

Page of 490
   
10-3
CTI OS Developer’s Guide for Cisco Unified Contact Center Enterprise
Release 8.5(3)
Chapter 10      Call Object
Adding ECC Values
Sample code for VB without COM:
Dim MyECCData As CTIOSARGUMENTSLib.Arguments    
Dim MyECCVariable As String
Dim MyECCArrayVariable As Integer
If MyCall.IsValid(CTIOS_ECC) = True Then
Set MyECCData = MyCall.GetValueArray(CTIOS_ECC)
    
If MyECCData.IsValid("user.MyECC") Then
MyECCVariable = MyECCData.GetValueString("user.MyECC")
End If
    
If MyECCData.IsValid("user.MyArray[2]") Then
MyECCArrayVariable = MyECCData.GetValueInt("user.MyArray[2]")
End If
End If
The same thing in Java is as follows:
if(Call != null)
{
Arguments rArgEcc = new Arguments();
rArgEcc =  Call.GetValueArray(CTIOS_ECC);
if(null != rArgEcc)
{
rArgEcc.NumElements();
Integer intVal = 
rArgEcc.GetValueIntObj("user.MyECC");
String strVal =
rArgEcc.GetValueString("userMyArray[2]");
}
}
Adding ECC Values
If you want to add ECC values to a call without deleting ones that are already set in the call, retrieve the 
ECC variables and then add the new ones as shown in C++ without COM:
Arguments & RequestArgs = Arguments::CreateInstance();
Arguments * pECCData = NULL;
// presumes that we have a Call object pointer in pCall
if (pCall->IsValid (CTIOS_ECC))
pCall->GetValueArray(CTIOS_ECC, &pECCData);
else
Arguments::CreateInstance(&pECCData);
pECCData->AddItem("user.MyECC", "FirstECCVariable");
pECCData->AddItem("user.MyArray[2]", 2222);
RequestArgs.AddItem(CTIOS_ECC, *pECCData);
pCall->SetCallData(RequestArgs);
RequestArgs.Release();
pECCData->Release();