[AsteriskBrasil] RES: chamando AGI

Sebastiao Rocha sebastiaorocha em interlinksistemas.com.br
Sábado Agosto 30 18:01:46 BRT 2008


Alexandre,

Aqui comigo tudo está rodando encima de MySql ( Dialplan, Sip, Iax, CDR ) e 
tudo funciona super bem, pois como disse, a consulta deve ser feita em 
macros, assim vc não esquece de desconectar.

outro detalhe, não tenho problemas com o mysql, funciona perfeito, são 
feitas muitas conexoes ao banco por segundo, não encontrei um unico problema 
com limites de conexoes.

Quanto ao ODBC, ele tb faz a conexao ao banco da mesma forma que o mysql 
client, ou seja, conecta e desconecta toda hora. então a unica vantagem que 
vejo ai, é a portabilidade, pois com odbc, possuindo os drivers, vc se 
coenctará com qq banco de dados.

poderia nos explicar melhor o que aconteceu com vc, pra vc não querer usar o 
mysql nativo?


----- Original Message ----- 
From: "Alexandre Abreu" <alexandre.abreu em redt.com.br>
To: <asteriskbrasil em listas.asteriskbrasil.org>
Sent: Saturday, August 30, 2008 5:22 PM
Subject: [AsteriskBrasil] RES: chamando AGI


A melhor maneira de se utilizar integração com banco de dados é sem dúvida
via FUNC_ODBC.
Acho melhor já começar da maneira correta e evitar os problemas que o
MySQL() oferece.

Abstrair Connect, Query, Fetch, Clear e Disconnect do dialplan é muito mais
eficiente e seguro, principalmente quando seu plano de discagem começa a se
tornar grande. Depois que seu dialplan atingir mais de 3000 linhas de código
e você descobrir que seu MySQL chegou no número máximo de conexões
permitidas, você não vai gostar de procurar por todo seu extensions.conf
exatamente onde você esqueceu o Disconnect - acredite. Sem contar no
overhead de conexão/desconexão toda hora, ausência de pooling, etc.

--
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
Sebastiao Rocha
Enviada em: sábado, 30 de agosto de 2008 16:56
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] chamando AGI

Olá João.

Eu utilizo sempre o mysql direto pra fazer consultas ao banco, no exemplo
abaixo pego a quantidade de segundos restantes na tabela sipusers e
determino qual o tempo maximo em segundos o usuario pode falar na chamada.

[globals]
dbhostname=127.0.0.1
dbusername=usuariomysql
dbpassword=senhadousuariomysql
dbname=nomedobancomysql

[seucontexto]
exten => _[3]XXXXXXX, 1, MYSQL( Connect connid ${dbhostname} ${dbusername}
${dbpassword} ${dbname} )
exten => _[3]XXXXXXX, 2, MYSQL( Query resultid ${connid} SELECT
`seconds_left` from `sip_users` where `accountcode`=${CALLERID(num):0:4} )
exten => _[3]XXXXXXX, 3, MYSQL( Fetch fetchid ${resultid} seconds_left )
exten => _[3]XXXXXXX, 4, 'MYSQL( Clear ${resultid} )
exten => _[3]XXXXXXX, 5, 'MYSQL( Disconnect ${connid} )
exten => _[3]XXXXXXX, 6, noop( Segundos restantes: ${seconds_left} segundos.
)
exten => _[3]XXXXXXX, 7, set( TIMEOUT(absolute)=${seconds_left} )
exten => _[3]XXXXXXX, 8, Dial( SIP/${EXTEN}, 45, tT )

"SecondsLeft" = Tempo de ligações restante em segundos.


Ps.. vc pode fazer a conexao e obter os dados atraves de uma macro, assim o
dialplan fica mais facil de visualizar e modifgicar as consultas sql.



----- Original Message ----- 

From: joao jamaicabsd
To: asterisk BR
Sent: Saturday, August 30, 2008 4:03 PM
Subject: [AsteriskBrasil] chamando AGI

Boa tarde a todos!
Estou tentando chamar um AGI para fazer uma consulta no mysql e
primeiramente gostaria de saber qual o parâmetro correto para eu colocar
dentro do extconfig.conf? Caso for realmente preciso.

O meu extensions.conf está assim:

[aluno]
exten => s,1,Playback(codmatricula) ;//pede para
digitar sua matricula
exten => 1,1,set(OPCAO=${CALLERIDNUM}) ;// para armazenar na
variável OPCAO o que a pessoa digitou no teclado é isso mesmo?
exten => 2,1,agi(consulta.agi) ;// é assim
mesmo que chamo o AGI? Como faço para enviar para dentro do AGI a variável
OPCAO?
exten => 3,1,Goto(ura-principal,s,1)
exten => 4,1,HangUp

Estou usando o FreeBSD, e o AGI está dentro do diretório agi-bin.
Estou desde ontem tentando resolver isso e nao consigo, vc's podem me
ajudar?
Obrigado a todos e um bom find.



-- 
E-mail: jamaicabsd em gmail.com
Aux Suporte de Sistemas (UNISUL)
E-mail: joao.maykon em unisul.br
MSN: joaomaykonm em hotmail.com
Cel: (48) 9144 2326
________________________________________
_______________________________________________
Compre uma camiseta da AsteriskBrasil.org!
http://www.voipmania.com.br

Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
rede Freenode.net: #asterisk-br
_______________________________________________
Lista de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

_______________________________________________
Compre uma camiseta da AsteriskBrasil.org!
http://www.voipmania.com.br

Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na 
rede Freenode.net: #asterisk-br
_______________________________________________
Lista de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil 



More information about the AsteriskBrasil mailing list