[AsteriskBrasil] Pesquisa Satisfação - aguardar todo playback para efetuar read.

Marcelo Terres mhterres em gmail.com
Quarta Agosto 20 16:10:30 BRT 2014


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
mhterres at gmail.com
IM: mhterres at 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 <vanessasather at 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 at 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 at pesquisa_satisfacao2:7] NoOp("SIP/2128-0000007b", "") in
> new stack
> -- Executing [s at 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: mhterres at gmail.com
> Enviada: Quarta-feira, 20 de Agosto de 2014 12:02
>
> Para: asteriskbrasil at 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
> mhterres at gmail.com
> IM: mhterres at 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 <vanessasather at 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: mhterres at gmail.com
>> Enviada: Terça-feira, 19 de Agosto de 2014 20:03
>>
>> Para: asteriskbrasil at 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
>> mhterres at gmail.com
>> IM: mhterres at 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 <vanessasather at 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 at 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: mhterres at gmail.com
>>> Enviada: Segunda-feira, 18 de Agosto de 2014 18:27
>>> Para: asteriskbrasil at 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
>>> mhterres at gmail.com
>>> IM: mhterres at 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 <vanessasather at 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 at pesquisa_satisfacao:1] Answer("SIP/2306-00000018", "")
>>>> in new stack
>>>> -- Executing [s at 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-unsubscribe at 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-unsubscribe at 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-unsubscribe at 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-unsubscribe at 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-unsubscribe at 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-unsubscribe at 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-unsubscribe at listas.asteriskbrasil.org


Mais detalhes sobre a lista de discussão AsteriskBrasil