[AsteriskBrasil] valor de retorno do script AGI

Luis Reis luis.reis em singularideas.com.br
Quarta Dezembro 16 18:14:48 BRST 2009


Não usa o fwrite!!! usa somente as funções do PHPAGI.



2009/12/16 Rodrigo Lang <rodrigoferreiralang em gmail.com>

> Agora ele fica me dando esse erro Broken pipe! Deve ser algum erro no meu
> script! :(
> Existe alguma outra forma de debugar o script além do comando "agi set
> debug on"?
>
>
>  -- Remote UNIX connection
>     -- Remote UNIX connection disconnected
> [Dec 16 17:28:58] ERROR[8760]: utils.c:1019 ast_carefulwrite: write()
> returned error: Broken pipe
> [Dec 16 17:28:58] ERROR[8760]: utils.c:1019 ast_carefulwrite: write()
> returned error: Broken pipe
>     -- <DAHDI/21-1>AGI Script verifica-tronco.agi completed, returning 0
>     -- Executing [s em macro-tratamento-saida:4] NoOp("DAHDI/21-1",
> "failure") in new stack
>     -- Executing [s em macro-tratamento-saida:5] GotoIf("DAHDI/21-1",
> "0?DISCA:TRANSBORDO") in new stack
>
>
>
> Obrigado,
> Rodrigo Lang.
>
>
> 2009/12/16 Rodrigo Lang <rodrigoferreiralang em gmail.com>
>
>> Opa pessoal, obrigado pelas resposta. Kim, achava que estava faltando
>> alguma coisa mesmo... Baixei o phpagi, fiz um require e instanciei ele.
>> Funcionou perfeito, consegui passar a variável para o extensions.conf
>> tranquilamente. Não fazia nem idéia que precisava dessa biblioteca. Obrigado
>> a todos que responderam. Ficou assim:
>>
>> if ( $tronco == "khomp/g0" ) {
>>                 if ( $chan1 == "" && $chan2 == "" ) {
>>                         fwrite($stdout, "Todos os canais ocupados do
>> tronco $tronco.\n");
>>                         fflush($stdout);
>>                         $agi->set_variable("STATUS",'failure');
>>                 }
>>                 else {
>>                         fwrite($stdout, "Canais livres no tronco
>> $tronco.\n");
>>                         fflush($stdout);
>>                         $agi->set_variable("STATUS",'success');
>>                 }
>> }
>>
>>
>> Obrigado,
>> Rodrigo Lang.
>>
>>
>>  2009/12/16 Kim Delevati <kim.delevati em gmail.com>
>>
>>> Eu utilizo o set variable e aqui funciona, desse jeito:
>>>
>>>
>>> $agi->set_variable("tempo",$tempo);
>>>
>>> Para usar $agi, tem que ter o phpagi aí, e instanciar um $agi = new
>>> AGI();
>>>
>>> Voce tem o phpagi? Tá fazendo require nele?
>>>
>>>
>>> 2009/12/16 Rodrigo Lang <rodrigoferreiralang em gmail.com>
>>>
>>>>  Boa tarde lista. Estou fazendo um AGI em php e surgiu algumas duvidas,
>>>> as quais eu não consegui sanar no google. O que eu preciso é manipular o
>>>> valor de ${AGISTATUS} ou criar uma outra variável no AGI para chamar no
>>>> extensions. Na pesquisa que fiz encontrei diversos modos, porém nenhum
>>>> funcionou. Como nunca tive muito contato com o AGI estou com um pouco de
>>>> dificuldade. O que eu preciso seria mais ou menos isso:
>>>>
>>>> if ( $varivel == "" ) {
>>>> fwrite($stdout, "Não deu certo.\n");
>>>> fflush($stdout);
>>>> }
>>>> else {
>>>> fwrite($stdout, "Deu certo.\n");
>>>>  fflush($stdout);
>>>> }
>>>>
>>>>
>>>> Eu preciso que esse trecho retorne algo para eu manipular no extensions.
>>>> O que eu já tentei sem sucesso foi:
>>>> AGI::set_variable('STATUS','deucerto');
>>>> $AGI->set_variable('STATUS','deucerto');
>>>> return 0;
>>>> result = 0;
>>>>
>>>>
>>>> Agora eu não sei se falta alguma biblioteca no meu script ou alguma
>>>> dependência. Quando eu coloco as linhas acima ele me retorna sempre o mesmo
>>>> erro:
>>>> "utils.c:1019 ast_carefulwrite: write() returned error: Broken pipe"
>>>>
>>>> Pesquisei em vários livros e em vários sites, porém achei a documentação
>>>> um pouco precária sobre o assunto. Se alguém puder me ajudar, agradeço desde
>>>> já.
>>>>
>>>>
>>>>
>>>> Ats,
>>>> Rodrigo F. Lang
>>>> Amd. de Redes em Telecom
>>>>
>>>> _______________________________________________
>>>> A Redfone é líder no fornecimento de bridges TDMoE &lt;-> E1
>>>>
>>>> - Valor similar ao de placas E1 PCI;
>>>> - Não há problemas de compatibilidade com barramento PCI;
>>>> - Possibilitam a construção de soluções de alta disponibilidade(dois
>>>> servidores compartilham o mesmo E1)
>>>> Conheça mais sobre este produto em www.red-fone.com
>>>> _______________________________________________
>>>> Lista de discussões AsteriskBrasil.org
>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>
>>>
>>>
>>> _______________________________________________
>>> A Redfone é líder no fornecimento de bridges TDMoE &lt;-> E1
>>> - Valor similar ao de placas E1 PCI;
>>> - Não há problemas de compatibilidade com barramento PCI;
>>> - Possibilitam a construção de soluções de alta disponibilidade(dois
>>> servidores compartilham o mesmo E1)
>>> Conheça mais sobre este produto em www.red-fone.com
>>> _______________________________________________
>>> Lista de discussões AsteriskBrasil.org
>>> AsteriskBrasil em listas.asteriskbrasil.org
>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>
>>
>>
>>
>> --
>> Rodrigo F. Lang
>> Amd. de Redes em Telecom
>>
>
>
>
> --
> Rodrigo F. Lang
> Amd. de Redes em Telecom
>
> _______________________________________________
> A Redfone é líder no fornecimento de bridges TDMoE &lt;-> E1
> - Valor similar ao de placas E1 PCI;
> - Não há problemas de compatibilidade com barramento PCI;
> - Possibilitam a construção de soluções de alta disponibilidade(dois
> servidores compartilham o mesmo E1)
> Conheça mais sobre este produto em www.red-fone.com
> _______________________________________________
> Lista de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>



-- 
Luis Machado Reis
Analista de Sistemas
www.singularideas.com.br
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20091216/5dee4ed2/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil