Asterisk拨号方案中变量的应用

Asterisk拨号方案中变量的应用

在拨号方案中使用变量可以减少打字、增加清晰度,也有助于在拨号方案中加入逻辑. 这里的变量有全局变量,通道变量和环境变量。

1.全局变量

全局变量应该在extensions.conf文件的开始利用[globals]这个context定义或利用 SetGlobalVar()应用.: [globals] 80000=Zap/1 [internal] exten => 123,1,SetGlobalVar(80000=Zap/1)

2 .通道变量

通道变量与特定的呼叫相关的变量,通道变量只能在当前呼叫存在其间定义,并只能用于参与该呼叫的通道.通道变量使用 Set()应用来设置.: exten => 601,1,Set(80000=Zap/1)

3. 环境变量

环境变量是一种在 Asterisk 中访问操作系统环境变量的方法.这些变量以${ENV(var)}形式引用,其中的 var 是所要引用的操作系统环境变量。
综合上面举例:

[globals]

PSTN=Zap/1

TEST=SIP/80000

[test]

exten => s,1,Answer()

exten => s,2,Background(enter-ext-of-person)

exten => 101,1,Dial(${PSTN},10)

exten => 101,2,Playback(vm-nobodyavail)

exten => 101,3,Hangup()

exten => 101,102,Playback(tt-allbusy)

exten => 101,103,Hangup()

exten => 102,1,Dial(${TEST},10)

exten => 102,2,Playback(vm-nobodyavail)

exten => 102,3,Hangup()

exten => 102,102,Playback(tt-allbusy)

exten => 102,103,Hangup()

exten => i,1,Playback(pbx-invalid)

exten => i,2,Goto(incoming,s,1)

exten => t,1,Playback(vm-goodbye)

exten => t,2,Hangup() [default]

exten => 101,1,Dial(${PSTN},,r)

exten => 102,1,Dial(${TEST},,r)

你可能感兴趣的:(playback)