to vendo aqui a classe phpagi-asmanager.php, vou usar a função command e passar o comando "core show channel <channel>", tentar "destrinchar" o array e ver o que dá..rsrs
valeu Em 14 de agosto de 2013 16:27, Danilo Almeida <[email protected]>escreveu: > Olá pessoal! > > Estou eu aqui com meus testes tentando fazer alguma coisa em php..rsrs > > minha dúvida é a seguinte: > 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: > obs: estou usando a classe phpagi > > segue arquivo.php > > #!/usr/bin/php -q > <?php > require 'phpagi/phpagi.php'; > > $agi = new AGI(); //instanciando objeto > > $comp = $argv[1]; > > //Verificando o valor da variável passada pelo AGI e passando para > contexto correto > > if($comp == "inicial"){ > > //ob_implicit_flush(true); > set_time_limit(30); > > $agi->answer(); > > $exten = $agi->get_variable('EXTEN'); > $exten = $exten['data']; > $type = $agi->get_variable('PORTAPSTN'); > $type = $type['data']; > > $agi->noop("testando variaveis "); > $status = $agi->channel_status(); > $status = $status['data']; > $agi->noop($status); > > $agi->exec_dial($type,$exten,40,"Tr"); > > $agi->hangup(); > } > > no momento que disparo a ligação, tenho o seguinte retorno no CLI: > > -- Executing [1237@contexto-ramais-voip:1] NoOp("SIP/133-00000244", > "testando agi") in new stack > -- Executing [1237@contexto-ramais-voip:2] AGI("SIP/133-00000244", > "testeagi.php,inicial") in new stack > -- Launched AGI Script /var/lib/asterisk/agi-bin/testeagi.php > <SIP/133-00000244>AGI Tx >> agi_request: testeagi.php > <SIP/133-00000244>AGI Tx >> agi_channel: SIP/133-00000244 > <SIP/133-00000244>AGI Tx >> agi_language: pt_BR > <SIP/133-00000244>AGI Tx >> agi_type: SIP > <SIP/133-00000244>AGI Tx >> agi_uniqueid: 1376507848.1611 > <SIP/133-00000244>AGI Tx >> agi_version: 1.8.20.2 > <SIP/133-00000244>AGI Tx >> agi_callerid: 133 > <SIP/133-00000244>AGI Tx >> agi_calleridname: Danilo Almeida > <SIP/133-00000244>AGI Tx >> agi_callingpres: 0 > <SIP/133-00000244>AGI Tx >> agi_callingani2: 0 > <SIP/133-00000244>AGI Tx >> agi_callington: 0 > <SIP/133-00000244>AGI Tx >> agi_callingtns: 0 > <SIP/133-00000244>AGI Tx >> agi_dnid: 1237 > <SIP/133-00000244>AGI Tx >> agi_rdnis: unknown > <SIP/133-00000244>AGI Tx >> agi_context: contexto-ramais-voip > <SIP/133-00000244>AGI Tx >> agi_extension: 1237 > <SIP/133-00000244>AGI Tx >> agi_priority: 2 > <SIP/133-00000244>AGI Tx >> agi_enhanced: 0.0 > <SIP/133-00000244>AGI Tx >> agi_accountcode: > <SIP/133-00000244>AGI Tx >> agi_threadid: 140522439591680 > <SIP/133-00000244>AGI Tx >> agi_arg_1: inicial > <SIP/133-00000244>AGI Tx >> > <SIP/133-00000244>AGI Rx << ANSWER > <SIP/133-00000244>AGI Tx >> 200 result=0 > <SIP/133-00000244>AGI Rx << GET VARIABLE CHANNEL > <SIP/133-00000244>AGI Tx >> 200 result=1 (SIP/133-00000244) > <SIP/133-00000244>AGI Rx << GET VARIABLE EXTEN > <SIP/133-00000244>AGI Tx >> 200 result=1 (1237) > <SIP/133-00000244>AGI Rx << GET VARIABLE PORTAPSTN > <SIP/133-00000244>AGI Tx >> 200 result=1 (DGV/g1) > <SIP/133-00000244>AGI Rx << NOOP "testando variaveis " > <SIP/133-00000244>AGI Tx >> 200 result=0 > <SIP/133-00000244>AGI Rx << CHANNEL STATUS > <SIP/133-00000244>AGI Tx >> 200 result=6 > <SIP/133-00000244>AGI Rx << NOOP "Line is up" > <SIP/133-00000244>AGI Tx >> 200 result=0 > <SIP/133-00000244>AGI Rx << EXEC Dial DGV/g1/1237,40,Tr > -- AGI Script Executing Application: (Dial) Options: > (DGV/g1/1237,40,Tr) > -- Called DGV/g1/1237 > -- DGV/2 is making progress passing it to SIP/100-00000243 > == Everyone is busy/congested at this time (1:0/0/1) > <SIP/133-00000244>AGI Tx >> 200 result=0 > <SIP/133-00000244>AGI Rx << HANGUP > <SIP/133-00000244>AGI Tx >> 200 result=1 > -- <SIP/133-00000244>AGI Script testeagi.php completed, returning 4 > > Gostaria de monitorar o status do canal em todo tempo até o hangup. (ring, > ringing, UP, busy, etc) > > esse caminho que estou, seria o correto? Alguém poderia e dar uma dica de > como conseguir monitorar o canal durante a ligação? > > desde já, Obrigado! > -- > *att* > *Danilo Almeida* > -- *att* *Danilo Almeida*
_______________________________________________ KHOMP: completa linha de placas externas FXO, FXS, GSM e E1; Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7; Intercomunicadores para acesso remoto via rede IP. Conheça em www.Khomp.com. _______________________________________________ ALIGERA Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7. Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. Channel Bank Appliance Asterisk - Acesse www.aligera.com.br. _______________________________________________ Para remover seu email desta lista, basta enviar um email em branco para [email protected]

