<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Eu faria um script para se conectar ao manager do asterisk.....<br>
<br>
no manager do asterisk configuraria um novo usuário onde este apenas
poderia receber conexão do ip do zabbix... e também, caso tenha
firewall, liberar a porta 5038 apenas para o ip do zabbix...<br>
<br>
Creio que seria mais seguro dessa forma....<br>
<br>
De brinde um script para originar ligações.... adapte à sua
necessidade....<br>
<br>
Abraços!!!<br>
<br>
Firewall Iptables<br>
iptables -A INPUT -i eth0 -s 192.168.0.1/32 -p tcp -m tcp --dport 5038
-m state --state NEW -j ACCEPT<br>
<br>
explicando: tudo o que vier na interface eth0 (rede local) e for de
origem do ip 192.168.0.1 (ip zabbix) sendo o protocolo tcp na porta
5038 com estado novo, ACEITE.<br>
<br>
<br>
======================= manager.conf =======================<br>
[zabbix]<br>
secret=suasenha<br>
deny=0.0.0.0/0.0.0.0<br>
permit=192.168.0.1/255.255.255.0 ; ip do zabbix<br>
read = system,call,log,verbose,command<br>
write = system,call,log,verbose,command,originate<br>
<br>
===================== fim manager.conf =====================<br>
<br>
======================= RemoteDialer.php =======================<br>
#!/usr/bin/env php<br>
<br>
# INFO<br>
# <a class="moz-txt-link-freetext" href="http://www.voip-info.org/wiki/view/Asterisk+manager+API">http://www.voip-info.org/wiki/view/Asterisk+manager+API</a><br>
# <a class="moz-txt-link-freetext" href="http://www.voip-info.org/wiki/view/Asterisk+manager+Examples">http://www.voip-info.org/wiki/view/Asterisk+manager+Examples</a><br>
#
<a class="moz-txt-link-freetext" href="http://www.voip-info.org/wiki/view/Asterisk+manager+Example%3A+Originate">http://www.voip-info.org/wiki/view/Asterisk+manager+Example%3A+Originate</a><br>
#
<a class="moz-txt-link-freetext" href="http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+Originate">http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+Originate</a><br>
<br>
<br>
&lt;?php<br>
set_time_limit(30); //define o tempo limite de execução em 30 segundos.
Aumentar se utilizar tentativas de discagem<br>
error_reporting(1);<br>
<br>
$errno=0 ;<br>
$errstr=0 ;<br>
$delay = 1;<br>
<br>
$server="localhost"; // ip do servidor asterisk<br>
$port=5038; // porta de acesso padrão<br>
$username="discador" // usuário do manager<br>
$password="12345678";  // senha do usuário do manager<br>
<br>
<br>
$tecnologia="Local"; // Padrão: Local<br>
$ramal="1000";  // Usa-se ramal ip ou o DDR do PABX conectado<br>
$dialnumber="0151122223333"; // número a ser discado<br>
<br>
$socket = fsockopen ($server, $port, $errno, $errstr, 20); // Tenta
abrir o socket asterisk<br>
<br>
if (!$socket) {<br>
        echo "Não foi possível conectar no servidor Asterisk. Contate o
Administrador de Telecom.\r\n";<br>
        exit();<br>
} else {<br>
    // faz login no servidor<br>
        stream_set_blocking($socket, 0);<br>
        fputs ($socket, "Action: login\r\n");<br>
        fputs ($socket, "Username: {$username}\r\n");<br>
        fputs ($socket, "Secret: {$password}\r\n");<br>
        fputs ($socket, "Events: off\r\n\r\n");<br>
}<br>
<br>
while(1){<br>
    // Checa se usuário e senha é valido<br>
        $log .= fread($socket,8192);<br>
        if(strpos($log, "Message: Authentication failed")){<br>
                echo "Não foi possível fazer Login no servidor
Asterisk.  Contate o Administrador de Telecom.\r\n";<br>
                exit();<br>
        }<br>
        if(strpos($log, "Message: Authentication accepted")){<br>
                break 1;<br>
        }<br>
}<br>
<br>
// Inicia o processo de discagem<br>
fputs ($socket, "Action: Originate\r\n");<br>
fputs ($socket, "Channel: {$tecnologia}/{$ramal}@from-internal\r\n");
// Parâmetro Channel é chamado primeiro<br>
fputs ($socket, "Exten: {$dialnumber}\r\n"); // Parâmetro Exten é
chamado depois<br>
fputs ($socket, "Context: from-internal\r\n");<br>
fputs ($socket, "Priority: 1 \r\n");<br>
fputs ($socket, "Timeout: 10000\r\n"); //padrão 30000 ms ou 30 s<br>
fputs ($socket, "Account: remote_call\r\n");<br>
fputs ($socket, "Async: yes\r\n");<br>
// Opcional<br>
//fputs ($ socket, "MaxRetries: 2\r\n"); // Número máximo de tentativas<br>
//fputs ($ socket, "RetryTime: 30\r\n"); // Tempo para retentar, em
segundos<br>
//fputs ($ socket, "WaitTime: 10\r\n");  // Tempo de espera em segundos
entre tentativas<br>
<br>
sleep(2); // Importante para realizar a execução da chamada (2 segundos)<br>
<br>
fputs($socket, "Action: Logoff\r\n\r\n"); // Faz logoff do servidor<br>
fclose($socket); // Fecha a conexão<br>
<br>
exit();<br>
?&gt;<br>
===================== Fim RemoteDialer.php =====================<br>
<br>
<br>
<br>
Wagner escreveu:
<blockquote
 cite="mid:BANLkTikbxe7GWKRiWqjq47jU6HE1PXzrtA@mail.gmail.com"
 type="cite">
  <p>Desculpe agora que vi que o usuario q vc usa no servidor asterisk
eh o asterisk entao o arquivo auhorized_keys tem q ficar dentro da
pasta .ssh dentro da home do usuario asterisk<br>
  </p>
  <p>Ai do servidor zabbix digite ssh asterisk@ip "console.... "</p>
  <p>Deve funcionar</p>
  <p>Qualquer duvida avisa<br>
Abs</p>
  <blockquote type="cite">On May 27, 2011 11:21 AM, "Wagner" &lt;<a
 moz-do-not-send="true" href="mailto:wagnerspi@gmail.com">wagnerspi@gmail.com</a>&gt;
wrote:<br>
    <br>
    <div>para não precisar de senha é bem simples,</div>
    <div> </div>
    <div>você no servidor de origem, deve criar as chaves de ssh pro
usuário do zabbix ou root, depende como o seu está rodando:</div>
    <div> </div>
    <div># ssh-keygen</div>
    <div> </div>
    <div>ele criará as chaves dentro de /home/usuario/.ssh/</div>
    <div> </div>
    <div>existirá duas chaves, uma .pub</div>
    <div> </div>
    <div>digite cat id_rsa.pub para ver o conteudo</div>
    <div> </div>
    <div>crie um arquivo na pasta do usuário do servidor destino,
provavelmente root</div>
    <div> </div>
    <div>touch /root/.ssh/authorized_keys</div>
    <div> </div>
    <div>e dentro desse arquivo copie o conteudo do id_rsa.pub do
servidor origem.</div>
    <div> </div>
    <div>pronto, tente acessar :)</div>
    <div> </div>
    <div>para fazer isso em outros servidores, é só adicionar outras
chaves no authorized_keys, sempre 1 por linha</div>
    <div> </div>
    <div>Abraço</div>
    <div> </div>
    <div><br>
    <br>
 </div>
    <div class="gmail_quote">Em 27 de maio de 2011 11:13, Gilcerio
Maduro <span dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:gilcerio.maduro@gmail.com" target="_blank">gilcerio.maduro@gmail.com</a>&gt;</span>
escreveu:
    <p><font color="#500050"><br>
&gt;<br>
&gt; Bem interessante essa sua ideia, estava pensando em fazer isso
usando mensagem sms<br>
&gt;<br>
&gt; Em 27 de...</font></p>
    </div>
    <br>
  </blockquote>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk. 
- Hardware com alta disponibilidade de recursos e qualidade KHOMP
- Suporte técnico local qualificado e gratuito 
Conheça a linha completa de produtos KHOMP em <a class="moz-txt-link-abbreviated" href="http://www.khomp.com.br">www.khomp.com.br</a>
_______________________________________________
DIGIVOICE: Lider no mercado de placas para Asterisk
Único fabricante com Centro de Treinamento especializado.
LANÇAMENTO: Channel Bank TDMoE, até 64 canais FXS / FXO. 
<a class="moz-txt-link-abbreviated" href="http://www.digivoice.com.br">www.digivoice.com.br</a> ou (11)3016-5200.
________
Lista de discussões AsteriskBrasil.org
<a class="moz-txt-link-abbreviated" href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</a>
<a class="moz-txt-link-freetext" href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a>
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para <a class="moz-txt-link-abbreviated" href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a></pre>
</blockquote>
<br>
</body>
</html>