Asterisk PBX 配置文件 - 2

 向已經定義的節添加內容


在 這個例子裏,加號表示同名的第二個配置節點的內容是對第一個節點的補充。後一個配置節點可以存在於另一個文件中(通過#include包含)。需要注意的 是,包含加號的這個配置項不是一個獨立的項目,也就是說,它的存在必需依賴於前面已定義的同名節點,如果那個節點不存在,那麼Asterisk PBX的配置解析器在解析帶"+"節點時就會發生錯誤而中止。

定義一個模板節點


在這個例子中,節點後面加上了一個歎號,表示這是一個模板節點,模板節點本身並不代表一個實質生效的配置,模板只能被其它節點引用,作爲其它節點的一部份來使用。引用關係(下面要介紹)類似於C++的繼承,而模板則類似於C++中的虛類。

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


在這個示例中,括號裏面的名稱 name, name1...是一個配置模板或另一個配置節點的名稱。這種配置方式表示,將括號中節點的名稱加入到當前配置節點配置項的前面。也就是說,這個配置節點 中的配置項目會包括name, name1的內容,然後再是這個節點下面的配置項。這有點像C++或其它面向對象程序語言中對象的繼承,而且與之相類似,這個節點本身還可以被其它節點引 用(繼承)。例如下面的配置:


在這個例子裏面,節點 baz引用了節點foo和節點bar,因此被解析成如下的樣子:


示例

下面我們給出一個Asterisk PBX中SIP配置示例,並簡單說明其作用。在 sip.conf 中的定義如下:


在這個配置文件中,定義了一個模板 default,然後通過 #include 引用了account目錄下所有子目錄中的sip.conf。其中一個子目錄 account/redice/sip.conf 的內容如下:


這個配置文件 sip.conf 中定義了兩個SIP電話,redice和redice1,其配置都來自於模板 redice_tmpl,唯一不同是的使用了不相同的語音郵箱。而模板 redice_tmpl 則是包含另一個模板defaults(定義於主目錄中的 sip.conf 中)的模板。

從這個示例不難看出,新的Asterisk PBX 配置能力大大增強了,配置可以寫得更加簡單和靈活,而通過第三方軟件來對 Asterisk PBX 進行配置也會變得更加容易。

發佈了5 篇原創文章 · 獲贊 4 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章