VOCAL(Vovida Open Communication Application Library)是一個(gè)開源代碼通信軟件,以IP網(wǎng)為核心,在Linux或Solaris操作系統(tǒng)上運(yùn)行。提供VoIP電話服務(wù),支持基于SIP的通信設(shè)備。
1.VOCAL通信系統(tǒng)的組成
一個(gè)完整的VOCAL通信系統(tǒng)應(yīng)包含以下幾個(gè)部分:
● VOCAL系統(tǒng)電話軟件,是整個(gè)系統(tǒng)的核心,包含多種服務(wù)器。
● GUI:圖形用戶接口。
● IP電話:VOCAL支持多種電話設(shè)備,包括SIP電話和SIP用戶代理應(yīng)用軟件。
● 網(wǎng)關(guān):不僅提供網(wǎng)絡(luò)之間的接口,還能起到基于SIP網(wǎng)絡(luò)和其他類型網(wǎng)絡(luò)之間消息翻譯器的功能。VOCAL包含兩種網(wǎng)關(guān):住宅網(wǎng)關(guān)和中繼網(wǎng)關(guān)。
Marshal server:是外部設(shè)備和VOCAL系統(tǒng)連接的唯一接口。提供了SIP協(xié)議中的SIP代理服務(wù)器和注冊服務(wù)器的邏輯功能。作用是SIP消息翻譯,用戶鑒定和保障安全性,計(jì)費(fèi)等。
重定向服務(wù)器:重定向服務(wù)器是SIP協(xié)議中重定向、注冊、定位服務(wù)器的組合實(shí)現(xiàn),存儲(chǔ)用戶的聯(lián)系和特征數(shù)據(jù)。
呼叫詳述記錄服務(wù)器:從Marshal server接受呼叫數(shù)據(jù),并把這些數(shù)據(jù)轉(zhuǎn)化為第三方計(jì)費(fèi)系統(tǒng)能夠識(shí)別的格式。
特征服務(wù)器:是SIP代理服務(wù)器的另外一種實(shí)現(xiàn)方式。
Provisioning Server:存儲(chǔ)系統(tǒng)所有用戶和服務(wù)器模塊的數(shù)據(jù)記錄,并把這些信息通過預(yù)定通報(bào)模塊發(fā)送到整個(gè)系統(tǒng)中去。
2.VOCAL系統(tǒng)的安裝與測試
VOCAL系統(tǒng)在Linux或Solaris操作系統(tǒng)下運(yùn)行,本文運(yùn)行在Red Hat 9.0之下,安裝與測試過程中解決的主要問題包括:
(1)操作系統(tǒng)中必須要有X window系統(tǒng),gcc編譯器。
(2)主機(jī)名稱和IP地址必須設(shè)定,不可以為127.0.0.1可以先檢查/etc/hosts文件,如果只有127.0.0.1一行,需要自行加入本機(jī)IP 及主機(jī)名,例如:
127.0.0.1 localhost.localdomain localhost
xxx.xxx.xxx.xxx our_hostname
(3)vocal server 必須要有java環(huán)境。如果沒有要自行下載支持Linux的j2re包來安裝。
VOCAL是由http://vovida.org提供的,http://vovida.org 提供兩種VOCAl安裝方式,一種是源碼安裝,一種是rpm安裝。在測試過程中要進(jìn)行兩點(diǎn)之間的語音通信,要在兩臺(tái)機(jī)器上安裝VOCAL,其中一臺(tái)選擇用源碼安裝整個(gè)系統(tǒng)做服務(wù)器和一個(gè)客戶端,另外一臺(tái)用rpm安裝一個(gè)客戶端:sipset。
服務(wù)器端集成了完整的VOCAL系統(tǒng),可以通過web方式登錄服務(wù)器,并建立用戶。建立兩個(gè)用戶1000和1001以備測試。
在兩臺(tái)機(jī)器上分別啟動(dòng)sipset,sipset提供了一個(gè)簡單的圖形界面,用戶可以實(shí)現(xiàn)登錄、呼叫、掛機(jī)等操作,兩個(gè)終端先分別以用戶1000和1001登錄。讓1000用戶呼叫1001。當(dāng)呼叫發(fā)出以后1001端就會(huì)顯示有一個(gè)呼叫進(jìn)入,1001端選擇接聽,就建立了基于SIP的語音會(huì)話。
結(jié)論
論文詳細(xì)介紹了(SIP)的實(shí)現(xiàn)機(jī)制、消息結(jié)構(gòu)、功能實(shí)體以及呼叫建立流程,結(jié)合VOCAL系統(tǒng),介紹了如何在IP網(wǎng)絡(luò)中實(shí)現(xiàn)基于SIP協(xié)議的語音通信。要實(shí)現(xiàn)在IP網(wǎng)中基于SIP的視頻通信以及多方參與的多媒體會(huì)議系統(tǒng)等,還需要使用會(huì)話初始協(xié)議的一些擴(kuò)展功能,媒體協(xié)商、會(huì)話過程控制等。
北京郵電大學(xué)信息工程學(xué)院 李志 撰