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 <[email protected]>

> 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 <[email protected]>
>
> 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 <[email protected]>
>>
>> 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 <[email protected]>
>>>
>>>>    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:* [email protected] [mailto:
>>>> [email protected]] *Em nome de *Andre
>>>> Emerich
>>>> *Enviada em:* terça-feira, 17 de novembro de 2009 20:54
>>>> *Para:* [email protected]
>>>> *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 - [email protected]
>>>> (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
>>>> [email protected]
>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>
>>>
>>>
>>>
>>> --
>>>  André Emerich
>>> MSN - [email protected]
>>> (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
>>> [email protected]
>>> 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
>> [email protected]
>> 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
> [email protected]
> 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
[email protected]
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

Responder a