我想让我的客户可以选择按 1,如果他们不想听等待中的音乐。有时一直听同一首歌很烦人,哈哈。无论如何,这就是我所拥有的:
队列.conf:
[general]
persistentmembers=yes
[Support]
context=Common-Queue
member=>SIP/Jhon
member=>SIP/Tom
扩展.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,那么它将失去在队列中的位置。我该如何解决这个问题而不让客户失去其在队列中的位置?我想让我的客户提供等待的选项,无需播放等候音乐,也不会失去其在队列中的位置。
答案1
终于找到了一种方法。如果你查看队列命令,它看起来像这样:
队列(队列名称[,选项[,URL[,announceoverride[,超时[,AGI[,宏[,gosub[,规则[,位置]]]]]]]]])
当您退出队列时,变量QUEUEPOSITION
将填充您在队列中的位置。因此解决方案是重新进入支持队列:
same => n,Queue(Support,,,,,,,,,${QUEUEPOSITION})