Esempio n. 1
0
File: AGI.php Progetto: rootzig/SNEP
 /**
  * Returns the singleton instance of this class.
  *
  * @return PBX_Asterisk_AGI
  */
 public static function getInstance()
 {
     if (!isset(self::$instance)) {
         self::$instance = new self();
     }
     return self::$instance;
 }
Esempio n. 2
0
 *  You should have received a copy of the GNU General Public License
 *  along with SNEP.  If not, see <http://www.gnu.org/licenses/>.
 */
// Controle da exibição de erros
error_reporting(E_ALL | E_STRICT);
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
require_once "Bootstrap.php";
new Bootstrap();
require_once "Snep/Config.php";
require_once "Snep/Logger.php";
require_once "PBX/Asterisk/AGI.php";
require_once "Zend/Console/Getopt.php";
$config = Snep_Config::getConfig();
$log = Snep_Logger::getInstance();
$asterisk = PBX_Asterisk_AGI::getInstance();
// Configuração das opções da linha de comando
try {
    $opts = new Zend_Console_Getopt(array('version|v' => 'Prints version.', 'outgoing_number|o=s' => 'Define a outgoing number', 'xfer|x=s' => 'Replace the channel used for source identification.'));
    $opts->parse();
} catch (Zend_Console_Getopt_Exception $e) {
    $log->err($e->getMessage());
    $log->err($e->getUsageMessage());
    exit;
}
if ($opts->version) {
    echo "SNEP Version " . Zend_Registry::get('snep_version') . "\n";
    exit;
}
if ($opts->xfer) {
    $asterisk->request['agi_channel'] = $opts->xfer;
Esempio n. 3
0
 protected function startLogger()
 {
     $asterisk = PBX_Asterisk_AGI::getInstance();
     $config = Snep_Config::getConfig();
     $log = Snep_Logger::getInstance();
     Zend_Registry::set("log", $log);
     // Log em arquivo
     $writer = new Zend_Log_Writer_Stream($config->system->path->log . '/agi.log');
     $format = sprintf("%%timestamp%% - %s -> %s - %%priorityName%% (%%priority%%):%%message%%", $asterisk->request['agi_callerid'], $asterisk->request['agi_extension']) . PHP_EOL;
     $formatter = new Zend_Log_Formatter_Simple($format);
     $writer->setFormatter($formatter);
     $log->addWriter($writer);
     // Log no console do Asterisk
     $console_writer = new PBX_Asterisk_Log_Writer($asterisk);
     $format = sprintf("%s -> %s %%priorityName%% (%%priority%%):%%message%%", $asterisk->request['agi_callerid'], $asterisk->request['agi_extension']) . PHP_EOL;
     $console_formatter = new Zend_Log_Formatter_Simple($format . PHP_EOL);
     $console_writer->setFormatter($console_formatter);
     $log->addWriter($console_writer);
     if (!$config->system->debug) {
         $writer->addFilter(new Zend_Log_Filter_Priority(Zend_Log::NOTICE));
         $console_writer->addFilter(new Zend_Log_Filter_Priority(Zend_Log::INFO));
     }
 }