use um AGI para isso e vai ficar muito mais simples
inicie seu script com #!/usr/bin/php -q <?php if (function_exists('pcntl_signal')) { pcntl_signal(SIGHUP, SIG_IGN); } include ("phpagi/phpagi.php"); $agi = new AGI(); $dialstr = "SIP/".$agi->request["agi_dnid"]; $res_dial = $agi->exec("DIAL $dialstr"); $answeredtime = $agi->get_variable("ANSWEREDTIME"); $answeredtime = $answeredtime['data']; $dialstatus = $agi->get_variable("DIALSTATUS"); $dialstatus = $dialstatus['data']; if ($dialstatus == "BUSY") { //codigo aqui } elseif ($this->dialstatus == "NOANSWER") { //codigo aqui } //aqui voce pode seguir seu script sem nenhum problema. ?> Att. Magnus www.magnusbilling.com On jun 5, 2013, at 10:52 a.m., Carlos Eduardo <vostro1...@gmail.com> wrote: > Obrigado pela ajuda, mas ainda não consegui resolver. > > > Rafael, > > Mesmo com a opção 'g' no dial não consegui resolver, pois não consegui > identificar quando o asterisk termina a gravação do arquivo. > > > Emanuel, > > Quando coloco a parâmetro Wait(2) o sistema para de interpretar as próximas > linhas. > > > Marcio, > > Segue abaixo o extensions: > > > [from-fln5555] > > exten => _11[0-4][0-9],1,Macro(recording) > exten => _11[0-4][0-9],n,Dial(SIP/${EXTEN},20,tTg) > exten => _11[0-4][0-9],n,HangUp() > exten => h,1,Noop(Teste 1) > exten => h,n,AGI(gravacao2.agi, > ${STRFTIME(${EPOCH},,%Y%m%d_%H:%M:%S)}_${CDR(src)}_${CDR(dst)}) > exten => h,n,Noop(${RECORD_FILENAME}) > > [macro-recording] > > exten => > s,1,Set(MONITOR_FILENAME=${STRFTIME(${EPOCH},,%Y%m%d-%H:%M:%S)}_${CDR(src)}_${CDR(dst)}-${CDR(billsec)}) > exten => s,n,MixMonitor(${MONITOR_FILENAME}.wav,b) > > ;end of macro-recording > > > Log da console do Asterisk (coloquei números nas linhas para ajudar na > explicação) > > (1) -- Executing [1101@from-fln5555:1] Macro("SIP/1100-0000000e", > "recording") in new stack > (2) -- Executing [s@macro-recording:1] Set("SIP/1100-0000000e", > "MONITOR_FILENAME=20130605-10:33:12_1100_1101-0") in new stack > (3) -- Executing [s@macro-recording:2] MixMonitor("SIP/1100-0000000e", > "20130605-10:33:12_1100_1101-0.wav,b") in new stack > (4) -- Executing [1101@from-fln5555:2] Dial("SIP/1100-0000000e", > "SIP/1101,20,tTg") in new stack > (5) == Using SIP RTP CoS mark 5 > (6) == Begin MixMonitor Recording SIP/1100-0000000e > (7) -- Called SIP/1101 > (8) -- SIP/1101-0000000f is ringing > (9) -- SIP/1101-0000000f answered SIP/1100-0000000e > (10) == Spawn extension (from-fln5555, 1101, 2) exited non-zero on > 'SIP/1100-0000000e' > (11) -- Executing [h@from-fln5555:1] NoOp("SIP/1100-0000000e", "Teste 1") > in new stack > (12) -- Executing [h@from-fln5555:2] AGI("SIP/1100-0000000e", > "gravacao2.agi, 20130605_10:33:15_1100_1101") in new stack > (13) -- Launched AGI Script /var/lib/asterisk/agi-bin/gravacao2.agi > (14) -- <SIP/1100-0000000e>AGI Script gravacao2.agi completed, returning 0 > (15) -- Executing [h@from-fln5555:3] NoOp("SIP/1100-0000000e", > "20130605_10:33:15_10:33:16_1100_1101.mp3") in new stack > (16) == MixMonitor close filestream > (17) == End MixMonitor Recording SIP/1100-0000000e > > > O que estou querendo fazer é executar a AGI após o "End Mixmonitor" (na linha > 18) ao invés de executar na linha 12. > Que alteração tenho que fazer no extensions para isto funcionar ? > > > Agradeço a ajuda. > > > Carlos Eduardo > > > > > > Em 4 de junho de 2013 18:52, Marcio - Google <marci...@gmail.com> escreveu: > Posta seu exten ai que não entendi. > > > > [...]'s > > Marcio > > ======================================== > ########### Campanha Ajude o Marcio! ########### > http://sosmarcio.blogspot.com.br/ > http://www.vakinha.com.br/VaquinhaP.aspx?e=195793 > ======================================== > > > Em 4 de junho de 2013 13:20, emanuel sena <emanuels...@gmail.com> escreveu: > > "exten => h,1,NoOp,TESTE;" > > Tenta assim > > exten => h,1,Wait(2); > exten => h,n,NoOp,TESTE; > > > Em 4 de junho de 2013 14:12, Rafael dos Santos Saraiva <rafaels...@gmail.com> > escreveu: > > Tentou usar o Dial com a opção g, que segue executando o que vem depois da > desconexão? > > > Att, > Rafael dos Santos Saraiva > Tel: (51) 8174-7956 > Digium Certified Asterisk Administrator (dCCA) > http://www.astdocs.com | > > > Em 4 de junho de 2013 14:06, Carlos Eduardo <vostro1...@gmail.com> escreveu: > > Marcio, > > Obrigado pela ajuda, mas a verdade preciso saber o parâmetro que adiciono no > extensions, para identificar a desconexão, sabendo isto, na sequencia "chamo" > o System(/script). > > Por exemplo: > > No log abaixo, tentei usar o: > > "exten => h,1,NoOp,TESTE;" > > Mas como podemos ver, o asterisk executou antes de terminar a gravação. > Gostaria de executar o script após o asterisk terminar de gravar o arquivo > (após o "End MixMonitor Recording SIP/1100-00000012" do log). > > -- Executing [1101@from-fln5555:3] Dial("SIP/1100-00000012", > "SIP/1101,20,tT") > == Using SIP RTP CoS mark 5 > -- Called SIP/1101 > -- SIP/1101-00000013 is ringing > -- SIP/1101-00000013 answered SIP/1100-00000012 > -- Executing [h@from-fln5555:1] NoOp("SIP/1100-00000012", "TESTE") > == Spawn extension (from-fln5555, 1101, 3) exited non-zero on > 'SIP/1100-00000012' > == MixMonitor close filestream > == End MixMonitor Recording SIP/1100-00000012 > > > Alguma sugestão de como posso fazer isto ? > > > Obrigado > > Carlos Eduado > > > > > > > Em 4 de junho de 2013 12:20, Marcio - Google <marci...@gmail.com> escreveu: > Se entendi bem, depois do Hangup use System(/script). > > > [...]'s > > Marcio > > ======================================== > ########### Campanha Ajude o Marcio! ########### > http://sosmarcio.blogspot.com.br/ > http://www.vakinha.com.br/VaquinhaP.aspx?e=195793 > ======================================== > > > Em 4 de junho de 2013 10:28, Carlos Eduardo <vostro1...@gmail.com> escreveu: > Srs. > > > Estou desenvolvendo umas regras no extensions.conf para que a ligação seja > gravada, estas regras estão funcionando perfeitamente, mas o que eu estou > precisando é executar um script logo após a gravação da chamada ser feita. > Alguém sabe como posso identificar este "momento" e qual parâmetro eu preciso > adicionar nas regras do contexto para "chamar" o script? > > Ex: > -- Executing [1101@from-fln5555:3] Dial("SIP/1100-00000010", > "SIP/1101,20,tT") > == Using SIP RTP CoS mark 5 > -- Called SIP/1101 > -- SIP/1101-00000011 is ringing > -- SIP/1101-00000011 answered SIP/1100-00000010 > == Spawn extension (from-fln5555, 1101, 3) exited non-zero on > 'SIP/1100-00000010' > == MixMonitor close filestream > == End MixMonitor Recording SIP/1100-00000010 > *****-> Iniciar o script neste momento. > > > Desde já agradeço ajuda. > > > Carlos Eduardo > > > > > > > > > > > > > > > _______________________________________________ > 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 > asteriskbrasil-unsubscr...@listas.asteriskbrasil.org > > > _______________________________________________ > 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 > asteriskbrasil-unsubscr...@listas.asteriskbrasil.org > > > _______________________________________________ > 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 > asteriskbrasil-unsubscr...@listas.asteriskbrasil.org > > > _______________________________________________ > 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 > asteriskbrasil-unsubscr...@listas.asteriskbrasil.org > > > > -- > ++++++++++++++++++++++++++++ > | .~. \ > | / v \ Emanuel Sena. \ > | /( )\ +55 (85) 87797852 \ > | ^^-^^ +55 (85) 34965335 \ > | +55 (85) 96282987 \ > +++++++++++++++++++++++++++++ > > > _______________________________________________ > 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 > asteriskbrasil-unsubscr...@listas.asteriskbrasil.org > > > _______________________________________________ > 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 > asteriskbrasil-unsubscr...@listas.asteriskbrasil.org > > _______________________________________________ > 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 > asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
_______________________________________________ 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 asteriskbrasil-unsubscr...@listas.asteriskbrasil.org