Transfer on Same Lines Sample Code
Handle(CiscoCallEv event)
{
…..
…..
if (event instanceOf
CiscoTransferStartEv)
{
CiscoTransferStartEv ev
(CiscoTransferStartEv)event;
processTransfer(ev);
}
}
processTransfer(CiscoTransferStartEv ev){
CiscoAddress commonAddr
ev.getTransferControllerAddress();
CiscoCall GC2
ev.getTransferringCall();
CiscoCall GC1
ev.getFinalCall();
CiscoConnection droppedConn1
findConnection(GC1,
controllerAddr);
CiscoConnection droppedConn2
findConnection(GC2,
controllerAddr);
//Additional App logic to clear connections.
}
Connection findConnection(CiscoCall GCx,
CiscoAddress addr){
CiscoConnection[] conns
GCx.getConnections();
for (i = 0; i<conns.length; i++)
{
if conns[i]
.getAddress().equals(addr) {
return conns[i];
}
}
}
Application logic is based on common transferControllerAddress and works fine in this case, because
commonAddr is there in both final and consult call
Note
Transfer Across Lines Sample Code
Handle(CiscoCallEv event)
{
…..
…..
if (event instanceOf
CiscoTransferStartEv)
{
CiscoTransferStartEv ev
(CiscoTransferStartEv)event;
processTransfer(ev);
}
}
processTransfer(CiscoTransferStartEv ev){
String termName
ev.getControllerTerminalName();
CiscoCall GC2
ev.getTransferringCall();
CiscoCall GC1
ev.getFinalCall();
CiscoConnection droppedConn1
findConnection(GC1,
termName);
Cisco Unified JTAPI Developers Guide for Cisco Unified Communications Manager, Release 15 and SUs
80
Features Supported by Cisco Unified JTAPI
Event Flow Comparison and Sample Code

