Fila de saída do asterisco e reinserir a fila sem perder posição

0

Eu quero dar aos meus clientes uma opção para pressionar 1 se eles não quiserem ouvir nenhuma música em espera. Às vezes é chato continuar ouvindo a mesma música lol. Anywyas isso é o que eu tenho:

queues.conf:

[general]
    persistentmembers=yes

[Support]
    context=Common-Queue    
    member=>SIP/Jhon
    member=>SIP/Tom

extensions.conf:

...
same => n,Playback(Press1ToListenToNoMusicOnHold) ; plays audio file that says that caller may press 1 if he wishes to listen to no music on hold
same => n,Queue(SupportQueue,Tt)  ; option T is so that caller can exit queue by pressing digits jumping to an extension
... etc

; context Common-Queue
[Common-Queue]
exten => 1,1,NoOp(enable user to not listen to music)
same => n,Set(CHANNEL(musicclass)=no-music) ; 
same => n,Queue(Support) ; enter support queue again
same => n,Hangup()

Com esse cenário, a música em espera é removida se o usuário pressionar 1 e o usuário voltar para a fila de suporte (isso é exatamente o que eu preciso). O problema com esta solução é que, se o usuário pressionar 1, perde sua posição na fila . Como posso resolver esse problema sem que o cliente perca sua posição na fila? Quero dar aos meus clientes a opção de esperar sem música em espera sem perder seu lugar na fila.

    
por Tono Nam 23.09.2017 / 02:59

1 resposta

0

Finalmente encontrei uma maneira de fazer isso. Se você olhar o comando queue, será assim:

Queue(queuename[,options[,URL[,announceoverride[,timeout[,AGI[,macro[,gosub[,rule[,position]]]]]]]]])

Quando você sai da fila, a variável QUEUEPOSITION é preenchida com a posição que você tinha na fila. A solução é reinserir a fila de suporte como:

 same => n,Queue(Support,,,,,,,,,${QUEUEPOSITION})
    
por 23.09.2017 / 03:24

Tags