IP電話以其通話費(fèi)率低,、方便集成和智能化等優(yōu)勢(shì)而得到了眾多消費(fèi)者的極大認(rèn)可,,并因此而對(duì)原有固定電話運(yùn)營(yíng)者的長(zhǎng)途電話和國(guó)際電話業(yè)務(wù)造成了巨大沖擊。因此,,隨著以太網(wǎng)接口的直接入戶,,開發(fā)出一種帶有RJ-45以太網(wǎng)接口并直接連入因特網(wǎng),從而使使用更加方便的IP電話非常需要,。利用這種IP電話,,用戶可以直接撥叫遠(yuǎn)端的電話號(hào)碼,并通過關(guān)守(gate keeper)把所撥的電話號(hào)碼轉(zhuǎn)換成遠(yuǎn)端IP電話的IP地址,,從而建立通話連接,。事實(shí)上,新型IP電話終端已經(jīng)可以直接把輸入語音信號(hào)數(shù)字化,,并按照G.728或G.729等一定的語音壓縮編碼算法來完成對(duì)輸入語音信號(hào)的實(shí)時(shí)壓縮,,使帶寬從64kbps降低到8kbps,從而大大提高了信道的利用率,。IP電話終端通常遵循SIP(或者H.323)協(xié)議,,并通過網(wǎng)關(guān)(gate way)實(shí)現(xiàn)IP電話和普通電話的互通。
1 IP電話系統(tǒng)組成
IP電話通信的基本原理是利用數(shù)字通信技術(shù)來對(duì)語音信號(hào)進(jìn)行數(shù)字壓縮編碼處理,,然后按TCP/IP標(biāo)準(zhǔn)進(jìn)行打包,,再經(jīng)過互聯(lián)網(wǎng)絡(luò)把數(shù)據(jù)包發(fā)送到接收地,。同時(shí)在接收端將這些語音數(shù)據(jù)包串起來。再經(jīng)過解碼解壓處理,,以使其恢復(fù)成原來的語音信號(hào),,從而達(dá)到由互聯(lián)網(wǎng)傳送語音的目的。IP電話的基本組成原理如圖1所示,。
IP電話系統(tǒng)一般有*機(jī)(IPPhone),、網(wǎng)關(guān)(Gateway)、多點(diǎn)控制單元MCU(MultipointControl Unit)和網(wǎng)閘(Gatekeeper)等四個(gè)基本組件,。其中*機(jī)是IP電話的客戶終端,,多以硬件形式出現(xiàn),它可以直接連接在IP網(wǎng)上,,以便進(jìn)行實(shí)時(shí)的語音或多媒體通信,;網(wǎng)關(guān)是通過IP網(wǎng)絡(luò)提供PHONE-TO-PHONE語音通信的關(guān)鍵設(shè)備。是IP網(wǎng)絡(luò)和PSTN/ISDN/PRX網(wǎng)絡(luò)接口設(shè)備,;多點(diǎn)控制單位(MCU)的功能在于利用IP網(wǎng)絡(luò)實(shí)現(xiàn)多點(diǎn)通信,,以使IP電話能夠支持諸如網(wǎng)絡(luò)會(huì)議這樣一對(duì)多的通信;至于網(wǎng)閘,,有時(shí)也稱為網(wǎng)守或關(guān)守,,主要用來提供對(duì)整個(gè)電話系統(tǒng)端點(diǎn)和呼叫的管理。
網(wǎng)閘的主要功能包括地址翻譯,、呼叫接納控制,、呼叫管理以及呼叫權(quán)限等。在H.323建議中,,網(wǎng)閘是一個(gè)可選部分,,但是對(duì)于實(shí)際運(yùn)行的局域網(wǎng)IP電話系統(tǒng)來說,網(wǎng)閘則是一個(gè)重要部件,。本系統(tǒng)中,,網(wǎng)閘設(shè)立在IP地址的一個(gè)終端上。通過網(wǎng)閘可對(duì)所有終端用戶的姓名和IP地址進(jìn)行統(tǒng)一登記和管理,,并預(yù)先給每個(gè)終端用戶分配一個(gè)類似電話分機(jī)的虛擬電話號(hào)碼,,以便其他終端用戶進(jìn)行呼叫。主叫用戶無需知道被叫用戶終端的IP地址,,只需要輸入其對(duì)應(yīng)的虛擬電話號(hào)碼或真實(shí)姓名即可,。
2 IP電話單機(jī)的硬件設(shè)計(jì)
IP電話分為接收方和呼叫方。發(fā)起通話請(qǐng)求的一端稱為呼叫方,,另一端為接收方,。根據(jù)不同的應(yīng)用場(chǎng)景,呼叫方和接收方可以調(diào)換角色,,也就是說,,任意一方都可以發(fā)起通話請(qǐng)求,呼叫方發(fā)起通話請(qǐng)求并輸入接收方的IP地址,,兩方通過網(wǎng)絡(luò)連接成功后,,利用麥克風(fēng)和聽筒就可以進(jìn)行談話了。
IP通話的主要工作在*機(jī)單機(jī)部分,。隨著現(xiàn)在ARM微處理器技術(shù)的高度發(fā)達(dá)和日趨成熟,,設(shè)計(jì)中選擇了ARM9微處理器S3C2410和μC/0S-II搭建平臺(tái)來制作*單機(jī)部分。一般單機(jī)的基本工作框圖如圖2所示,。
在圖2中,,CPU內(nèi)核模塊是搭建一個(gè)帶CPU及存儲(chǔ)器的工作核心。其中的微處理器采用的就是三星公司的S3C2410(ARM920T),,F(xiàn)lash采用的
是SST公司的SST39VFl60的NOR Flash,,SDRAM則采用hynix公司的HY57V641620HG;以太網(wǎng)接口主要幫助CPU完成TCP/IP數(shù)據(jù)包的接收和發(fā)送,。本設(shè)計(jì)采用的RTL8019AS是一種全雙工的即插即用型以太網(wǎng)控制器,,它兼容RTL8019控制軟件和NE2000 8bit或16bit的傳輸,并支持UTP,、
AUI,、BNC和PNP自動(dòng)檢測(cè)模式,同時(shí)支持外接閃爍存儲(chǔ)器讀寫操作以及I/0口地址的完全解碼,,此外,,它還具有LED指示功能,其接口符合Ethernet2和E802.3,、10Base5,、lOBase2、10BaseT等標(biāo)準(zhǔn),。
系統(tǒng)中的顯示模塊采用一塊普通數(shù)顯LCD,,主要用來完成電話號(hào)碼的顯示及一些本機(jī)工作狀態(tài)的顯示;鍵盤模塊和EEPROM主要提供網(wǎng)絡(luò)電
話機(jī)的撥號(hào)鍵盤,,以完成撥號(hào)和電話機(jī)的功能設(shè)置,。EEPROM主要用于系統(tǒng)參數(shù)的設(shè)置和存儲(chǔ)。語音模塊可選用飛利浦半導(dǎo)體公司的UDAl341TS音頻編解碼器,。另外,,系統(tǒng)中的上位機(jī)接口主要完成一些參數(shù)的設(shè)定和一些已經(jīng)被記錄的參數(shù)的讀取。
3 系統(tǒng)軟件設(shè)計(jì)
軟件方面的工作主要是驅(qū)動(dòng)程序的編寫,、任務(wù)的劃分和任務(wù)的編寫等三個(gè)方面,。由于μC/OS-II基本上不提供API接口庫(kù)或者需要額外購(gòu)買,因此,,*中需要編寫的主要驅(qū)動(dòng)軟件有包括TCP/IP,、液晶驅(qū)動(dòng),、EEPROM驅(qū)動(dòng)、鍵盤驅(qū)動(dòng),、IO驅(qū)動(dòng),、USB驅(qū)動(dòng)等程序。這些驅(qū)動(dòng)程序的編寫一般都有固定的模式和套路,。一般情況下,,IP電話軟件應(yīng)包括完成語音通話所需的所有功能。該軟件按功能可劃分為圖3所示的四部分,。
3.1 呼叫處理模塊
呼叫處理模塊主要完成呼叫的建立與拆除功能,。呼叫控制可采用SIP協(xié)議建立會(huì)話。呼叫建立過程通常是先由一個(gè)SIP終端向本地的代理服務(wù)器發(fā)出呼叫請(qǐng)求,,本地的代理服務(wù)器則通過查詢本地的重定向服務(wù)器來查找下一個(gè)代理服務(wù)器的地址,,并向其轉(zhuǎn)發(fā)呼叫請(qǐng)求。當(dāng)下一個(gè)代理服務(wù)器收到呼叫請(qǐng)求后,,首先通過定向服務(wù)器查找被叫所在網(wǎng)絡(luò)的代理服務(wù)器,,然后向該代理服務(wù)器轉(zhuǎn)發(fā)呼叫請(qǐng)求。被叫所在網(wǎng)絡(luò)的代理服務(wù)器確定被叫終端后,,再向被叫終端轉(zhuǎn)發(fā)呼叫請(qǐng)求,。最后由被叫終端應(yīng)答,從而實(shí)現(xiàn)連接,。
3.2 語音編碼/解碼模塊
雖然語音采集所得到的PCM編碼數(shù)據(jù)能夠提供較好的長(zhǎng)途通信語音質(zhì)量,,但其速率往往過高,因而占用網(wǎng)絡(luò)帶寬資源過高,。為此,,一般都需要對(duì)語音數(shù)據(jù)進(jìn)一步壓縮,以降低語音編碼的速率,。這樣,,相應(yīng)的,在接收端也就需要同樣的解壓算法來恢復(fù)原始語音數(shù)據(jù),。編制這部分代碼可采用現(xiàn)在比較成熟的語音編解碼算法,,并進(jìn)行一定的改進(jìn),以提高語音通話質(zhì)量,。
3.3 數(shù)據(jù)封包/拆包模塊
數(shù)據(jù)封包/拆包軟件模塊主要對(duì)壓縮編碼后的語音數(shù)據(jù)進(jìn)行打包,,包括添加包頭、時(shí)標(biāo)和其他信息,,以使其形成語音包,。在接收時(shí)。則應(yīng)進(jìn)行相應(yīng)的拆包,,并提取語音壓縮包,。
3.4 數(shù)據(jù)傳輸模塊
該模塊主要完成語音包的發(fā)送和接收,。因?yàn)榘岩纛l數(shù)據(jù)實(shí)時(shí)地傳輸給對(duì)方才是保證實(shí)時(shí)語音通信的關(guān)鍵。所以,,在考慮可靠性和實(shí)時(shí)性方面,,更應(yīng)注重速度和實(shí)時(shí)性。故在選擇協(xié)議時(shí),,可采用UDP協(xié)議,并在編程時(shí)使用對(duì)應(yīng)的數(shù)據(jù)報(bào)套接字,。
4 結(jié)束語
IP電話通信系統(tǒng)是利用現(xiàn)有計(jì)算機(jī)網(wǎng)絡(luò)資源組成的電話通信系統(tǒng),,它無需鋪設(shè)電話線和購(gòu)置電話通信網(wǎng)絡(luò)設(shè)備,故可節(jié)省大量建設(shè)電話網(wǎng)絡(luò)的設(shè)備費(fèi),、線路費(fèi)和工程費(fèi)用,,可在不需要鋪設(shè)電話線的情況下,方便地實(shí)現(xiàn)電話通信,,增加電話用戶,,縮短安裝工程周期,提高計(jì)算機(jī)網(wǎng)絡(luò)資源的利用率,,擴(kuò)大電話的普及范圍,,同時(shí)可加大信息傳遞量,因而具有良好的社會(huì)和經(jīng)濟(jì)效益,。