Beispiel #1
0
 /**
  *
  * @param string $psAct
  * @return boolean
  */
 public function manager($psAct = '')
 {
     $lsAct = $this->request('act', $psAct);
     $lsNextAction = $this->request('nextaction', '');
     $lnId = $this->request('id', '');
     $lnExtension = $this->request('extension', '');
     $lnPhone = $this->request('phone', '');
     $lsSip = $this->request('sip', '');
     $lsAudioChannel = $this->request('audiochannel', '');
     $lsAudioPath = $this->request('audio', '');
     $lsAudio = preg_replace($this->_sAudioPath, $this->_sAudioPathReal, $lsAudioPath);
     $lnExtension = String::formatPhone($lnExtension);
     $lnPhone = String::formatPhone($lnPhone);
     $this->set('sActionId', $this->get('sActionId') . "-{$lnId}");
     $this->_aResponse[0]['Act'] = $lsAct;
     $this->_aResponse[0]['NextAction'] = $lsNextAction;
     $this->_aResponse[0]['Id'] = $lnId;
     $this->_aResponse[0]['Extension'] = $lnExtension;
     $this->_aResponse[0]['Phone'] = $lnPhone;
     $this->_aResponse[0]['Audio'] = $lsAudio;
     $this->_aResponse[0]['Sip'] = $lsSip;
     $this->_aResponse[0]['AudioChannel'] = $lsAudioChannel;
     $this->_aResponse[0]['Play'] = false;
     switch ($lsAct) {
         case "call":
             $lbReturn = $this->call($lnExtension, $lnPhone);
             break;
         case "hangup":
             $lbReturn = $this->hangup($lsSip);
             break;
         case "play":
             $lbReturn = $this->playAudio($lsSip, $lsAudio);
             break;
         case "stop":
             $lbReturn = $this->stopAudio($lsAudioChannel);
             break;
         case "queue":
             $lbReturn = $this->queue($lnExtension);
             break;
         case "status":
             $this->_nResponseTimeOut = 1;
             $lbReturn = $this->status($lnId, $lnExtension, $lnPhone, $lsAudioChannel);
             break;
     }
     if (!isset($this->_aResponse[0]['Response'])) {
         $this->_aResponse[0]['Response'] = 'Error';
     }
     $this->_aResponse[0]['Return'] = $lbReturn;
     $this->_aResponse[0]['ErrorMessage'] = $this->_aError;
     return $lbReturn;
 }