日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

asterisk架构

發(fā)布時間:2023/12/10 编程问答 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asterisk架构 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
???? 從架構(gòu)的角度看來,Asterisk是由許多不同的模塊組成的。在設計基于Asterisk的系統(tǒng)時,這種模塊化的特性,提供了幾乎無限的靈活必。作為Asterisk系統(tǒng)管理員,你擁有選擇加載模塊的權(quán)利。你所加載的每一個模塊,都提供了不同的系統(tǒng)功能。比如說,有的模塊能夠讓你的Asterisk與模擬電話線路通信,有的模塊則提供話務報告的功能。后續(xù),我們還將討論到各種模塊的功能和類別。

?

Asterisk的整體框架

??????? 在我們深入了解各種模塊之前,讓我們先退一步,看一下Asterisk的整體框架:

?

??????? 當前,我們需要在上圖中添加CELBridge模塊,而把CLIManager模塊移除(在新版本中,這些模塊重整過)。

CORE模塊是Asterisk地核心。PBX內(nèi)核是必不可少的組件,內(nèi)核除了話務橋接功能之外,還提供了讀取配置文件和加載其它模塊的功能。后續(xù)我們會詳細說明內(nèi)核的功能,現(xiàn)在只需要牢記,其它模塊都和內(nèi)核模塊緊密相連。

??????? 從后勤角度看來,這些模塊通常都是以.so為擴展名的文件,這些文件存放在Asteriskmodules子目錄中(通常是/usr/lib/asterisk/modules)。在Asterisk啟動時,它會加載這些文件,把它們的功能添加到系統(tǒng)中。

?

再哆嗦一點
花點時間,看一下你系統(tǒng)里Asterisk的modules目錄。你應該會看到各種各樣的模塊。一個典型的Asterisk系統(tǒng)所包含的模塊數(shù)量,通常都超過150個!

??????? 內(nèi)核還包含了撥號計規(guī)則,這是任何Asterisk系統(tǒng)的執(zhí)行邏輯。撥號規(guī)則包含一系列的操作說明,這些操作說明是Asterisk處理系統(tǒng)入呼和外呼的行為準則。

??????? Asterisk的模塊中,內(nèi)核部分的文件名是pbx_xxxxx.so

?

Asterisk的模塊類型

通道驅(qū)動模塊

?????? 框架圖的頂部,藍色部分描述的就是通道驅(qū)動。通道驅(qū)動程序與Asterisk外部的設備通信,并為內(nèi)核轉(zhuǎn)換某種特定的信令或協(xié)議。

所有從外部呼入的呼叫,在抵達內(nèi)核之前,都要經(jīng)過某種通道驅(qū)動;所有外呼的呼叫,在抵達外圍設備之前,也一定要經(jīng)過某種通道驅(qū)動。

??????? 例如:SIP通道驅(qū)動,用于與使用SIP協(xié)議的終端設備通信。它為內(nèi)核轉(zhuǎn)換SIP信令。這意味著Asterisk的內(nèi)核是與信令無關的。因此,Asterisk不僅僅是SIP PBX,它是多協(xié)議的PBX

所有通道驅(qū)動都以?chan_xxxxx.so命名,比如說chan_sip.sochan_dahdi.so

撥號規(guī)則應用模塊

?????????? Application為系統(tǒng)提供呼叫相關的功能。這些應用可能是應答、播放提示音、掛機等功能。

應用模塊為系統(tǒng)提供呼叫功能。這些應用,在撥號方案中按(草種)順序腳本化。比如說,一個呼叫進入Asterisk撥號方案,可能會有一個應用作出應答;另一個應用從磁盤中讀取一個文件,播放一段提示音;第三個應用,則讓呼叫方在指定的語音信箱中留言。

有關撥號計劃應用的更詳細信息,請參考:?Dialplan Fundamentals

???????? 所有應用模塊,都以app_xxxxx.so命名,比如說?app_voicemail.so

撥號規(guī)則功能模塊

??????? 從某種程度上來說,撥號規(guī)則的功能類似于應用,但是,它們不是作用于某個特定通道或呼叫,而是簡單地檢索或設置通道上的某個設定,或者執(zhí)行文本操作。比如說,某個功能模塊會檢索呼叫的主叫ID信息,過濾某些文本,或為來電者設置一個超時時間。

???????? 撥號規(guī)則功能模塊,都以?func_xxxxx.so命名,比如說func_callerid.so

資源模塊

????????顧名思義,資源就是Asterisk需要用到的資源服務。常見資源如呼叫保持音樂、呼叫停泊等。

資源模塊為Asterisk提供可以在呼叫過程中任意時刻調(diào)用的一些擴展功能,即使另一個應用正在某個通道上執(zhí)行,也能夠調(diào)用。資源模塊典型應用于事件同步,比如說在呼叫置保持或掛起時播放音樂。

??????? 資源模塊以res_xxxxx.so命名,比如說?res_musiconhold.so

編解碼模塊

???????????一CODEC,就是某種音頻或視頻的編解碼模塊。通常用于壓縮媒體,以減少帶寬消耗。

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

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

??????? 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,是需要專利許可的。

文件格式驅(qū)動模塊

????? 這些模塊讓Asterisk能夠支持的一系列文件格式。Asterisk利用文件模塊從網(wǎng)絡上獲取媒體流(音頻或視頻),轉(zhuǎn)換成文件,存儲在磁盤中;或者反過來從磁盤中讀取文件并轉(zhuǎn)換為媒體流。這些模塊常常關系到編解碼模塊,對于某種編解碼來說,磁盤上可能存在多種可用的文件格式。

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

呼叫詳細記錄(CDR)驅(qū)動

?????? CDR模塊的用途是把呼叫詳細記錄按不同的格式要求存儲。常用的存儲機制包括CSV文件、關系型數(shù)據(jù)庫(比如PostgreSQL)。通常每一通呼叫生成一條通話記錄,記錄內(nèi)容包括主叫、被叫、通話時長等等。

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

呼叫事件日志(Call Event Log)驅(qū)動

???????? CELCDR類似,但它更側(cè)重于記錄在呼叫過程中,Asterisk內(nèi)部發(fā)生了什么。

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

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

橋接模塊

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

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

?

?

總結(jié)

以上是生活随笔為你收集整理的asterisk架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。