Пример #1
0
 /**
  * Executa a ação.
  * @param Asterisk_AGI $asterisk
  * @param PBX_Asterisk_AGI_Request $request
  */
 public function execute($asterisk, $request)
 {
     $log = Zend_Registry::get('log');
     if (isset($this->ask_peer) && $this->ask_peer === true) {
         $asterisk->answer();
         $asterisk->exec("READ", "RAMAL|agent-user|10|||4");
         $ramal = $asterisk->get_variable("RAMAL");
         try {
             $ramal = PBX_Usuarios::get($ramal['data']);
         } catch (PBX_Exception_NotFound $ex) {
             throw new PBX_Exception_AuthFail("Ivalid Extension");
         }
         $request->setSrcObj($ramal);
         $request->origem = $ramal->getNumero();
         $asterisk->set_variable("CALLERID(all)", $ramal->getNumero());
     }
     $senha = "";
     if ((!isset($this->config['senha']) || isset($this->config['senha']) && $this->config['senha'] == "") && $request->getSrcObj() instanceof Snep_Usuario) {
         $senha = $request->getSrcObj()->getPassword();
     } else {
         if (isset($this->config['senha']) && $this->config['senha'] != "") {
             $senha = $this->config['senha'];
         } else {
             return;
         }
     }
     $auth = $asterisk->exec('AUTHENTICATE', array($senha, '', strlen((string) $senha)));
     if ($auth['result'] == -1) {
         throw new PBX_Exception_AuthFail();
     }
 }
Пример #2
0
 /**
  * Executa a ação. É chamado dentro de uma instancia usando AGI.
  *
  * @param Asterisk_AGI $asterisk
  * @param Asterisk_AGI_Request $request
  */
 public function execute($asterisk, $request)
 {
     $log = Zend_Registry::get('log');
     $asterisk->answer();
     $result = $asterisk->exec('Queue', array($this->config['queue'], 't', '', '', $this->config['timeout']));
     if ($result['result'] == -1) {
         throw new PBX_Rule_Action_Exception_StopExecution();
     }
 }
Пример #3
0
 /**
  * Executa a ação.
  * @param Asterisk_AGI $asterisk
  * @param PBX_Asterisk_AGI_Request $request
  */
 public function execute($asterisk, $request)
 {
     $log = Zend_Registry::get('log');
     $application = $this->config['application'];
     $parameters = $this->config['parameters'];
     $log->info("Executing application: {$application}({$parameters})");
     $return = $asterisk->exec($application, $parameters);
     if ($return['result'] == "-2") {
         $log->err("Failure to execute application {$application}. Returned: {$return['data']}");
     }
 }