[AsteriskBrasil] Ajuda AGI - Recuperar variável no script

João Marcelo Queiroz jmbq em bol.com.br
Quarta Junho 6 17:49:07 BRT 2012


Mike,

obrigado pela ajuda. Já havia visto esse site, porém nesse caso ele utiliza uma variável já definida ($agi_callerid), no meu caso eu a defini (${teste}). Já havia tentado dessa forma, ainda sem sucesso.

Sobre a linguagem, quero primeiro fazer alguns exemplos em shell, depois vou pra PHP. A documentação em shell é escassa.


Obrigado,

João Marcelo


Em 06/06/2012, às 17:34, Mike Tesliuk escreveu:

> da uma olhada aqui.
> 
> http://yakko.cs.wmich.edu/~drclaw/asterisk/cidname/
> 
> eu pessoalmente recomendaria a utilização de outra linguagem, no meu 
> caso eu utilizo perl,
> 
> em perl ficaria algo assim
> 
> 
> #!/bin/bash
> 
> use Asterisk::AGI;
> 
> $AGI = new Asterisk::AGI;
> 
> %input = $AGI->ReadParse();
> 
> 
> $teste=$AGI->get_variable('TESTE');
> 
> $AGI->exec('NoOp","$teste");
> 
> 
> 
> 
> 
> Em 06-06-2012 17:27, João Marcelo Queiroz escreveu:
>> Estou ainda iniciando em AGI e resolvi fazer um pequeno script em Shell para testar.
>> 
>> Ele é bem simples, faz uma consulta em um banco MySQL, retorna uma data, envia para o AGI que envia a data para o arquivo.
>> O problema é que, apesar de ler muita coisa, não encontrei como faço para recuperar o valor da variável dentro do script.
>> Posso estar errando na sintaxe, mas tou no escuro.
>> 
>> Como recuperaria esse valor para trabalhar com ele no script? Enviar de volta para o * é simples, meu problema é recuperar.
>> 
>> 
>> 
>> exten=>7713,1,Answer()
>> exten=>7713,n,MYSQL(Connect connid 127.0.0.1 root senha TesteCo)
>> exten=>7713,n,MYSQL(Query resultid ${connid} SELECT\ Marcado\ FROM\ Coluna\ WHERE\ Campo=\"12345\")
>> exten=>7713,n,MYSQL(Fetch fetchid ${resultid} teste)
>> exten=>7713,n,MYSQL(Clear ${resultid})
>> exten=>7713,n,AGI(echo_data.sh) ->  tentei também (echo_data.sh|${teste}) sem sucesso.
>> exten=>7713,n,MYSQL(Disconnect ${connid})
>> exten=>7713,n,Hangup()
>> 
>> 
>> #!/bin/bash
>> 
>> # Consume all variables sent by Asterisk
>> while read VAR&&  [ -n ${VAR} ] ; do : ; done
>> 
>> # Answer the call.
>> #echo "ANSWER"
>> #read RESPONSE
>> 
>> # teste de fala
>> echo 'GET FULL VARIABLE ${teste}'
>> read RESPONSE
>> 
>> #abaixo eu fiz várias tentativas de obter o valor da variável, sem sucesso.
>> Dia=`[${teste}] | cut -f1 -d:`
>> Mes=`${teste} | cut -f2 -d:`
>> Ano=`"${teste}" | cut -f3 -d:`
>> 
>> echo " Dia= $Dia , Mes= $Mes , Ano= $Ano">  teste.ler
>> 
>> exit 0
>> 
>> 
>> 
>> 
>> 
>> 
>> Obrigado,
>> 
>> 
>> João Marcelo Queiroz
>> _______________________________________________
>> KHOMP Inovação: External Board Series
>> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.
>> Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
>> _______________________________________________
>> DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
>> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
>> Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  www.digivoice.com.br
>> ________
>> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.
>> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
>> ______________________________________________
>> Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
> 
> _______________________________________________
> KHOMP Inovação: External Board Series
> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.
> Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
> _______________________________________________
> DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
> Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  www.digivoice.com.br
> ________
> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.
> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
> ______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org



Mais detalhes sobre a lista de discussão AsteriskBrasil