PABX criado para pesquisas
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

82 lines
2.3 KiB

#!/usr/bin/php -q
<?php
/*
* Backup
* Autor: Amarildo Pereira
* Data: 04/09/2014
* Objetivo: Efetuar discagem de uma lista de numeros previamente
* anexada a uma campanha.
*/
require_once("/var/lib/asterisk/scripts/discador/comum.php");
/*
* Configura campanha passada na linha de comando.
*/
RegistraCampanha($argv[2], $argv[1]);
/*
* Se a configuração não foi definida manualmente retorna a configuração padrão.
*/
if ($conStr === false) {
$conStr = GetDefStrDb();
}
try {
/*
* Inicia a conexão com banco de dados.
*/
AlimentaLog($conStr, "", "String Conexão PG:");
$conn = PgOpen();
if (!$conn) {
throw new Exception("Não foi possível conectar ao banco: $conStr");
}
/*
* Conecata o banco de dados mysql
*/
AlimentaLog("Host: $hostMy User: $userMy Senha: $senhaMy", "", "String Conexão MY:");
$connMy = MysqlOpen();
if (!$connMy) {
throw new Exception("Não possível inicializar estruturas de dados internas!");
}
$socket = ConectaAmi($sck_host, $sck_porta, $sck_usuario, $sck_senha, false);
if (!$socket) {
throw new Exception("Não foi possível conectar ao Manager!");
}
$saidaMonitor = sprintf('/tmp/discador_cmd_%s_%s.log', IdCampanha(), date("YdmHi"));
$fileMonitor = fopen($saidaMonitor, 'a');
ImportaCampanha(IdCampanha());
$str = sprintf("/var/lib/asterisk/scripts/discador/monitor_power.php %s %s > /dev/null &", NomeCampanha(), IdCampanha());
exec($str);
$pid = 0;
if (($pid = ConectaMonitor()) == false) {
throw new Exception('Não foi possível se conectar ao monitor! Timeout.');
}
while (true) {
ProcessarLista($socket);
if (($dados = Encerra()) !== false) {
$st = $dados['cmp_status'];
}
if (!$st || !$dados) {
EncerraMonitor($pid);
break;
}
usleep(500000);
}
} catch (Exception $e) {
$erro = error_get_last();
$logerro = sprintf("%s SYS[%s] %s Linha: %s\n", $e->getMessage(), $erro['message'], $dataAtual, $erro['line']);
AlimentaLog($logerro, "Power", "Erro Geral: ", 0);
}
/*
* Registra comandos e erros executados no sistema
* de acordo com o nivel de log configurado.
*/
LogDiscador();
exit(0);
?>