[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