星号拨号计划优先

时间:2012-10-11 04:02:26

标签: sip asterisk sip-server

我在下面有一个星号拨号计划示例。它只是主要(没有扩展或启动),它有3个优先级。在我们的扩展的第一优先级,我们将接听电话。在第二个中,我们将播放一个名为hello-world.gsm的声音文件,在第三个中我们将挂断电话

网络上的一个示例似乎建议采用以下格式

[incoming]
exten => s,1,Answer()
exten => s,n,Playback(hello-world)
exten => s,n,Hangup()

而不是

[incoming]
exten => s,1,Answer()
exten => s,2,Playback(hello-world)
exten => s,3,Hangup()

为什么?究竟什么是优先事项?什么是'n'表示

4 个答案:

答案 0 :(得分:3)

以下

执行此操作的最佳方法
exten => s,1,Answer() ;answer the call
same => n,playback(youfilename) ;understand that Asterisk will pick the best format to play
same => n,Hangup()

使用相同的关键字时,您无需在拨号计划中使用“s”。

答案 1 :(得分:2)

您还可以使用Asterisk 1.6 +上的“相同”构造保存一些输入:

[incoming]
exten => s,1,Answer()
 same => n(Start),Background(hello-world)
 same => n,Goto(Start)
 same => n,Hangup()

...如果您正在进行大型拨号计划,您在不同部分(如IVR)之间进行一些剪切 - 调整,使用“相同”可以避免使用分机号码进行错误。

进一步阅读:https://wiki.asterisk.org/wiki/display/AST/Contexts,+Extensions,+and+Priorities

答案 2 :(得分:1)

Asterisk按数字顺序执行每个priority, 和在BASIC中一样,您可以使用Goto跳转到那些Priorities

自Asterisk 1.2起,您可以使用n priority

n优先级为先前的优先级添加1。

这使您更灵活,您可以添加一行,而无需关心优先级。

n priority的另一个好处是,您可以将n优先级与可选标签结合使用,然后跳转到该标签,而不是使用优先级计数器来解决问题。

[incoming]
exten => s,1,Answer()
exten => s,n(Start),Background(hello-world)
exten => s,n,Goto(Start)
exten => s,n,Hangup()

有关更多示例,请参阅GotoIf

答案 3 :(得分:0)

n代表下一个优先级

我们可以使用" n"来代替优先写数字。表示下一个节点

我们也可以使用" n"例如exten => s,n(dosomething)如果我们在goto中使用gotoifdialplan条件,则此标签可帮助我们导航到不同的" n"优先。