[AsteriskBrasil] RES: AGI

Daviramos Roussenq Fortunato daviramosrf em gmail.com
Quarta Novembro 18 08:33:08 BRST 2009


Porque não faz o Select direto no MySQL pelo Asterisk sem o AGI?
Pode usar o ODBC e fazer em qualquer banco, com a func_odbc.

http://www.voip-info.org/wiki/view/Asterisk+func+func_odbc


2009/11/18 Andre Emerich <aemerich em gmail.com>

> Itamar,
> Se eu tivesse achado no Google algo que tivesse entendido, não teria
> postado aqui pedindo ajuda..
>
> André,
> Segue..
>
> [URA_BD]
> exten => s,1,Answer
> exten => s,n,Playback(custom/BD/BD_INFO_boatarde)
> exten => s,n,Playback(custom/BD/BD_INFO_bv)
> exten => s,n,Read(CODE,,,,,5)
> exten => s,n,Noop( ## ${CODE} ## )
> exten => s,n,System(echo "SELECT codigo FROM clientes WHERE codigo =
> \'${CODE}\' LIMIT 1" > /var/lib/asterisk/agi-bin/BDINFO/select.sql)
> exten => s,n,System(mysql bd_info -u root -ppassword <
> /var/lib/asterisk/agi-bin/BDINFO/select.sql >
> /var/lib/asterisk/agi-bin/BDINFO/resultado.txt)
> exten => s,n,Noop( ## ${STATUS} ##)
> exten => s,n,GotoIf($[${STATUS}!=""]?20:60)
> exten => s,20,Playback(custom/BD/BD_INFO_senha)
> exten => s,n,Read(SENHA,,,,,5)
> exten => s,n,Noop( ## ${SENHA} ## )
> exten => s,n,System(echo "SELECT saldo FROM clientes WHERE codigo =
> \'${CODE}\' AND senha = \'${SENHA}\' LIMIT 1" >
> /var/lib/asterisk/agi-bin/BDINFO/select_senha.sql)
> exten => s,n,System(mysql bd_info -u root -ppassword <
> /var/lib/asterisk/agi-bin/BDINFO/select_senha.sql >
> /var/lib/asterisk/agi-bin/BDINFO/resultado_senha.txt)
> exten => s,n,System(grep -n .
> /var/lib/asterisk/agi-bin/BDINFO/resultado_senha.txt | grep ^2: | cut -f2
> -d":"  > /var/lib/asterisk/agi-bin/BDINFO/status_senha.txt)
> exten =>
> s,n,ReadFile(STATUS_SENHA=/var/lib/asterisk/agi-bin/BDINFO/status_senha.txt,1)
> exten => s,n,Noop( ## ${STATUS_SENHA} ##)
> exten => s,n,GotoIf($[${STATUS_SENHA}!=""]?80:60)
> exten => s,n,Hangup()
> exten => s,60,Playback(vm-goodbye)
> exten => s,n,Hangup()
> exten => s,80,Playback(custom/BD/BD_INFO_saldo)
> exten => s,n,Saydigits(${STATUS_SENHA})
> exten => s,n,Set(TIMEOUT=10)
> exten => s,83,Background(custom/BD/BD_INFO_opcoes)
> exten => s,n,WaitExten(5)
> exten => 1,1,Goto(URA_BD_CONSULTA,s,1)
> exten => 4,1,Noop(DISCA PARA ATENDIMENTO)
> exten => t,1,Goto(URA_BD,s,83)
> exten => i,1,Goto(URA_BD,s,83)
> exten => s,n,Hangup()
>
> [URA_BD_CONSULTA]
> exten => s,1,Playback(custom/BD/BD_INFO_CPF_CNPJ)
> exten => s,n,Read(CPF_CNPJ,,,,,5)
> exten => s,n,Noop( ## ${CPF_CNPJ} ## )
> exten => s,n,System(echo "SELECT cpf FROM base_consulta WHERE cpf =
> \'${CPF_CNPJ}\' LIMIT 1" >
> /var/lib/asterisk/agi-bin/BDINFO/select_cpfcnpj.sql)
> exten => s,n,System(mysql bd_info -u root -ppassword <
> /var/lib/asterisk/agi-bin/BDINFO/select_cpfcnpj.sql >
> /var/lib/asterisk/agi-bin/BDINFO/resultado_cpfcnpj.txt)
> exten => s,n,System(grep -n .
> /var/lib/asterisk/agi-bin/BDINFO/resultado_cpfcnpj.txt | grep ^2: | cut -f2
> -d":" | cut -f1 -d"\ " >
> /var/lib/asterisk/agi-bin/BDINFO/status_cpfcnpj.txt)
> exten =>
> s,n,ReadFile(STATUS_CPF_CNPJ=/var/lib/asterisk/agi-bin/BDINFO/status_cpfcnpj.txt)
> exten => s,n,Noop( ## STATUS CPF ${STATUS_CPF_CNPJ} ## )
> ;exten => s,n,Agi(BDINFO/consulta_cpf.php|${CPF_CNPJ})
> ;exten => s,n,Noop(${stdout})
> exten => s,n,GotoIf($[${STATUS_CPF_CNPJ}!=""]?20:60)
> exten => s,20,Playback(beep)
> exten => s,n,Hangup()
> exten => s,60,Playback(vm-goodbye)
> exten => s,n,Hangup()
>
> A parte do AGI está comentado, pois como não veio o resultado esperado, não
> estou usando..
>
> Valeu..
>
> 2009/11/17 andre <andre em sertelinfo.com.br>
>
>>  André
>>
>> Eu utilizo um script em agi que faz isso que deseja...
>>
>> Me passe os dados que crio e coloco aqui explicando pra você..
>>
>>
>>
>>
>>
>>
>>
>> *De:* asteriskbrasil-bounces em listas.asteriskbrasil.org [mailto:
>> asteriskbrasil-bounces em listas.asteriskbrasil.org] *Em nome de *Andre
>> Emerich
>> *Enviada em:* terça-feira, 17 de novembro de 2009 20:54
>> *Para:* asteriskbrasil em listas.asteriskbrasil.org
>> *Assunto:* [AsteriskBrasil] AGI
>>
>>
>>
>> Pessoal,
>>
>> Preciso de uma ajuda com AGI.
>> Tenho um Select que faço num MySql.
>> O resultado, tenho que ler em uma variavel..
>> Estava fazendo isto com o System (para dar um echo num txt com a instrução
>> SQL, para executar o SELECT, para dar um GREP e ler somente a segunda linha
>> do arquivo) e uso o ReadFile para ler o resultado.
>> Porém se sempre voltasse a mesma quantidade de digitos, eu poderia colocar
>> a quantidade de caracteres como opção no ReadFile.
>> Porém, como é variavel, eu preciso arrumar alguma outra forma..
>>
>> Comecei a usar o AGI com PHP.
>> Já consigo fazer o SELECT, mas não consigo passar o resultado para o
>> Asterisk.
>> Li algo sobre STDIN e STDOUT, mas não tive progresso..
>>
>> Como eu poderia fazer?
>> Alguém tem alguma idéia?
>>
>> --
>> André Emerich
>> MSN - aemerich em gmail.com
>> (51) 8122-6423
>>
>> _______________________________________________
>>         http://www.voipmania.com.br
>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>         Promoção por tempo limitado!
>> _______________________________________________
>> Lista de discussões AsteriskBrasil.org
>> AsteriskBrasil em listas.asteriskbrasil.org
>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>
>
>
> --
> André Emerich
> MSN - aemerich em gmail.com
> (51) 8122-6423
>
> _______________________________________________
>         http://www.voipmania.com.br
> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>         Promoção por tempo limitado!
> _______________________________________________
> Lista de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>



-- 
Atenciosamente
Daviramos Roussenq Fortunato
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20091118/26d861ee/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil