[AsteriskBrasil] Mysql

Guilherme Rezende asterisk em guilherme.eti.br
Quarta Março 23 08:00:15 BRT 2011


Vc terá que usar AGI.  Seguinte, vc colocará seu arquivo AGI, que no meu 
caso é escrito em php(pode ser escrito em outra linguagem) em 
/var/lib/asterisk/agi-bin.
Dentro desse diretório, criei o arquivo teste4.php c/ o conteudo abaixo:

#!/usr/bin/php -q
<?
set_time_limit(30);
error_reporting(E_ALL);

include (dirname(__FILE__)."/libs_a2billing/db_php_lib/Class.Table.php");
include (dirname(__FILE__)."/libs_a2billing/Class.A2Billing.php");
include (dirname(__FILE__)."/libs_a2billing/Class.RateEngine.php");
include (dirname(__FILE__)."/libs_a2billing/phpagi_2_14/phpagi.php");
include 
(dirname(__FILE__)."/libs_a2billing/phpagi_2_14/phpagi-asmanager.php");

$agi = new AGI();

$Param1=substr("00000" . $argv[1],-5);

$MYSQL_HOST = "localhost";
$MYSQL_PORT = "3306";
$MYSQL_USER = "root";
$MYSQL_PASS = "root";
$MYSQL_DB   = "fop2";

//$cnnBASE=mssql_connect("$server","$username","$password") or die("Nao 
foi possivel estabelecer conexão com o Banco.");
//$bd=mssql_select_db("fop2", $cnnBASE) or die ("Nao foi possivel 
selecionar o Banco de dados.");

// link com banco de dados
$link = mysql_pconnect("$MYSQL_HOST:$MYSQL_PORT", $MYSQL_USER, $MYSQL_PASS);
if(!$link){
    echo "Erro ao conectar no servidor mysql $MYSQL_HOST:$MYSQL_PORT :" 
. mysql_error();
    exit();
}
    $dbmain = mysql_select_db($MYSQL_DB, $link);
    if(!$dbmain){
       echo "Erro ao selecionar o banco de dados $MYSQL_DB :" . 
mysql_error();
       exit();
}
$sql="SELECT firstname FROM visual_phonebook WHERE id = '" .$Param1 ."'";
//$sql="SELECT firstname FROM visual_phonebook WHERE id = 200";
$resultado=mysql_query($sql) or die ("Nao foi possivel executar a 
consulta");
$linha = mysql_fetch_array($resultado);

if($linha != FALSE)
{
      $nm_professor = 
substr($linha["firstname"],0,strpos($linha["firstname"],' ',1));

      $agi->conlog($nm_professor);
      $agi->set_variable("retorno", $nm_professor);
}
else
{
      $agi->stream_file('nao_achou_matricula');
      $agi->set_variable("retorno", "0");
}
?>


De dentro do plano de discagem do asterisk, criei o seguinte:
exten => 98,1,Answer
exten => 98,n,Playback(beep)
exten => 98,n,Read(digito,,5,,,3)
exten => 98,n,Playback(one-moment-please)
exten => 98,n,AGI(teste4.php,${digito})
exten => 98,n,Noop(${retorno})
exten => 98,n,Playback(vm-goodbye)
exten => 98,n,Hangup()

Ou seja, quando alguém ligar p/ o número 98, será pedido p/ digitar um 
número. Logo em seguida esse número é pesquisado em um banco de dados e 
validado se foi encontrado ou não.  Vc terá que instalar o pacote phpagi 
p/ que esse código funcione corretamente c/ seu php.

Espero que abra um pouco sua mente de como fazer isso.
Obrigado e boa sorte!



> Bom dia lista.
>
> Tenho uma assistência e gostaria de passar a posição da Ordem de 
> Serviço por minha central asterisk.
>
> Ex.: cliente liga, escolhe a opção de Posição de OS, digita o nr da OS 
> e a central passa o status.
>
> Alguém tem um script que pudesse me passar ou alguma dica?
>
> Poderia ser através de Mysql ou arquivo texto.
>
> Posso adaptar o script.
>
> Obrigado
>
> Marco Antonio
>
>
> _______________________________________________
> 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

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20110323/efe380e0/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil