Asterisk PBX 配置文件 - 2

 

向已经定义的节添加内容

[section] 
label = value

[section](+)
label2 = value2

在 这个例子里,加号表示同名的第二个配置节点的内容是对第一个节点的补充。后一个配置节点可以存在于另一个文件中(通过#include包含)。需要注意的 是,包含加号的这个配置项不是一个独立的项目,也就是说,它的存在必需依赖于前面已定义的同名节点,如果那个节点不存在,那么Asterisk PBX的配置解析器在解析带"+"节点时就会发生错误而中止。

定义一个模板节点

[section](!) 
label = value

在这个例子中,节点后面加上了一个叹号,表示这是一个模板节点,模板节点本身并不代表一个实质生效的配置,模板只能被其它节点引用,作为其它节点的一部份来使用。引用关系(下面要介绍)类似于C++的继承,而模板则类似于C++中的虚类。

引用配置模板或另一个配置

[section](name[,name1]) 
label = value

在这个示例中,括号里面的名称 name, name1...是一个配置模板或另一个配置节点的名称。这种配置方式表示,将括号中节点的名称加入到当前配置节点配置项的前面。也就是说,这个配置节点 中的配置项目会包括name, name1的内容,然后再是这个节点下面的配置项。这有点像C++或其它面向对象程序语言中对象的继承,而且与之相类似,这个节点本身还可以被其它节点引 用(继承)。例如下面的配置:

[foo] 
permit=192.168.0.2
host=asdf
deny=192.168.0.1

[bar]
permit=192.168.1.2
host=jkl deny=192.168.1.1

[baz](foo,bar)
permit=192.168.3.1
host=bnm

在这个例子里面,节点 baz引用了节点foo和节点bar,因此被解析成如下的样子:

[baz] 
permit=192.168.0.2
host=asdf
deny=192.168.0.1
permit=192.168.1.2
host=jkl
deny=192.168.1.1
permit=192.168.3.1
host=bnm

示例

下面我们给出一个Asterisk PBX中SIP配置示例,并简单说明其作用。在 sip.conf 中的定义如下:

[defaults](!) 
type=friend
nat=yes
qualify=on
dtmfmode=rfc2833
disallow=all
allow=alaw

#include accounts/*/sip.conf

在这个配置文件中,定义了一个模板 default,然后通过 #include 引用了account目录下所有子目录中的sip.conf。其中一个子目录 account/redice/sip.conf 的内容如下:

[redice_tmpl](!,defaults) 
secret=this_is_not_secret
context=from-redice-grp
callerid=RediceGrp <300>
accountcode=0001

[redice](redice_tmpl)
mailbox=redice@at-zone.com

[redice1](redice_tmpl)
mailbox=redice1@at-zone.com

这 个配置文件 sip.conf 中定义了两个SIP电话,redice和redice1,其配置都来自于模板 redice_tmpl,唯一不同是的使用了不相同的语音邮箱。而模板 redice_tmpl 则是包含另一个模板defaults(定义于主目录中的 sip.conf 中)的模板。

从这个示例不难看出,新的Asterisk PBX 配置能力大大增强了,配置可以写得更加简单和灵活,而通过第三方软件来对 Asterisk PBX 进行配置也会变得更加容易。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值