[AsteriskBrasil] Manager Asterisk

Wendell Silva wendbandeira em gmail.com
Segunda Fevereiro 14 15:22:48 BRST 2011


Estou usando AstMan.php e não gera erro nenhum nos logs



<?php
class AstMan {

 var $socket;
 var $error;

 function AstMan()
 {
   $this->socket = FALSE;
   $this->error = "";
 }

 function Login($host="localhost", $username="admin", $password="amp111"){

   $this->socket = @fsockopen("127.0.0.1","5038", $errno, $errstr, 1);
   if (!$this->socket) {
     $this->error =  "Could not connect - $errstr ($errno)";
     return FALSE;
   }else{
     stream_set_timeout($this->socket, 1);

     $wrets = $this->Query("Action: Login\r\nUserName: $username\r\nSecret:
$password\r\nEvents: off\r\n\r\n");

        if (strpos($wrets, "Message: Authentication accepted") != FALSE){
       return true;
     }else{
           $this->error = "Could not login - Authentication failed";
       fclose($this->socket);
       $this->socket = FALSE;
           return FALSE;
          }
   }
  $wrets .= fread($this->socket, 8192);
     }
     fclose($this->socket);
     $this->socket = "FALSE";
   }
     return;
 }

 function Query($query){
   $wrets = "";

   if ($this->socket === FALSE)
     return FALSE;

   fputs($this->socket, $query);
   do
   {
     $line = fgets($this->socket, 4096);
     $wrets .= $line;
     $info = stream_get_meta_data($this->socket);
   }while ($line != "\r\n" && $infotimed_out>'timed_out' == false );
   return $wrets;
 }

 function GetError(){
   return $this->error;
 }

 function GetDB($family, $key){
   $value = "";

   $wrets = $this->Query("Action: Command\r\nCommand: database get $family
$key\r\n\r\n");

   if ($wrets){
     $value_start = strpos($wrets, "Value: ") + 7;
     $value_stop = strpos($wrets, "\n", $value_start);
        if ($value_start > 8){
       $value = substr($wrets, $value_start, $value_stop - $value_start);
     }
       }
return $value;
 }

 function PutDB($family, $key, $value){
   $wrets = $this->Query("Action: Command\r\nCommand: database put $family
$key $value\r\n\r\n");

        if (strpos($wrets, "Updated database successfully") != FALSE){
         return TRUE;
        }
   $this->error =  "Could not updated database";
        return FALSE;
 }

 function DelDB($family, $key){
   $wrets = $this->Query("Action: Command\r\nCommand: database del $family
$key\r\n\r\n");

        if (strpos($wrets, "Database entry removed.") != FALSE){
         return TRUE;
        }
   $this->error =  "Database entry does not exist";
        return FALSE;
 }


 function GetFamilyDB($family){
   $wrets = $this->Query("Action: Command\r\nCommand: database show
$family\r\n\r\n");
   if ($wrets){
     $value_start = strpos($wrets, "Response: Follows\r\n") + 19;
     $value_stop = strpos($wrets, "--END COMMAND--\r\n", $value_start);
        if ($value_start > 18){
       $wrets = substr($wrets, $value_start, $value_stop - $value_start);
     }
     $lines = explode("\n", $wrets);
     foreach($lines as $line){
       if (strlen($line) > 4){
         $value_start = strpos($line, ": ") + 2;
         $value_stop = strpos($line, " ", $value_start);
 $key = trim(substr($line, strlen($family) + 2, strpos($line, " ") -
strlen($family) + 2));
//        $value$key = trim(substr($line, $value_start));
       }
     }
          return $value;
        }
   return FALSE;
 }
}
?>





Em 11 de fevereiro de 2011 18:38, Alejandro Flores <
alejandrorflores em gmail.com> escreveu:

> Wendell,
>
> Qual a biblioteca PHP e versão que você está utilizando?
> A página fica em branco? verifique os logs do apache:
> /var/log/httpd/error_log e procure por erros no script php.
>
> > Estou tentando fazer um painel amador, o codigo abaixo conecta no
> asterisk
> > mais não me retorna nada na tela do browser
> >
> > meu manager
> > [panel]
> > secret = senha
> > deny=0.0.0.0/0.0.0.0
> > permit=127.0.0.1/255.255.255.0
> > read = system,call,log,verbose,command,agent,user
> > write = system,call,log,verbose,command,agent,user
> >
> >
> > <?php
> >      include "AstMan.php";
> >      $ast = new AstMan();
> >      $ast->Login( "localhost", "panel", "senha" );
> >      echo "<pre>";
> >              echo $ast->sendCommand("SIPshowpeer", array("Peer" =>
> "8822"));
> >      echo "</pre>";
> >
> > ?>
>
> --
> Abraço!
> Alejandro Flores
> http://www.triforsec.com.br/
> _______________________________________________
> 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 www.khomp.com.br
> _______________________________________________
> Headsets Plantronics com o melhor preço do Brasil.
> Acesse agora www.voipmania.com.br
> VOIPMANIA STORE
> ________
> Lista de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> ______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>



-- 
Wendell Silva Bandeira
Analista de TI
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20110214/3d53d337/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil