<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>&lt;?php</div><div>require &#39;phpagi/phpagi.php&#39;;<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 == &quot;inicial&quot;){</div>
<div><br></div><div>//ob_implicit_flush(true); </div><div>set_time_limit(30);</div><div><br></div><div>$agi-&gt;answer();</div><div><br></div><div>$exten = $agi-&gt;get_variable(&#39;EXTEN&#39;);</div><div>$exten = $exten[&#39;data&#39;];</div>
<div>$type = $agi-&gt;get_variable(&#39;PORTAPSTN&#39;);</div><div>$type = $type[&#39;data&#39;];</div><div><br></div><div>$agi-&gt;noop(&quot;testando variaveis &quot;);</div><div>$status = $agi-&gt;channel_status();</div>
<div>$status = $status[&#39;data&#39;];</div><div>   $agi-&gt;noop($status);</div><div><br></div><div>$agi-&gt;exec_dial($type,$exten,40,&quot;Tr&quot;);</div><div><br></div><div>$agi-&gt;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(&quot;SIP/133-00000244&quot;, &quot;testando agi&quot;) in new stack</div>
<div>    -- Executing [1237@contexto-ramais-voip:2] AGI(&quot;SIP/133-00000244&quot;, &quot;testeagi.php,inicial&quot;) in new stack</div><div>    -- Launched AGI Script /var/lib/asterisk/agi-bin/testeagi.php</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_request: testeagi.php</div>
<div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_channel: SIP/133-00000244</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_language: pt_BR</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_type: SIP</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_uniqueid: 1376507848.1611</div>
<div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_version: 1.8.20.2</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_callerid: 133</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_calleridname: Danilo Almeida</div>
<div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_callingpres: 0</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_callingani2: 0</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_callington: 0</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_callingtns: 0</div>
<div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_dnid: 1237</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_rdnis: unknown</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_context: contexto-ramais-voip</div><div>
&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_extension: 1237</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_priority: 2</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_enhanced: 0.0</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_accountcode: </div>
<div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_threadid: 140522439591680</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; agi_arg_1: inicial</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; </div><div>&lt;SIP/133-00000244&gt;AGI Rx &lt;&lt; ANSWER</div>
<div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; 200 result=0</div><div>&lt;SIP/133-00000244&gt;AGI Rx &lt;&lt; GET VARIABLE CHANNEL</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; 200 result=1 (SIP/133-00000244)</div><div>
&lt;SIP/133-00000244&gt;AGI Rx &lt;&lt; GET VARIABLE EXTEN</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; 200 result=1 (1237)</div><div>&lt;SIP/133-00000244&gt;AGI Rx &lt;&lt; GET VARIABLE PORTAPSTN</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; 200 result=1 (DGV/g1)</div>
<div>&lt;SIP/133-00000244&gt;AGI Rx &lt;&lt; NOOP &quot;testando variaveis &quot;</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; 200 result=0</div><div>&lt;SIP/133-00000244&gt;AGI Rx &lt;&lt; CHANNEL STATUS</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; 200 result=6</div>
<div>&lt;SIP/133-00000244&gt;AGI Rx &lt;&lt; NOOP &quot;Line is up&quot;</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; 200 result=0</div><div>&lt;SIP/133-00000244&gt;AGI Rx &lt;&lt; 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>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; 200 result=0</div><div>&lt;SIP/133-00000244&gt;AGI Rx &lt;&lt; HANGUP</div><div>&lt;SIP/133-00000244&gt;AGI Tx &gt;&gt; 200 result=1</div><div>    -- &lt;SIP/133-00000244&gt;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>