コード例 #1
0
ファイル: ForcedFaxNegotiator.php プロジェクト: cwcw/cms
 /**
  * @see Engine/Call/Leg/Streamwide_Engine_Call_Leg_Connexant#onSignalReceived()
  */
 public function onSignalReceived(Streamwide_Engine_Events_Event $event)
 {
     $eventType = $event->getEventType();
     $signal = $event->getParam('signal');
     switch ($eventType) {
         case Streamwide_Engine_Events_Event::MOVED:
             return $this->_handleMovedSignal($signal);
         case Streamwide_Engine_Events_Event::SDP:
             return $this->_handleSdpSignal($signal);
         case Streamwide_Engine_Events_Event::OKMOVED:
             return $this->_handleOkMovedSignal($signal);
         case Streamwide_Engine_Events_Event::FAILMOVED:
             return $this->_handleFailMovedSignal($signal);
         case Streamwide_Engine_Events_Event::CHILD:
             return $this->_handleChildSignal($signal);
     }
     return null;
 }
コード例 #2
0
ファイル: SdpDirectCall.php プロジェクト: cwcw/cms
 /**
  * Handle the receival of a signal from SW Engine
  *
  * @param Streamwide_Engine_Events_Event $event
  * @return void
  */
 public function onSignalReceived(Streamwide_Engine_Events_Event $event)
 {
     $eventType = $event->getEventType();
     $signal = $event->getParam('signal');
     switch ($eventType) {
         case Streamwide_Engine_Events_Event::FAIL:
             return $this->_handleFailSignal($signal);
         case Streamwide_Engine_Events_Event::OK:
             return $this->_handleOkSignal($signal);
         case Streamwide_Engine_Events_Event::PROK:
             return $this->_handleProkSignal($signal);
         case Streamwide_Engine_Events_Event::RING:
             return $this->_handleRingSignal($signal);
         case Streamwide_Engine_Events_Event::PROGRESS:
             return $this->_handleProgressSignal($signal);
         case Streamwide_Engine_Events_Event::CHILD:
             return $this->_handleChildSignal($signal);
     }
     return null;
 }
コード例 #3
0
ファイル: NoSdpIvrCall.php プロジェクト: cwcw/cms
 /**
  * @see Engine/Call/Leg/Streamwide_Engine_Call_Leg_Connexant#onSignalReceived()
  */
 public function onSignalReceived(Streamwide_Engine_Events_Event $event)
 {
     $eventType = $event->getEventType();
     $signal = $event->getParam('signal');
     // delegate to internal methods to handle the OK and FAIL signals
     switch ($eventType) {
         case Streamwide_Engine_Events_Event::OK:
             return $this->_handleOkSignal($signal);
         case Streamwide_Engine_Events_Event::FAIL:
             return $this->_handleFailSignal($signal);
         case Streamwide_Engine_Events_Event::CHILD:
             return $this->_handleChildSignal($signal);
         case Streamwide_Engine_Events_Event::SDP:
             return $this->_handleSdpSignal($signal);
         case Streamwide_Engine_Events_Event::OKSDP:
             return $this->_handleOkSdpSignal($signal);
         case Streamwide_Engine_Events_Event::FAILSDP:
             return $this->_handleFailSdpSignal($signal);
     }
     return null;
 }
コード例 #4
0
ファイル: Menu.php プロジェクト: cwcw/cms
 /**
  * Handles a key press (delegates to internal methods)
  *
  * @param Streamwide_Engine_Events_Event $event
  * @return void
  */
 public function onKeyPressed(Streamwide_Engine_Events_Event $event)
 {
     $eventType = $event->getEventType();
     $key = $event->getParam('receivedKey');
     $promptType = $event->getContextParam('promptType');
     switch ($eventType) {
         case Streamwide_Engine_Events_Event::KEY:
             $this->_handleValidKey($key, $promptType);
             break;
         case Streamwide_Engine_Events_Event::UNEXPECTED_KEY:
             $this->_handleInvalidKey($key, $promptType);
             break;
     }
 }
コード例 #5
0
ファイル: Decorator.php プロジェクト: cwcw/cms
 /**
  * Handles FAIL, PRSDP/SDP/RING/PROGRESS events
  *
  * @param Streamwide_Engine_Events_Event $event
  * @return void
  */
 public function onSignalReceived(Streamwide_Engine_Events_Event $event)
 {
     $eventType = $event->getEventType();
     if ($eventType === Streamwide_Engine_Events_Event::FAIL) {
         return $this->_handleFailEvent($event);
     }
     if (in_array($eventType, $this->_provisionalResponses)) {
         return $this->_handleProvisionalResponse($event);
     }
 }
コード例 #6
0
ファイル: Relayer.php プロジェクト: cwcw/cms
 /**
  * Checks to see if a relay session can be ended by searching the received
  * event type in the relay session parameters array.
  * If found the relay session is ended, if not nothing happens.
  *
  * @param Streamwide_Engine_Events_Event $event
  * @return void
  */
 protected function _endRelaySession(Streamwide_Engine_Events_Event $event)
 {
     if ($this->_isRelaySessionEndingEvent($event->getEventType())) {
         $this->_isRelaySessionStarted = false;
         $relaySessionEndedEvt = new Streamwide_Engine_Events_Event(Streamwide_Engine_Events_Event::RELAY_SESSION_ENDED);
         $relaySessionEndedEvt->setParam('signal', $event->getParam('signal'));
         return $this->dispatchEvent($relaySessionEndedEvt);
     }
 }