Testei de tudo aqui e continua aparecendo os erros. Testei com versões 1.6.x e 1.8.x.<br><br>Fiz um modelo em bash para simplificar. <br>Vou postar aqui para ver se isso ocorre com vocês também.<br><br><b>extensions.conf</b><br>
[teste]<br>exten => 1,1,AGI(teste.sh)<br>exten => 1,n,Hangup()<br><br><b>arquivo teste.sh</b><br>#!/bin/bash<br>echo "SET variable CIDADEa aa\n";<br>echo "SET variable CIDADEb bb\n";<br>echo "SET variable CIDADEc cc\n";<br>
echo "SET variable CIDADEd dd\n";<br>echo "SET variable CIDADEe ee\n";<br><br><b>O que digito no console:</b><br> console dial 1@teste<br><br><b>O que aparece no console (80% das vezes):</b><br>revenda*CLI> console dial 1@teste<br>
[2012-07-19 15:11:18] NOTICE[19685]: console_video.c:133 console_video_start: voice only, console video support not present<br> -- Executing [1@teste:1] AGI("Console/dsp", "teste.sh") in new stack<br>
-- Launched AGI Script /var/lib/asterisk/agi-bin/teste.sh<br>[2012-07-19 15:11:18] ERROR[19696]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe<br>[2012-07-19 15:11:18] ERROR[19696]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe<br>
[2012-07-19 15:11:18] ERROR[19696]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe<br>[2012-07-19 15:11:18] ERROR[19696]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe<br> -- <Console/dsp>AGI Script teste.sh completed, returning 0<br>
-- Executing [1@teste:2] Hangup("Console/dsp", "") in new stack<br> == Spawn extension (teste, 1, 2) exited non-zero on 'Console/dsp'<br> << Hangup on console >><br><br><br><br>
Vale lembrar que mesmo com os erros, o script é executado normalmente.<br><br><br><br><div class="gmail_quote">Em 19 de julho de 2012 13:16, Eder Souza <span dir="ltr"><<a href="mailto:eder.souza@bsd.com.br" target="_blank">eder.souza@bsd.com.br</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Olá eu já peguei este problema!</div><div> </div><div>Uso bastante python + AGI no meu caso eu estava enviando aspas duplas no inicio e no fim do SET coloquei aspas simples e o erro sumiu aqui !</div>
<div> </div><div>
EX Python:</div><div> </div><div><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(221,17,68);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px">'SET VARIABLE teste "</span><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(221,17,68);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px">%s</span><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(221,17,68);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px">"</span><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(221,17,68);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px">\n</span><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(221,17,68);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px">'</span><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:bold 12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(51,51,51);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px">%</span><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;color:rgb(51,51,51);text-transform:none;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;white-space:pre-wrap;font-size-adjust:none;display:inline!important;float:none;word-spacing:0px"> </span><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(0,134,179);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px">str</span><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(51,51,51);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px">(</span><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(51,51,51);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px">result</span><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(51,51,51);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px">)</span></div>
<div><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(51,51,51);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px"></span> </div>
<div><span style="text-indent:0px;letter-spacing:normal;font-stretch:normal;font:12px/16px Consolas,"Liberation Mono",Courier,monospace;font-size-adjust:none;padding:0px;color:rgb(51,51,51);text-transform:none;white-space:pre-wrap;margin:0px;border:0px currentColor;word-spacing:0px">Brinque com a parte do seu código que esta aprezendado o problema substitua as aspas, remova as barras, etc etc uma hora você acerta a forma correta do envio!</span></div>
<div> </div><div>Eng Eder de Souza<br></div><div class="gmail_quote">Em 19 de julho de 2012 10:46, Ronaldo Sacco <span dir="ltr"><<a href="mailto:contato@ronaldosacco.com.br" target="_blank">contato@ronaldosacco.com.br</a>></span> escreveu:<br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote"><div><div class="h5">Bom dia!<br><br>Já fazem alguns dias que estou tentando descobrir o porque que depois de rodar um determinado AGI a console me retorna as seguintes linhas:<br>
<br>[2012-07-19 10:29:34] ERROR[2704]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe<br>
[2012-07-19 10:29:34] ERROR[2704]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe<br>[2012-07-19 10:29:34] ERROR[2704]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe<br clear="all">
<br>O curioso é que as vezes executando o mesmo script, passando os mesmos parâmetros e obtendo o mesmo retorno, não retorna nenhuma linha de erro. As vezes retorna 1 ou 2 linhas. Mas nunca mais do que 3.<br>Fazendo alguns testes percebi que essas linhas de erro tem a ver com esta parte do código PHP do meu AGI:<br>
<br>echo "SET variable CIDADE \"$cidade\"\n";<br>echo "SET variable TRUNK1 \"".$trunk1."\"\n";<br>echo "SET variable TRUNK2 \"".$trunk2."\"\n";<br>
exit(0);<br><br><br>Mesmo dando estes erros a AGI é executada normalmente. As variáveis são "setadas" normalmente. <br><br>Ativando o debug do agi, aparece o seguinte:<br><br> -- Executing <a href="tel:%5B4133883651" value="+14133883651" target="_blank">[4133883651</a>@rota-brasil:9] AGI("SIP/8009005-000005b9", "consulta_cidade.php,0554133883651") in new stack<br>
-- Launched AGI Script /var/lib/asterisk/agi-bin/consulta_cidade.php<br><SIP/8009005-000005b9>AGI Tx >> agi_request: consulta_cidade.php<br><SIP/8009005-000005b9>AGI Tx >> agi_channel: SIP/8009005-000005b9<br>
<SIP/8009005-000005b9>AGI Tx >> agi_language: pt_BR<br><SIP/8009005-000005b9>AGI Tx >> agi_type: SIP<br><SIP/8009005-000005b9>AGI Tx >> agi_uniqueid: 1342705195.1465<br><SIP/8009005-000005b9>AGI Tx >> agi_version: 1.8.9.3<br>
<SIP/8009005-000005b9>AGI Tx >> agi_callerid: 8009005<br><SIP/8009005-000005b9>AGI Tx >> agi_calleridname: 1890<br><SIP/8009005-000005b9>AGI Tx >> agi_callingpres: 0<br><SIP/8009005-000005b9>AGI Tx >> agi_callingani2: 0<br>
<SIP/8009005-000005b9>AGI Tx >> agi_callington: 0<br><SIP/8009005-000005b9>AGI Tx >> agi_callingtns: 0<br><SIP/8009005-000005b9>AGI Tx >> agi_dnid: 04133883651<br><SIP/8009005-000005b9>AGI Tx >> agi_rdnis: 04133883651<br>
<SIP/8009005-000005b9>AGI Tx >> agi_context: rota-brasil<br><SIP/8009005-000005b9>AGI Tx >> agi_extension: <a href="tel:4133883651" value="+14133883651" target="_blank">4133883651</a><br><SIP/8009005-000005b9>AGI Tx >> agi_priority: 9<br>
<SIP/8009005-000005b9>AGI Tx >> agi_enhanced: 0.0<br>
<SIP/8009005-000005b9>AGI Tx >> agi_accountcode: <br><SIP/8009005-000005b9>AGI Tx >> agi_threadid: 140257445668608<br><SIP/8009005-000005b9>AGI Tx >> agi_arg_1: 0554133883651<br><SIP/8009005-000005b9>AGI Tx >> <br>
<SIP/8009005-000005b9>AGI Rx << SET variable CIDADE "CURITIBA/PR"<br><SIP/8009005-000005b9>AGI Tx >> 200 result=1<br><SIP/8009005-000005b9>AGI Rx << SET variable TRUNK1 "SIP/trunk-gw/0144133883651"<br>
<SIP/8009005-000005b9>AGI Tx >> 200 result=1<br>[2012-07-19 10:39:56] ERROR[4487]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe<br><SIP/8009005-000005b9>AGI Rx << SET variable TRUNK2 "SIP/trunk-ipe/0554133883651"<br>
<SIP/8009005-000005b9>AGI Tx >> 200 result=1<br>[2012-07-19 10:39:56] ERROR[4487]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe<br> -- <SIP/8009005-000005b9>AGI Script consulta_cidade.php completed, returning 0<br>
<br><br>Alguém tem alguma ideia do que pode ser estes erros? <br>Asterisk 1.8.9.3<span><font color="#888888"><br><br><br><br>-- <br><br>Atenciosamente,<br><br style="font-family:tahoma,sans-serif"><span style="color:rgb(102,102,102);font-family:tahoma,sans-serif">Ronaldo Sacco</span><br>
<span style="color:rgb(102,102,102);font-family:tahoma,sans-serif">(54) 9174-8840</span><br style="color:rgb(102,102,102);font-family:tahoma,sans-serif"><span style="color:rgb(102,102,102);font-family:tahoma,sans-serif"></span><span style="color:rgb(102,102,102);font-family:tahoma,sans-serif">Bacharel em Ciência da Computação<br>
</span><span style="color:rgb(102,102,102);font-family:tahoma,sans-serif"></span><br><br>
</font></span><br></div></div>_______________________________________________<br>
KHOMP Inovação: External Board Series<br>
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.<br>
Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>
_______________________________________________<br>
DIGIVOICE Fabricante de Placas de Voz e Channel Bank<br>
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>
Centro Treinamento - Curso de PABX IP - Asterisk - Site <a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>
________<br>
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br>
email: <a href="mailto:yealink@commlogik.com.br" target="_blank">yealink@commlogik.com.br</a> | <a href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a> | (11) 5503-1011<br>
______________________________________________<br>
Para remover seu email desta lista, basta enviar um email em branco para <a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><br></blockquote>
</div>
<br>
<br>_______________________________________________<br>
KHOMP Inovação: External Board Series<br>
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.<br>
Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>
_______________________________________________<br>
DIGIVOICE Fabricante de Placas de Voz e Channel Bank<br>
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>
Centro Treinamento - Curso de PABX IP - Asterisk - Site <a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>
________<br>
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br>
email: <a href="mailto:yealink@commlogik.com.br">yealink@commlogik.com.br</a> | <a href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a> | (11) 5503-1011<br>
______________________________________________<br>
Para remover seu email desta lista, basta enviar um email em branco para <a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><br></blockquote></div>
<br><br clear="all"><br>-- <br><br>Atenciosamente,<br><br style="font-family:tahoma,sans-serif"><span style="color:rgb(102,102,102);font-family:tahoma,sans-serif">Ronaldo Sacco</span><br><span style="color:rgb(102,102,102);font-family:tahoma,sans-serif">(54) 9174-8840</span><br style="color:rgb(102,102,102);font-family:tahoma,sans-serif">
<span style="color:rgb(102,102,102);font-family:tahoma,sans-serif"></span><span style="color:rgb(102,102,102);font-family:tahoma,sans-serif">Bacharel em Ciência da Computação<br></span><span style="color:rgb(102,102,102);font-family:tahoma,sans-serif"></span><br>
<br>