[AsteriskBrasil] Executar script apos desconexão da chamada

info em magnussolution.com info em magnussolution.com
Quarta Junho 5 11:05:07 BRT 2013


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 <vostro1744 em 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 em from-fln5555:1] Macro("SIP/1100-0000000e", "recording") in new stack
> (2)    -- Executing [s em macro-recording:1] Set("SIP/1100-0000000e", "MONITOR_FILENAME=20130605-10:33:12_1100_1101-0") in new stack
> (3)    -- Executing [s em macro-recording:2] MixMonitor("SIP/1100-0000000e", "20130605-10:33:12_1100_1101-0.wav,b") in new stack
> (4)    -- Executing [1101 em 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 em from-fln5555:1] NoOp("SIP/1100-0000000e", "Teste 1") in new stack
> (12)    -- Executing [h em 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 em 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 <marciorp em 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 <emanuelsena em 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 <rafaelsnsa em 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 <vostro1744 em 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 em 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 em 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 <marciorp em 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 <vostro1744 em 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 em 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-unsubscribe em 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-unsubscribe em 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-unsubscribe em 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-unsubscribe em 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-unsubscribe em 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-unsubscribe em 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-unsubscribe em listas.asteriskbrasil.org

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20130605/b655308b/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil