保留中の音楽を聴きたくない場合は、顧客に1を押すオプションを提供したいと思います。同じ曲を聴き続けるのが面倒なこともあります笑。とにかくこれは私が持っているものです:
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()
このシナリオでは、ユーザーが1を押して、ユーザーがサポートキューに戻ると、保留中の音楽が削除されます(これはまさに私が必要としているものです)。 このソリューションの問題は、ユーザーが1を押すと、キュー内の位置が失われることです。顧客がキューでの位置を失うことなく、この問題を解決するにはどうすればよいですか?キュー内の位置を失うことなく、保留音なしで待機するオプションを顧客に提供したいと思います。
ついにそれを行う方法を見つけました。 queueコマンドを見ると、次のようになっています。
Queue(queuename [、options [、URL [、announceoverride [、timeout [、AGI [、macro [、gosub [、rule [、position]]]]]]]]])
キューを終了すると、変数QUEUEPOSITION
にキューにあった位置が入力されます。 したがって、解決策は次のようにサポートキューに再度入ることです:
same => n,Queue(Support,,,,,,,,,${QUEUEPOSITION})