예제 #1
0
파일: Creator.php 프로젝트: cwcw/cms
 /**
  * Handle the OK signal. The call leg was created successfully. Mark the
  * call leg as alive and set its params. Dispatch a CALL_LEG_CREATED event
  *
  * @param Streamwide_Engine_Signal $signal
  * @return void
  */
 protected function _handleOkSignal(Streamwide_Engine_Signal $signal)
 {
     $this->_unsubscribeFromEngineEvents();
     $this->_callLeg->setAlive();
     $this->_callLeg->hasSentOrReceivedOk();
     $this->_callLeg->setParams(array_merge($signal->getParams(), $this->_creationParams));
     $event = new Streamwide_Engine_Events_Event(Streamwide_Engine_Events_Event::CALL_LEG_CREATED);
     $event->setParam('callLeg', $this->_callLeg);
     $this->dispatchEvent($event);
 }
예제 #2
0
파일: Suspender.php 프로젝트: cwcw/cms
 /**
  * To put a call leg on hold we start by sending a MOVED. If the call leg answers with OKMOVED
  * we deal with it in this method
  *
  * @param Streamwide_Engine_Signal $signal
  * @return void
  */
 protected function _handleOkMovedSignal(Streamwide_Engine_Signal $signal)
 {
     $params = $signal->getParams();
     $this->_callLeg->setParams($params);
     return $this->dispatchEvent(new Streamwide_Engine_Events_Event(Streamwide_Engine_Events_Event::CALL_LEG_ON_HOLD));
 }