[AsteriskBrasil] Manager Asterisk

Nicolau Costa nicogen em gmail.com
Quarta Maio 9 13:35:54 BRT 2012


Valeu Eder, muito obrigado pela contribuição!!!!!!!!!

Grande abraço

Nicolau Costa

Em 9 de maio de 2012 11:14, Eder Souza <eder.souza em bsd.com.br> escreveu:

> Atendendo a pedidos vamos compartilhar, o nagios me atende muito bem,
> consigo monitorar qualquer coisa com ele até mesmo quantidade de ligações
> no asterisk....
>
> Servidor para ficar rodando na máquina Asterisk
>
> #Eng. Eder de Souza
> #
> #    Data: 22-09-2008
>
> use IO::Socket::INET;
> use strict;
>
> my $numero;
> my $arquivo;
> my $r;
> my $port = shift
>     or die"Missing port number\n";
> my $socket = IO::Socket::INET->new('LocalPort' => $port,
>                                    'Proto' => 'tcp',
>                                    'Listen' => SOMAXCONN)
>     or die "Can't create socket ($!)\n";
> print "Server listening\n";
> while (my $client = $socket->accept) {
>     my $name = gethostbyaddr($client->peeraddr, AF_INET);
>     my $port = $client->peerport;
>     while (<$client>) {
>         print "[$name $port] $_";
>         print $client "$.: $_";
> $r = $_;
> if( $r =~ /Notification/) {
>           $r =~ s/Notification/notifica/g;
>                }
>  if( $r =~ /PROBLEM/) {
>            $r =~ s/PROBLEM/problemas/g;
>                 }
> if( $r =~ /RECOVERY/) {
>           $r =~ s/RECOVERY/recuperação/g;
>                          }
> if( $r =~ /vader/) {
>       $r =~ s/vader/veider/g;
>            }
> if( $r =~ /alert/) {
>           $r =~ s/alert//g;
>                }
> if( $r =~ /Eder/) {
>           $r =~ s/Eder/éder/g;
>                }
> if( $r =~ /Memoria/) {
>           $r =~ s/Memoria/memória/g;
>              }
> if( $r =~ / is /) {
>           $r =~ s/ is / está /g;
>              }
> if( $r =~ /WARNING$/) {
>        $r =~ s/WARNING/em perigo/g;
>          }
> if( $r =~ /CRITICAL$/) {
>      $r =~ s/CRITICAL/critico/g;
>       }
> print $r,"\n";
>         system("echo '$r' > /tmp/test.txt");
>         open ($arquivo, '</var/lib/asterisk/agi-bin/telefones.txt');
>         while (<$arquivo>) {
>            $numero = $_;
>            my $discar = "/var/spool/asterisk/".$numero.".call";
>            my $arqdestino = "/var/spool/asterisk/outgoing/" ;
>            open(EXTEN,">$discar");
>            print EXTEN "Channel: Sip/$numero\n";
>            print EXTEN "MaxRetries: 5\n";
>            print EXTEN "RetryTime: 60 \n";
>            print EXTEN "WaitTime: 60 \n";
>            print EXTEN "Context: Nagios\n";
>            print EXTEN "Extension: 3300\n";
>            print EXTEN "Priority: 1\n";
>            close(EXTEN);
>            system("mv /var/spool/asterisk/*.call $arqdestino");
>        }
>        close $arquivo;
>
> }
>     close $client
>         or die "Can't close ($!)\n";
> }
> die "Can't accept socket ($!)\n";
>
>
> Escolha uma porta de sua preferencia para deixar em listem e execute ex:
> "perl serverNagios 1234"
>
> Os IF's sao simples acertos que uso para melhorar a pronuncia.
>
> Este exemplo que estou mandando é bem símples observe que eu criei um
> arquivo telefones.txt em "/var/lib/asterisk/agi-bin/telefones.txt" neles eu
> posso colocar vários telefones ou ramais para onde desejo ligar se algum
> alarme acontecer, todos os numeros listados lá serão chamados ao mesmo
> tempo, observem também que neste exemplo todos os alarmes estão sendo
> colocados em arquivo temporário "/tmp/test.txt" claro você pode fazer algo
> mais robusto coloque em banco se preferir, observe que ele esta criando o
> .call altere o "Channel: Sip/$numero\n" para chamar sua interface E1, ou
> operadora VOIP, neste exemplo ele está chamando ramais SIP's....
>
> agora vamos ao client que irá se conectar ao server via socket !
>
> dentro do Nagios eu configuro para que seje chamado "cliente-asterisk.pl"
> observem que ele pega 3 argumentos IP de destino porta de destino e a
> mensagem que será falada via TTS.
>
> /usr/local/bin/bash -c '/usr/local/bin/perl /usr/home/eder/
> cliente-asterisk.pl 192.168.55.90 1234 "Notification $NOTIFICATIONTYPE$
> alert - $HOSTALIAS$ $SERVICEDESC$ is $SERVICESTATE$"'
>
>
> o client é este !
>
> use IO::Socket::INET;
> use strict;
> my $name = shift
>     or die "Missing server name\n";
> my $port = shift
>     or die "Missing port number\n";
>
> my $msg = shift
>     or die "Missing port number\n";
> my $socket = IO::Socket::INET->new('PeerAddr' => $name,
>                                    'PeerPort' => $port,
>                                    'Proto' => 'tcp')
>     or die "Can't create socket ($!)\n";
> print "Client sending\n";
>
> if($socket->connected){
>
> print $socket "$msg\n";
> exit(0);
>     print scalar <$socket>;
> exit(0);
> }
> close $socket
>     or die "Can't close socket ($!)\n";
> exit(0);
>
>
> Agora configure seu Asterisk para falar o que está dentro do arquivo
> test.txt estou enviando de presente 3 métodos escolha o seu !!
>
>
>
> [Nagios]
> #exemplo com o Festival
> exten => 3200,1,Set(test=${FILE(/tmp/test.txt,0,130)})
> exten => 3200,n,Festival(${test})
> exten => 3200,n,wait(1)
> exten => 3200,n,Hangup
>
> #exemplo com o eSpeak
> exten => 3300,1,ReadFile(test=/tmp/test.txt,130)
> exten => 3300,n,eSpeak(${test})
> exten => 3300,n,wait(1)
> exten => 3300,n,Hangup
> #exemplo com o verbio
> exten => 3400,1,VerbioPrompt(/tmp/test.txt,,,fv)
>
>
> Neste exemplo o .call está criando a rota para a extensão 330, ou seja o
> .call vai ligar para todos os números contidos em telefones.txt quando a
> ligação for atendida será feita a ponte para a extensão 330 que irá ler o
> conteúdo do arquivo contido em test.txt ....
>
> Tentei ser o mais claro possível !!
>
> Eng Eder de Souza
>
>
> Em 9 de maio de 2012 09:05, Mazolini, Jose <Jose.Mazolini em fisglobal.com>escreveu:
>
>   Eu uso o Dude é da Mikrotik. Todas minhas RBs, são mais de 40, twittão.
>> Falta de energia, Bateria baixa, Desconexão de link Ponto a Ponto, Reset,
>> Falha do Gateway principal entrando em modo contingencia, Link
>> Reestabelecido,****
>>
>> Eu fiz uma gambiarra também.****
>>
>> Chamo escript que envia e-mail usando comando sendmail (para Windows).***
>> *
>>
>> Que envia uma mensagem para uma FanPage do Facebook(que não esta
>> publicada).****
>>
>> A FanPage esta linkada ao Twitter.****
>>
>> Eu sigo no meu twitter por sms o twitter da FanPage.****
>>
>> Qualquer coisa que acontece recebo um SMS. FREE!!!!****
>>
>> A tim não cobra pra receber publicações do Twitter, só para enviar.****
>>
>> ** **
>>
>> *From:* asteriskbrasil-bounces em listas.asteriskbrasil.org [mailto:
>> asteriskbrasil-bounces em listas.asteriskbrasil.org] *On Behalf Of *Dennys
>> Santos Alves
>> *Sent:* terça-feira, 8 de maio de 2012 17:45
>> *To:* asteriskbrasil em listas.asteriskbrasil.org
>> *Subject:* Re: [AsteriskBrasil] Manager Asterisk****
>>
>> ** **
>>
>> Eder tem como você me enviar este script pois existe a possibilidade de
>> colocar ele para charmar através de servidor voip Avaya.****
>>
>>  ****
>>
>> Poderia me ajudar.****
>>
>>  ****
>>
>> Grato****
>>
>>  ****
>>
>>  ****
>>
>>  ****
>>
>> Em 8 de maio de 2012 14:35, Nicolau Costa <nicogen em gmail.com> escreveu:**
>> **
>>
>> Olá Eder,
>>
>> Muito obrigado pela resposta. Vou tentar fazer aqui.
>> Teria como vc me mandar os seus scripts para que eu possa dar uma olhada??
>>
>> grande abraço
>>
>> Nicolau Costa****
>>
>> Em 8 de maio de 2012 14:26, Eder Souza <eder.souza em bsd.com.br> escreveu:*
>> ***
>>
>> ** **
>>
>> Olá Nicolau,****
>>
>>  ****
>>
>> É possível sim, aqui eu utilizo o Nagios em um freeBSD para monitoramento
>> de Links, Servidores, Temperatura, Energia, ETC. Eu construí um daemon em
>> perl com socket onde deixo este server rodando na máquina Asterisk, fiz um
>> client para se conectar por este socket e quando algum alarme acontece o
>> client se conecta ao server enviando via socket informação por exemplo qual
>> serviço está down e o válor que fez o serviço ser alarmado, no mesmo
>> instante este server cria um .call e gera uma váriável temporária via
>> AsteriskDB, este arquivo .call dispara a ligação que ao ser atendida pega
>> os dados do banco e lê via TTS o conteúdo ex: "Pegasus HD em 90%" ou
>> "Energia caiu"****
>>
>>  ****
>>
>> Você pode fazer o mesmo só nao sei se o seu software chamado Dude possue
>> funcionalidades para chamar scripts externos, mas se tiver conseguirá fazer
>> o mesmo em seu ambiente!****
>>
>>  ****
>>
>>  ****
>>
>>  ****
>>
>> Att,****
>>
>>  ****
>>
>>  ****
>>
>> Eng Eder de Souza****
>>
>> Em 8 de maio de 2012 13:49, Nicolau Costa <nicogen em gmail.com> escreveu:**
>> **
>>
>> Boa tarde pessoal,
>>
>> Tenho um software de monitoramento chamado Dude. Se um determinado
>> serviço estiver down ele dispara um e-mail e um pop-up avisando.
>> Agora quero que quando aconteça isso o Asterisk ligue para um deterninado
>> telefone avisando que tal serviço está down.
>> Alguem já fez algo parecido??
>> Utilizo o Elastix.
>>
>> Att
>>
>> Nicolau Costa****
>>
>> _______________________________________________
>> KHOMP Inovação: External Board Series
>> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e
>> FreeSWITCH.
>> Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
>> _______________________________________________
>> DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
>> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
>> Centro Treinamento - Curso de PABX IP -  Asterisk  - Site
>> www.digivoice.com.br
>> ________
>> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do
>> mercado.
>> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
>> ______________________________________________
>> Para remover seu email desta lista, basta enviar um email em branco para
>> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org****
>>
>>
>>
>> _______________________________________________
>> KHOMP Inovação: External Board Series
>> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e
>> FreeSWITCH.
>> Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
>> _______________________________________________
>> DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
>> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
>> Centro Treinamento - Curso de PABX IP -  Asterisk  - Site
>> www.digivoice.com.br
>> ________
>> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do
>> mercado.
>> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
>> ______________________________________________
>> Para remover seu email desta lista, basta enviar um email em branco para
>> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org****
>>
>>
>>
>> _______________________________________________
>> KHOMP Inovação: External Board Series
>> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e
>> FreeSWITCH.
>> Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
>> _______________________________________________
>> DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
>> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
>> Centro Treinamento - Curso de PABX IP -  Asterisk  - Site
>> www.digivoice.com.br
>> ________
>> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do
>> mercado.
>> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
>> ______________________________________________
>> Para remover seu email desta lista, basta enviar um email em branco para
>> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org****
>>
>> ** **
>>  _____________
>> A informação contida nesta mensagem é confidencial e proprietária. Se
>> você recebeu este e-mail por engano, por favor: (i) apague a mensagem e
>> todas as suas cópias e anexos; (ii) não revele, distribua ou utilize a
>> mensagem ou seu conteúdo de qualquer maneira; e (iii) notifique o remetente
>> imediatamente. Adicionalmente, por favor esteja informado de que qualquer
>> mensagem endereçada ao nosso domínio está sujeita ao arquivamento e leitura
>> por outros membros da companhia, além do próprio destinatário da mensagem.
>> Obrigado.
>>
>> The information contained in this message is proprietary and/or
>> confidential. If you are not the intended recipient, please: (i) delete the
>> message and all copies; (ii) do not disclose, distribute or use the message
>> in any manner; and (iii) notify the sender immediately. In addition, please
>> be aware that any message addressed to our domain is subject to archiving
>> and review by persons other than the intended recipient. Thank you.
>>
>> _______________________________________________
>> KHOMP Inovação: External Board Series
>> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e
>> FreeSWITCH.
>> Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
>> _______________________________________________
>> DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
>> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
>> Centro Treinamento - Curso de PABX IP -  Asterisk  - Site
>> www.digivoice.com.br
>> ________
>> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do
>> mercado.
>> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
>> ______________________________________________
>> Para remover seu email desta lista, basta enviar um email em branco para
>> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>>
>
>
> _______________________________________________
> KHOMP Inovação: External Board Series
> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e
> FreeSWITCH.
> Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
> _______________________________________________
> DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
> Centro Treinamento - Curso de PABX IP -  Asterisk  - Site
> www.digivoice.com.br
> ________
> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do
> mercado.
> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
> ______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20120509/64d6862d/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil