[AsteriskBrasil] valor de retorno do script AGI

Rodrigo Lang rodrigoferreiralang em gmail.com
Quarta Dezembro 16 19:12:38 BRST 2009


Estou usando o 1.6.0.19. Eu apaguei as linhas fwrite e fflush e parou de dar
erros!

Obrigado novamente,
Rodrigo Lang.

2009/12/16 Kim Delevati <kim.delevati em gmail.com>

> Qual a versão do seu Asterisk?
>
> 2009/12/16 Luis Reis <luis.reis em singularideas.com.br>
>
> 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
>>
>> _______________________________________________
>> 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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20091216/268b1b4b/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil