Eu tenho uma ideia melhor. Você pode criar uma trigger no seu DB quando da inserção do registro no CDR.
Essa trigger geraria a inserção do registro na tua outra tabela. Isso é viável? PS: para garantir que você tenha acesso a(s) nota(s) dadas na trigguer, você pode armazená-las no campo userfield do CDR, e usá-lo depois para inserir na outra tabela, similar ao caso do lastdata: http://www.voip-info.org/wiki/view/Asterisk+cmd+SetCDRUserField []s []s Marcelo H. Terres mhter...@gmail.com IM: mhter...@jabber.mundoopensource.com.br http://www.mundoopensource.com.br http://offtopicsandfun.blogspot.com http://biertasters.blogspot.com http://twitter.com/mhterres 2014-08-20 16:01 GMT-03:00 Vanessa Sather <vanessasat...@bol.com.br>: > Marcelo, > > > Segue: > > exten => s,1,Queue(fila,cft,,,600) > same => n,Read(sol_atendida,pesquisa/primeirapergunta,1) > same => n,waitexten(1) > same => n,Read(nota,pesquisa/segundapergunta,1) > same => n,waitexten(1) > same => n,Read(atendida,pesquisa/ultimapergunta,1) > same => n,noop(${CDR(lastdata)}) > same => > n,Set(ODBC_pesq_satisfacao()=${CALLERID(num)},${EXTEN},${sol_atendida},${nota},${atendida}) > same => n,playback(pesquisa/obrigado) > same => n,hangup() > > CLI: > -- Executing [s@pesquisa_satisfacao2:6] Read("SIP/2118-0000007b", > "atendida,pesquisa/ultimapergunta,1") in new stack > -- Accepting a maximum of 1 digits. > -- <SIP/2118-0000007b> Playing 'pesquisa/ultimapergunta.slin' (language > 'pt_BR') > -- User entered '1' > -- Executing [s@pesquisa_satisfacao2:7] NoOp("SIP/2128-0000007b", "") in > new stack > -- Executing [s@pesquisa_satisfacao2:7] NoOp("SIP/2128-000000c7", > "atendida,pesquisa/ultimapergunta,1") in new stack > > > Ramal que ligou para: 2128 > Ramal que atendeu: 2106 (membro da fila) > > > ________________________________ > > De: mhter...@gmail.com > Enviada: Quarta-feira, 20 de Agosto de 2014 12:02 > > Para: asteriskbrasil@listas.asteriskbrasil.org > Assunto: [AsteriskBrasil] Pesquisa Satisfação - aguardar todo playback para > efetuar read. > > Vanessa, após sair da fila qual o conteúdo de > > ${CDR(lastdata)} ? > > []s > Marcelo H. Terres > mhter...@gmail.com > IM: mhter...@jabber.mundoopensource.com.br > http://www.mundoopensource.com.br > http://offtopicsandfun.blogspot.com > http://biertasters.blogspot.com > http://twitter.com/mhterres > > > 2014-08-20 11:47 GMT-03:00 Vanessa Sather <vanessasat...@bol.com.br>: >> >> Não consegui dessas formas. >> >> Marcelo, a gravação no cdr eh somente após finalização da chamada, certo? >> Como faço para capturar esse campo antes do término da chamada para que eu >> possa inserir no meu banco? >> >> Ivan, tentei desta maneira mas não deu certo também. >> >> Obrigada. >> >> ________________________________ >> >> De: mhter...@gmail.com >> Enviada: Terça-feira, 19 de Agosto de 2014 20:03 >> >> Para: asteriskbrasil@listas.asteriskbrasil.org >> Assunto: [AsteriskBrasil] Pesquisa Satisfação - aguardar todo playback >> para >> efetuar read. >> >> O ramal já fica no banco no campo lastapp eu acho da tabela cdr se não >> me engano. >> >> []s >> Marcelo H. Terres >> mhter...@gmail.com >> IM: mhter...@jabber.mundoopensource.com.br >> http://www.mundoopensource.com.br >> http://offtopicsandfun.blogspot.com >> http://biertasters.blogspot.com >> http://twitter.com/mhterres >> >> >> 2014-08-19 17:29 GMT-03:00 Vanessa Sather <vanessasat...@bol.com.br>: >>> Marcelo/Patrick, >>> >>> >>> pensei em fazer desta forma Marcelo, porem a opção que o Patrick citou me >>> economizou dezenas de linhas em comparação se eu fosse utilizar um >>> backgroup. Com a adição do áudio no read funcinou perfeitamente. >>> >>> Meu problema agora é somente capturar o número do Ramal que "pescou" a >>> chamada para joga-lo no banco. >>> Existe alguma variável que retorna o número do ramal em questão no qual >>> atendeu a chamada da queue? >>> >>> Exemplo abaixo, com EXTEN vem o número S (que eh o a letra que defini no >>> meu contexto). >>> >>> >>> [entrada_chamada] >>> exten => >>> _X.,1,GotoifTime(08:00-18:00|mon-fri|*|*?pesquisa_satisfacao2,s,1) >>> >>> [pesquisa_satisfacao2] >>> exten => s,1,Queue(fila,cft,,,600) >>> same => n,waitexten(1) >>> same => n,Read(sol_atendida,pesquisa/primeirapergunta,1) >>> same => n,waitexten(1) >>> same => n,Read(nota,pesquisa/segundapergunta,1) >>> same => n,waitexten(1) >>> same => n,Read(atendida,pesquisa/ultimapergunta,1) >>> same => >>> >>> >>> n,Set(ODBC_pesq_satisfacao()=${CALLERID(num)},${EXTEN},${sol_atendida},${nota},${atendida}) >>> same => n,playback(pesquisa/obrigado) >>> same => n,hangup() >>> >>> >>> Veja na CLI a inserção no banco: >>> >>> -- Executing [s@pesquisa_satisfacao2:7] Set("DAHDI/12-1", >>> "ODBC_pesq_satisfacao()=2133221515,s,1,5,0") in new stack >>> >>> >>> mysql> select * from pesq_satisfacao; >>> >>> >>> +----+---------------------+------------+---------+-------+-------+-------+ >>> | ID | Calldate | Origem | Destino | Nota1 | Nota2 | Nota3 | >>> >>> >>> +----+---------------------+------------+---------+-------+-------+-------+ >>> | 13 | 2014-08-19 17:12:47 | 2133221515 | s | 1 | 5 | 0 | >>> >>> >>> +----+---------------------+------------+---------+-------+-------+-------+ >>> 1 rows in set (0.00 sec) >>> >>> >>> Obrigada pela ajuda! >>> >>> Vanessa. >>> >>> >>> >>> ________________________________ >>> >>> De: mhter...@gmail.com >>> Enviada: Segunda-feira, 18 de Agosto de 2014 18:27 >>> Para: asteriskbrasil@listas.asteriskbrasil.org >>> Assunto: [AsteriskBrasil] Pesquisa Satisfação - aguardar todo playback >>> para >>> efetuar read. >>> >>> >>> Mas pq você está usando o read? >>> >>> Você pode usar diretamente o background e não usar o read, se você só >>> espera 1 dígito. >>> >>> ex: >>> >>> [ura-principal] >>> >>> exten => root,1,Answer >>> exten => root,n,Wait(1) >>> exten => root,n(menu),Background(ura) >>> exten => root,n,WaitExten(2) >>> exten => root,n,Goto(principal,1) >>> >>> ; 1 - Opção1 >>> exten => 1,1,Goto(opcao1,1) >>> exten => opcao1,1,Queue(opcao1,t) >>> same => n,Hangup >>> >>> >>> ; 2 - Opção 2 >>> exten => 2,1,Goto(opcao2,1) >>> exten => opcao2,1,Queue(opcao2,t) >>> same => n,Hangup >>> >>> >>> Marcelo H. Terres >>> mhter...@gmail.com >>> IM: mhter...@jabber.mundoopensource.com.br >>> http://www.mundoopensource.com.br >>> http://offtopicsandfun.blogspot.com >>> http://biertasters.blogspot.com >>> http://twitter.com/mhterres >>> >>> >>> 2014-08-18 18:20 GMT-03:00 Vanessa Sather <vanessasat...@bol.com.br>: >>>> Salve lista. >>>> >>>> Estou criando uma pesquisa de satisfação. Esta tudo fluindo corretamente >>>> e >>>> inserindo no banco. >>>> Meu problema eh que, enquanto esta tocando o playback e o usuário >>>> apertar >>>> a >>>> opção antes de terminar o playback, a mesma não eh inserida no read. >>>> Ele deve esperar toda a mensagem para após efetuar a nota. >>>> >>>> O problema eh que o cliente nunca espera o fim do áudio para apertar de >>>> acordo. Ao ouvir a opção que ele quer imediatamente ele aperta... >>>> >>>> Enfim, segue: >>>> >>>> exten => s,1,Answer() >>>> same => n,playback(pesquisa/primeirapergunta) >>>> same => n,Read(sol_atendida,,1) >>>> >>>> >>>> -- Executing [s@pesquisa_satisfacao:1] Answer("SIP/2306-00000018", "") >>>> in new stack >>>> -- Executing [s@pesquisa_satisfacao:3] Playback("SIP/2306-00000018", >>>> "pesquisa/primeirapergunta") in new stack >>>> -- <SIP/2306-00000018> Playing 'pesquisa/primeirapergunta.slin' >>>> (language 'pt_BR') >>>> NESTE INSTANTE SE O CLIENTE APERTAR O 1, POR EXEMPLO, ELE NÃO EH >>>> ENVIADO. >>>> SOMENTE SE O CLIENTE ESPERAR TODO O AUDIO TOCAR E APOS APERTAR O 1. >>>> >>>> Ha alguma solução para isso semelhante a opção de um backgroud? >>>> >>>> Obrigada. >>>> >>>> Vanessa. >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> >>>> WORKOFFEE KHOMP: Eventos Khomp na sua cidade! Desenvolva seu >>>> conhecimento na tecnologia e portfólio Khomp. Próxima edição >>>> em CURITIBA, 7 de agosto. Inscrições GRATUITAS. >>>> Garanta a sua vaga e saiba mais em: www.workoffee.com.br >>>> _______________________________________________ >>>> >>>> ALIGERA – Fabricante e desenvolvedor nacional de Soluções para telefonia >>>> IP >>>> . >>>> Gateway Sip, Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. >>>> Banco de Canais Analógicos – 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 >>> _______________________________________________ >>> >>> WORKOFFEE KHOMP: Eventos Khomp na sua cidade! Desenvolva seu >>> conhecimento na tecnologia e portfólio Khomp. Próxima edição >>> em CURITIBA, 7 de agosto. Inscrições GRATUITAS. >>> Garanta a sua vaga e saiba mais em: www.workoffee.com.br >>> _______________________________________________ >>> >>> ALIGERA – Fabricante e desenvolvedor nacional de Soluções para telefonia >>> IP >>> . >>> Gateway Sip, Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. >>> Banco de Canais Analógicos – 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 >>> >>> _______________________________________________ >>> >>> WORKOFFEE KHOMP: Eventos Khomp na sua cidade! Desenvolva seu >>> conhecimento na tecnologia e portfólio Khomp. Próxima edição >>> em CURITIBA, 7 de agosto. Inscrições GRATUITAS. >>> Garanta a sua vaga e saiba mais em: www.workoffee.com.br >>> _______________________________________________ >>> >>> ALIGERA – Fabricante e desenvolvedor nacional de Soluções para telefonia >>> IP >>> . >>> Gateway Sip, Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. >>> Banco de Canais Analógicos – 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 >> _______________________________________________ >> >> WORKOFFEE KHOMP: Eventos Khomp na sua cidade! Desenvolva seu >> conhecimento na tecnologia e portfólio Khomp. Próxima edição >> em CURITIBA, 7 de agosto. Inscrições GRATUITAS. >> Garanta a sua vaga e saiba mais em: www.workoffee.com.br >> _______________________________________________ >> >> ALIGERA – Fabricante e desenvolvedor nacional de Soluções para telefonia >> IP >> . >> Gateway Sip, Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. >> Banco de Canais Analógicos – 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 >> >> _______________________________________________ >> >> WORKOFFEE KHOMP: Eventos Khomp na sua cidade! Desenvolva seu >> conhecimento na tecnologia e portfólio Khomp. Próxima edição >> em CURITIBA, 7 de agosto. Inscrições GRATUITAS. >> Garanta a sua vaga e saiba mais em: www.workoffee.com.br >> _______________________________________________ >> >> ALIGERA – Fabricante e desenvolvedor nacional de Soluções para telefonia >> IP >> . >> Gateway Sip, Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. >> Banco de Canais Analógicos – 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 > _______________________________________________ > > WORKOFFEE KHOMP: Eventos Khomp na sua cidade! Desenvolva seu > conhecimento na tecnologia e portfólio Khomp. Próxima edição > em CURITIBA, 7 de agosto. Inscrições GRATUITAS. > Garanta a sua vaga e saiba mais em: www.workoffee.com.br > _______________________________________________ > > ALIGERA – Fabricante e desenvolvedor nacional de Soluções para telefonia IP > . > Gateway Sip, Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. > Banco de Canais Analógicos – 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 > > _______________________________________________ > > WORKOFFEE KHOMP: Eventos Khomp na sua cidade! Desenvolva seu > conhecimento na tecnologia e portfólio Khomp. Próxima edição > em CURITIBA, 7 de agosto. Inscrições GRATUITAS. > Garanta a sua vaga e saiba mais em: www.workoffee.com.br > _______________________________________________ > > ALIGERA – Fabricante e desenvolvedor nacional de Soluções para telefonia IP > . > Gateway Sip, Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. > Banco de Canais Analógicos – 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 _______________________________________________ WORKOFFEE KHOMP: Eventos Khomp na sua cidade! Desenvolva seu conhecimento na tecnologia e portfólio Khomp. Próxima edição em CURITIBA, 7 de agosto. Inscrições GRATUITAS. Garanta a sua vaga e saiba mais em: www.workoffee.com.br _______________________________________________ ALIGERA Fabricante e desenvolvedor nacional de Soluções para telefonia IP . Gateway Sip, Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. Banco de Canais Analógicos 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