Também não estou conseguindo responder o antigo, segue respostas neste. Mike
Obrigado pela respostas você como sempre ajudando o pessoal na lista. Mais o meu problema é que, não estou conseguindo capturar o valor da variável no asterisk, sendo que com o mesmo script, nosso amigo SkFogo conseguiu resultar e obteve êxito. E como pode ver nos posts anteriores, mesmo inserindo um valor a variável manualmente não consigo setar o valor com o método set_variable() para pegar no asterisk. .................................................. SkFogo Não utilizo o Gtalk, mais segue as infoirmações que me pediu Versaão do phpagi: 2.14 (já utlizei a versão 2.20 e também não funcionou) Versão do php: 5.1.6 Utilizo o skype no trablho, se tiver posso te add. Obrigado ................................................... Ronaldo Já testei também e nada de funfar a parada..rsrs Obrigado Att Danilo Ricardo de Almeida -----Mensagem original----- De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Mike Tesliuk Enviada em: Monday, August 20, 2012 11:21 AM Para: asteriskbrasil@listas.asteriskbrasil.org Assunto: [AsteriskBrasil] Agi com PHP Olá Senhores, Não sei se os moderadores colocaram algum limite de resposta no topico ou algo assim mas a mensagem não quer chegar, então estou alterando o assunto para que vocês possam conferir. Deixem me dar uns pitacos. Não costumo trabalhar com agi em php mas sim com perl, mas vamos la. Olhando o phpagi.php , ao procurar sobre get_variable ele traz /** * Fetch the value of a variable. * * Does not work with global variables. Does not work with some variables that are generated by modules. * * @link http://www.voip-info.org/wiki-get+variable * @link http://www.voip-info.org/wiki-Asterisk+variables * @param string $variable name * @return array, see evaluate for return information. ['result'] is 0 if variable hasn't been set, 1 if it has. ['data'] holds the value. */ function get_variable($variable) { return $this->evaluate("GET VARIABLE $variable"); isso significa, que se utilizar $meunumero = $AGI->get_variable("NUMERO"); ele deverá trazer a variavel. Ao iniciar a classe AGI, ele ja inicia os seguintes valores * agi_request - name of agi script * agi_channel - current channel * agi_language - current language * agi_type - channel type (SIP, ZAP, IAX, ...) * agi_uniqueid - unique id based on unix time * agi_callerid - callerID string * agi_dnid - dialed number id * agi_rdnis - referring DNIS number * agi_context - current context * agi_extension - extension dialed * agi_priority - current priority * agi_enhanced - value is 1.0 if started as an EAGI script * agi_accountcode - set by SetAccount in the dialplan * agi_network - value is yes if this is a fastagi * agi_network_script - name of the script to execute , ou seja, ali voce ja tem qual o extension que você ta rodando, qual o callerid e etc... , ou seja, pra testar realizei a criação de um pequeno script. No meu extension: exten => 441,1,Answer() exten => 441,n,Set(TESTEVAR="123456") exten => 441,n,AGI(teste.php) exten => 441,n,NoOp(${TESTEVAR2}) exten => 441,n,Hangup() No meu script #!/usr/bin/php <?php include_once("phpagi.php"); // Instanciando o AGI $agi = new AGI(); $testevar = $agi->get_variable("TESTEVAR"); $agi->exec("NOOP", "VALOR\ DE\ TESTEVAR:\ $testevar[data]"); //Se quiser fazer debug da variavel utilize o parametro abaixo // e defina o debug=true no arquivo /etc/asterisk/phpagi.conf //foreach($testevar as $i => $value){ //$agi->conlog("VALOR[$i] $testevar[$i]"); //} $agi->set_variable("TESTEVAR2", "MIKE TESTOU"); ?> Minha execução -- Executing [441@interno:1] Answer("SIP/114-00000680", "") in new stack -- Executing [441@interno:2] Set("SIP/114-00000680", "TESTEVAR="123456"") in new stack -- Executing [441@interno:3] AGI("SIP/114-00000680", "teste.php") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/teste.php -- AGI Script Executing Application: (NOOP) Options: (VALOR DE TESTEVAR: 123456) -- <SIP/114-00000680>AGI Script teste.php completed, returning 0 -- Executing [441@interno:4] NoOp("SIP/114-00000680", "MIKE TESTOU") in new stack -- Executing [441@interno:5] Hangup("SIP/114-00000680", "") in new stack Como podem ver, defini uma variavel no dialplan, recuperei no agi, defini uma no agi, e recuperei no dialplan _______________________________________________ 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 ______________________________________________ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 ______________________________________________ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org