Asterisk PBX 配置檔案 1

2021-04-13 07:30:58 字數 2384 閱讀 2827

asterisk pbx 有一套自定義的配置檔案格式,通過乙個內建的配置檔案解析器(parser)進行配置檔案的讀寫操作。從 asterisk 1.2 版本以後,配置檔案的格式有了一些改進,增加了配置模板(template configuration)的支援。配置模板(template configuration)極大的提高了配置的靈活性和可擴充套件性。

配置檔案的改進是在通用配置解析器層次實現的,因此,本檔案介紹的這種特性適用於 asterisk pbx 各個配塊的配置檔案。本文將簡要介紹 asterisk pbx配置檔案的格式。

asterisk 配置檔案的基本格式類似下面的樣子:

[section]

label1 = value1

label2 = value2

在某些檔案中(如: mgcp.conf, zapata.conf 和 agents.conf),格式略有一些差別。這些檔案中,配置檔案類似如下的樣子:

[section]

label1 = value1

label2 = value2

object1 => name1

label3 = value3

label4 = value4

object2 => name2

這 個配置檔案可以說是配置模板的原型,簡單的說,上面的配置生成了兩個配置對像,第乙個object1包含了從label1到label2的配置屬性(不包 括 label3/label4);第二個object2包含了從label1到label4的配置屬性。這樣配置顯然比重複的寫兩段配置看上去要優秀一些, 但不難看出,如果需要配置更多有不同屬性的配置對像,這種配置方法還是顯得比較困難了。

基於模板的新配置檔案則可以更好的支援這種需求。配置模板相當於c++中的乙個基本類,你可用該基類來建立乙個對像,也可以繼承這個類,增加基類屬 性/方法和過載基類的屬性/方法等。簡單的說,如果你需要配置十個sip使用者,這些使用者大部份均是 friend 型別,非固定ip接入,使用g** prec,那麼,你可以把這些屬性定義為乙個模板,當實際配置乙個使用者時,引用這個模板,就不需要再重複定義上面這些屬性了。

模板化的配置檔案在原來的配置檔案格式上略有改變,乙個模板化配置檔案類似如下的樣子:

[section](options)

label = value

...

很明顯,新的配置檔案在原來的 section 的行增加了乙個 options 選項引數,這個選項用於定義模板,引用模板或隱藏模板。所有已定義的對像都可以被看作乙個模板來引用。

注意:在節名稱中括號"]"與配置的小括號"("間不能有空格。

在asterisk pbx的配置檔案中,以分號";"開始的行都被當作注釋行來處理。新的配置檔案引入了多行注釋的支援,多行注釋由分號和兩個減號";--"開始,以兩個減號加分號"--;"結束。除了支援多行注釋處,這種注釋還支援行內注釋,即,在同一行中,位於";--""--;"以外的內容不會被當成注釋,而是當成正常的配置內容來對待。了解c語言的使用者更容易理解這種注釋,因為它與c++中"//"注釋和"/* */"注釋的功能和差別是一樣的。配置檔案中的注釋行類似如下的樣子:

; 這是asterisk 配置檔案單行注釋,這一整行都是,直到回車,下一行是配置內容

label = value

;-- 這是乙個 asterisk pbx 配置的多行注釋,回車,

嗯,就像這樣,也沒有關係,沒有遇到結束標誌,asterisk config parser會一

直把所有內容都當成是注釋,直到它的出現 --;

;-- 也可以這樣把注釋和配置混到一起 --; extern => 119,1,dial(zap/1)

asterisk pbx 所有配置檔案都可以通過#include來包含其它配置檔案的內容,被包含檔案的內容將被加入到當前配置檔案中include所在位置,例如:

#include sip.conf
改進後的配置檔案解析器還允許把乙個可執行檔案的輸出內容包含到當前配置檔案中。這可以 說是乙個非常有用的改進,因為這使得使用者可以根據當前系統狀況作出一些處理後,再生成相應的配置段,例如,你可以從乙個xml檔案來生成當前的 sip 使用者配置,也可以從資料讀取使用者資訊以生成配置檔案。允許這個新的特性需要在asterisk.conf中設定 execincludes 屬性:

[options]

execincludes=yes

當設定了允許execincludes後,可以用類似下面的方法來新增乙個 exec 包含:

#exec /usr/local/bin/generate-sip-config.sh
未完待續...

drbd配置檔案 drbd配置檔案

drbd配置檔案 vim usr local drbd etc drbd.d global common.conf global usage count yes 是否參加drbd使用者統計 common protocol c 使用drbd的第三種同步協議 disk 使用dpod功能保證在數 on i...

Spring配置檔案載入外部配置檔案

有時,應用程式可能需要從不同的位置 例如 檔案系統 classpath或者url 讀取外部資源 例如 文字檔案 xml檔案 屬性檔案或或者影象檔案 通常,為了從不同位置載入資源,需要和不同的api打交道。spring的資源載入器提供了乙個統一的getresource 方法,使用這個方法可以通過資源路...

mysql簡單配置檔案 MySQL配置檔案

mysql配置檔案 在windows下是my.ini,而在linux下是my.cnf。基本引數 port 3306 埠號 server id 1 basedir c program files mysql mysql server 5.5 基準路徑,其他路徑都相對於這個路徑 datadir c pr...