我试图让用户能够录制消息、挂断电话、继续通话、拨打队列并播放录音。
我已经完成了大部分工作,但是现在当我拨打Queue()
h 分机时,它会立即挂断(队列成员确实接到了大约 1 毫秒的电话)。虽然我正在使用选项c
我的拨号方案(为简洁起见)
[standard-gn-helpdesk-corona-afterhours]
; Hangup Extension
exten => h,1, NoOp(hangup standard-gn-helpdesk-corona-afterhours)
same => n, Gosub(sub-queue-gn-afterhours,s,1)
same => n, Return()
exten => s,1, NoOp(standard-gn-helpdesk-corona-afterhours)
same => n, Record(gn_ah_recording%d:ulaw)
same => n, Hangup()
; Callee has hungup by this point. `h` should be executed
[playback-recorded-message]
exten => s,1, NoOp(playback-recorded-message)
same => n, Playback(${RECORDED_FILE})
[sub-queue-gn-afterhours]
exten => s,1,NoOp(sub-queue-gn-afterhours)
; Has the `c` option which allows the queue to continue when callee hangs
same => n,Queue(GNAfterHours1,tkc,,,540,,,playback-recorded-message)
same => n,Return()
任何的意见都将会有帮助。我会被迫使用Dial()
该F
选项吗?
我实际上无法解决遇到的所有问题,我的最终解决方案最终成为使用 AGI 使用本地频道发起新呼叫的一种变通方法。我的拨号计划最终看起来像这样:
我的 AGI 脚本看起来像这样(为简单起见减少了)
这个怎么运作:
8745112
和拨打本地分机之间发起新呼叫8745111
8745112
只是等待保持连接打开8745111
移动到队列中,一旦连接了呼叫,它就会运行 post queue subplayback-recorded-message
来播放消息我相信有一个更好、更简单的解决方案,但以我对 Asterisk 的理解程度,这是我能想到的最好的解决方案。希望它可以帮助某人