Prezado Luis, na realidade o AGI está correto, tendo em vista que no Asterisk 1.2 funciona. O problema se manifesta apenas no 1.4. Fui mais a fundo e ao invés de usar o phpagi, fiz testes diretos com o fwrite. Todas as vezes que esse comando é chamado, não importa o que ele tenta fazer, o erro acontece.
2010/3/23 Luis Reis <luis.r...@singularideas.com.br> > tu estás com erro de sintaxe no seu agi. Ou está escrevendo um comando > agi invalido em stdin > > Em 23/03/10, alessandro (listas)<lis...@snowleopard.com.br> escreveu: > > Estou passando pelo mesmo problema. > > Tenho alguns scripts de controle em PHP, usando AGI e tudo funciona bem > no > > Asterisk 1.2. Porém, no 1.4, começou a dar esse erro. > > Não entendi ao certo o que devo fazer para solucionar. > > > > Bom .. vamos esclarecer o Arquivo "X": > > > > o protocolo AGI é uma comunicação do asterisk com um programa ou socket > > externo que fala para ele o que fazer. No caso do PHPAGI isto é feito > pelo > > STDIN. Quando tu chamas um fwrite e um fflush sem definit o resource ... > ele > > assume que é o resource é o STDIN. Neste caso o asterisk tentava executar > o > > comando AGI "success" ou "failure" e por isso dava erro .. e o cachimbo ( > > pipe) se quebrou ... > > > > Caso tu queiras usar o fwrite .. tu deves definir um resource apropriado > ... > > como um arquivo por exemplo. > > - Show quoted text - > > > > 2009/12/16 Kim Delevati <kim.delev...@gmail.com> > > > >> 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 <rodrigoferreiral...@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.delev...@gmail.com> > >>> > >>>> Qual a versão do seu Asterisk? > >>>> > >>>> 2009/12/16 Luis Reis <luis.r...@singularideas.com.br> > >>>> > >>>> Não usa o fwrite!!! usa somente as funções do PHPAGI. > >>>>> > >>>>> > >>>>> > >>>>> 2009/12/16 Rodrigo Lang <rodrigoferreiral...@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 [...@macro-tratamento-saida:4] NoOp("DAHDI/21-1", > >>>>>> "failure") in new stack > >>>>>> -- Executing [...@macro-tratamento-saida:5] GotoIf("DAHDI/21-1", > >>>>>> "0?DISCA:TRANSBORDO") in new stack > >>>>>> > >>>>>> > >>>>>> > >>>>>> Obrigado, > >>>>>> Rodrigo Lang. > >>>>>> > >>>>>> > >>>>>> 2009/12/16 Rodrigo Lang <rodrigoferreiral...@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.delev...@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 <rodrigoferreiral...@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 <-> 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@listas.asteriskbrasil.org > >>>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil > >>>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> _______________________________________________ > >>>>>>>> A Redfone é líder no fornecimento de bridges TDMoE <-> 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@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 <-> 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@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 <-> 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@listas.asteriskbrasil.org > >>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil > >>>>> > >>>> > >>>> > >>>> _______________________________________________ > >>>> A Redfone é líder no fornecimento de bridges TDMoE <-> 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@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 <-> 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@listas.asteriskbrasil.org > >>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil > >>> > >> > >> > >> _______________________________________________ > >> A Redfone é líder no fornecimento de bridges TDMoE <-> 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@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 <-> 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@listas.asteriskbrasil.org > > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil > > > > > -- > Luis Machado Reis > Analista de Sistemas > www.singularideas.com.br > _______________________________________________ > KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk. > - Hardware com alta disponibilidade de recursos e qualidade KHOMP > - Suporte técnico local qualificado e gratuito > Conheça a linha completa de produtos KHOMP em www.khomp.com.br > _______________________________________________ > Lista de discussões AsteriskBrasil.org > AsteriskBrasil@listas.asteriskbrasil.org > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil >
_______________________________________________ KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk. - Hardware com alta disponibilidade de recursos e qualidade KHOMP - Suporte técnico local qualificado e gratuito Conheça a linha completa de produtos KHOMP em www.khomp.com.br _______________________________________________ Lista de discussões AsteriskBrasil.org AsteriskBrasil@listas.asteriskbrasil.org http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil