星号拨号方案澄清

时间:2012-10-11 08:52:19

标签: sip asterisk sip-server

以下是我从某处复制的一些星号拨号计划示例。

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是什么?在哪里定义?

3 个答案:

答案 0 :(得分:2)

BackgroundPlayback应用程序类似,因为它播放文件(main-menu是音频文件,最有可能在 / var / lib / asterisk / sounds /中找到目录)。

虽然Playback在返回控件之前播放整个文件。后台开始播放文件并立即返回控件,以便您可以执行其他命令。

有关更多信息,请参阅:

voip-info.org - PlaybackBackground
wiki.asterisk.org - PlaybackBackground

[incoming]
exten => 123,1,Answer()

当星号接收到某个频道的来电时,星号会查看为该频道定义的上下文(incoming是该上下文的名称 - 通常是来电的默认上下文)。上下文具有不同的命令,具体取决于您拨打的扩展名。

如果您已拨打123,它将开始播放某种自动菜单。

如果您已拨打12,则会播放该数字并再次重定向到123并开始播放交互式菜单

答案 1 :(得分:1)

呼叫将进入分机123.(这是一个新菜单吗??)或是从分机's转发。

这是扩展,来自默认上下文(可能默认包括传入或按通道定义)。 你可以使用

调试一个catchall exten
exten => _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,那么它将点击该分机并且呼叫者将听到菜单问候语。