|
|
|
|
#!/usr/bin/php -q
|
|
|
|
|
<?php
|
|
|
|
|
require("funcoes/shared.php");
|
|
|
|
|
require("phpagi/phpagi.php");
|
|
|
|
|
require("funcoesAgi.php");
|
|
|
|
|
|
|
|
|
|
define("DIR_BASE_APL", "/var/lib/asterisk/scripts/uraativa/");
|
|
|
|
|
define("DIR_BASE_AUDIO", "/var/lib/asterisk/sounds/");
|
|
|
|
|
define("AUDIO_EXTENSAO", ".alaw");
|
|
|
|
|
define("TTS_EXE", "/var/lib/asterisk/scripts/uraativa/ttsimples");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
declare(ticks = 1);
|
|
|
|
|
pcntl_signal(SIGTERM, "signal_handler");
|
|
|
|
|
pcntl_signal(SIGINT, "signal_handler");
|
|
|
|
|
pcntl_signal(SIGHUP, "signal_handler");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$tempo = time();
|
|
|
|
|
$nomeApl = 'ura_atende_simples';
|
|
|
|
|
//$stdlog = fopen("/var/lib/asterisk/scripts/uraativa/$nomeApl.log", "a");
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Interage com agi.
|
|
|
|
|
*/
|
|
|
|
|
$optconfig['phpagi']['error_handler'] = false;
|
|
|
|
|
$agi = new AGI("/var/lib/asterisk/scripts/uraativa/phpagi.conf", $optconfig);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$globais = array("callerid" => 0, "uid" => 0, "nome_cliente" => "", "cpf_cliente" => 0, "saldo_cartao" => 0, "cli_id" => 0, "fones" => array("fone" => "", "fone1" => "", "fone2" => ""));
|
|
|
|
|
$globais["callerid"] = GetVariavelAgi($agi, "CALLERID(num)");
|
|
|
|
|
$globais["uid"] = GetVariavelAgi($agi, "UNIQUEID");
|
|
|
|
|
$uid = $globais["uid"];
|
|
|
|
|
$removeFiles = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$log = sprintf("Callerid: %s Uid: %s", $globais["callerid"], $globais["uid"]);
|
|
|
|
|
Grava_log($log);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Cria conex<EFBFBD>o para o banco de dados.
|
|
|
|
|
*/
|
|
|
|
|
$conStr = false;
|
|
|
|
|
//$conStr = sprintf("host='%s' port='%s' dbname='%s' user='%s' password='%s'", '192.168.115.11', '5432', 'teste', 'contacte', 'ctepgSQL');
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Se a configura<EFBFBD><EFBFBD>o n<EFBFBD>o foi definida manualmente retorna a configura<EFBFBD><EFBFBD>o padr<EFBFBD>o.
|
|
|
|
|
*/
|
|
|
|
|
if ($conStr === false) {
|
|
|
|
|
$conStr = GetDefStrDb();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Inicia a conex<EFBFBD>o com banco de dados.
|
|
|
|
|
*/
|
|
|
|
|
$conn = pg_connect($conStr);
|
|
|
|
|
//if($conn) Grava_log('Banco conectado.'); else Grava_log('Banco n<EFBFBD>o conectado.');
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Quando o cliente entra na ura verificamos se o telefone j<EFBFBD> esta cadastrado.
|
|
|
|
|
*/
|
|
|
|
|
$cliCad = GetCadastroFone();
|
|
|
|
|
|
|
|
|
|
$fileSauda = "saudacao" . $uid;
|
|
|
|
|
$agi->answer();
|
|
|
|
|
$saudacao = RemoveEspaco(Sauda());
|
|
|
|
|
|
|
|
|
|
if ($cliCad) {
|
|
|
|
|
/*
|
|
|
|
|
* O cliente foi localizado pelo n<EFBFBD>mero do telefone, ent<EFBFBD>o <EFBFBD> apresentado uma sauda<EFBFBD><EFBFBD>o de boas vindas
|
|
|
|
|
* personalizada. O arquivo <EFBFBD> gerado e armazenado posteriormente ser<EFBFBD> utilizado.
|
|
|
|
|
*/
|
|
|
|
|
$textaudio = sprintf("%s senhor \"%s\", bem vindo a Simples Ip<EFBFBD> , escolha uma das op<EFBFBD><EFBFBD>es apresentadas a seguir. ", Sauda(), $globais["nome_cliente"]);
|
|
|
|
|
$audio = sprintf("%s_%s_%s_%s", "opcoes_clicad", $saudacao, $globais["cli_id"], $uid);
|
|
|
|
|
$finish = true;
|
|
|
|
|
Grava_log("Cliente encontrado Audio: $audio Txt: $textaudio");
|
|
|
|
|
} else {
|
|
|
|
|
/*
|
|
|
|
|
* O cliente n<EFBFBD>o possui cadastro. Pede para informar o cpf caso seja cliente ou indicar uma ope<EFBFBD><EFBFBD>o.
|
|
|
|
|
*/
|
|
|
|
|
$finish = false;
|
|
|
|
|
$infinite = 0;
|
|
|
|
|
$txt = '';
|
|
|
|
|
$nomeAudio = '';
|
|
|
|
|
$timeout = 6000;
|
|
|
|
|
$maxDigit = 11;
|
|
|
|
|
while (!$finish) {
|
|
|
|
|
$infinite++;
|
|
|
|
|
$digits = SolicitaCpf($agi, $txt, $nomeAudio, $timeout, $maxDigit);
|
|
|
|
|
if ($digits == 9) {
|
|
|
|
|
$audio = "redir_atendimetno_$uid";
|
|
|
|
|
$textoConctAudio = "Obrigado por utilizar nossa central de servi<EFBFBD>os\, em instantes voc<EFBFBD> ser<EFBFBD> redirecionado para um dos nossos atendentes.";
|
|
|
|
|
$audio = GetAudioText($textoConctAudio, $audio);
|
|
|
|
|
$agi->stream_file($audio);
|
|
|
|
|
$agi->exec("Queue", "simples");
|
|
|
|
|
$finish = true;
|
|
|
|
|
} else {
|
|
|
|
|
if (!$digits) {
|
|
|
|
|
$finish = false;
|
|
|
|
|
$audio = "cpf_invalido_$uid";
|
|
|
|
|
$textoConctAudio = "O n<EFBFBD>mero informado <EFBFBD> inv<EFBFBD>lido ou n<EFBFBD>o consta em nosso cadastro. Por favor ap<EFBFBD>s o sinal digite pausadamente seu cpf";
|
|
|
|
|
$audio = GetAudioText($textoConctAudio, $audio);
|
|
|
|
|
$agi->stream_file($audio);
|
|
|
|
|
$txt = 'beep';
|
|
|
|
|
$nomeAudio = "beep";
|
|
|
|
|
} else {
|
|
|
|
|
if (GetCadastroCpf($digits)) {
|
|
|
|
|
$finish = true;
|
|
|
|
|
$audio = "cpf_encontrado_$uid";
|
|
|
|
|
$textoConctAudio = sprintf("%s senhor %s se voc<EFBFBD> deseja associar este n<EFBFBD>mero de telefone ao seu cadastro digite um ou aguarde para ouvir as op<EFBFBD><EFBFBD>es de atendimento.", Sauda(), $globais["nome_cliente"]);
|
|
|
|
|
$audio = GetAudioText($textoConctAudio, $audio);
|
|
|
|
|
$ret = $agi->get_data($audio, 3000, 1);
|
|
|
|
|
$digit = $ret["result"];
|
|
|
|
|
if ($digit == '1')
|
|
|
|
|
AssociaFone($agi);
|
|
|
|
|
$textaudio = '';
|
|
|
|
|
$audio = sprintf("%s_%s_%s_%s", "opcoes_clicad", $saudacao, $globais["cli_id"], $uid);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
$finish = false;
|
|
|
|
|
$audio = "cpf_invalido_$uid";
|
|
|
|
|
$textoConctAudio = "O n<EFBFBD>mero informado <EFBFBD> inv<EFBFBD>lido ou n<EFBFBD>o consta em nosso cadastro. Por favor ap<EFBFBD>s o sinal digite pausadamente seu cpf";
|
|
|
|
|
$audio = GetAudioText($textoConctAudio, $audio);
|
|
|
|
|
$agi->stream_file($audio);
|
|
|
|
|
$txt = 'beep';
|
|
|
|
|
$nomeAudio = "beep";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if ($infinite >= 9)
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($finish) {
|
|
|
|
|
MenuAtendimento($agi, $textaudio, $audio);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$agi->hangup();
|
|
|
|
|
$agi = null;
|
|
|
|
|
ApagaArquivos();
|
|
|
|
|
Grava_log('Opeera<EFBFBD><EFBFBD>o finalizado', 1);
|
|
|
|
|
exit(0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* ----------------------------------------------------Funcoes do arquivo---------------------------------------------------- */
|
|
|
|
|
|
|
|
|
|
function Grava_log($log, $force = 0) {
|
|
|
|
|
if (!$force)
|
|
|
|
|
return true;
|
|
|
|
|
global $nomeApl, $tempo;
|
|
|
|
|
$stdlog = fopen("/var/lib/asterisk/scripts/uraativa/$nomeApl.log", "a");
|
|
|
|
|
$log = (trim($log) . " Tempo de execu<EFBFBD><EFBFBD>o: " . (time() - $tempo) . " Data Atual: " . date('Y-m-d H:i:s-z'));
|
|
|
|
|
$tempo = time();
|
|
|
|
|
//if(!$stdlog)$stdlog = fopen("/var/lib/asterisk/scripts/uraativa/$nomeApl.log", "a");
|
|
|
|
|
fputs($stdlog, "Log: $log\n");
|
|
|
|
|
fclose($stdlog);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetVariableCmd() {
|
|
|
|
|
global $argv;
|
|
|
|
|
if (!isset($argv[3]))
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
$params = explode('@', $argv[3]);
|
|
|
|
|
foreach ($params as $param) {
|
|
|
|
|
if (trim($param) != '') {
|
|
|
|
|
$var = explode('#', $param);
|
|
|
|
|
$varName = trim($var[0]);
|
|
|
|
|
if ($varName) {
|
|
|
|
|
$varValue = trim($var[1]);
|
|
|
|
|
$GLOBALS[$varName] = $varValue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function Sauda($caixa = 'l', $cType = "f") {
|
|
|
|
|
$hora = (int) date('H');
|
|
|
|
|
|
|
|
|
|
if (($hora >= 6) && ($hora < 12))
|
|
|
|
|
$sauda = "bom dia";
|
|
|
|
|
else if (($hora >= 12) && ($hora < 18))
|
|
|
|
|
$sauda = "boa tarde";
|
|
|
|
|
else
|
|
|
|
|
$sauda = "boa noite";
|
|
|
|
|
|
|
|
|
|
if ($caixa == 'U') {
|
|
|
|
|
$sauda = strtoupper($sauda);
|
|
|
|
|
}
|
|
|
|
|
if ($caixa == 'C') {
|
|
|
|
|
$sauda = $cType == "f" ? ucfirst($sauda) : ucwords($sauda);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $sauda;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetAudio($txtAudio, $fileName) {
|
|
|
|
|
global $removeFiles;
|
|
|
|
|
|
|
|
|
|
$audio = DIR_BASE_AUDIO . $fileName;
|
|
|
|
|
$removeFiles[] = $audio;
|
|
|
|
|
$txtAudio = str_replace('"', '\"', $txtAudio);
|
|
|
|
|
$txtAudio = str_replace("\n", "", $txtAudio);
|
|
|
|
|
$cmd = sprintf("%s \"%s\" %s", TTS_EXE, $txtAudio, $audio);
|
|
|
|
|
exec($cmd, $ret, $result);
|
|
|
|
|
$audio .= AUDIO_EXTENSAO;
|
|
|
|
|
return file_exists($audio) ? $fileName : false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetCadastroFone() {
|
|
|
|
|
global $globais;
|
|
|
|
|
|
|
|
|
|
$fone = $globais["callerid"];
|
|
|
|
|
$query = "select cli_id, cpf, nome, saldo_cartao, fone, fone1, fone2 from clientes where '$fone' in(fone, fone1, fone2)";
|
|
|
|
|
$result = pg_query($query);
|
|
|
|
|
|
|
|
|
|
if (!pg_num_rows($result)) {
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
$dados = pg_fetch_array($result);
|
|
|
|
|
$globais["cli_id"] = $dados["cli_id"];
|
|
|
|
|
$globais["cpf_cliente"] = $dados["cpf"];
|
|
|
|
|
$globais["nome_cliente"] = $dados["nome"];
|
|
|
|
|
$globais["saldo_cartao"] = $dados["saldo_cartao"];
|
|
|
|
|
$globais["fones"] = array("fone" => $dados["fone"], "fone1" => $dados["fone1"], "fone2" => $dados["fone2"]);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetCadastroCpf($cpf) {
|
|
|
|
|
global $globais;
|
|
|
|
|
|
|
|
|
|
$fone = $globais["callerid"];
|
|
|
|
|
$query = "select cli_id, cpf, nome, saldo_cartao, fone, fone1, fone2 from clientes where cpf = '$cpf' ";
|
|
|
|
|
$result = pg_query($query);
|
|
|
|
|
|
|
|
|
|
if (!pg_num_rows($result)) {
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
$dados = pg_fetch_array($result);
|
|
|
|
|
$globais["cli_id"] = $dados["cli_id"];
|
|
|
|
|
$globais["cpf_cliente"] = $dados["cpf"];
|
|
|
|
|
$globais["nome_cliente"] = $dados["nome"];
|
|
|
|
|
$globais["saldo_cartao"] = $dados["saldo_cartao"];
|
|
|
|
|
$globais["fones"] = array("fone" => $dados["fone"], "fone1" => $dados["fone1"], "fone2" => $dados["fone2"]);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetAudioText($textoConctAudio, $nomeAudio) {
|
|
|
|
|
$audio = DIR_BASE_AUDIO . $nomeAudio . AUDIO_EXTENSAO;
|
|
|
|
|
if (file_exists($audio)) {
|
|
|
|
|
return $nomeAudio;
|
|
|
|
|
} else {
|
|
|
|
|
return GetAudio($textoConctAudio, $nomeAudio);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetMenuAtendimento($textoConctAudio = '', $nomeAudio = '') {
|
|
|
|
|
$audio = DIR_BASE_AUDIO . (!$nomeAudio ? "menu_atendimento_simples" : $nomeAudio) . AUDIO_EXTENSAO;
|
|
|
|
|
$menu = !$textoConctAudio ? '' : trim($textoConctAudio);
|
|
|
|
|
$menu .= "Abrir um chamado para reparo t<EFBFBD>cnico digite 1.Agendar uma visita digite 2.Se voc<EFBFBD> quer saber seu saldo do cart<EFBFBD>o fidelidade digite 3.Cancelar o seu contrato digite 4.Fazer um elogio sugest<EFBFBD>o ou reclama<EFBFBD><EFBFBD>o digite 5.Conhecer nossas ofertas e promo<EFBFBD><EFBFBD>es digite 6.Falar com um de nossos atendentes digite 9.E caso queira ouvir novamente este menu digite 0.";
|
|
|
|
|
|
|
|
|
|
if (file_exists($audio)) {
|
|
|
|
|
return $nomeAudio;
|
|
|
|
|
} else {
|
|
|
|
|
return GetAudio($menu, $nomeAudio);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetOption($audio, $maxDigits = 1, $timeout = 2) {
|
|
|
|
|
$numDigit = 0;
|
|
|
|
|
while ($count < $maxDigits) {
|
|
|
|
|
|
|
|
|
|
$dtmf = $agi->get_data($audio, $maxDigits, $timeout);
|
|
|
|
|
if ($dtmf["result"] > 3) {
|
|
|
|
|
$agi->stream_file("invalid-opt");
|
|
|
|
|
$count++;
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function MenuAtendimento($agi, $textaudio, $audio) {
|
|
|
|
|
global $uid;
|
|
|
|
|
Grava_log("Menu Atendimento Audio: $audio Txt: $textaudio");
|
|
|
|
|
$fim = 0;
|
|
|
|
|
$repete = true;
|
|
|
|
|
$invalido = 0;
|
|
|
|
|
$valido = array('1', '2', '3', '4', '5', '6', '9', '0');
|
|
|
|
|
$txtInvalido = '';
|
|
|
|
|
while (!$fim) {
|
|
|
|
|
if ($repete) {
|
|
|
|
|
$repete = false;
|
|
|
|
|
$audio = GetMenuAtendimento($textaudio, $audio);
|
|
|
|
|
|
|
|
|
|
$ret = $agi->get_data($audio, 3000, 1);
|
|
|
|
|
$digit = $ret["result"];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($invalido) {
|
|
|
|
|
$invalido = false;
|
|
|
|
|
$nomeAudio = "opcao_menu_invalido";
|
|
|
|
|
$nomeAudio = GetAudioText($txtInvalido, $nomeAudio);
|
|
|
|
|
$ret = $agi->stream_file($nomeAudio);
|
|
|
|
|
|
|
|
|
|
$nomeAudio = "beep";
|
|
|
|
|
$ret = $agi->get_data($nomeAudio, 3000, 1);
|
|
|
|
|
$digit = $ret["result"];
|
|
|
|
|
Grava_log("Menu Atendimento Invalido: " . print_r($ret, true) . " Digito: $digit");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!$invalido) {
|
|
|
|
|
if (array_search($digit, $valido) !== false) {
|
|
|
|
|
Grava_log("Menu Atendimento Escolhe: $digit");
|
|
|
|
|
if ($digit == '0') {
|
|
|
|
|
$repete = true;
|
|
|
|
|
continue;
|
|
|
|
|
} else if ($digit == '1')
|
|
|
|
|
$txt = "Voc<EFBFBD> selecionou abrir um chamado.";
|
|
|
|
|
else if ($digit == '2')
|
|
|
|
|
$txt = "Voc<EFBFBD> selecionou agendar uma visita.";
|
|
|
|
|
else if ($digit == '3')
|
|
|
|
|
$txt = "Voc<EFBFBD> selecionou Consulta de saldo.";
|
|
|
|
|
else if ($digit == '4')
|
|
|
|
|
$txt = "Voc<EFBFBD> selecionou cancelar contrato.";
|
|
|
|
|
else if ($digit == '5')
|
|
|
|
|
$txt = "Voc<EFBFBD> selecionou fazer um elogio reclama<EFBFBD><EFBFBD>o ou sugest<EFBFBD>o.";
|
|
|
|
|
else if ($digit == '6')
|
|
|
|
|
$txt = "Voc<EFBFBD> selecionou ouvir nossas ofertas.";
|
|
|
|
|
else if ($digit == '9')
|
|
|
|
|
$txt = "Voc<EFBFBD> selecionou redirecionar para nossos atendentes.";
|
|
|
|
|
Grava_log("Menu Atendimento Escolhe: $digit Txt: $txt");
|
|
|
|
|
$txt = $txt . "Esta <EFBFBD> uma pequena demosntra<EFBFBD><EFBFBD>o das in<EFBFBD>meras possibilidades de integra<EFBFBD><EFBFBD>o que este aplicativo possibilita, obrigado por participar";
|
|
|
|
|
$nomeAudio = "agradecimento_demo_$uid";
|
|
|
|
|
$nomeAudio = GetAudioText($txt, $nomeAudio);
|
|
|
|
|
Grava_log("Menu Atendimento Escolhe: $digit Txt comp: $txt");
|
|
|
|
|
$agi->stream_file($nomeAudio);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
$txtInvalido = "Op<EFBFBD><EFBFBD>o inv<EFBFBD>lida ap<EFBFBD>s o b<EFBFBD>pe entre com outra op<EFBFBD><EFBFBD>o ou pressione zero para ouvir o menu";
|
|
|
|
|
$invalido = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function SolicitaCpf($agi, $txt = '', $nomeAudio = '', $timeout = 3000, $maxDigit = 11) {
|
|
|
|
|
global $saudacao;
|
|
|
|
|
$textaudio = $txt ? $txt : sprintf("%s, bem vindo a Simples Ip<EFBFBD>, n<EFBFBD>o encontramos o seu telefone em nosso cadastro\, se voc<EFBFBD> j<EFBFBD> <EFBFBD> nosso cliente digite o n<EFBFBD>mero de seu cpf ou digite 9 para falar com um de nossos atendentes.", Sauda());
|
|
|
|
|
$audio = $nomeAudio ? $nomeAudio : sprintf("%s_%s", "opcoes_clicad", $saudacao);
|
|
|
|
|
$audio = GetAudioText($textaudio, $audio);
|
|
|
|
|
$ret = $agi->get_data($audio, $timeout, $maxDigit);
|
|
|
|
|
return _soNumero($ret["result"]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function AssociaFone($agi) {
|
|
|
|
|
global $globais, $uid;
|
|
|
|
|
|
|
|
|
|
$fone = $globais["callerid"];
|
|
|
|
|
$fones = $globais["fones"];
|
|
|
|
|
$query = "";
|
|
|
|
|
foreach ($fones as $key => $value) {
|
|
|
|
|
$value = trim($value);
|
|
|
|
|
if (empty($value)) {
|
|
|
|
|
$query = sprintf("update clientes set %s = '%s' where cli_id = '%s'", $key, $fone, $globais['cli_id']);
|
|
|
|
|
Grava_log("AssociaFone: $query");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (empty($query))
|
|
|
|
|
$query = sprintf("update clientes set %s = '%s' where cli_id = '%s'", "fone2", $fone, $globais['cli_id']);
|
|
|
|
|
|
|
|
|
|
@pg_query($query);
|
|
|
|
|
|
|
|
|
|
$audio = "fone_incluido_$uid";
|
|
|
|
|
$textoConctAudio = "Senhor %s este telefone foi associado ao seu cadastro este procedimento ir<EFBFBD> agilizar o seu atendimento na pr<EFBFBD>xima vez em que nos ligar. A seguir voc<EFBFBD> ser<EFBFBD> redirecionado para o menu de atendimento.";
|
|
|
|
|
$textoConctAudio = sprintf($textoConctAudio, $globais['nome_cliente']);
|
|
|
|
|
$audio = GetAudioText($textoConctAudio, $audio);
|
|
|
|
|
$agi->stream_file($audio);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ApagaArquivos() {
|
|
|
|
|
global $removeFiles;
|
|
|
|
|
|
|
|
|
|
foreach ($removeFiles as $file) {
|
|
|
|
|
$file = trim($file) . AUDIO_EXTENSAO;
|
|
|
|
|
@unlink($file);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function signal_handler($signal) {
|
|
|
|
|
Grava_log("signal_handler", 1);
|
|
|
|
|
ApagaArquivos();
|
|
|
|
|
exit(0);
|
|
|
|
|
}
|
|
|
|
|
?>
|