[AsteriskBrasil] RES: chamando AGI

Alexandre Abreu alexandre.abreu em redt.com.br
Sábado Agosto 30 17:22:29 BRT 2008


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



More information about the AsteriskBrasil mailing list