[AsteriskBrasil] RES: Asterisk - mysql query from dialplan
Alexandre Abreu
abreu em redt.com.br
Sexta Novembro 30 17:07:47 BRST 2007
É possível - mas você não precisa migrar seu sistema de maneira forçada.
Aplicativos como app_mysql, app_pgsql existem para oferecer esse suporte
diretamente via dialplan. No entanto, são antigos e não tenho noticias de
quem vendo sendo atualizados. A última palavra em termos de integração
relacional com banco de dados eu pessoalmente acho que se chama FUNC_ODBC e
funciona obviamente via unixODBC (portanto você instala os conectores que
necessitar). A camada de abstração criada pelo func_ODBC é incrivelmente
vantajosa na minha opinião, pois mantém o dialplan livre de sintaxes de SQL
o que torna bem fácil de manter.
Ex.:
Usando app_mysql, seu dialplan ficaria:
exten => s,n,Mysql(Connect connid ${dbhostname} ${dbuser} ${dbpass}
${dbname})
exten => s,n,Mysql(Query resultid ${connid} select\ nome\ from\ clientes\
where\ id_ramal=${CallerID(num)})
exten => s,n,Mysql(Fetch fetchid ${resultid} nome)
exten => s,n,Mysql(Clear ${resultid})
exten => s,n,Mysql(Disconnect ${connid})
Usando FUNC_ODBC, seu dialplan ficaria:
exten => s,n,Set(NOME_BANCO=${REDT_BUSCA_NOME(${CALLERID(num)})})
Camada de abstração em FUNC_ODBC.CONF
[BUSCA_NOME]
prefix=REDT
dsn=asterisk
read=SELECT nome FROM clientes WHERE id_ramal='${SQL_ESC(${ARG1})}'
O link abaixo é do livro Asterisk The Future of Telephony (Second Edition) –
cobre a versão 1.4 do Asterisk.
http://downloads.oreilly.com/books/9780596510480.pdf
Se optar por ODBC, siga a orientação do capítulo 12 que foi escrito pelo
Leif Madsen e é muito esclarecedora.
Espero que esse e-mail te ajude a fazer a escolha correta para seu cenário.
--
Alexandre Abreu
RedT Telecom
http://www.redt.com.br
_____
De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Alfredo
Tomio Junior
Enviada em: sexta-feira, 30 de novembro de 2007 15:05
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: [AsteriskBrasil] Asterisk - mysql query from dialplan
Pessoal,
É possivel fazer com que a partir de uma ligação para nosso numero
especifico, o cliente possa digitar seu ID e senha e a partir disso
ouvir um menu onde ele terá opçoes de verificacao de saldo disponivel,
consultas diversas, etc. Como quando ligamos para o banco para checar
o saldo.
Nosso sistema roda em postgresql, mas percebi que via dialplan podemos
ter nativo suporte para consulta no mysql. Isso nao será problema posso
exportar
e obter no mysql mesmo.
Alguem ja implementou algo semelhante?
Atenciosamente,
Alfredo Tomio Junior
<http://www.networkx> www.network <http://www.networksexperts.com>
sexperts.com
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20071130/bf686cff/attachment.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil