我有一个星号拨号方案的例子,只有main (无分机或开始),它有3 priorities.In我们分机的第一优先级,我们将应答呼叫。在第二个步骤中,我们将播放一个名为hello-world.gsm的声音文件,在第三个步骤中,我们将挂断呼叫
web上的一个示例似乎建议使用以下格式
[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”是什么意思?
发布于 2012-10-11 15:02:47
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。
发布于 2012-10-11 23:01:21
做到这一点的最好方法如下
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”。
发布于 2012-10-11 15:40:05
您还可以在星号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
https://stackoverflow.com/questions/12832025
复制相似问题