Olá Rodrigo. Aqui roda, o problema é que quando vou fazer um checkup as informações não batem com a informações que tenho na base asteriskcdrdb. Hoje entre 6 e 7 da manha no asteriskcdrdb diz que recebi 27 chamadas e no queue-stats diz que so recebi 14.
Em 30 de outubro de 2013 12:38, Rodrigo Ferreira <rsferreir...@gmail.com>escreveu: > Cara, uso o queues-stats e tá funcionando redondinho =) > > > > Atenciosamente. > Eng.° Rodrigo Ferreira > ITIL v3 Certified > > <http://br.linkedin.com/pub/rodrigo-ferreira/31/757/901> > > > Em 30 de outubro de 2013 13:10, Silvinho Barros <silvinho.b4r...@gmail.com > > escreveu: > > Blz Mike ! >> >> Sakei o arquivo, vou ver o que sai aqui. >> >> Obgd! >> >> >> Em 30 de outubro de 2013 11:55, Mike Tesliuk <m...@tesliuk.com> escreveu: >> >> >>> Apenas lembrando as versoes atuais do asterisk suportam o armazenamento >>> direto dos logs no banco conforme o link que eu passei >>> >>> Em 30/10/13 10:54, Mike Tesliuk escreveu: >>> >>> >>> você deveria gerar o relatorio baseado na fila e nao no cdr neste caso. >>> >>> existem alguns scripts que podemos jogar os dados da sua fila no banco >>> de dados e uma vez no banco você pode fazer as consultas necessárias. >>> >>> http://www.voip-info.org/wiki/view/Asterisk+queue_log+on+MySQL >>> >>> >>> Abaixo um script que fiz uma vez para esta finalidade (era versao 1.4 na >>> epoca), precisa verificar se o formato do arquivo é o mesmo ainda, se >>> quiser testar fique avontade, unico detalhe é , faça um backup do seu >>> queues_log enquanto você está testando para você nao perder os dados que >>> tem la, nao venha chorar depois se o arquivo for apagado :) >>> ----- >>> >>> #!/usr/bin/perl >>> # >>> # Script para proccessamento do arquivo queue_log >>> # >>> # Descricao dos campos do arquivo: >>> # epoch timestamp >>> # uniqueid da chamada >>> # nome da fila >>> # Canal >>> # evento >>> # parametro 1 do evento >>> # parametro 2 do evento >>> # parametro 3 do evento >>> >>> # Verificando se o processo ja esta rodando >>> $control = "/tmp/ProccessQueueLog.run"; >>> >>> if(! -e $control){ >>> system("touch $control"); >>> }else{ >>> die("Processo ja em Execucao\n"); >>> } >>> >>> >>> # declarando funcoes >>> use DBI; >>> >>> # declarando variaveis de conexao com banco >>> >>> $host = "localhost"; >>> $user = "USUARIO DO BANCO"; >>> $pass = "SENHA DO BANCO"; >>> $database = "asterisk"; >>> $table = "queuelog"; >>> >>> # Criando conexao >>> >>> $dsn = "DBI:mysql:database=$database;host=$host;port=3306"; >>> $dbh = DBI->connect($dsn, $user, $pass); >>> >>> # Definindo os arquivos >>> >>> $file = "/var/log/asterisk/queue_log"; >>> $file_tmp = "/var/log/asterisk/queue_log_tmp"; >>> >>> >>> # Verificando se o processo esta rodando >>> >>> >>> if(-e $file_tmp){ >>> system("rm -rf $file_tmp"); >>> } >>> >>> system("mv $file $file_tmp"); >>> system("touch $file"); >>> system("chown -R asterisk.asterisk $file"); >>> system("/usr/sbin/asterisk -rx \"logger reload\""); >>> >>> # Abrindo o arquivo >>> open FILE, "<", $file_tmp or die $!; >>> >>> # Lendo informacao do arquivo >>> >>> # contador para teste >>> $contador = 0; >>> >>> while ($line = <FILE>){ >>> $contador++; >>> #if($contador > 5000){ die(); } >>> ($epoch, $uniqueid, $queue, $channel, $event, $param1, $param2, >>> $param3) = split(/\|/, $line); >>> >>> # limpando as variaveis >>> chomp($epoch); >>> chomp($uniqueid); >>> chomp($queue); >>> chomp($channel); >>> chomp($event); >>> chomp($param1); >>> chomp($param2); >>> chomp($param3); >>> >>> # Convertendo epoch para date >>> $data = convert_epoc_to_date($epoch); >>> >>> # Imprimindo valores apenas para debug >>> #print "Data: $data\n"; >>> #print "Uniqueid: $uniqueid\n"; >>> #print "Fila: $queue\n"; >>> #print "Canal: $channel\n"; >>> #print "Evento: $event\n"; >>> #print "Parametro 1: $param1\n"; >>> #print "Parametro 2: $param2\n"; >>> #print "Parametro 3: $param3\n"; >>> #print "Original: $line\n\n"; >>> >>> # Exibindo a linha completa (para debug) >>> #print "LINE: $line\n"; >>> >>> $query = "INSERT INTO $database.$table VALUES ('$epoch', >>> '$uniqueid', '$queue', '$channel' , '$event', '$param1', '$param2', >>> '$param3', '$data')"; >>> >>> # Imprimindo insert para verificacao >>> print "Query: $query\n"; >>> >>> # Executando Insert >>> $sth = $dbh->prepare($query); >>> $sth->execute(); >>> } >>> >>> >>> >>> >>> sub convert_epoc_to_date($epoch){ >>> # Formato alterado pela falta da DateTime >>> #use DateTime; >>> #$dt = DateTime->from_epoch (epoch => $epoch); >>> #$year = $dt->year; >>> #$month = $dt->month; >>> #$day = $dt->day; >>> #$hour = $dt->hour; >>> #$minute = $dt->minute; >>> #$second = $dt->second; >>> >>> #return ($year + 1900) . "-$month" . "-$day". "-$hour" . ":$minute" >>> . "$second"; >>> >>> my $time = $epoch; >>> my @months = >>> ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); >>> my ($sec, $min, $hour, $day,$month,$year) = >>> (localtime($time))[0,1,2,3,4,5,6]; >>> $month = $month + 1; >>> if($month < 10){ $month = "0" . $month; } >>> if($day < 10){ $day = "0" . $day; } >>> if($hour < 10){ $hour = "0" . $hour; } >>> if($min < 10){ $min = "0" . $min; } >>> if($sec < 10){ $sec = "0" . $sec; } >>> >>> return ($year + 1900) . "-$month" . "-$day". " $hour" . ":$min" . >>> ":$sec"; >>> } >>> >>> / >>> system("rm -rf $control"); >>> >>> >>> ----- >>> >>> A estrutura do banco de dados para receber estes dados éra a seguinte. >>> >>> CREATE TABLE `queuelog` ( >>> `timestamp` int(11) default NULL, >>> `callid` text, >>> `qname` text, >>> `agent` text, >>> `action` text, >>> `info1` text, >>> `info2` text, >>> `info3` text, >>> `date` datetime default NULL >>> ) ENGINE=MyISAM DEFAULT CHARSET=latin1; >>> >>> >>> >>> --- >>> >>> >>> >>> Em 30/10/13 10:44, Silvinho Barros escreveu: >>> >>> Bom dia Pessoal, >>> >>> Alguem sabe a manha para tirar relatorio dessa base(Asteriskcdrdb) de >>> quantas chamadas forma atendidas e quantas falharam de verdade? >>> O problema é que trabalho com filas e quando ele começa a discar para >>> os ramais é registrado varios não respondidos mas na verdade a chamada foi >>> atendida por 1 ramal apenas. >>> >>> Asternic ta furado aqui! >>> >>> Obrigado. >>> >>> >>> >>> _______________________________________________ >>> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1; >>> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7; >>> Intercomunicadores para acesso remoto via rede IP. Conheça em www.Khomp.com. >>> _______________________________________________ >>> ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7. >>> Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. >>> Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br. >>> _______________________________________________ >>> Para remover seu email desta lista, basta enviar um email em branco para >>> asteriskbrasil-unsubscr...@listas.asteriskbrasil.org >>> >>> >>> >>> >>> _______________________________________________ >>> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1; >>> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7; >>> Intercomunicadores para acesso remoto via rede IP. Conheça em www.Khomp.com. >>> _______________________________________________ >>> ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7. >>> Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. >>> Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br. >>> _______________________________________________ >>> Para remover seu email desta lista, basta enviar um email em branco para >>> asteriskbrasil-unsubscr...@listas.asteriskbrasil.org >>> >>> >>> >>> _______________________________________________ >>> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1; >>> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7; >>> Intercomunicadores para acesso remoto via rede IP. Conheça em >>> www.Khomp.com. >>> _______________________________________________ >>> ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7. >>> Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. >>> Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br. >>> _______________________________________________ >>> Para remover seu email desta lista, basta enviar um email em branco para >>> asteriskbrasil-unsubscr...@listas.asteriskbrasil.org >>> >> >> >> _______________________________________________ >> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1; >> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7; >> Intercomunicadores para acesso remoto via rede IP. Conheça em >> www.Khomp.com. >> _______________________________________________ >> ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7. >> Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. >> Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br. >> _______________________________________________ >> Para remover seu email desta lista, basta enviar um email em branco para >> asteriskbrasil-unsubscr...@listas.asteriskbrasil.org >> > > > _______________________________________________ > KHOMP: completa linha de placas externas FXO, FXS, GSM e E1; > Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7; > Intercomunicadores para acesso remoto via rede IP. Conheça em > www.Khomp.com. > _______________________________________________ > ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7. > Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. > Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br. > _______________________________________________ > Para remover seu email desta lista, basta enviar um email em branco para > asteriskbrasil-unsubscr...@listas.asteriskbrasil.org >
_______________________________________________ KHOMP: completa linha de placas externas FXO, FXS, GSM e E1; Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7; Intercomunicadores para acesso remoto via rede IP. Conheça em www.Khomp.com. _______________________________________________ ALIGERA Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7. Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. Channel Bank Appliance Asterisk - Acesse www.aligera.com.br. _______________________________________________ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org