Android平臺下基于Wi―Fi的可視化VoIP通話系統(tǒng)設(shè)計
引言
隨著移動終端設(shè)備朝著越來越智能化的方向發(fā)展,原本只具備簡單通話功能的手機(jī),也開始增加越來越多的服務(wù)功能。在移動終端上實現(xiàn)更多的功能,已經(jīng)成為研發(fā)人員的一個新目標(biāo)之一,這些功能為人們的生活提供著極大的便利,而VoIP技術(shù)就是其中的一個重要應(yīng)用?,F(xiàn)如今,VoIP技術(shù)已經(jīng)在計算機(jī)上得到了廣泛的應(yīng)用,出現(xiàn)了一大批基于VoIP的應(yīng)用軟件,而隨著移動終端逐漸可以方便地接入WLAN,在其上面進(jìn)行多媒體技術(shù)的開發(fā)已經(jīng)成為一個新的熱點,尤其是在現(xiàn)如今最熱門的Android操作系統(tǒng)上面。隨著移動終端的處理能力日益強(qiáng)大,可以實現(xiàn)過去無法進(jìn)行的復(fù)雜視頻編解碼處理,因此如果進(jìn)一步結(jié)合VoIP技術(shù),實現(xiàn)一個VoIP可視通話系統(tǒng),這將是一個很好的研究課題,同時也將會有很好的市場前景。
1 系統(tǒng)設(shè)計方案和系統(tǒng)結(jié)構(gòu)
1.1 系統(tǒng)設(shè)計方案
本方案所設(shè)計的局域網(wǎng)內(nèi)基于Wi—Fi的可視化VoIP通話系統(tǒng)主要包含了以下功能:
①移動終端(如手機(jī)、PDA)用戶對系統(tǒng)個性化的配置,用戶可以根據(jù)自己的需求和愛好選擇需要的功能;
②實現(xiàn)移動終端用戶向服務(wù)器發(fā)出請求并完成注冊的功能;
③移動終端用戶對語音視頻數(shù)據(jù)的采集和編碼,并通過RTP(實時傳輸協(xié)議)/RTCP(RTP傳輸控制協(xié)議)進(jìn)行傳輸和控制;
④OpenSIPS開源服務(wù)器完成對會話的控制,包括會話的注冊、發(fā)起、維護(hù)與結(jié)束、注銷等功能;
⑤界面的開發(fā),作為一個應(yīng)用程序。一個友好的界面是不可或缺的,我們通過它來與用戶進(jìn)行交互。
1.2 系統(tǒng)結(jié)構(gòu)
系統(tǒng)的總體架構(gòu)采用了客戶端和服務(wù)器(C/S)模型,客戶端利用自身的Wi—Fi模塊接入網(wǎng)絡(luò)。通過SIP協(xié)議與Open SIPS服務(wù)器建立會話,在傳輸層以IP數(shù)據(jù)包的形式傳輸語音視頻數(shù)據(jù)?;赪i—Fi的可視化VoIP通話系統(tǒng)結(jié)構(gòu)如圖1所示。
系統(tǒng)主要由SIP客戶終端和OpenSIPS開源服務(wù)器兩部分組成??蛻艚K端采用Android操作系統(tǒng)的智能手機(jī)和平板電腦??蛻艚K端包括了SIP User Agent邏輯實體,并且支持AMR、G.729音頻編解碼,以及H.263和H.264視頻編解碼。
2 系統(tǒng)開發(fā)中關(guān)鍵技術(shù)的研究
2.1 SIP協(xié)議
SIP協(xié)議(Session Initiation Protocol,會話發(fā)起協(xié)議)是由IETF(Internet工程任務(wù)組)2001年提出的IP電話信令協(xié)議,用于在IP數(shù)據(jù)網(wǎng)絡(luò)上建立、改變和結(jié)束多媒體會話。SIP能夠使用互聯(lián)網(wǎng)的端點(用戶代理)來發(fā)現(xiàn)參與者,并且協(xié)商它們共享會話的特性,SIP獨立運行于底層的通信協(xié)議之上,并且不依賴于所建立的會話類型。SIP協(xié)議的主要目的是解決IP網(wǎng)中的信令控制,以及同Soft Switch的通信,從而構(gòu)成下一代的增值業(yè)務(wù)平臺,對電信、銀行、金融等行業(yè)提供更好的增值業(yè)務(wù)。
SIP是一個應(yīng)用層的控制協(xié)議,可以用來建立、修改和終止多媒體會話(或者會議),例如互聯(lián)網(wǎng)電話。SIP也可以邀請參與者參加已經(jīng)存在的會話,例如電話會議。它可以很方便地在一個已經(jīng)存在的會話中增加(或者刪除)媒體。SIP透明地支持名字映射和重定向服務(wù),這些特性用于支持個人移動業(yè)務(wù),也就是說用戶可以使用一個唯一的外部標(biāo)識,而無須考慮它們所在的實際網(wǎng)絡(luò)位置。SIP在建立和終止多媒體通信方面支持了很多的功能。
c++相關(guān)文章:c++教程
評論