[AsteriskBrasil] valor de retorno do script AGI

Kim Delevati kim.delevati em gmail.com
Quarta Dezembro 16 20:05:52 BRST 2009


Hm. Me lembro que quando atualizei do 1.4.21.2 para um mais novo, todos os
meus AGI pararam de funcionar e davam esse erro. No tempo eu não fazia idéia
do que era, e foi antes de eu somente utilizar o PHPAGI. Acabei voltando ao
Asterisk antigo mesmo, não sabia o que fazer para os agi funcionarem.

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

> 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
>
> _______________________________________________
> 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
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20091216/c085f65f/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil