徐 亮,文 鴻,彭生奇,周 恒
(湖南工業(yè)大學(xué),計(jì)算機(jī)與通信學(xué)院,湖南 株洲 412007)
傳統(tǒng)的語(yǔ)音調(diào)度系統(tǒng)多采用公共交換電話網(wǎng)絡(luò)(public switched telephone network,PSTN),其調(diào)度流程需要用戶級(jí)交換機(jī)(private branch exchange,PBX)等網(wǎng)絡(luò)基礎(chǔ)設(shè)施的支持,系統(tǒng)部署周期較長(zhǎng),費(fèi)用較高。隨著VoIP技術(shù)的發(fā)展,調(diào)度系統(tǒng)的架構(gòu)組成發(fā)生了重要變化。無(wú)線傳輸數(shù)據(jù)具有安裝方便、靈活性強(qiáng)等優(yōu)勢(shì),因此,利用WiFi等技術(shù)進(jìn)行語(yǔ)音數(shù)據(jù)傳輸?shù)膽?yīng)用越來(lái)越廣泛[1]。但該類調(diào)度系統(tǒng)需部署無(wú)線轉(zhuǎn)發(fā)節(jié)點(diǎn),依賴移動(dòng)電話網(wǎng)絡(luò)時(shí)使用范圍受限,運(yùn)行成本較高,在災(zāi)害救援、戰(zhàn)場(chǎng)調(diào)度場(chǎng)景下無(wú)法實(shí)施。移動(dòng)無(wú)線自組織網(wǎng)絡(luò)(mobile ad-hoc networks,MANET)技術(shù)可克服這些不足。MANET是一種數(shù)據(jù)包多跳傳輸?shù)木W(wǎng)絡(luò),網(wǎng)絡(luò)中的節(jié)點(diǎn)地位都是平等的,都可充當(dāng)周圍節(jié)點(diǎn)數(shù)據(jù)包的轉(zhuǎn)發(fā)節(jié)點(diǎn)[2],利用這種機(jī)制可以延長(zhǎng)網(wǎng)絡(luò)的傳輸距離。
本文運(yùn)用VoIP技術(shù),采用MANET承載語(yǔ)音數(shù)據(jù),設(shè)計(jì)和實(shí)現(xiàn)了無(wú)線語(yǔ)音調(diào)度系統(tǒng)。該系統(tǒng)不需要專門的調(diào)度機(jī)和調(diào)度臺(tái),其功能完全由調(diào)度終端完成,無(wú)需固定轉(zhuǎn)發(fā)節(jié)點(diǎn),具有布網(wǎng)迅速、抗毀性強(qiáng)、鏈路冗余等優(yōu)勢(shì)。
會(huì)話發(fā)起協(xié)議(session initiation protocol,SIP)是一個(gè)由Internet工程任務(wù)組(Internet Engineering Task Force,IETF)的多方多媒體會(huì)話控制(Multiparty Multimedia Session Control,MMUSIC)工作組開發(fā)的應(yīng)用層信令控制協(xié)議,作為標(biāo)準(zhǔn)提議用于建立、修改和終止包括視頻、語(yǔ)音、即時(shí)通信、在線游戲和虛擬現(xiàn)實(shí)等多媒體元素在內(nèi)的交互式會(huì)話協(xié)議[3]。
SIP是用于VoIP技術(shù)最主要的信令協(xié)議之一,其系統(tǒng)由4種元素組成,即用戶代理、SIP代理服務(wù)器、重定向服務(wù)器以及注冊(cè)服務(wù)器[4],圖1顯示了各個(gè)功能組件在網(wǎng)絡(luò)中所處的位置。用戶代理(user agents,UA)是一個(gè)發(fā)起和終止會(huì)話的實(shí)體;代理服務(wù)器與重定向服務(wù)器及位置服務(wù)器相連,為UA提供代理服務(wù),完成SIP消息的路由轉(zhuǎn)發(fā)功能;重定向服務(wù)器與位置服務(wù)器相連,使用輕量目錄訪問(wèn)協(xié)議(lightweight directory access protocol,LDAP),將用戶新的位置信息返回給呼叫方;位置服務(wù)器就是一個(gè)數(shù)據(jù)庫(kù),用于存放終端用戶當(dāng)前的位置信息,為SIP重定向服務(wù)器或代理服務(wù)器提供被叫用戶的位置信息;用戶將其信息在注冊(cè)服務(wù)器注冊(cè),表明該用戶加入了SIP網(wǎng)絡(luò),注冊(cè)服務(wù)器可以支持鑒權(quán)功能。
圖1 SIP網(wǎng)絡(luò)的基本構(gòu)成Fig.1 Basic framework of SIP network
MANET網(wǎng)絡(luò)主要有兩類路由協(xié)議,一類是表驅(qū)動(dòng)路由協(xié)議,另一類是按需路由協(xié)議。采用按需路由協(xié)議,網(wǎng)絡(luò)中信源結(jié)點(diǎn)在向信宿發(fā)送數(shù)據(jù)包時(shí),當(dāng)源端沒有到達(dá)目的端的路由時(shí)才啟動(dòng)路由發(fā)現(xiàn)過(guò)程,在對(duì)時(shí)延要求嚴(yán)格的語(yǔ)音調(diào)度系統(tǒng)中,此類路由協(xié)議不適用。表驅(qū)動(dòng)路由協(xié)議由結(jié)點(diǎn)周期性地發(fā)送Hello報(bào)文,隨時(shí)更新鄰居結(jié)點(diǎn)的鏈路狀態(tài),網(wǎng)絡(luò)中的每個(gè)結(jié)點(diǎn)有整個(gè)網(wǎng)絡(luò)的全部或大部分路由信息,在承載語(yǔ)音數(shù)據(jù)時(shí),報(bào)文傳輸時(shí)延較小,接近有線網(wǎng)絡(luò)[5],能滿足語(yǔ)音調(diào)度系統(tǒng)對(duì)時(shí)延的要求。雖然周期性地廣播Hello數(shù)據(jù)包加快了路由更新,但浪費(fèi)了MANET寶貴的帶寬資源,同時(shí)增加了無(wú)線調(diào)度終端的電池耗電量。
最優(yōu)化鏈路狀態(tài)路由協(xié)議(optimized link state routing,OLSR)采用有別于傳統(tǒng)表驅(qū)動(dòng)路由協(xié)議的拓?fù)涓聶C(jī)制,周期性地發(fā)送Hello數(shù)據(jù)包,或當(dāng)檢測(cè)到網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí),只選擇被作為多點(diǎn)中繼(multipoint relays,MPR)節(jié)點(diǎn)的鄰居節(jié)點(diǎn),進(jìn)行拓?fù)鋽?shù)據(jù)包的轉(zhuǎn)發(fā),這種機(jī)制可以避免廣播方式下數(shù)據(jù)包在網(wǎng)內(nèi)大量傳播[6]。如在圖2的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,只有1號(hào)和3號(hào)結(jié)點(diǎn)轉(zhuǎn)發(fā)0號(hào)結(jié)點(diǎn)的拓?fù)涓聢?bào)文,這極大地減少了全網(wǎng)控制報(bào)文流量。
圖2 OLSR拓?fù)涓掳鼈鬏擣ig.2 The transmission of OLSR topology updating packet
OLSR有多種實(shí)現(xiàn)方案,本文采用olsr.org OLSR daemon[7],該版本能實(shí)現(xiàn)OLSR的全部功能,支持IPv4和IPv6,在Linux和Windows操作系統(tǒng)上都可運(yùn)行。
SIP采用Client/Server結(jié)構(gòu)的通訊機(jī)制,對(duì)呼叫的控制是將對(duì)信令的控制消息封裝到消息的頭域中,通過(guò)消息的傳遞來(lái)實(shí)現(xiàn)。因此,SIP系統(tǒng)中的終端就比較智能化,其不只是簡(jiǎn)單地提供數(shù)據(jù),還提供了對(duì)呼叫的控制消息,這樣就將網(wǎng)絡(luò)設(shè)備的復(fù)雜性推向了終端設(shè)備,對(duì)終端硬件提出了更高的要求。
語(yǔ)音調(diào)度系統(tǒng)終端平臺(tái)硬件構(gòu)成見圖3,包括ARM CPU控制模塊、無(wú)線模塊和音頻處理模塊等。
圖3 語(yǔ)音調(diào)度系統(tǒng)終端平臺(tái)硬件組成Fig.3 The hardware components of terminal platform
S3C6410模塊是三星公司基于ARM1176處理器而研發(fā)的16/32bit、高性能低功耗的精簡(jiǎn)指令集計(jì)算機(jī)(reduced instruction set computing,RISC)通用微處理器,其運(yùn)行速率達(dá)667 MHz,集成有2塊128 MB的mDDR和1塊1 GB的 NAND Flash,適用于手持、移動(dòng)等終端設(shè)備。
S3C6410模塊設(shè)有優(yōu)化的外部存儲(chǔ)接口,該接口能滿足在高端通信服務(wù)中的數(shù)據(jù)帶寬要求,接口分為兩路,即DRAM和Flash/ROM/DRAM端口。終端平臺(tái)采用的無(wú)線通信模塊為AzureWave公司研發(fā)的GM320,該模塊支持802.11 b/g協(xié)議,理論傳輸帶寬最大達(dá)150 Mbps,完全能滿足調(diào)度系統(tǒng)的音頻傳輸帶寬要求。音頻處理模塊WM9713負(fù)責(zé)完成音頻信號(hào)的A/D, D/A轉(zhuǎn)換。
語(yǔ)音調(diào)度終端平臺(tái)軟件系統(tǒng)包括上層用戶界面(user interface,UI)、liblinphone動(dòng)態(tài)庫(kù)、OLSR、硬件驅(qū)動(dòng)程序等,其構(gòu)架見圖4。liblinphone動(dòng)態(tài)庫(kù)是軟件系統(tǒng)的核心,提供語(yǔ)音數(shù)據(jù)傳輸功能接口,上層UI操作這些功能接口便可實(shí)現(xiàn)全部的語(yǔ)音調(diào)度行為。
圖4 語(yǔ)音調(diào)度系統(tǒng)終端平臺(tái)軟件架構(gòu)Fig.4 The software architecture of terminal platform
終端平臺(tái)軟件系統(tǒng)選用Linux操作系統(tǒng)作為應(yīng)用程序和底層硬件之間的橋梁,可以更直觀地在其網(wǎng)絡(luò)層進(jìn)行編寫和修改[8],能滿足調(diào)度系統(tǒng)對(duì)時(shí)效性的要求。OLSR在Linux操作系統(tǒng)的用戶空間完成,該空間與操作系統(tǒng)的內(nèi)核空間是相互獨(dú)立的,實(shí)現(xiàn)的OLSR路由功能不會(huì)過(guò)度依賴于操作系統(tǒng)內(nèi)核,也不會(huì)對(duì)系統(tǒng)的正常運(yùn)行產(chǎn)生負(fù)面影響。
調(diào)度終端系統(tǒng)平臺(tái)由單呼和會(huì)議2個(gè)組件構(gòu)成,特定組件中包含具體的功能模塊,如圖5所示。
圖5 平臺(tái)功能模塊Fig.5 Platform functional modules
在一對(duì)一的通話時(shí)采用單呼模式,在該模式下,呼叫方只需在自己的操作界面上輸入被呼叫方的編號(hào),實(shí)際運(yùn)用過(guò)程中可以是對(duì)方的工號(hào)等信息,然后執(zhí)行呼叫操作即可。當(dāng)2個(gè)擁有低級(jí)別權(quán)限的終端在通話中時(shí),任一擁有高級(jí)別權(quán)限的終端可以發(fā)起強(qiáng)插、強(qiáng)拆操作,對(duì)通話過(guò)程進(jìn)行干預(yù)。
在會(huì)議模式下,發(fā)起會(huì)議的操作者默認(rèn)是會(huì)議的管理者。會(huì)議初始階段,根據(jù)實(shí)際需要,選擇被呼叫方編號(hào),對(duì)會(huì)議參與者的呼叫是單呼模式下呼叫的重復(fù)過(guò)程,被呼叫方只需在自己的終端平臺(tái)界面選擇接受即可進(jìn)入會(huì)議室,也可以選擇齊呼模式,這時(shí)該終端周圍所有的節(jié)點(diǎn)都會(huì)收到加入會(huì)議的提示信息。會(huì)議的管理者可以根據(jù)實(shí)際情況對(duì)處于會(huì)議中的用戶執(zhí)行踢除、靜音和恢復(fù)等操作。圖6為會(huì)議模式下系統(tǒng)工作流程圖。
圖6 會(huì)議操作流程圖Fig.6 The flow chart of conference operation
終端操作界面采用QT的嵌入式版本Qt/E來(lái)實(shí)現(xiàn)。Qt/E是一個(gè)專門為嵌入式系統(tǒng)設(shè)計(jì)圖形用戶界面的工具包。操作者在UI界面上輸入命令,由底層的liblinphone庫(kù)完成功能實(shí)現(xiàn)。
調(diào)度平臺(tái)的會(huì)議模式終端界面如圖7所示。
圖7 會(huì)議模式終端界面Fig.7 The conference user interface
在實(shí)際操作過(guò)程中,每臺(tái)終端都存儲(chǔ)了其他終端的IP地址和編號(hào)對(duì)應(yīng)信息,可以將調(diào)度系統(tǒng)平臺(tái)人為分成若干組,以方便調(diào)度過(guò)程的管理。如圖7將全部調(diào)度終端平臺(tái)分為4組,會(huì)議發(fā)起者根據(jù)需要和每臺(tái)終端的狀態(tài)來(lái)決定是否將該終端加入會(huì)議中,已進(jìn)入會(huì)議的終端,會(huì)議發(fā)起者可以對(duì)其執(zhí)行踢除、靜音和恢復(fù)操作。
語(yǔ)音調(diào)度系統(tǒng)的測(cè)試場(chǎng)景為湖南工業(yè)大學(xué)河?xùn)|校區(qū),測(cè)試拓?fù)淙鐖D8所示(節(jié)點(diǎn)的實(shí)際距離按圖右下角比例尺計(jì)算),區(qū)域內(nèi)隨機(jī)分布6個(gè)終端節(jié)點(diǎn)。終端平臺(tái)集成的GM320 WiFi模塊支持802.11 b/g協(xié)議。采用802.11b協(xié)議,室外數(shù)據(jù)傳輸距離理論值約為100m[9]?;赪iFi的傳統(tǒng)無(wú)線網(wǎng)絡(luò)環(huán)境無(wú)法完成6臺(tái)終端的兩兩通信,而在MANET網(wǎng)絡(luò)中,調(diào)整每個(gè)終端的無(wú)線網(wǎng)卡,讓其在Ad Hoc模式中工作,且都運(yùn)行OLSR,即可實(shí)現(xiàn)6臺(tái)終端的兩兩通信。
圖8 測(cè)試布局圖Fig.8 Testing layout
圖8中,終端A和F借助其他終端對(duì)數(shù)據(jù)包的轉(zhuǎn)發(fā)進(jìn)行語(yǔ)音傳輸。開始測(cè)試時(shí),6個(gè)節(jié)點(diǎn)保持靜止?fàn)顟B(tài),在A節(jié)點(diǎn)上使用traceroute命令,跟蹤去往節(jié)點(diǎn)F的數(shù)據(jù)包,結(jié)果顯示數(shù)據(jù)包的傳輸方向沿著圖8中的虛箭頭前進(jìn);然后,人為移動(dòng)節(jié)點(diǎn)C至C′,E至E′(見圖8);其后,在A節(jié)點(diǎn)上跟蹤去往F節(jié)點(diǎn)的數(shù)據(jù)包,數(shù)據(jù)包沿著圖8中的實(shí)箭頭方向傳輸,重復(fù)測(cè)試3次,數(shù)據(jù)包轉(zhuǎn)發(fā)路徑?jīng)]有改變。用ping命令測(cè)試A與F節(jié)點(diǎn)間的連通性(每次測(cè)試300個(gè)數(shù)據(jù)包),結(jié)果見表1。
表1 A和F節(jié)點(diǎn)間連通性測(cè)試Table1 Connectivity test between A and F
從表1中可以看出,移動(dòng)節(jié)點(diǎn)C和E后,傳輸時(shí)延明顯減少,這是因?yàn)閿?shù)據(jù)包的轉(zhuǎn)發(fā)由原來(lái)的3個(gè)節(jié)點(diǎn)變?yōu)?個(gè)節(jié)點(diǎn)的緣故,實(shí)際應(yīng)用中,數(shù)據(jù)包轉(zhuǎn)發(fā)節(jié)點(diǎn)不宜超過(guò)5個(gè),否則,時(shí)延將明顯增大,影響語(yǔ)音數(shù)據(jù)的實(shí)時(shí)傳輸。實(shí)際測(cè)試發(fā)現(xiàn),當(dāng)通話節(jié)點(diǎn)間的丟包率不大于15%,平均時(shí)延不大于200 ms時(shí),即能滿足語(yǔ)音通話要求。測(cè)試結(jié)果表明:該語(yǔ)音調(diào)度系統(tǒng)實(shí)時(shí)性好,話音質(zhì)量可靠。
基于Linux系統(tǒng)平臺(tái),結(jié)合liblinphone庫(kù)和OLSR路由協(xié)議,構(gòu)建語(yǔ)音調(diào)度系統(tǒng),完成了硬件和軟件的設(shè)計(jì),并應(yīng)用于實(shí)際場(chǎng)景進(jìn)行測(cè)試。與以往的調(diào)度系統(tǒng)相比,此系統(tǒng)具有組網(wǎng)方便、性能穩(wěn)定、實(shí)時(shí)性好、可靠性高等優(yōu)點(diǎn),可廣泛應(yīng)用于不方便甚至不可能部署基礎(chǔ)設(shè)施的工廠調(diào)度、搶險(xiǎn)救災(zāi)等領(lǐng)域中,具有廣泛的應(yīng)用前景。
[1] 盧 偉.基于WIFI技術(shù)的出租車監(jiān)控調(diào)度系統(tǒng)研究[D].哈爾濱:哈爾濱工程大學(xué),2009.Lu Wei. Research of Taxi Monitoring and Dispatching System Based on WIFI[D].Harbin:Harbin Engineering University,2009.
[2]Adrian Farrel. Mobile Ad Hoc Networks[EB/OL]. [2012-11-07]. http://datatracker.ietf.org/wg/manet/charter/.
[3] Alan B Johnston. Understanding the Session Initiation Protocol[M].2nd ed. Boston London:Artech House Publishers,2004:1-2.
[4] 李 琳,柴喬林,袁春陽(yáng).H.323與SIP在VOIP應(yīng)用中的實(shí)現(xiàn)及比較[J].計(jì)算機(jī)應(yīng)用,2002,22(9):74-76,79.Li Lin,Chai Qiaolin,Yuan Chunyang. H.323 and SIP in VOIP Applications to Realize and Compare[J]. Computer Applications,2002,22(9):74-76,79.
[5]Royer E M,Chai-Keong Toh. A Review of Current Routing Protocols for Ad-Hoc Mobile Wireless Networks[J]. IEEE Personal Communications,1999,6(2):46-55.
[6] KakarlaJ,Sathya SS,LaxmiBG,et al. A Survey on Routing Protocols and Its Issues in VANET[J]. International Journal of Computer Application, 2011,28(4):38-44.
[7]Thomas Lopatic. Olsr.org OLSR Daemon Project Homepage[EB/OL]. [2012-10-11]. http://www.olsr.org.
[8] 武亞靜,黃鉞峰,亢 旭,等.Ad Hoc 網(wǎng)絡(luò)AODV協(xié)議在Windows CE上的實(shí)現(xiàn)[J].計(jì)算機(jī)輔助工程,2009,18(1):87-91.Wu Yajing,Huang Yuefeng,Kang Xu,et al. Implementation on AODV Routing Protocol of Ad Hoc Network in Windows CE[J]. Computer Aided Engineering,2009,18(1):87-91.
[9] [Anon]. IEEE 802.11[EB/OL].[2012-10-11]. http://zh.wikipedia.org/wiki/ IEEE_802.11.