*/
import javax.telephony.*;
import javax.telephony.events.*;
import javax.telephony.callcontrol.*;
import javax.telephony.callcontrol.events.*;
import com.ms.com.*;
import com.cisco.jtapi.extensions.*;
public class Originator extends Actor
{
AddresssrcAddress;
StringdestAddress;
intiteration;
StopSignalstopSignal;
booleanready
false;
intreceiverState
Actor.ACTOR_OUT_OF_SERVICE;
boolean callInIdle
true;
public Originator ( Address srcAddress,
String destAddress,
Trace trace,
int actionDelayMillis ) {
super ( trace,
srcAddress,
actionDelayMillis );// observe srcAddress
this.srcAddress
srcAddress;
this.destAddress
destAddress;
this.iteration
0;
}
protected final void metaEvent ( CallEv [] eventList ) {
for ( int i
0; i < eventList.length; i++ )
{
try
{
CallEv curEv
eventList[i];
if ( curEv instanceof CallCtlTermConnTalkingEv )
{
TerminalConnection tc
((CallCtlTermConnTalkingEv)curEv).getTerminalConnection ();
Connection conn
tc.getConnection ();
if ( conn.getAddress ().getName ().equals ( destAddress ) )
{
delay ( "disconnecting" );
bufPrintln ( "Disconnecting Connection " + conn );
conn.disconnect ();
}
}
else if ( curEv instanceof CallCtlConnDisconnectedEv )
{
Connection conn
((CallCtlConnDisconnectedEv)curEv).getConnection
();
if ( conn.getAddress ().equals ( srcAddress ) )
{
stopSignal.canStop ();
setCallProgressState ( true );
}
}
}
catch ( Exception e )
{
println ( "Caught exception " + e );
}
finally
{
Cisco Unified JTAPI Developers Guide for Cisco Unified Communications Manager, Release 15 and SUs
752
Cisco Unified JTAPI Examples
Originator.java
