[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