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;