蔣 華, 曲艷博 , 潘文吉, 楊 磊, 王 坤
(1.北京電子科技學院 通信工程系,北京 100070;2.西安電子科技大學 通信工程學院,陜西 西安 710071)
VoIP(Voice over Internet Protocol)即通過 Internet進行語音通信,將模擬的聲音信號經(jīng)過壓縮與封包之后,以數(shù)據(jù)包的形式在IP網(wǎng)絡上進行語音信號的傳輸。VoIP不僅具有成本低、頻帶利用率高、話費低等優(yōu)點,通過把傳統(tǒng)的電話網(wǎng)與互聯(lián)網(wǎng)進行高效的資源整合,就可以充分利用帶寬資源進行文本、語音、視頻及多方會議等形式的通信。隨著數(shù)據(jù)網(wǎng)絡帶寬的不斷發(fā)展,VoIP技術(shù)也日趨成熟,尤其是發(fā)達國家VoIP市場規(guī)模在迅速擴大[1]。VoIP電話的核心設備是網(wǎng)關(guān)。集電話,傳真,調(diào)制解調(diào)器等功能于一體的PBX(專用交換機)完成企業(yè)內(nèi)部之間以及與公共電信網(wǎng)絡的電話交換,但傳統(tǒng)的PBX存在缺點有:對新興的CTI(計算機與電話集成)和VoIP支持不夠;傳統(tǒng)的PBX都采用的是專用技術(shù),缺乏開放性和標準性,并且價格昂貴。解決它的缺點的措施是IPPBX技術(shù)。而數(shù)據(jù)網(wǎng)的飛速擴大和公眾對分組交換的廣泛接受及互聯(lián)網(wǎng)的廣泛使用促成了VoIPPBX的發(fā)展。
Asterisk是一個開放源代碼的軟件VoIP PBX系統(tǒng),是一個運行在Linux環(huán)境下的純軟件的實施方案,它可以運行PBX的所有功能,同時還可以提供語音郵件服務、電話會議等增值服務[2]。Asterisk既支持傳統(tǒng)的模擬電話設備和數(shù)字電話設備,也支持新興的VoIP語音系統(tǒng)。Asterisk包含所有的用于構(gòu)建 PBX系統(tǒng)、IVR系統(tǒng),如各種 VoIP協(xié)議的驅(qū)動、各種PSTN接口卡和設備的驅(qū)動、存取公司目錄系統(tǒng)的LDAP集成、單方和多方呼叫橋接,系統(tǒng)集成商或開發(fā)者能夠利用它的這些自身的優(yōu)點快速生成一個語音使能系統(tǒng)。由Asterisk構(gòu)成的VoIP系統(tǒng)已經(jīng)漸漸成為中小型企業(yè)的首選方案[3]。本文中以Asterisk作為VoIP網(wǎng)關(guān)為例進行實驗。
本實驗的系統(tǒng)環(huán)境為雙系統(tǒng),主機為Windows7系統(tǒng),主機上的虛擬機VM Virtualbox裝有Linux系統(tǒng),版本為Ubuntu10.04,安裝開發(fā)工具以及開發(fā)庫。此外,還需要的軟件包括Asterisk源代碼包 asterisk-1.6.1.20.tar.gz,版本:1.6.1.20;eyebeam 版本:1.5.14.4;X-Lite 版本:3.0。
在Linux下安裝Asterisk需要以管理員身份進行操作,主要步驟包括:環(huán)境檢測和預配置、重新編譯Asterisk程序和安裝Asterisk程序。在安裝時要注意用戶權(quán)限,同時可能還需要清除陳舊的已編譯文件,其命令是make clean。另外個人計算機管理的方便,可以選擇將壓縮包解壓到指定的文件夾,如asterisk-1.6.1.20,這樣可以做到見名知意。如果有需要,還可以安裝配置模板、網(wǎng)頁語音信箱等功能。
Asterisk提供了很多的基本撥號語法及應用的撥號函數(shù),它共有40多個配置文件,通過Asterisk特有的語法修改特有的配置文件,才能實現(xiàn)通話的基本功能,同時可以實現(xiàn)針對不同的用戶實現(xiàn)不同的通信功能[4]。這里主要介紹SIP對象配置文件和撥號規(guī)則配置文件的詳細配置。
2.2.1 配置SIP對象配置文件
Asterisk服務器的SIP對象配置文件是在/asterisk下的sip.conf文件。打開 /etc/asterisk/sip.conf文件,增加以下用戶定義小節(jié)即自定義的SIP配置段[5]。主要包括支持的編碼方式、用戶名、用戶密碼、指定主機位置的方式、指定在撥號規(guī)則文件中使用那一套撥號規(guī)則等。如下是名字為9001的小節(jié)配置細則。其他用戶的小節(jié)可參考此小節(jié)配置。
[9001];定義名字為“9001”的小節(jié)
videosupport=yes
type=friend
username=9001
secret=9001
host=dynamic
context=demo
disallow=all
allow=h264,g729
dtmfmode=rfc2833
canreinvite=no
maxcallbitrate=384
2.2.2 配置撥號規(guī)則配置文件
撥號規(guī)則配置文件是在/asterisk下的extensions.conf,需要在這個文件的末尾增加以下內(nèi)容:
[demo]
exten=>_9.,1,Dial(SIP/${EXTEN},20,r)
這里的_9.表示匹配所有9為首字的任意長度的字符的用戶撥號,Dial表示撥號執(zhí)行動作,即這是APP應用程序,當你撥打9001時,${EXTEN}的值就是9001,20表示撥號超過20秒后就會自動跳躍執(zhí)行次序。
由于本次仿真實驗是在一臺主機上進行,所以采用了兩種軟電話,分別是:eyebeam版本:1.5.14.4及X-Lite版本:3.0。使用eyebeam和X-Lite注冊9001和9003這兩個SIP用戶到Asterisk上去,并且使其互相呼叫并通話[6]。
將軟終端eyebeam上用戶9001注冊到軟交換Asterisk上的配置如圖1所示,主要包括用戶名、密碼、域名、代理等。這里不使用代理,即Asterisk服務器同時兼做用戶代理服務器和代理。

圖1 軟終端eyebeam上用戶9001的注冊Fig.1 Registration of 9001 on soft client eyebeam
將軟終端X-Lite上用戶9003注冊到軟交換Asterisk上的配置與用戶9001的配置相同,也包括用戶名、密碼、域名、代理等,這里不再給出圖。
要想在軟電話將進行通話,需要保證用戶都可以聯(lián)網(wǎng),這個網(wǎng)可以是局域網(wǎng)也可以是互聯(lián)網(wǎng),這里使用局域網(wǎng)。首先配置Linux虛擬機地址為192.168.1.9,主機地址為192.168.1.12,即使虛擬機和主機在一個局域網(wǎng)內(nèi)以保證可以互通。然后在Linux終端啟動Asterisk服務,命令是/usr/sbin/safe_asterisk。這樣已注冊的雙方就可以通話了。用戶9001為主叫,與用戶9003通話的過程如圖2所示。
實驗結(jié)果還可以在Asterisk服務器后臺進行觀察。通過在管理員權(quán)限下輸入命令/usr/sbin/asterisk-crvvvvvvv進入后臺觀察已注冊用戶的情況,檢測用戶的注冊、撥號、通話及掛斷等動作。觀察情況如圖3所示。
從后臺觀察到的情況表明用戶9001與9001已注冊。當用戶9001主叫用戶9003時,可以觀察到9003振鈴中,以及被叫9003摘機應答、掛斷等一系列動作。這些觀察到的情況表明Asterisk確實是充當了VoIP網(wǎng)關(guān),可以承載SIP通信。
IP電話系統(tǒng)具有可靠性強、安全性好等優(yōu)點,可在局域網(wǎng)或Internet上使用,還可以擴展成融文本、視頻會議于一體的網(wǎng)絡交互式多媒體系統(tǒng)。本文介紹了Asterisk的安裝過程、部分配置步驟,并利用其作為VoIP網(wǎng)關(guān)進行了實驗仿真,更深的研究還需要更多的時間研究。Asterisk與Linux等開源項目結(jié)合,可以在原有網(wǎng)絡基礎(chǔ)上為企業(yè)提供IP語音解決方案,具有廣闊的應用前景。

圖2 雙方通話過程Fig.2 Process of communication between them

圖3 后臺觀察情況Fig.3 Observation on the station
[1]蔡云剛.VoIP網(wǎng)絡淺析 [J].網(wǎng)絡安全技術(shù)與應用,2009(12)34-36.CAIYun-gang.Analysis of VoIPnetwork[J].Network Security Technology&Application,2009,12:34-36.
[2]鄒慧.基于Asterisk的VoIP系統(tǒng)實驗研究[D].北京:北京交通大學,2009.
[3]劉薇.基于Asterisk的電話會議系統(tǒng)研究與設計[J].現(xiàn)代電子技術(shù),2010(8):77-79.LIU Wei.Research and design of conference phone system based on asterisk[J].Modern Electronic Technique,2010(8):77-79.
[4]王繼鵬.基于Asterisk構(gòu)建中小型公司IP-PBX通信系統(tǒng)的研究[D].西安:西北工業(yè)大學,2007.
[5]Asterisk Development Team.Asterisk Reference Information Version 1.6.0.28[EB/OL].Asterisk.org,[2010-5-17].http://www.asterisk.org.
[6]張登銀,孫精科.VoIP技術(shù)分析與系統(tǒng)設計[M].北京:人民郵電出版社,2003.
[7]鳥哥.鳥哥的Linux私房菜[M].2版.北京:人民郵電出版社,2007.
[8]陳錫生,糜正琨.現(xiàn)代電信交換[M].北京:北京郵電大學出版社,1999.