asterisk架構

1335600703_7178.jpg

 

這些模塊通常都是以.so爲擴展名的文件,這些文件存放在Asteriskmodules子目錄中(通常是/usr/lib/asterisk/modules)。在Asterisk啓動時,它會加載這些文件,把它們的功能添加到系統中。

 

Asterisk的模塊中,內核部分的文件名是pbx_xxxxx.so

 

通道驅動模塊

            例如:SIP通道驅動,用於與使用SIP協議的終端設備通信。它爲內核轉換SIP信令。這意味着Asterisk的內核是與信令無關的。因此,Asterisk不僅僅是SIP PBX,它是多協議的PBX

所有通道驅動都以 chan_xxxxx.so命名,比如說chan_sip.sochan_dahdi.so

 

文件格式驅動模塊

      Asterisk利用文件模塊從網絡上獲取音頻或視頻,轉換成文件,存儲在磁盤中;反過來從磁盤中讀取文件並轉換爲媒體流。

       文件格式模塊以format_xxxxx.so命名,比如說 format_wav.soformat_xxxxx.so

 

 

編解碼模塊

         編解碼模塊都以codec_xxxxx.so命名,比如說codec_alaw.so codec_ulaw.so

        Asterisk在接收和發送媒體(音頻和視頻)時,都用到編解碼模塊。這個模塊還完成不同編碼算法間的轉換工作。

        Asterisk提供了多種媒體格式的支持,包括:ADPCM, 32kbit/sG.711 alaw, 64kbit/sG.711 ulaw, 64kbit/sG.726, 32kbit/sG.726, 32kbit/sGSM, 13kbit/sLPC-10, 2.4kbit/s

        其它的如G.729AG.723.1,是需要專利許可的

 

 

橋接模塊

        從Asterisk..2開始,Asterisk引入了橋接呼叫的一種新方法。它依賴各種橋接模塊,控制爲呼叫參與者間的媒體流混頻方式。新的橋接方式,是一種更靈活、更高效的設計。

        橋接模塊以 bridge_xxxxx.so命名,比如bridge_simple.so bridge_multiplexed.so.

 

 

呼叫事件日誌(Call Event Log)驅動

         CELCDR類似,但它更側重於記錄在呼叫過程中,Asterisk內部發生了什麼。

         CEL記錄呼叫過程中發生的各種事件。正因如此,它通常記錄了比CDR更詳盡的事情。比如說CEL可能會記錄下這樣的內容:ALICE呼叫BOBBOB的電話在振鈴20秒後,BOB的移動電話響鈴了,再過15秒,呼叫轉到BOB的語音信箱去了,然後ALICE留下一條25秒長的語音留言,然後掛機。系統還能夠自定義需要記錄的事件。

         CEL模塊以cel_xxxxx.so命名,比如cel_custom.socel_adaptive_odbc.so

 

呼叫詳細記錄(CDR)驅動

       CDR模塊的用途是把呼叫詳細記錄按不同的格式要求存儲。通常每一通呼叫生成一條通話記錄,記錄內容包括主叫、被叫、通話時長等等。

       CDR模塊都以cdr_xxxxx.so命名,比如說cdr_csv.so cdr_pgsql.so

撥號規則應用模塊

           Application爲系統提供呼叫相關的功能。這些應用可能是應答、播放提示音、掛機等功能。

應用模塊爲系統提供呼叫功能。         所有應用模塊,都以app_xxxxx.so命名

 

 

 

 

(1)/etc/dahdi/system.conf 板卡信息配置

[root@localhost ~]# cat /etc/dahdi/system.conf
span=1,1,0,ccs,hdb3
bchan=1-15,17-31
dchan=16
echocanceller=none //消除回聲
loadzone =cn
defaultzone =cn

一個span對應一個E1話路,第一個1表示E1編號,第二個1表示時鐘源爲主,ccs是frame格式,hdb3是編碼格式;

bchan:話路,數據通道,30個時隙

dchan:信令,分組信息通道,第16時隙

(2)/etc/asterisk/chan_dahdi.conf  PRI協議模塊的參數配置

[root@localhost ~]# cat /etc/asterisk/chan_dahdi.conf
[trunkgroups]
[channels]
context=from_pri //與extensions.conf中的from_pri對應
switchtype = euroisdn //交換機類型,說明PRI信令採用歐洲標準
;switchtype = national
;pridialplan=national
signalling = pri_cpe  //信令類型,用戶側;pri_net表示網絡側
;pri_net:net, pri_cpe:user
group=1
channel => 1-15,17-31 把這個E1的30條話路分到分組1
echocancel=no
echocancelwhenbridged=no

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章