<div dir="ltr">Olá pessoal!<div><br></div><div>Estou eu aqui com meus testes tentando fazer alguma coisa em php..rsrs</div><div><br></div><div>minha dúvida é a seguinte:</div><div>quero monitor em tempo real as chamadas que saem do meu servidor, a mesma coisa que faz o FOP, Monast, etc... porém, preciso passar o status para outra aplicação em tempo real. Até o momento, consigo monitorar o canal no momento que disparo a ligação:</div>
<div>obs: estou usando a classe phpagi</div><div><br></div><div>segue arquivo.php</div><div><br></div><div><div>#!/usr/bin/php -q</div><div><?php</div><div>require 'phpagi/phpagi.php';<br></div><div><br></div><div>
$agi = new AGI(); //instanciando objeto </div><div><br></div><div>$comp = $argv[1];</div><div><br></div><div>//Verificando o valor da variável passada pelo AGI e passando para contexto correto</div><div><br></div><div>if($comp == "inicial"){</div>
<div><br></div><div>//ob_implicit_flush(true); </div><div>set_time_limit(30);</div><div><br></div><div>$agi->answer();</div><div><br></div><div>$exten = $agi->get_variable('EXTEN');</div><div>$exten = $exten['data'];</div>
<div>$type = $agi->get_variable('PORTAPSTN');</div><div>$type = $type['data'];</div><div><br></div><div>$agi->noop("testando variaveis ");</div><div>$status = $agi->channel_status();</div>
<div>$status = $status['data'];</div><div> $agi->noop($status);</div><div><br></div><div>$agi->exec_dial($type,$exten,40,"Tr");</div><div><br></div><div>$agi->hangup();</div><div>}</div><div><br>
</div><div>no momento que disparo a ligação, tenho o seguinte retorno no CLI:</div><div><br></div><div> -- Executing [1237@contexto-ramais-voip:1] NoOp("SIP/133-00000244", "testando agi") in new stack</div>
<div> -- Executing [1237@contexto-ramais-voip:2] AGI("SIP/133-00000244", "testeagi.php,inicial") in new stack</div><div> -- Launched AGI Script /var/lib/asterisk/agi-bin/testeagi.php</div><div><SIP/133-00000244>AGI Tx >> agi_request: testeagi.php</div>
<div><SIP/133-00000244>AGI Tx >> agi_channel: SIP/133-00000244</div><div><SIP/133-00000244>AGI Tx >> agi_language: pt_BR</div><div><SIP/133-00000244>AGI Tx >> agi_type: SIP</div><div><SIP/133-00000244>AGI Tx >> agi_uniqueid: 1376507848.1611</div>
<div><SIP/133-00000244>AGI Tx >> agi_version: 1.8.20.2</div><div><SIP/133-00000244>AGI Tx >> agi_callerid: 133</div><div><SIP/133-00000244>AGI Tx >> agi_calleridname: Danilo Almeida</div>
<div><SIP/133-00000244>AGI Tx >> agi_callingpres: 0</div><div><SIP/133-00000244>AGI Tx >> agi_callingani2: 0</div><div><SIP/133-00000244>AGI Tx >> agi_callington: 0</div><div><SIP/133-00000244>AGI Tx >> agi_callingtns: 0</div>
<div><SIP/133-00000244>AGI Tx >> agi_dnid: 1237</div><div><SIP/133-00000244>AGI Tx >> agi_rdnis: unknown</div><div><SIP/133-00000244>AGI Tx >> agi_context: contexto-ramais-voip</div><div>
<SIP/133-00000244>AGI Tx >> agi_extension: 1237</div><div><SIP/133-00000244>AGI Tx >> agi_priority: 2</div><div><SIP/133-00000244>AGI Tx >> agi_enhanced: 0.0</div><div><SIP/133-00000244>AGI Tx >> agi_accountcode: </div>
<div><SIP/133-00000244>AGI Tx >> agi_threadid: 140522439591680</div><div><SIP/133-00000244>AGI Tx >> agi_arg_1: inicial</div><div><SIP/133-00000244>AGI Tx >> </div><div><SIP/133-00000244>AGI Rx << ANSWER</div>
<div><SIP/133-00000244>AGI Tx >> 200 result=0</div><div><SIP/133-00000244>AGI Rx << GET VARIABLE CHANNEL</div><div><SIP/133-00000244>AGI Tx >> 200 result=1 (SIP/133-00000244)</div><div>
<SIP/133-00000244>AGI Rx << GET VARIABLE EXTEN</div><div><SIP/133-00000244>AGI Tx >> 200 result=1 (1237)</div><div><SIP/133-00000244>AGI Rx << GET VARIABLE PORTAPSTN</div><div><SIP/133-00000244>AGI Tx >> 200 result=1 (DGV/g1)</div>
<div><SIP/133-00000244>AGI Rx << NOOP "testando variaveis "</div><div><SIP/133-00000244>AGI Tx >> 200 result=0</div><div><SIP/133-00000244>AGI Rx << CHANNEL STATUS</div><div><SIP/133-00000244>AGI Tx >> 200 result=6</div>
<div><SIP/133-00000244>AGI Rx << NOOP "Line is up"</div><div><SIP/133-00000244>AGI Tx >> 200 result=0</div><div><SIP/133-00000244>AGI Rx << EXEC Dial DGV/g1/1237,40,Tr</div><div>
-- AGI Script Executing Application: (Dial) Options: (DGV/g1/1237,40,Tr)</div><div> -- Called DGV/g1/1237</div><div> -- DGV/2 is making progress passing it to SIP/100-00000243</div><div> == Everyone is busy/congested at this time (1:0/0/1)<br>
</div><div><SIP/133-00000244>AGI Tx >> 200 result=0</div><div><SIP/133-00000244>AGI Rx << HANGUP</div><div><SIP/133-00000244>AGI Tx >> 200 result=1</div><div> -- <SIP/133-00000244>AGI Script testeagi.php completed, returning 4</div>
<div><br></div><div>Gostaria de monitorar o status do canal em todo tempo até o hangup. (ring, ringing, UP, busy, etc)</div><div><br></div><div>esse caminho que estou, seria o correto? Alguém poderia e dar uma dica de como conseguir monitorar o canal durante a ligação?</div>
<div><br></div><div>desde já, Obrigado!</div>-- <br><div dir="ltr"><b style="background-color:rgb(255,255,255)"><font color="#0000ff">att</font></b><div><b style="background-color:rgb(255,255,255)"><font color="#0000ff">Danilo Almeida</font></b></div>
</div>
</div></div>