Listing 1. Code from the OpStartCall Operator
///
const Sptr < State >
OpStartCall::process( const Sptr < SipProxyEvent >
                      event )
{
   // VOCAL logging system which can be used to send
   // logs to various locations
   cpLog( LOG_DEBUG, "OpStartCall operation" );
   Sptr < UaDeviceEvent > deviceEvent;
   deviceEvent.dynamicCast( event );
   // check if this is an event we can ignore
   if ( deviceEvent == 0 )
   {
       return 0;
   }
   if ( deviceEvent->type != DeviceEventHookUp )
   {
       return 0;
   }
   //
   UaDevice::instance()->getDigitCollector()->reset();
   Sptr < UaStateMachine > stateMachine;