<div>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....</div><div> </div><div>Servidor para ficar rodando na máquina Asterisk</div>
<div> </div><div>#Eng. Eder de Souza<br>#    </div><div>#    Data: 22-09-2008</div><div> </div><div>use IO::Socket::INET;<br>use strict;</div><div><br>my $numero;<br>my $arquivo;<br>my $r;</div><div>my $port = shift<br>    or die&quot;Missing port number\n&quot;;</div>
<div>my $socket = IO::Socket::INET-&gt;new(&#39;LocalPort&#39; =&gt; $port,<br>                                   &#39;Proto&#39; =&gt; &#39;tcp&#39;,<br>                                   &#39;Listen&#39; =&gt; SOMAXCONN)<br>
    or die &quot;Can&#39;t create socket ($!)\n&quot;;<br>print &quot;Server listening\n&quot;;<br>while (my $client = $socket-&gt;accept) {<br>    my $name = gethostbyaddr($client-&gt;peeraddr, AF_INET);<br>    my $port = $client-&gt;peerport;<br>
    while (&lt;$client&gt;) {<br>        print &quot;[$name $port] $_&quot;;<br>        print $client &quot;$.: $_&quot;;<br>$r = $_;<br>if( $r =~ /Notification/) {<br>          $r =~ s/Notification/notifica/g;<br>               }<br>
 if( $r =~ /PROBLEM/) {<br>           $r =~ s/PROBLEM/problemas/g;<br>                }<br>if( $r =~ /RECOVERY/) {<br>          $r =~ s/RECOVERY/recuperação/g;<br>                         }<br>if( $r =~ /vader/) {<br>      $r =~ s/vader/veider/g;<br>
           }<br>if( $r =~ /alert/) {<br>          $r =~ s/alert//g;<br>               }<br>if( $r =~ /Eder/) {<br>          $r =~ s/Eder/éder/g;<br>               }<br>if( $r =~ /Memoria/) {<br>          $r =~ s/Memoria/memória/g;<br>
             }<br>if( $r =~ / is /) {<br>          $r =~ s/ is / está /g;<br>             }<br>if( $r =~ /WARNING$/) {<br>       $r =~ s/WARNING/em perigo/g;<br>         }<br>if( $r =~ /CRITICAL$/) {<br>     $r =~ s/CRITICAL/critico/g;<br>
      }<br>print $r,&quot;\n&quot;;</div><div>        system(&quot;echo &#39;$r&#39; &gt; /tmp/test.txt&quot;);</div><div>        open ($arquivo, &#39;&lt;/var/lib/asterisk/agi-bin/telefones.txt&#39;);<br>        while (&lt;$arquivo&gt;) {<br>
           $numero = $_;<br>           my $discar = &quot;/var/spool/asterisk/&quot;.$numero.&quot;.call&quot;;<br>           my $arqdestino = &quot;/var/spool/asterisk/outgoing/&quot; ;<br>           open(EXTEN,&quot;&gt;$discar&quot;);<br>
           print EXTEN &quot;Channel: Sip/$numero\n&quot;;<br>           print EXTEN &quot;MaxRetries: 5\n&quot;;<br>           print EXTEN &quot;RetryTime: 60 \n&quot;;<br>           print EXTEN &quot;WaitTime: 60 \n&quot;;<br>
           print EXTEN &quot;Context: Nagios\n&quot;;<br>           print EXTEN &quot;Extension: 3300\n&quot;;<br>           print EXTEN &quot;Priority: 1\n&quot;;<br>           close(EXTEN);<br>           system(&quot;mv /var/spool/asterisk/*.call $arqdestino&quot;);<br>
       }<br>       close $arquivo;</div><div> </div><div>}<br>    close $client<br>        or die &quot;Can&#39;t close ($!)\n&quot;;<br>}<br>die &quot;Can&#39;t accept socket ($!)\n&quot;;<br><br></div><div> </div><div>Escolha uma porta de sua preferencia para deixar em listem e execute ex: &quot;perl serverNagios 1234&quot;</div>
<div> </div><div>Os IF&#39;s sao simples acertos que uso para melhorar a pronuncia.</div><div> </div><div>Este exemplo que estou mandando é bem símples observe que eu criei um arquivo telefones.txt em &quot;/var/lib/asterisk/agi-bin/telefones.txt&quot; 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 &quot;/tmp/test.txt&quot; claro você pode fazer algo mais robusto coloque em banco se preferir, observe que ele esta criando o .call altere o &quot;Channel: Sip/$numero\n&quot; para chamar sua interface E1, ou operadora VOIP, neste exemplo ele está chamando ramais SIP&#39;s....</div>
<div> </div><div>agora vamos ao client que irá se conectar ao server via socket !</div><div> </div><div>dentro do Nagios eu configuro para que seje chamado &quot;<a href="http://cliente-asterisk.pl">cliente-asterisk.pl</a>&quot; observem que ele pega 3 argumentos IP de destino porta de destino e a mensagem que será falada via TTS.</div>
<div> </div><div>/usr/local/bin/bash -c &#39;/usr/local/bin/perl /usr/home/eder/<a href="http://cliente-asterisk.pl">cliente-asterisk.pl</a> 192.168.55.90 1234 &quot;Notification $NOTIFICATIONTYPE$ alert - $HOSTALIAS$ $SERVICEDESC$ is $SERVICESTATE$&quot;&#39;</div>
<div> </div><div> </div><div>o client é este !</div><div> </div><div>use IO::Socket::INET;<br>use strict;</div><div>my $name = shift<br>    or die &quot;Missing server name\n&quot;;<br>my $port = shift<br>    or die &quot;Missing port number\n&quot;;</div>
<div><br>my $msg = shift<br>    or die &quot;Missing port number\n&quot;;</div><div>my $socket = IO::Socket::INET-&gt;new(&#39;PeerAddr&#39; =&gt; $name,<br>                                   &#39;PeerPort&#39; =&gt; $port,<br>
                                   &#39;Proto&#39; =&gt; &#39;tcp&#39;)<br>    or die &quot;Can&#39;t create socket ($!)\n&quot;;<br>print &quot;Client sending\n&quot;;</div><div><br>if($socket-&gt;connected){</div><div><br>
print $socket &quot;$msg\n&quot;;<br>exit(0);<br>    print scalar &lt;$socket&gt;;<br>exit(0);<br>}<br>close $socket<br>    or die &quot;Can&#39;t close socket ($!)\n&quot;;<br>exit(0);</div><div> </div><div> </div><div>Agora configure seu Asterisk para falar o que está dentro do arquivo test.txt estou enviando de presente 3 métodos escolha o seu !!</div>
<div> </div><div> </div><div> </div><div>[Nagios]</div><div>#exemplo com o Festival</div><div>exten =&gt; 3200,1,Set(test=${FILE(/tmp/test.txt,0,130)})<br>exten =&gt; 3200,n,Festival(${test})<br>exten =&gt; 3200,n,wait(1)<br>
exten =&gt; 3200,n,Hangup</div><div> </div><div>#exemplo com o eSpeak<br>exten =&gt; 3300,1,ReadFile(test=/tmp/test.txt,130)<br>exten =&gt; 3300,n,eSpeak(${test})<br>exten =&gt; 3300,n,wait(1)<br>exten =&gt; 3300,n,Hangup<br>
</div><div>#exemplo com o verbio</div><div>exten =&gt; 3400,1,VerbioPrompt(/tmp/test.txt,,,fv)</div><div> </div><div> </div><div>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 ....</div>
<div> </div><div>Tentei ser o mais claro possível !!</div><div> </div><div>Eng Eder de Souza</div><div><br> </div><div class="gmail_quote">Em 9 de maio de 2012 09:05, Mazolini, Jose <span dir="ltr">&lt;<a href="mailto:Jose.Mazolini@fisglobal.com" target="_blank">Jose.Mazolini@fisglobal.com</a>&gt;</span> escreveu:<br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">





<div lang="PT-BR" vlink="purple" link="blue">
<div>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;font-size:11pt">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,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;font-size:11pt">Eu fiz uma gambiarra também.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;font-size:11pt">Chamo escript que envia e-mail usando comando sendmail (para Windows).<u></u><u></u></span></p>

<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;font-size:11pt">Que envia uma mensagem para uma FanPage do Facebook(que não esta publicada).<u></u><u></u></span></p>

<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;font-size:11pt">A FanPage esta linkada ao Twitter.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;font-size:11pt">Eu sigo no meu twitter por sms o twitter da FanPage.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;font-size:11pt">Qualquer coisa que acontece recebo um SMS. FREE!!!!<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;font-size:11pt">A tim não cobra pra receber publicações do Twitter, só para enviar.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;font-size:10pt" lang="EN-US">From:</span></b><span style="font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;font-size:10pt" lang="EN-US"> <a href="mailto:asteriskbrasil-bounces@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-bounces@listas.asteriskbrasil.org</a> [mailto:<a href="mailto:asteriskbrasil-bounces@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-bounces@listas.asteriskbrasil.org</a>]
<b>On Behalf Of </b>Dennys Santos Alves<br>
<b>Sent:</b> terça-feira, 8 de maio de 2012 17:45<br>
<b>To:</b> <a href="mailto:asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a><br>
<b>Subject:</b> Re: [AsteriskBrasil] Manager Asterisk<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<p>Eder tem como você me enviar este script pois existe a possibilidade de colocar ele para charmar através de servidor voip Avaya.<u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Poderia me ajudar.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Grato<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Em 8 de maio de 2012 14:35, Nicolau Costa &lt;<a href="mailto:nicogen@gmail.com" target="_blank">nicogen@gmail.com</a>&gt; escreveu:<u></u><u></u></p>
</div>
<blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;border-color:currentColor currentColor currentColor rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-right:0cm;margin-left:4.8pt">

<p style="margin-bottom:12pt" class="MsoNormal">Olá Eder,<br>
<br>
Muito obrigado pela resposta. Vou tentar fazer aqui.<br>
Teria como vc me mandar os seus scripts para que eu possa dar uma olhada??<br>
<br>
grande abraço<br>
<br>
Nicolau Costa<u></u><u></u></p>
<div>
<p class="MsoNormal">Em 8 de maio de 2012 14:26, Eder Souza &lt;<a href="mailto:eder.souza@bsd.com.br" target="_blank">eder.souza@bsd.com.br</a>&gt; escreveu:<u></u><u></u></p>
<div>
<div>
<blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;border-color:currentColor currentColor currentColor rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-right:0cm;margin-left:4.8pt">

<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Olá Nicolau,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">É 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: &quot;Pegasus HD em 90%&quot; ou &quot;Energia caiu&quot;<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">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!<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Att,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p style="margin-bottom:12pt" class="MsoNormal">Eng Eder de Souza<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Em 8 de maio de 2012 13:49, Nicolau Costa &lt;<a href="mailto:nicogen@gmail.com" target="_blank">nicogen@gmail.com</a>&gt; escreveu:<u></u><u></u></p>
<div>
<div>
<p style="margin-bottom:12pt" class="MsoNormal">Boa tarde pessoal,<br>
<br>
Tenho um software de monitoramento chamado Dude. Se um determinado serviço estiver down ele dispara um e-mail e um pop-up avisando.<br>
Agora quero que quando aconteça isso o Asterisk ligue para um deterninado telefone avisando que tal serviço está down.<br>
Alguem já fez algo parecido??<br>
Utilizo o Elastix.<br>
<br>
Att<span style="color:rgb(136,136,136)"><br>
<br>
Nicolau Costa</span><u></u><u></u></p>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
KHOMP Inovação: External Board Series<br>
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.<br>
Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>
_______________________________________________<br>
DIGIVOICE  Fabricante de Placas de Voz e Channel Bank<br>
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>
Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  <a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>
________<br>
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br>
email: <a href="mailto:yealink@commlogik.com.br" target="_blank">yealink@commlogik.com.br</a> |
<a href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a> | (11) 5503-1011<br>
______________________________________________<br>
Para remover seu email desta lista, basta enviar um email em branco para <a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">
asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><u></u><u></u></p>
</div>
<p class="MsoNormal"><br>
<br>
_______________________________________________<br>
KHOMP Inovação: External Board Series<br>
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.<br>
Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>
_______________________________________________<br>
DIGIVOICE  Fabricante de Placas de Voz e Channel Bank<br>
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>
Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  <a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>
________<br>
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br>
email: <a href="mailto:yealink@commlogik.com.br" target="_blank">yealink@commlogik.com.br</a> |
<a href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a> | (11) 5503-1011<br>
______________________________________________<br>
Para remover seu email desta lista, basta enviar um email em branco para <a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">
asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</div>
<p class="MsoNormal"><br>
<br>
_______________________________________________<br>
KHOMP Inovação: External Board Series<br>
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.<br>
Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>
_______________________________________________<br>
DIGIVOICE  Fabricante de Placas de Voz e Channel Bank<br>
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>
Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  <a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>
________<br>
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br>
email: <a href="mailto:yealink@commlogik.com.br" target="_blank">yealink@commlogik.com.br</a> | <a href="http://www.commlogik.com.br" target="_blank">
www.commlogik.com.br</a> | (11) 5503-1011<br>
______________________________________________<br>
Para remover seu email desta lista, basta enviar um email em branco para <a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">
asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><u></u><u></u></p>
</blockquote>
<p class="MsoNormal"><u></u> <u></u></p>
</div></div></div>

<div>
_____________<br>
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.<br>

<br>
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.<br>

</div></div>

<br>_______________________________________________<br>
KHOMP Inovação: External Board Series<br>
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.<br>
Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>
_______________________________________________<br>
DIGIVOICE  Fabricante de Placas de Voz e Channel Bank<br>
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>
Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  <a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>
________<br>
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br>
email: <a href="mailto:yealink@commlogik.com.br">yealink@commlogik.com.br</a> | <a href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a> | (11) 5503-1011<br>
______________________________________________<br>
Para remover seu email desta lista, basta enviar um email em branco para <a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><br></blockquote></div>
<br>