[AsteriskBrasil] RES: AGI

Andre Emerich aemerich em gmail.com
Quarta Novembro 18 09:17:06 BRST 2009


Daviramos,
Já estou pesquisando sobre o que falou..
Obrigado pela dica..

Eder,
Quanto a gambiarra, foi o desespero! :)
Trabalhamos bastante com PHP e Bash..
Se puder me enviar algum exemplo, mesmo que não seja nestas linguagens,
agradeço..

Valeu!

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
>



-- 
André Emerich
MSN - aemerich em gmail.com
(51) 8122-6423
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20091118/b81f360a/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil