我一直在学习星号拨号方案,并创建了一个非常简单的 IVR 菜单。我希望有人验证我创建的内容是否正确。我想创建一个非常简单的 IVR,它有 2 个菜单级别和一个退出选项。
[incoming]
exten => 123,1,Answer()
exten => 123,n,Background(main-menu)
exten => 1,1,Playback(digits/1)
exten => 1,n,Goto(incoming,123,1)
exten => 2,1,Playback(digits/2)
exten => 2,n,Goto(incoming,123,1)
exten => 9,1,Hangup()
[main-menu]
exten => 456,1,Answer()
exten => 456,n,Background(main-menu)
exten => 3,1,Playback(digits/3)
exten => 3,n,Goto(incoming,456,1)
exten => 4,1,Playback(digits/4)
exten => 4,n,Goto(incoming,456,1)
exten => 9,1,Hangup()
我在上面创建了 2 个上下文
[incoming] - 处理来电 [main-menu] - 一个菜单选项。
在传入的上下文中。当扩展名为“123”时,我调用 Answer() 应用程序然后它执行后台(主菜单)。
if the user presses '1' it plays '1' and goes back to 123 priority '1'
if the user presses '2' it plays '2' and goes back to 123 priority '1'
if the user presses '9' it hangs up.
同样在 [主菜单]
在这种情况下我还需要一个 answer() 吗?
我刚刚开始了解拨号方案,现在我有点困惑。
所以根据你的建议,我更新的拨号方案看起来像这样。
[incoming]
exten => 123,1,Answer()
same => n(menuprompt),Background(main-menu)
exten => 1,1,Playback(digits/1)
same => n,Goto(menuprompt)
exten => 2,1,Playback(digits/2)
same => n,Goto(menuprompt)
exten => 9,1,Hangup()
[main-menu]
exten => n(menuprompt),Background(main-menu)
exten => 3,1,Playback(digits/3)
same => n,Goto(menuprompt)
exten => 4,1,Playback(digits/4)
same => n,Goto(menuprompt)
exten => 9,1,Hangup()
感谢您的建议和解释。但我有一个问题。
1)传递给背景的“主菜单”显然是声音文件。在[传入]的情况下,我想说这样的话
"press 1 to play 1"
"press 2 to play 2"
"press 9 to hangup"
在 [main-menu] 的情况下,我希望它说类似
"press 3 to play 3"
"press 4 to play 4"
"press 9 to hangup"
我必须记录那个文件吗?这是如何运作的?
提前致谢。