<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Exemplo 100% funcional. Esse exemplo consulta se o callerid está no
banco e em caso de sim, toma uma decisão, que no caso envia um SMS e
envia a ligação p/ telefonista.<br>
Aconselho e estudar mais a fundo sobre o caso, pois estou postando
apenas a receita de bolo e se não entender, realmente vai complicar.<br>
<br>
DialPlan:<br>
exten => _5199,1,Answer<br>
exten => _5199,2,Wait(1)<br>
exten => _5199,3,AGI(teste.php)<br>
exten => _5199,4,NoOp(Numero=${RETORNO})<br>
exten => _5199,5,NoOp(Consulta=${CONSULTA})<br>
exten => _5199,6,GoToIf($[${CONSULTA} = 1]?9)<br>
exten => _5199,7,Dial(SIP/${EXTEN},40,tTrwWkK)<br>
exten => _5199,8,Hangup<br>
exten => _5199,9,DgSendSMS(r1,02187813860,'Alarme de Ligacao
Entrante do Numero ${RETORNO} em BlackList !!')<br>
exten => _5199,10,Goto(liberados,5150,1)<br>
<br>
código teste.php<br>
#!/usr/local/bin/php<br>
<?php<br>
require('phpagi.php');<br>
$AGI = new AGI();<br>
//$parametro=$argv[1];<br>
$parametro = $AGI->request['agi_callerid'];<br>
<br>
<br>
$MYSQL_HOST = 'localhost';<br>
$MYSQL_PORT = '3306';<br>
$MYSQL_USER = 'root';<br>
$MYSQL_PASS = 'simples01';<br>
<br>
// link com banco de dados<br>
$link = mysql_pconnect("$MYSQL_HOST:$MYSQL_PORT",
$MYSQL_USER, $MYSQL_PASS);<br>
if(!$link){<br>
echo "Erro ao conectar no servidor mysql
$MYSQL_HOST:$MYSQL_PORT :" . mysql_error();<br>
exit();<br>
}<br>
<br>
<br>
$select = "select * from banco1.cbqclientes where telefone = '" .
$parametro . "'";<br>
$blacklist = mysql_query($select, $link) or
die(mysql_error());<br>
$row_blacklist = mysql_fetch_assoc($blacklist);<br>
$totalRows_blacklist = mysql_num_rows($blacklist);<br>
<br>
if($totalRows_blacklist > 0){<br>
$AGI->set_variable("RETORNO", $parametro);<br>
$AGI->set_variable("CONSULTA", $totalRows_blacklist);<br>
//$AGI->set_variable("CONSULTA", 'verdade');<br>
$AGI->exec("NoOp", "verdade");<br>
}else{<br>
$AGI->set_variable("RETORNO", $parametro);<br>
$AGI->set_variable("CONSULTA", $totalRows_blacklist);<br>
//$AGI->set_variable("CONSULTA", 'falso');<br>
$AGI->exec("NoOp", "falso");<br>
}<br>
<br>
?><br>
<br>
<br>
<br>
<br>
Em 05/04/2013 08:25, JefãoKPTA JOKER escreveu:
<blockquote cite="mid:BLU172-W364AC193F9C0269F103989A6DA0@phx.gbl"
type="cite">
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style>
<div dir="ltr">Além da ideia do Roger vc pode fazer o Asterisk se
conectar ao BD usando funções ODBC, ficaria tipo assim:<br>
<br>
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif">exten
=> _X.,1,Read(validacaodesenha,beep,6)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif">same
=> n,Set(SENHA=${ODBC_PASS(${CALLERID(num)})})</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif">same
=> n,GotoIf($[${VALIDACAODESENHA} = ${SENHA}]?ok:errado)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif">same
=> n(ok),Goto(menu1,,1)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif">same
=> n(errado),Playback(errado)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif">same
=> n,Goto(inicio,,1)</span><br>
<br>
Se interessar t mando um tuto dos passos.<br>
<br>
Falows<br>
<br>
<div>
<hr id="stopSpelling">Date: Fri, 5 Apr 2013 01:20:06 -0300<br>
From: <a class="moz-txt-link-abbreviated" href="mailto:rogerwinter@gmail.com">rogerwinter@gmail.com</a><br>
To: <a class="moz-txt-link-abbreviated" href="mailto:asteriskbrasil@listas.asteriskbrasil.org">asteriskbrasil@listas.asteriskbrasil.org</a><br>
Subject: Re: [AsteriskBrasil] Dúvidas com Acesso a banco de
dados<br>
<br>
<div dir="ltr">
<div>
<div>
<div>
<div>Daniel,<br>
<br>
</div>
Acredito que a melhor maneira de implementar esse tipo
de funcionaliidade seja utilizando AGI.<br>
</div>
Você, pode optar por fazer com a linguagem que preferir
(PHP, PERL, SHELL,..).<br>
</div>
A linguagem fica responsável por fazer a conexão e as
consultas na base, voce só precisa mandar os parametros
(no seu caso, o CID e a Senha) e retornar valores ou
executar comandos conforme a sua necessidade.<br>
<br>
</div>
<div>Ex:<br>
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">exten
=> _X.,1,Read(validacaodesenha,beep,6)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px;">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">same
=> n,Set(SENHA=123456)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px;">
<b><span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">same
=>
n,AGI(validarcliente.php,${CALLERID(num)},${SENHA});</span></b><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px;">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">same
=> n(ok),Goto(menu1,,1)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px;">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">same
=> n(errado),Playback(errado)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px;">
<br>
</div>
<div><br>
</div>
Att,<br>
</div>
<div class="ecxgmail_extra"><br>
<br>
<div class="ecxgmail_quote">Em 5 de abril de 2013 00:28,
Daniel Feliciano <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:danielfelicianoseg@hotmail.com"
target="_blank">danielfelicianoseg@hotmail.com</a>></span>
escreveu:<br>
<blockquote class="ecxgmail_quote" style="border-left:1px
#ccc solid;padding-left:1ex;">
<div>
<div dir="ltr">Pessoal gostaria de implantar um
sistema simples com consulta ao um BD (poderia ser
Mysql mesmo) no Asterisk, mas devido ao pouco
conhecimento em BD, teho minhas duvidas. Bom,
gostaria de fazer o seguinte.
<div>
<br>
</div>
<div>1° - Criar 3 usuarios, onde constariam seu n°
telefonico + senha</div>
<div>2° - O usuario ao ligar para o Asterisk, tem
que coincidir a senha com o n° tel. cadastrado, ou
seja, pode até digitar a senha certa, mas se
estiver em outro tel. nao rola...</div>
<div><br>
</div>
<div>3° - em caso de sucesso, a central acesso o BD
e diz qts vezes vc ja ligou</div>
<div>OBS: Paralelo a isso, gostaria de futuramente
colocar outros tipos de dados, como saldo, dizer o
nome do usuario etc</div>
<div><br>
</div>
<div>O que me vem na minha cabeca a nivel de
dialplan e isso:</div>
<div><br>
</div>
<div><span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">exten
=> _X.,1,Read(validacaodesenha,beep,6)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px;">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">same
=> n,Set(SENHA=123456)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px;">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">same
=> n,GotoIf($[${VALIDACAODESENHA} =
${SENHA}]?ok:errado)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px;">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">same
=> n(ok),Goto(menu1,,1)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px;">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">same
=> n(errado),Playback(errado)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px;">
<span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">same
=> n,Goto(inicio,,1)</span><br
style="color:rgb(68,68,68);font-family:Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px;line-height:18px;">
</div>
<div><span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;"><br>
</span></div>
<div><span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">Nao
consigo enxergar onde eu faco o comparativo
(faco para me conectar) com o BD para a
verificacao do TEL+SENHA cadastrados.... e quais
seriam os itens de preenchimento
essenciais/obrigatorios no Mysql (estou usando o
phpmyadmin para facilitar).</span></div>
<div><span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;"><br>
</span></div>
<div><span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">Nessa
altura, qualquer tipo de luz ja é valida p/ dar
continuidade. Agradeco a atencao de todos.</span></div>
<div><span
style="color:rgb(68,68,68);font-size:13px;line-height:18px;font-family:Arial,Helvetica,sans-serif;">Abs</span></div>
</div>
</div>
<br>
_______________________________________________<br>
KHOMP: completa linha de placas externas FXO, FXS, GSM e
E1;<br>
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e
SS7;<br>
Intercomunicadores para acesso remoto via rede IP.
Conheça em <a moz-do-not-send="true"
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 moz-do-not-send="true"
href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>
_______________________________________________<br>
ALIGERA – Fabricante nacional de Gateways SIP-E1 para
R2, ISDN e SS7.<br>
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.<br>
Channel Bank – Appliance Asterisk - Acesse <a
moz-do-not-send="true"
href="http://www.aligera.com.br" target="_blank">www.aligera.com.br</a>.<br>
_______________________________________________<br>
Para remover seu email desta lista, basta enviar um
email em branco para <a moz-do-not-send="true"
href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
--<br>
Roger Pitigliani<br>
<a moz-do-not-send="true"
href="mailto:rogerwinter@gmail.com" target="_blank">rogerwinter@gmail.com</a><br>
Skype: roger.pitigliani<br>
</div>
<br>
_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
Intercomunicadores para acesso remoto via rede IP. Conhe�a em
<a class="moz-txt-link-abbreviated" href="http://www.Khomp.com">www.Khomp.com</a>.
_______________________________________________
DIGIVOICE Fabricante de Placas de Voz e Channel Bank
20 anos de experi�ncia com E1(R2/ISDN), FXS, FXO e GSM
Centro Treinamento - Curso de PABX IP - Asterisk - Site
<a class="moz-txt-link-abbreviated" href="http://www.digivoice.com.br">www.digivoice.com.br</a>
_______________________________________________
ALIGERA � Fabricante nacional de Gateways SIP-E1 para R2, ISDN
e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
Channel Bank � Appliance Asterisk - Acesse <a class="moz-txt-link-abbreviated" href="http://www.aligera.com.br">www.aligera.com.br</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></div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
Intercomunicadores para acesso remoto via rede IP. Conheça em <a class="moz-txt-link-abbreviated" href="http://www.Khomp.com">www.Khomp.com</a>.
_______________________________________________
DIGIVOICE Fabricante de Placas de Voz e Channel Bank
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
Centro Treinamento - Curso de PABX IP - Asterisk - Site <a class="moz-txt-link-abbreviated" href="http://www.digivoice.com.br">www.digivoice.com.br</a>
_______________________________________________
ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
Channel Bank – Appliance Asterisk - Acesse <a class="moz-txt-link-abbreviated" href="http://www.aligera.com.br">www.aligera.com.br</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>