以下是我从某处复制的一些星号拨号计划示例。
exten => s,1,Answer()
exten => s,n,Playback(hello-world)
exten => s,n,Hangup()
第一行表示新通话何时进入通道,它会转到与应用程序Answer()
绑定的扩展名s(最高优先级)1。
之后转到PlayBack(hello-world)
,然后挂断电话。
现在是下一节
[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)
呼叫即将到达分机123.(这是一个新菜单吗??)或是从分机's'转发。我想我在这里错过了连接链接。
第二行说
exten => 123,n,Background(main-menu).
这里main-menu
是什么?在哪里定义?
答案 0 :(得分:2)
Background
与Playback
应用程序类似,因为它播放文件(main-menu
是音频文件,最有可能在 / var / lib / asterisk / sounds /中找到目录)。
虽然Playback
在返回控件之前播放整个文件。后台开始播放文件并立即返回控件,以便您可以执行其他命令。
有关更多信息,请参阅:
voip-info.org - Playback和Background
wiki.asterisk.org - Playback和Background
[incoming]
exten => 123,1,Answer()
当星号接收到某个频道的来电时,星号会查看为该频道定义的上下文(incoming
是该上下文的名称 - 通常是来电的默认上下文)。上下文具有不同的命令,具体取决于您拨打的扩展名。
如果您已拨打123
,它将开始播放某种自动菜单。
如果您已拨打1
或2
,则会播放该数字并再次重定向到123
并开始播放交互式菜单
答案 1 :(得分:1)
呼叫将进入分机123.(这是一个新菜单吗??)或是从分机's转发。
这是扩展,来自默认上下文(可能默认包括传入或按通道定义)。 你可以使用
调试一个catchall extenexten => _X.,1,NoOp(${CALLERID(NUM)} - ${EXTEN})
或
exten => 123,2,NoOp(${CALLERID(NUM)} - ${EXTEN})
当你连接到星号CLI时,你会看到Noop。
$ asterisk -rvvv
这里的主菜单是什么?在哪里定义?
主菜单是一个音频文件,如“main-menu.gsm”(该目录在asterisk.conf中定义)。 星号决定使用哪种格式/编解码器。
答案 2 :(得分:1)
另一件事是“下一节”
[incoming]
...是拨号方案“上下文”。上下文是一种分区拨号方案的方法;它是一个包含自己的变量,扩展等的框。所以在你的例子中,第一个上下文没有明确地“转到”或“Gosub”对“Incoming”上下文的调用,所以在第一个上下文中的调用不能去那里。
关于呼叫如何进入“传入”上下文,通常是通过电话中继进入系统来定义的。因此,在适当的SIP,IAX2或PSTN中继中,您将拥有如下行:
context=incoming
......这会迫使电话去那里。如果通过“DID”或“直接向内拨号”号码将呼叫“解决”到分机123,那么它将点击该分机并且呼叫者将听到菜单问候语。