[AsteriskBrasil] valor de retorno do script AGI

Kim Delevati kim.delevati em gmail.com
Quarta Dezembro 16 18:28:15 BRST 2009


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


Mais detalhes sobre a lista de discussão AsteriskBrasil