/** * 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'); $log->info("Answering and playing audio file: " . $this->config['file']); $asterisk->answer(); $asterisk->stream_file($this->config['file']); }
/** * 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(); } }
/** * 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(); } }