MySQL no Asterisk

Publicado por Ruy Rocha em 28/02/2007

[ Hits: 25.449 ]

Blog: http://ruyrocha.com/

 


MySQL no Asterisk



Existem "infinitas" possibilidades do que pode ser realizado com o Asterisk. Algo que pode ser muito útil é a conexão com banco de dados, que pode ser feita via aplicações AGI, System() e MYSQL(). Aqui será somente mostrado como se faz a conexão com mysql via asterisk.

Para fazer a query é necessário executar a aplicação MYSQL() em seu plano de discagem. Para tanto é necessário que os addons do asterisk estejam instalados. Caso não tenha, instale o asterisk-addons, que pode ser baixado do site www.asterisk.org.

Vamos fazer uma simples query no MySQL pelo Asterisk. Abra o seu arquivo extensions.conf, geralmente localizado em /etc/asterisk/extensions.conf e adicione as seguintes linhas:

exten => 999,1,MYSQL(Connect connid HOST USUARIO SENHA BASE)
exten => 999,2,MYSQL(Query resultid ${connid} SELECT\ COLUNA\ FROM\ TABELA\ WHERE\ COLUNA=\'${EXTEN}\')
exten => 999,3,MYSQL(Fetch fetchid ${resultid} x1)
exten => 999,4,MYSQL(Clear ${resultid})
exten => 999,5,MYSQL(Disconnect ${connid})

Notas:
  • HOST = host do mysql
  • USUARIO = usuário do mysql
  • SENHA = senha do usuário
  • BASE = base de dados

As queries devem ser "escapadas com uma barra invertida". O resultado será gravado na variável x1.

As variáveis ${connid},${resultid} são variáveis da aplicação MYSQL(), portanto são necessárias.

O tratamento da variável x1, como outras explicações, serão tratadas em outro artigo.

[]s

Outras dicas deste autor

Gmail File System no Ubuntu 7.04

Leitura recomendada

Erro persistente do MySQL

Instalando e executando o DBDesigner no Arch Linux

Alterando senha de usuário no MySQL

SQL*Plus em modo silencioso

Instalação/Upgrade mysqld 5.7: fatal error: mysql.user table is damaged [Resolvido]

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts