[AsteriskBrasil] RES: AGI

Eder Souza eder.souza em bsd.com.br
Quarta Novembro 18 09:07:33 BRST 2009


Meu Deus pq você fez isso huahua ....

Trofeu Gambiarra huahuahua !!

Brincadeira a parte mas olha só um simples AGI feito em em sua linguagem
preferida mataria essa sua bagunça no plano de discagem, dentro dele seria
só inserir uma rotina de consultas no banco de dados e depois dentro deste
mesmo agi contruir sua URA, tenho várias destas rodando aqui, se precisar da
um grito !!!

Eng Eder de Souza

2009/11/18 Daviramos Roussenq Fortunato <daviramosrf em gmail.com>

> 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
>
> _______________________________________________
>         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
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20091118/82a78a0a/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil