Asterisk PBX
Asterisk PBX
Asterisk [1] ?是一個(gè)開放源代碼的軟件VoIP PBX系統(tǒng),它是一個(gè)運(yùn)行在Linux環(huán)境下的純軟件實(shí)施方案。Asterisk是一種功能非常齊全的應(yīng)用程序,提供了許多電信功能,能夠把你的x86機(jī) 器變成你自己的交換機(jī),還能夠當(dāng)作一臺(tái)企業(yè)級(jí)的商用交換機(jī)。Asterisk讓人激動(dòng)的事情是它在小企業(yè)預(yù)算可承受的范圍內(nèi)提供了商業(yè)交換機(jī)的功能和可伸 縮性。你可以使用一臺(tái)老式的奔騰3計(jì)算機(jī),讓你的機(jī)構(gòu)看起來就同世界上的大企業(yè)一樣。Asterisk[1]?能夠支持傳統(tǒng)的線路,包括:TDM (Time Division Multiplexing)T1/ E1 PRI/ PRA & RBS (Robbed Bit Signal)modesAnalog phone lines/ phones (POTS)ISDN (Integrated Services Digital Network)Both BRI (Basic Rate)and PRI (Primary Rate)Asterisk 支持的協(xié)議包括:Session Initiation Protocol (SIP)H. 323 (ITU standard, contributed support)Inter- Asterisk eXchange (IAX)Media Gateway Control Protocol (MGCP)
Private Branch Exchange,用戶級(jí)交換機(jī),即公司內(nèi)部使用的電話業(yè)務(wù)網(wǎng)絡(luò),系統(tǒng)內(nèi)部分機(jī)用戶分享一定數(shù)量的外線。
編輯本段Asterisk能做什么?
Asterisk 如同使用拼裝玩具或樂高套件來搭建通信應(yīng)用。正因?yàn)槿绱怂环Q為“套件”或“開發(fā)平臺(tái)”。Asterisk 包含所有的用于構(gòu)建 PBX 系統(tǒng)、IVR 系統(tǒng)、可以說現(xiàn)實(shí)中的任何通信方案的構(gòu)件。諸如如下: 1、各類 VoIP 協(xié)議的驅(qū)動(dòng)。 2、各類 PSTN 接口卡和設(shè)備的驅(qū)動(dòng)。 3、呼入路由和策略。 4、呼出生成和路由。 5、媒介管理功能(錄音、播放、彩鈴生成,等等)。 6、賬號(hào)和賬單的通話詳單。 7、媒介轉(zhuǎn)換(從一種媒介轉(zhuǎn)換成另一種)。 8、協(xié)議轉(zhuǎn)換(從一種協(xié)議轉(zhuǎn)換成另一種)。 9、用于存取關(guān)系式數(shù)據(jù)庫的信息的數(shù)據(jù)庫集成。 10、使用標(biāo)準(zhǔn)互聯(lián)網(wǎng)協(xié)議存取數(shù)據(jù)的網(wǎng)絡(luò)服務(wù)集成。 11、存取公司目錄系統(tǒng)的 LDAP 集成。 12、單方和多方呼叫橋接。 13、呼叫記錄和偵測(cè)功能。 14、集成用于呼叫處理的 "Dialplan" 腳本語言。 15、基于 Asterisk 網(wǎng)關(guān)接口(AGI - Asterisk Gateway Interface) 的處理外部呼叫管理的程序或腳本的編程。 16、基于 Asterisk 管理接口(AMI - Asterisk Manager Interface )的時(shí)間提醒和 CTI 集成。 17、第三方的各種語音和方言的語音合成(或者稱“文本語音轉(zhuǎn)換”)第三方的各種語音識(shí)別。 綜合這些因素使得系統(tǒng)集成商或開發(fā)者能夠快速生成一個(gè)語音使能系統(tǒng)。 開放的 Asterisk 的含義也意味著它無需墨守成規(guī)。 Asterisk 系統(tǒng)集成者小可建造 IP PBX,大可構(gòu)架大型媒體運(yùn)營系統(tǒng)。編輯本段Asterisk核心應(yīng)用
Asterisk 作為程控交換機(jī) PBX Asterisk 可以被配置為一個(gè) IP 或混合的 PBX 的核心:交換呼叫、管理路由、使能特性,以及通過 IP、模擬線路(POTS)、以及數(shù)字(T1/E1)的聯(lián)系同外部呼叫鏈接在一起。 Asterisk 運(yùn)行于眾多的操作系統(tǒng)之上,諸如 Linux、Mac OS X、OpenBSD、FreeBSD 和 Sun Solaris。提供了一個(gè) PBX 所能提供的所有功能甚至包括那些高級(jí) PBX (也是昂貴的)的功能。Asterisk 的構(gòu)架是基于如下他點(diǎn)來設(shè)計(jì):最大程度的靈活性、支持眾多的 VoIP 協(xié)議、使用廉價(jià)的硬件便可融合到幾乎所有的電話設(shè)備等。 Asterisk 作為網(wǎng)關(guān) Gateway 也可以被構(gòu)建為一個(gè)媒介網(wǎng)關(guān)的中心,充當(dāng)將傳統(tǒng)的 PSTN 橋接到蓬勃發(fā)展的 IP 電話世界。Asterisk 的模塊式的構(gòu)、架構(gòu)件使得媒介解碼和一個(gè)寬范的通信協(xié)議可以轉(zhuǎn)換。Asterik 擔(dān)負(fù)一個(gè):功能/媒介服務(wù)器。 還需一個(gè) IVR?Asterisk 已經(jīng)為你準(zhǔn)備到位。會(huì)議橋接呢?是的,也有。自動(dòng)話務(wù)臺(tái)呢?Asterisk 也準(zhǔn)備到位。那么可以更換年久失修的電話系統(tǒng)嗎?當(dāng)然可以。統(tǒng)一消息轉(zhuǎn)發(fā)?也沒問題。網(wǎng)頁配置一個(gè)電話接口?沒問題。 Asterisk 用于呼叫中心 Asterisk 在全球范圍范圍內(nèi)被呼叫中心采納是基于其靈活性。呼叫中心和聯(lián)系中心的開發(fā)者基于 Asterisk 構(gòu)建了整套 ACD 系統(tǒng)。它也同時(shí)給現(xiàn)有的呼叫中心注入新鮮血液諸如:遠(yuǎn)程 IP 代理人功能、基于能力的高級(jí)路由、預(yù)測(cè)和海量呼叫等等。 Asterisk用于公共網(wǎng)絡(luò) 互聯(lián)網(wǎng)電話服務(wù)提供商(ITPS),區(qū)域電信業(yè)者(CLECS)以及甚至包括一線在職業(yè)者意識(shí)到使用 Asterisk 的開源通信的力量。基于 Asterisk 構(gòu)建了功能服務(wù)器(Feature servers)、托管服務(wù)簇(hosted services clusters)、語音信箱系統(tǒng)(voicemail systems)、預(yù)付費(fèi)呼叫解決方案(pre-paid calling solutions)等,這一切大大的降低費(fèi)用并展現(xiàn)強(qiáng)大的靈活性。 Asterisk 隨處可見 Asterisk 已經(jīng)成為成千上萬的通信解決方案的基石。想要通信,Asterisk 便是答案。 支持的平臺(tái) - Supported platforms Asterisk® 源于 x/86 的 GNU/Linux 因而可被運(yùn)行于 GNU/Linux for PPC 一類系統(tǒng)上諸如:OpenBSD、 FreeBSD、 和 Mac OS X。其它的平臺(tái)和標(biāo)準(zhǔn)的 UNIX 類的操作系統(tǒng)理應(yīng)不會(huì)太難地能夠被時(shí)間和技能充足人們移植上去。 Asterisk® 也有 Debian 穩(wěn)定版。由 Debian VoIP Team 來維護(hù)。 支持的硬件 - Supported hardware Asterisk® 用于 VoIP 不需額外的硬件。基于互聯(lián)數(shù)字和模擬電話設(shè)備, Asterisk® 支持系列的硬件設(shè)備,這些硬件中的大多數(shù)由 Digium®,它也是 Asterisk 發(fā)明者,制造的。 支持的協(xié)議 - Supported protocols Asterisk® 支持一個(gè)寬泛的用來處理在傳統(tǒng)電話設(shè)備傳輸語音的協(xié)議,它包括 H.323、Session Initiation Protocol (SIP)、Media Gateway Control Protocol (MGCP)、and Skinny Client Control Protocol (SCCP)。 使用 Inter-Asterisk eXchange (IAX?) VoIP 協(xié)議,Asterisk® 無縫地將語音和數(shù)據(jù)在異類網(wǎng)絡(luò)融合在一起。語音打包的使用使得 Asterisk® 可以在語音鏈路上發(fā)送諸如 URL 信息和行間圖像,使得信息能夠高級(jí)集成。 Asterisk® 通過四個(gè) APIs 提供一個(gè)中心交換核心,這些 API 包括:電話應(yīng)用模塊載入、硬件接口、文件形式處理、和解碼。這使得所有被支持的接口之間能夠透明地切換;使得五花八門的電話系統(tǒng)得以被集成成一個(gè)統(tǒng)一的交換系統(tǒng)。編輯本段特點(diǎn) - Feature
基于 Asterisk 的電話解決方案提供豐富和靈活的特性。Asterisk® 提供傳統(tǒng)的 PBX 基本功用和先進(jìn)的特性,它將傳統(tǒng)的標(biāo)準(zhǔn)電話系統(tǒng)和 VoIP 有機(jī)地結(jié)合在一起。編輯本段與硬件VOIP 比較
Asterisk具有硬件VOIP 的常用功能。 Asterisk能夠支持多媒體,具有可編程功能。 Asterisk有友好的管理界面。 Asterisk需要的帶寬,一般為:32KB/ 線路。也就是說每支持一條線路,只需要增32KB 的帶寬,但是需要網(wǎng)絡(luò)質(zhì)量良好。 Asterisk可支持成千的 客戶端。(需要板卡與帶寬支持)編輯本段Asterisk開源軟件的變化趨勢(shì)及向嵌入式遷徙
Asterisk開源項(xiàng)目經(jīng)過十多年的發(fā)展,已經(jīng)不再單獨(dú)局限于IP-PBX的應(yīng)用。實(shí)際上,按照,Digium在其asterisk論壇上給出的說法,Asterisk軟件已經(jīng)是一個(gè)平臺(tái),不僅可以用于IP-PBX的開發(fā),也可以用于中繼網(wǎng)關(guān)(TG),模擬電話適配器(ATA - Analog Telephone Adapter),甚至 IP Phone 產(chǎn)品的開發(fā)。 同時(shí),Asterisk開源項(xiàng)目已經(jīng)逐步發(fā)展稱為一個(gè) “統(tǒng)一通信” (UC)的解決方案。Asterisk開源項(xiàng)目應(yīng)用的另一個(gè)變化是在嵌入式領(lǐng)域的發(fā)展。雖然最初Asterisk是基于X86主機(jī)加PCI擴(kuò)展板卡運(yùn)行的。但目前,一些基于MIPS或ARM的CPU也已經(jīng)都可以運(yùn)行Asterisk。其中比較著名的有OpenWRT,在OpenWRT的最新版本中已經(jīng)包含了對(duì)Asterisk 1.6/1.8 版本的支持,簡單的編譯后既可在MIPS或ARM的硬件平臺(tái)上運(yùn)行(參考Asterisk On MIPS論壇)。
近年來,通信行業(yè)的開源項(xiàng)目不斷涌現(xiàn),打破了傳統(tǒng)電信設(shè)備制造商對(duì)電信技術(shù)的壟斷,為下一代網(wǎng)絡(luò)(NGN)的發(fā)展注入了無限活力。??Asterisk是一個(gè)由Digium公司發(fā)起的開放源代碼軟件,以通用公共許可證(GNU GPL)的授權(quán)方式發(fā)行。Asterisk運(yùn)行在Linux上,以軟件的方式實(shí)現(xiàn)了(專用分組交換機(jī),PBX)的大部分功能,是一個(gè)較全面的通信平臺(tái),既支持傳統(tǒng)的模擬電話設(shè)備和數(shù)字電話設(shè)備,也支持新興的基于網(wǎng)絡(luò)的VoIP語音系統(tǒng)。Asterisk在小企業(yè)預(yù)算可承受的范圍內(nèi)提供了商業(yè)交換機(jī)的功能和可伸縮性。?
?
1 基于Asterisk技術(shù)的電話會(huì)議系統(tǒng)研究?
?
1.1 Asterisk特點(diǎn)?
?
Asterisk是一款完全用軟件實(shí)現(xiàn),可以運(yùn)行在Linux,BSD,MacOS X等操作系統(tǒng)上的IP分組交換機(jī)產(chǎn)品,是世界上最著名的開源VoIP服務(wù)器軟件之一,為各國的VoIP愛好者所癡迷。實(shí)際上,Asterisk已經(jīng)成為開源項(xiàng)目中語音交換和PBX的標(biāo)準(zhǔn),而且基于Asterisk的VoIP解決方案也已成為許多中小企業(yè)的首選方案。Asterisk可以使用目前流行的編解碼器和協(xié)議將VoIP電話系統(tǒng)與傳統(tǒng)的公共交換電話系統(tǒng)集成起來,以較低的通話費(fèi)用,提供較高的語音質(zhì)量。?
?
Asterisk可以連接數(shù)目眾多的接口類型,包括模擬接口、數(shù)字線路,也可以透明地橋接VoIP之間的一些協(xié)議,包括SIP,H.323,IAX,MGCP等協(xié)議。?
?
1.2 Asterisk體系結(jié)構(gòu)?
?
Asterisk體系結(jié)構(gòu)簡單,與傳統(tǒng)電話技術(shù)的不同之處在于本質(zhì)上扮演著一個(gè)中間件的角色,連接底層不同的電話技術(shù)到上層應(yīng)用,創(chuàng)建了一個(gè)部署異構(gòu)電話技術(shù)互通的持久性通信環(huán)境。?
?
Asterisk是基于模塊化設(shè)計(jì)的,多種模塊都可以在運(yùn)行中通過動(dòng)態(tài)模塊加載并初始化,用戶可以根據(jù)實(shí)際需要?jiǎng)討B(tài)增加相應(yīng)的模塊。As-terisk提供了四種基本的API函數(shù)集,以便于不同組件的交互,如信道API、Codec轉(zhuǎn)換器API、文件格式API及應(yīng)用程序API。對(duì)于應(yīng)用程序API允許第三方廠商開發(fā)基于Asterisk的應(yīng)用程序,本文正是通過這些接口,完成在電話呼叫階段與Asterisk的交互,實(shí)現(xiàn)電話會(huì)議系統(tǒng)。?
?
1.3 系統(tǒng)開發(fā)環(huán)境?
?
在開發(fā)系統(tǒng)時(shí),由于Asterisk源碼便于在Linux中編譯和運(yùn)行,相對(duì)比較安全,對(duì)中小型軟件的研發(fā)中,Linux可成為開發(fā)的首選操作系統(tǒng)。因此本系統(tǒng)選擇Redhat Linux 9.0服務(wù)器版,在此基礎(chǔ)上安裝Asterisk軟件包,該設(shè)計(jì)系統(tǒng)使用Asterisk開源平臺(tái)。Asterisk的核心主要由三個(gè)包組成:Asterisk主程序(Asterisk)、Zapate電話驅(qū)動(dòng)(Zaptel)和PRI庫(libpri),還有一些其他軟件,如語音附加包等。要實(shí)現(xiàn)電話會(huì)議,只需在Asterisk上對(duì)zaptel.conf,zapata.conf,sip.conf,extensions.conf和meetme.conf進(jìn)行配置,就可以通過固定模擬電話、SIP電話完成常規(guī)呼叫和電話會(huì)議等功能。開發(fā)語言采用PHP/MySQL/Apache。?
?
2 基于Asterisk技術(shù)的電話會(huì)議系統(tǒng)設(shè)計(jì)?
?
2.1 設(shè)計(jì)方案?
?
該系統(tǒng)是基于Web的電話會(huì)議業(yè)務(wù),用戶可以通過軟終端、普通話機(jī)、SIP硬終端、手機(jī)等參加Web會(huì)議。會(huì)議管理員通過Web頁面預(yù)約會(huì)議,并對(duì)會(huì)議進(jìn)行實(shí)時(shí)管理,會(huì)議信息通過Web頁面顯示。?
?
Web電話會(huì)議系統(tǒng)的功能包括預(yù)約會(huì)議、創(chuàng)建會(huì)議、呼叫成員、會(huì)議結(jié)束后處理一些計(jì)費(fèi)等一些基本的步驟。當(dāng)許多用戶并發(fā)開會(huì)時(shí),如何保證用戶間的獨(dú)立性;大部分API都是異步調(diào)用,如何同步整個(gè)邏輯流程;這些都是在此設(shè)計(jì)中重點(diǎn)考慮的問題。?
?
(1)業(yè)務(wù)邏輯與Web服務(wù)器的通信。后臺(tái)業(yè)務(wù)需要接收并處理Web頁面發(fā)來的請(qǐng)求,同時(shí)向頁面反饋處理結(jié)果。后臺(tái)要響應(yīng)所有頁面Sess-ion發(fā)來的請(qǐng)求,因此這個(gè)問題可以分解為兩個(gè)問題,一個(gè)是通信機(jī)制;另一個(gè)是頁面Session與后臺(tái)會(huì)議的對(duì)應(yīng)關(guān)系。這個(gè)問題涉及到Web電話會(huì)議系統(tǒng)的架構(gòu),Web Conference業(yè)務(wù)是基于Web的業(yè)務(wù),通過Asterisk軟件平臺(tái)提供的API/AGI實(shí)現(xiàn)。?
?
(2)業(yè)務(wù)邏輯對(duì)呼叫會(huì)話的管理。在開會(huì)過程中每個(gè)會(huì)議都要對(duì)應(yīng)一個(gè)會(huì)議呼叫會(huì)話(CCSession),通過這些呼叫會(huì)話向AGI網(wǎng)關(guān)發(fā)API調(diào)用請(qǐng)求,接收AGI網(wǎng)關(guān)的響應(yīng),區(qū)分響應(yīng)該交給哪個(gè)業(yè)務(wù)處理,是對(duì)什么請(qǐng)求的響應(yīng)。?
?
(3)業(yè)務(wù)邏輯對(duì)會(huì)議的管理。后臺(tái)要并發(fā)處理多個(gè)會(huì)議,必須把這些會(huì)議組織起來。向上要提供會(huì)議狀態(tài),向下能夠區(qū)分接收的API響應(yīng)屬于哪個(gè)會(huì)議或成員。?
?
2.2 設(shè)計(jì)思路?
?
經(jīng)過分析可以得出,Web電話會(huì)議系統(tǒng)的設(shè)計(jì)思路是:通過用戶登錄到Web服務(wù)器啟動(dòng)業(yè)務(wù),頁面通過PHPAGI調(diào)用Asterisk Manager API Action實(shí)現(xiàn)與Asterisk平臺(tái)的交互。Asterisk調(diào)用AGI來訪問數(shù)據(jù)庫讀取相應(yīng)數(shù)據(jù),并通過撥號(hào)方案、Meetme達(dá)到會(huì)議呼叫、會(huì)議管控與會(huì)議計(jì)費(fèi)等功能,如圖1所示。?
?
2.3 設(shè)計(jì)開發(fā)舉例 ?
?
(1)Extensions.conf:Asterisk的核心配置文件,該配置文件形成PBX的呼叫方案。 ?
?
電話打進(jìn)處理: ?
?
其中:agi conf_admin.php是根據(jù)用戶輸入信息讀取會(huì)議資料屬性;011862556787948是被允許訪問的中國號(hào)碼。 ?
?
Web觸發(fā)電話呼入處理: ?
?
(2)Meetme.conf:用于配置MeetMe會(huì)議系統(tǒng)。在配置文件中,這里可以定義會(huì)議室和進(jìn)入會(huì)議的密碼來建立一個(gè)電話會(huì)議。 ?
?
(3)Zaptel.conf:用于配置連接傳統(tǒng)模擬電話硬件接口,建立一個(gè)FXS和FXO通道。 ?
?
(4)Zapata.conf:用于為系統(tǒng)中安裝的電話硬件配置Asterisk接口。通過Zaptel.conf和Zapata.conf對(duì)FXS/FXO接口通道進(jìn)行配置,可以將模擬話機(jī)經(jīng)過FXS接口,PSTN經(jīng)過FXO或E1/T1接入到Asterisk服務(wù)器,也可以通過SIP協(xié)議,經(jīng)過軟交換實(shí)現(xiàn)VoIP的落地。 ?
?
(5)Sip.conf:用于配置SIP協(xié)議。該文件的開始是一個(gè)[general]section,包含通道設(shè)置,所有用戶和對(duì)端的默認(rèn)選項(xiàng)。可以對(duì)系統(tǒng)注冊(cè)的每個(gè)用戶設(shè)置用戶名、連接類型、認(rèn)證密碼和指令地點(diǎn)(用于控制電話的權(quán)限,以及如何處理此號(hào)碼的呼入呼叫)。 ?
?
通過以上配置文件的設(shè)置,即可實(shí)現(xiàn)電話會(huì)議系統(tǒng)的功能。 ?
?
另外,Asterisk有開源數(shù)據(jù)庫MySQL和開源編程語言PHP,Perl接口,所有經(jīng)過Asterisk服務(wù)器的呼叫詳細(xì)記錄(CallDetailRecord)都被記錄在數(shù)據(jù)庫中,如雙方的號(hào)碼、ID、通話時(shí)間等。根據(jù)產(chǎn)生的呼叫詳細(xì)記錄信息,可以監(jiān)控通信流量,進(jìn)行流量統(tǒng)計(jì)和通話計(jì)費(fèi),而且Asterisk的數(shù)據(jù)庫能和企業(yè)的現(xiàn)有數(shù)據(jù)庫整合到一起。用戶還可以通過PHP語言開發(fā)的Web程序?qū)ySQL進(jìn)行維護(hù)。 ?
?
3 結(jié)語 ?
?
這里提出的基于SIP協(xié)議的IP電話系統(tǒng)設(shè)計(jì)具有投資小,成本低,方便實(shí)用,可靠性強(qiáng),安全性好等優(yōu)點(diǎn)。該系統(tǒng)建立在通用的計(jì)算機(jī)網(wǎng)絡(luò)上,可在局域網(wǎng)或Internet上使用,對(duì)用戶無特殊要求,另外還可擴(kuò)展成融文本、視頻會(huì)議于一體的網(wǎng)絡(luò)交互式多媒體系統(tǒng);由于終端較多地借助了PC資源,所以系統(tǒng)具備了較高的智能性;系統(tǒng)設(shè)計(jì)規(guī)范,管理模塊集中化,不僅降低了成本,而且更便于系統(tǒng)的操作和維護(hù)。由于該系統(tǒng)秉承了TCP/UDP協(xié)議族的簡單性,絕大多數(shù)功能都能通過軟件實(shí)現(xiàn),且可進(jìn)行簡單的改進(jìn),因此可以滿足不同的應(yīng)用和需要。 ?
?
隨著IP技術(shù)的發(fā)展,傳統(tǒng)電信網(wǎng)絡(luò)將逐步向IP網(wǎng)絡(luò)發(fā)展。NGN是融合多業(yè)務(wù)的IP網(wǎng),是電信網(wǎng)絡(luò)的發(fā)展方向。Asterisk與Linux等開源項(xiàng)目結(jié)合,可以在原有網(wǎng)絡(luò)基礎(chǔ)上為企業(yè)提供IP語音解決方案,具有廣闊的應(yīng)用前景。Asterisk以其獨(dú)特的優(yōu)勢(shì)獲得越來越多企業(yè)的青睞。開源項(xiàng)目在通信行業(yè)的不斷發(fā)展,會(huì)給通信業(yè)注入無限的活力。
1、DAHDI是什么??
????DAHDI表示Digium Asterisk Hardware Device Interface,Zaptel是"Zapata Telephony"的縮寫。??
2、DAHDI的由來?
????????Kevin Fleming是這樣介紹DAHDI的來由的:“大約兩年前(2006年),ZapTel商標(biāo)的持有人找上我們,說ZapTel是他們的注冊(cè)商標(biāo)。從那時(shí)候起我們就在內(nèi)部討論,要把Zaptel改成DAHDI。DAHDI 2.0.0是第一個(gè)正式版本,覆蓋了Zaptel 1.4 的幾乎所有功能,除了某些過時(shí)的驅(qū)動(dòng)版本和硬件之外。”?
????Asterisk 1.6將只支持DAHDI,而Asterisk 1.4將保留對(duì)Zaptel的支持。Asterisk 1.2不受影響。?
3、DAHDI與Zaptel對(duì)比?
????模塊名稱的改變:?
app_zapbarge.so -> app_dahdibarge.so?
app_zapras.so -> app_dahdiras.so?
app_zapscan.so -> app_dahdiscan.so?
codec_zap.so -> codec_dahdi.so ?
?
????????以下列出兩者所對(duì)應(yīng)的主要配置文件表: ?
| Zaptel 文件名 | DAHDI 文件名 | 說明 |
| /etc/zaptel.conf | /etc/dahdi/system.conf | 主要的配置文件 |
| /etc/sysconfig/zaptel | /etc/dahdi/modules, /etc/dahdi/init.conf | 開機(jī)啟動(dòng)參數(shù)設(shè)置 |
| /etc/init.d/zaptel | /etc/init.d/dahdi | 開機(jī)自動(dòng)載入 |
| /etc/asterisk/zapata.conf | /etc/asterisk/chan_dahdi.conf | Asterisk 配置文件 |
????主要指令和工具名稱對(duì)照表: ?
| Zaptel | DAHDI | 說明 |
| ztcfg -vv | dahdi_cfg -vv | 分析system.conf,配置語音卡參數(shù) |
| zttool | dahdi_tool | 語音卡檢測(cè)、測(cè)試 |
| genzaptelconf | dahdi_genconf | 生成Asterisk配置文件/etc/dahdi/system.conf |
| ztmonitor?? | dahdi_monitor | 監(jiān)控錄音某個(gè)通道 |
| ztscan | dahdi_scan | 掃描通道狀態(tài) |
| ztspeed | dahdi_speed | 測(cè)試CPU占用率 |
| zttest | dahdi_test | 中斷穩(wěn)定性測(cè)試 |
| ztloop | dahdi_loop | 自環(huán)測(cè)試E1數(shù)字中繼語音卡 |
?
????????dahdi_hardware,顯示檢測(cè)到的DAHDI 硬件列表。??
關(guān)于Asterisk擴(kuò)展性的問題一直有很多爭議。下面是OpenSER團(tuán)隊(duì)做的當(dāng)Asterisk作為SIP?Back to Back User Agent (B2BUA)設(shè)備的性能表現(xiàn)。主要目的是:?
?????????????? 1、Asterisk作為 B2BUA使用的時(shí)候最大并發(fā)能到多少??
????????????????2、每個(gè)呼叫占用多少資源???
測(cè)試計(jì)劃?
????????我們精心設(shè)計(jì)了一個(gè)VoIP話務(wù)批發(fā)的條件下的網(wǎng)絡(luò)環(huán)境,Asterisk V1.4.11 當(dāng)作B2BUA,安裝在一個(gè)雙路雙核2.33GHz CPU的服務(wù)器上。我們測(cè)試了兩次。一次是不做任何編碼轉(zhuǎn)換的,一次是使用了G.711 到 G.729 的轉(zhuǎn)換。?
測(cè)試結(jié)果?
無編碼轉(zhuǎn)換: 1500個(gè)并發(fā)呼叫,平均每個(gè)口 $2 成本。??
G.711 到 G.729轉(zhuǎn)換:400 個(gè)并發(fā)呼叫,平均每個(gè)口成本 $17.50???
?
一、沒有轉(zhuǎn)碼?
????????下面的圖是同時(shí)呼叫Asterisk B2BUA的服務(wù)器CPU和內(nèi)存利用率。從B2BUA呼入呼出的所有RTP包通過使用G.711編解碼器。內(nèi)存利用率是最小的,CPU利用率隨著同時(shí)通話的數(shù)量呈線性增長。在1560個(gè)并發(fā)呼叫的時(shí)候,CPU利用率達(dá)到92%。在2007年初,這個(gè)服務(wù)器的零售價(jià)是3000美元。3000美元的硬件成本除以1500個(gè)并發(fā)呼叫等于每個(gè)B2BUA端口2元。?
??
二、G.711到G.729的轉(zhuǎn)碼?
????????下面的圖是測(cè)試服務(wù)器作為Asterisk B2BUA并發(fā)呼叫時(shí)候的CPU和內(nèi)存利用率。呼叫B2BUA使用G.711編解碼器,然后利用Asterisk轉(zhuǎn)碼到G.729。內(nèi)存利用率是最小的,CPU利用率隨著同時(shí)通話的數(shù)量呈線性增長。在414個(gè)并發(fā)呼叫,CPU利用率達(dá)到93%。這臺(tái)服務(wù)器價(jià)值3000美元。Digium公司提供G.729編解碼器的許可證版稅是每端口10美元。系統(tǒng)總成本是3,000元服務(wù)器硬件加4,000元G.729編解碼器專利費(fèi)(10元每端口乘以400端口)總共是7,000元。每B2BUA端口的成本是$ 7,000除以400個(gè)并發(fā)呼叫,每端口17.50美元。?
??
?
測(cè)試場(chǎng)景?
????????下圖說明了測(cè)試網(wǎng)絡(luò)和呼叫情景。Asterisk B2BUA服務(wù)器是戴爾Precision 490,兩個(gè)Intel Xeon 5140雙核CPU,2.33GHz和4 GB RAM。?
??
?
1、SIPP客戶端的SIP INVITE發(fā)送到Asterisk B2BUA。?
2、Asterisk的發(fā)送OSP AuthorizationRequest OSP服務(wù)器。OSP服務(wù)器返回一個(gè)OSP AuthorizationResponse隨機(jī)順序有五個(gè)可能的目的地。??
3、Asterisk的發(fā)送SIP邀請(qǐng)到目的地。只有SIPP服務(wù)器可以完成呼叫。其他目的地的模擬呼叫失敗。平均而言,Asterisk的嘗試調(diào)用前兩SIPP服務(wù)器完成調(diào)用失敗目的地。?
4、通話結(jié)束時(shí),Asterisk向OSP服務(wù)器發(fā)送一個(gè)呼叫詳細(xì)記錄(CDR)。?
下載詳細(xì)測(cè)試文檔點(diǎn)這里:??Asterisk_Performance_as_a_SIP_B2BUA.pdf?(187 K) 下載次數(shù):19?,對(duì)需要測(cè)試性能的朋友很有幫助的。
elastix是基于asterisk的,它的發(fā)行包里也包含有asterisk。 通信能力是asterisk提供的,elastix只是提供了一些外層封裝的應(yīng)用工具及管理工具,方便使用的那種;你可以理解為asterisk是操作系統(tǒng),elastix是安裝在操作系統(tǒng)之上的辦公軟件。
總結(jié)
以上是生活随笔為你收集整理的Asterisk PBX的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 魅魔php影视系统,魅魔PHP影视系统
- 下一篇: “一对一直播源码开发”运筹帷幄之中,决胜