[AsteriskBrasil] RES: AGI

Daviramos Roussenq Fortunato daviramosrf em gmail.com
Quarta Novembro 18 09:25:49 BRST 2009


Se fosse gambiarra, o próprio Asterisk não teria suporte ao mesmo.

"bagunça no plano de discagem" só se você não souber contrui um bom plano de
discagem.

Particularmente também prefiro AGI. Mas para um simples SELECT, pra que está
começando e mais facil no plano de discagem mesmo.

2009/11/18 Eder Souza <eder.souza em bsd.com.br>

> 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
>>
>
>
> _______________________________________________
>         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/2ecf4986/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil