Sip 星号拨号计划优先级

Sip 星号拨号计划优先级,sip,asterisk,sip-server,Sip,Asterisk,Sip Server,下面我有一个星号拨号计划示例。它只是主拨号计划(无分机或起始拨号计划),有3个优先级。在分机的第一优先级中,我们将接听电话。在第二种情况下,我们将播放一个名为hello-world.gsm的声音文件,在第三种情况下,我们将挂断电话 网络上的一个例子似乎建议采用以下格式 [incoming] exten => s,1,Answer() exten => s,n,Playback(hello-world) exten => s,n,Hangup() 而不是 [incoming]

下面我有一个星号拨号计划示例。它只是主拨号计划(无分机或起始拨号计划),有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”代表什么?星号按数字顺序执行, 就像在BASIC中一样,您可以跳转到那些使用
Goto
的程序

由于星号1.2,您可以使用
n

n
优先级在前一优先级的基础上增加1

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

n
的另一个好处是,您可以将
n
优先级与可选标签一起使用,然后跳转到该标签,而不是与优先级计数器混淆

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

有关更多示例,请参见。

您还可以使用星号1.6+上的“相同”结构节省一些键入时间:

[incoming]
exten => s,1,Answer()
 same => n(Start),Background(hello-world)
 same => n,Goto(Start)
 same => n,Hangup()
。。。如果您正在进行大型拨号计划,在不同的分区(如IVR)之间进行剪切粘贴调整,则使用“相同”可以避免分机号码出错


进一步阅读:

最好的方法如下

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”

n
代表下一个优先级

我们可以使用“
n
”来表示下一个节点,而不是优先写入数字

我们也可以使用带有“
n
”的标签,例如
ext=>s,n(dosomething)
如果我们在
dialplan
中使用
goto
gotoif
条件,那么这个标签可以帮助我们导航到不同的“
n
”优先级