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?
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