999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺的VoIP設(shè)計(jì)實(shí)現(xiàn)*

2017-07-31 19:22:34杜奇才鄧誠剛林嘉宇
微處理機(jī) 2017年2期
關(guān)鍵詞:智能手機(jī)功能系統(tǒng)

杜奇才,鄧誠剛,劉 熒,林嘉宇

(1.特種作戰(zhàn)學(xué)院,廣州510500;2.廣東中科軍民融合產(chǎn)業(yè)研究院,廣州510070;3.國防科學(xué)技術(shù)大學(xué),長沙410073;4.長沙芯洗數(shù)字科技有限公司,長沙410073)

基于Android平臺的VoIP設(shè)計(jì)實(shí)現(xiàn)*

杜奇才1,鄧誠剛2,劉 熒3,林嘉宇4

(1.特種作戰(zhàn)學(xué)院,廣州510500;2.廣東中科軍民融合產(chǎn)業(yè)研究院,廣州510070;3.國防科學(xué)技術(shù)大學(xué),長沙410073;4.長沙芯洗數(shù)字科技有限公司,長沙410073)

隨著移動通信技術(shù)和嵌入式系統(tǒng)的飛速發(fā)展,基于智能終端的VoIP在個人、商業(yè)組織和政府中的應(yīng)用日趨廣泛。在智能終端中,Android操作系統(tǒng)以其開放性和靈活性,深受廣大用戶和廠商的青睞,在全球市場已占據(jù)絕對優(yōu)勢地位。因此,基于Android平臺設(shè)計(jì)實(shí)現(xiàn)VoIP系統(tǒng),具有廣泛的應(yīng)用前景。介紹了PJSIP協(xié)議框架結(jié)構(gòu),分析了語音通信和即時消息收發(fā)流程,并以Android系統(tǒng)為運(yùn)行平臺,設(shè)計(jì)實(shí)現(xiàn)了VoIP系統(tǒng)。利用開源服務(wù)器FreeSwitch進(jìn)行測試,該系統(tǒng)能夠在不同版本的Android智能手機(jī)運(yùn)行,并能夠在3G/4G以及WIFI網(wǎng)絡(luò)環(huán)境中進(jìn)行穩(wěn)定的語音通話與即時信息傳輸,結(jié)果表明該系統(tǒng)具有良好的功能性與穩(wěn)定性。

VoIP系統(tǒng);Android平臺;PJSIP協(xié)議;智能手機(jī);語音通信;即時消息

1 引言

隨著移動通信技術(shù)和嵌入式系統(tǒng)的發(fā)展,基于智能終端的VoIP在個人、商業(yè)組織和政府中得到了廣泛應(yīng)用。通訊市場研究公司Infonetics Research的數(shù)據(jù)顯示,2012年全球移動VoIP用戶數(shù)猛增550%以上,超過6.4億,并預(yù)計(jì)2012年到2017年VoLTE用戶數(shù)的年均復(fù)合增長率為145%,2017年移動VoIP和VoLTE服務(wù)市場總值將達(dá)到160億美元[1]。在智能終端中,Android設(shè)備憑借較高的性價(jià)比及平臺的開放性,得到了眾多手機(jī)廠商、移動開發(fā)者及終端用戶的青睞。最新數(shù)據(jù)表明,2016年第二季度,An-droid在中國智能手機(jī)市場的份額達(dá)到了81.4%[2]。因此,將VoIP與Android兩者結(jié)合,并引入市場,具有巨大的潛在價(jià)值。

基于Android平臺和PJSIP開源協(xié)議,實(shí)現(xiàn)了一個具備語音通信和即時消息收發(fā)功能的VoIP系統(tǒng),并利用開源服務(wù)器FreeSwitch進(jìn)行了功能測試。測試結(jié)果表明,該系統(tǒng)能夠很好的完成會話的發(fā)起、應(yīng)答、通信等功能,基本滿足了設(shè)計(jì)要求,具有一定的實(shí)用性。

2 系統(tǒng)設(shè)計(jì)

VoIP[3]是通過IP網(wǎng)絡(luò)實(shí)時傳送語音數(shù)據(jù)的一種通訊方式,目前有多種標(biāo)準(zhǔn)信令協(xié)議支持VoIP的部署和實(shí)施,其中SIP是使用最為廣泛的協(xié)議,具有簡單、靈活、易于移植的特點(diǎn),非常適合基于Android操作系統(tǒng)的VoIP開發(fā)。

2.1 SI P協(xié)議選擇

SIP[4]是由互聯(lián)網(wǎng)工程任務(wù)組IETF創(chuàng)建的VoIP通話連接協(xié)議標(biāo)準(zhǔn),是一種基于文本的應(yīng)用層協(xié)議,用來建立、修改和終止會話或多媒體電話。常見的開源SIP協(xié)議主要有ReSIProcate、sipX、JAIN、oSIP和PJSIP等[5]。ReSIProcate兼容性好,應(yīng)用程序比較穩(wěn)定,但移植性比較差,不太適合開發(fā)終端軟件。sipX兼容大多數(shù)操作系統(tǒng),但缺乏開發(fā)文檔。JAIN使用JAVA開發(fā),效率較低。oSIP與PJSIP都是采用C語言開發(fā),具有很高的可移植性以及高效的處理能力,但PJSIP具有更清晰的API,更好的移植性,以及更詳細(xì)的開發(fā)文檔,并且PJSIP封裝有NAT穿越的庫,非常適合用于開發(fā)跨網(wǎng)段的SIP應(yīng)用。

2.2 PJSI P協(xié)議分析

PJSIP架構(gòu)清晰,功能齊全,各子模塊層次結(jié)構(gòu)如圖1所示[6]。

圖1 PJSIP結(jié)構(gòu)框圖

從圖1可以看出,PJSUA-LIB為抽象功能最高層,它集成了下層的所有功能到API,便于程序調(diào)用;PJMDEDIA-CODEC和PJMEDIA實(shí)現(xiàn)了所有的音視頻處理,包括音視頻編解碼以及傳輸;PJSIP-UA是INVITE會話的一個高層抽象,該庫也實(shí)現(xiàn)了 SIP客戶端的注冊和呼叫轉(zhuǎn)移功能;PJSIP-SIMPLE提供對IM和Presence功能的支持;PJSIP-CORE是PJSIP庫的內(nèi)核,它包含了SIP Endpoint,負(fù)責(zé)管理應(yīng)用程序中所有SIP對象、消息的分析、傳輸管理和模塊管理、無狀態(tài)操作等;PJLIB-UTIL提供一些輔助功能,如文本掃描、XML和STUN等;PJLIB是一個平臺抽象的框架庫,它為上層調(diào)用提供一個與操作系統(tǒng)無關(guān)的系統(tǒng)服務(wù)。

從以上分析可以看出,PJSIP作為基于SIP的一個多媒體通信框架提供了非常清晰的API,實(shí)現(xiàn)了SIP、SDP、RTP、STUN、TURN和ICE等功能,同時支持語音、視頻、狀態(tài)呈現(xiàn)和即時通訊等功能,而且編譯后庫文件所占內(nèi)存空間極小,使其非常適合用于Android平臺的VoIP開發(fā)。

2.3 系統(tǒng)總體架構(gòu)

Android[7]是一種基于Linux的自由及開放源代碼的操作系統(tǒng),自頂向下分成4個層次,即應(yīng)用層、應(yīng)用框架層、組件庫層和虛擬機(jī)、Linux內(nèi)核層。Android系統(tǒng)的最大優(yōu)點(diǎn)在于只需在應(yīng)用層做開發(fā)即可,而不需要特別在意下層設(shè)計(jì)。因此在VoIP開發(fā)過程中,遵循NDK框架開發(fā)規(guī)范,將系統(tǒng)分為4層,如圖2所示。

圖2 VoIP總體框架

其中,JAVA應(yīng)用層使用JAVA語言開發(fā),完成界面設(shè)計(jì)以及用戶與系統(tǒng)的交互,通過調(diào)用JNI接口實(shí)現(xiàn)VoIP的注冊、語音通話、即時消息收發(fā)、聯(lián)系人管理等功能。JAVA本地接口層是JAVA應(yīng)用層與PJSIP協(xié)議碼層之間的橋梁,通過JNI定義PJSUA-LIB等函數(shù)的本地接口,使得應(yīng)用層能夠加載動態(tài)庫so文件,來實(shí)現(xiàn)SIP具體功能。PJSIP協(xié)議層主要包含封裝完整的PJSIP協(xié)議棧源碼,通過編譯可以生成動態(tài)庫so文件。內(nèi)核驅(qū)動層一般由驅(qū)動程序的開發(fā)廠商實(shí)現(xiàn),包含音頻驅(qū)動、網(wǎng)絡(luò)驅(qū)動等相關(guān)程序。

3 功能實(shí)現(xiàn)

系統(tǒng)設(shè)計(jì)目標(biāo)是在基于Android的智能手機(jī)上利用VoIP實(shí)現(xiàn)用戶登錄與注冊、語音通話、即時消息收發(fā)、聯(lián)系人管理等功能。

根據(jù)功能需求,在JAVA應(yīng)用層中,主要圍繞Android組件進(jìn)行。其中:

Activity:完成VoIP界面UI顯示;

Intent:主要實(shí)現(xiàn)VoIP系統(tǒng)Activity和Activity之間的切換與交互;

Service:完成VoIP系統(tǒng)Activity和后臺之間的聯(lián)系以及進(jìn)程間的通信;

Content Provider:完成數(shù)據(jù)保存及共享,主要保存參數(shù)設(shè)置、用戶狀態(tài)、聯(lián)系人數(shù)據(jù)等信息;

Broadcast:主要完成在VoIP系統(tǒng)內(nèi)信息的廣播,一般會和Content Provider結(jié)合,如當(dāng)數(shù)據(jù)改變時,則攜帶信息發(fā)送廣播,當(dāng)所有已注冊的廣播接收器接收到內(nèi)容之后進(jìn)行解析并進(jìn)行相應(yīng)操作。

需要說明的是,PJSIP協(xié)議層為底層C函數(shù),這些C函數(shù)編譯生成so庫,由JAVA層通過JNI調(diào)用。為方便Android調(diào)用,又將JAVA層的SIP服務(wù)進(jìn)一步封裝成Android中的標(biāo)準(zhǔn)service,進(jìn)而實(shí)現(xiàn)Android層對PJSIP的調(diào)用,實(shí)現(xiàn)語音與短信的通信傳輸。

下面結(jié)合PJSIP協(xié)議底層函數(shù),重點(diǎn)針對語音通信實(shí)現(xiàn)及即時消息收發(fā)流程介紹其功能實(shí)現(xiàn)。

3.1 語音通信實(shí)現(xiàn)

VoIP系統(tǒng)的語音通話實(shí)現(xiàn)主要包括三個步驟:語音采集與播放、壓縮與編碼和打包與傳輸。在利用PJSIP協(xié)議進(jìn)行語音通話設(shè)計(jì)時,主要利用PJMEDIA和PJMEDIA-CODEC相關(guān)函數(shù)實(shí)現(xiàn)語音的處理與傳輸。

當(dāng)用戶在VoIP界面撥號呼叫后,系統(tǒng)通過Android service中的方法調(diào)用,利用JNI進(jìn)入PjSipService中的 makecall函數(shù),進(jìn)而最終調(diào)用 pjsua. call_make_call()建立通話。

當(dāng)通話建立后,發(fā)送端Android智能手機(jī)從MIC獲取語音信號,并通過conference bridge與Codec連接,Codec根據(jù)選擇的編碼方式進(jìn)行encode,接著,編碼過的Payload加上RTP Header與UDP Header封裝成UDP語音包。

接收端,當(dāng)收到UDP語音包后,首先將UDP Header和RTP Header拿掉,接著放到j(luò)itter buffer內(nèi)暫存,由Codec依據(jù)兩端協(xié)商好的編解碼算法進(jìn)行解碼,并由conference bridge將解碼出的語音信號通過sound裝置播放出來。語音信號的發(fā)送與接收如圖3所示。

圖3 VoIP語音信號處理流程

在語音通話過程中,jitter buffer的作用是對媒體流進(jìn)行緩沖,從而處理由于網(wǎng)絡(luò)原因而造成的抖動和丟包現(xiàn)象。經(jīng)過jitter buffer處理的媒體流被Codec編解碼處理后,由conference bridge進(jìn)行參數(shù)調(diào)整,如時鐘速率、聲道等,隨之由音頻設(shè)備端口進(jìn)入音頻設(shè)備,由播放器Speaker播放出語音。

3.2 即時消息收發(fā)的實(shí)現(xiàn)

即時消息收發(fā)也是VoIP的基本功能之一,SIP利用一個擴(kuò)展的請求消息來實(shí)現(xiàn)即時消息機(jī)制,在其請求消息體中攜帶即時消息內(nèi)容。SIP的即時消息機(jī)制通常采用類似于尋呼器的工作模式,在這個模式里,每一條即時消息發(fā)送和接收都是一個單獨(dú)過程,與其它消息的處理沒有必然的上下文聯(lián)系。PJSIP中的PJSIP-SIMPLE提供了對即時消息通信的支持,本系統(tǒng)使用該模塊實(shí)現(xiàn)即時消息收發(fā)。

發(fā)送端,當(dāng)用戶在VoIP界面點(diǎn)擊短信發(fā)送后,系統(tǒng)Activity組件調(diào)用Android service,進(jìn)入SipService中的消息發(fā)送方法,從而利用JNI進(jìn)入PjSip Service中的sendMessage()函數(shù),在該函數(shù)內(nèi)部進(jìn)一步調(diào)用 pjsua.im_send(),即最終通過調(diào)用pjsua. im_send()函數(shù)完成消息發(fā)送。即時消息發(fā)送流程如圖4所示。

圖4 VoIP即時消息發(fā)送流程

其中,pjsua.im_send()函數(shù)定義如下:PJ_DEF

(pj_status_t)pjsua_im_send(pjsua_acc_idconst pj_tr_t*to,const pj_tr_t*mime_type,const pj_tr_t*content,const pjsua_msg_data*msg_data,void*user_data)

參數(shù)acc_id是發(fā)送消息的賬戶ID;to為路由地址,包含用戶名和下一跳路由地址,格式一般是<sip:用戶名@IP地址:端口>,端口為空,則默認(rèn)使用 5060;mime_type是消息的互聯(lián)網(wǎng)媒體類型;content是消息的內(nèi)容;msg_data是在消息頭部中要添加的頭域列表,可選;user_data是用戶數(shù)據(jù),可選。

接收端,可以利用pager2()函數(shù)來實(shí)現(xiàn)信息接收,其參數(shù)不再贅述。

4 系統(tǒng)測試

FreeSwitch是一個功能強(qiáng)大的VoIP開源軟交換機(jī),以軟件形式提供了完善的專用交換機(jī)功能,兼容多種主流協(xié)議,包括SIP、H.323等,可實(shí)現(xiàn)撥號通信、會議電話、互動式語音應(yīng)答、語音信箱、會話記錄等業(yè)務(wù)功能[8]。在Windows Server 2008操作系統(tǒng)中利用FreeSwitch 1.6版本構(gòu)建服務(wù)器,分別在三臺Android版本為4.0.3、4.2.1和6.0的智能手機(jī)上安裝VoIP系統(tǒng),并進(jìn)行聯(lián)網(wǎng)測試,在WIFI及3G/4G網(wǎng)絡(luò)下三臺手機(jī)之間均可進(jìn)行正常語音與即時消息通信,系統(tǒng)運(yùn)行穩(wěn)定,達(dá)到了預(yù)期設(shè)計(jì)目標(biāo)。

5 結(jié)束語

利用PJSIP開源協(xié)議設(shè)計(jì)實(shí)現(xiàn)了基于Android的VoIP系統(tǒng),并重點(diǎn)分析了PJSIP實(shí)現(xiàn)語音通信和即時消息收發(fā)的工作流程,為后續(xù)在此基礎(chǔ)上實(shí)現(xiàn)語音與即時消息加密打下了良好基礎(chǔ)。實(shí)驗(yàn)證明該系統(tǒng)性能穩(wěn)定、運(yùn)行可靠,在此基礎(chǔ)上豐富離線消息收發(fā)、通話加密等功能,將進(jìn)一步拓展其實(shí)用性。

[1]Infonetics Research raises VoLTE forecast.Over-the-top mobile VoIP subscribers nearing 1 billion mark(2013) [EB/OL].http://www.infonetics.com/pr/2013/MobileVoIPServices-and-Subscribers-Market-Highlights.asp.

[2]Kantar Worldpanel ComTech.Smartphone OS sales market share[EB/OL].http://www.kantarworldpanel.com/global/smartphone-os-market-share.

[3]文松松.基于SIP協(xié)議的語音對講系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:西南交通大學(xué),2013. Wen Songsong.Design and implementation ofvoice intercom systembased on SIP protocol[D].Chengdu:Southwest JiaotongUniversity,2013.

[4]Rosenberg J,Schulzrinne H,Camarillo G,et al.SIP:Session Initiation Protocol[S].RFC3261,IETF,2002.

[5]凌小榮.基于SIP網(wǎng)絡(luò)音視頻通信的研究與實(shí)現(xiàn) [D].廣州:華南理工大學(xué),2014. Ling Xiaorong.Research and implementation of Internet audio/video communication based on SIP[D].Guangzhou:South China UniversityofTechnology,2014.

[6]Benny Prijono.PJSIP-Open Source SIP Stack[EB/OL]. http://www.pisip.org.

[7]王冉.基于Android的多媒體及相關(guān)技術(shù)的研究與應(yīng)用[D].北京:北京郵電大學(xué),2013. Wang Ran.Research and implementation of multimedia technologybased on Android[D].Beijing:BeijingUniversity ofPosts and Telecommunications,2013.

[8]FreeSwitch[EB/OL].https://freeswitch.org.

Design and Implementation of VoIP Based on Android Platform

Du Qicai1,Deng Chenggang2,Liu Ying3,Lin Jiayu4

(1.Special Operations Academy,Guangzhou 510500,China;2.Guangdong Zhongke Research Institute of Civil-military Integration Industry,Guangzhou 510070,China;3.School of Electronic Science and Engineering,Changsha 410073,China; 4.Changsha Xinxi Digital Technology Co.,Ltd.,Changsha 410073,China)

As the rapid development of the mobile communication and embedded systems,Voice over Internet Protocol(VoIP)on smart mobile devices has become increasingly popular among individuals, business organizations and governments.For the smart mobile devices,the Android OS,which has been attracted by customers and manufactures due to its openness and flexibility,has occupied the absolute dominant position on the global market.So,it has wide market prospect to design and implement the VoIP based on Android platform.This paper introduces the architecture of PJSIP stack,analyzes the communication flow of voice and instant message,uses Android system as a running platform,and realizes the system of voice call in the Internet.After testing this system through the open source server FreeSwitch,it can run on smart phones using different variations of Android,and also support stable voice call and instant message transmission in 3G,4G and WIFI network.The result shows that it has good functionality and stability.

VoIP system;Android platform;PJSIP stack;Smart phones;Voice communication;Instant message

10.3969/j.issn.1002-2279.2017.02.010

TP393

A

1002-2279-(2017)02-0041-04

廣東省科技裝備動員項(xiàng)目《軍用智能手機(jī)端到端保密通信系統(tǒng)》

杜奇才(1981-),男,山東省滕州市人,碩士研究生,講師,主研方向:偵察裝備技術(shù)、信息與通信技術(shù)。

2016-08-31

猜你喜歡
智能手機(jī)功能系統(tǒng)
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
智能手機(jī)是座礦
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
智能手機(jī)臉
英語文摘(2020年5期)2020-09-21 09:26:30
假如我是一部智能手機(jī)
趣味(語文)(2018年8期)2018-11-15 08:53:00
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關(guān)于非首都功能疏解的幾點(diǎn)思考
智能手機(jī)
小說月刊(2014年4期)2014-04-23 08:52:21
主站蜘蛛池模板: 国产黑丝视频在线观看| 久久精品国产91久久综合麻豆自制| 熟妇无码人妻| 影音先锋亚洲无码| 国产a v无码专区亚洲av| 日韩亚洲综合在线| 一本久道久久综合多人| 中文字幕精品一区二区三区视频| 男人天堂亚洲天堂| 国产裸舞福利在线视频合集| 精品国产三级在线观看| 亚洲免费福利视频| 美女潮喷出白浆在线观看视频| 婷婷亚洲最大| 久久国产乱子| 国产福利在线观看精品| 欧美不卡视频在线观看| 最新国产午夜精品视频成人| 黄色在线不卡| 永久毛片在线播| 黄色片中文字幕| 制服丝袜一区| 国产午夜不卡| 国产人碰人摸人爱免费视频| 91小视频在线观看| 国产成人免费视频精品一区二区| 精品成人一区二区三区电影| 欧美成人一级| 孕妇高潮太爽了在线观看免费| 亚洲AV人人澡人人双人| 午夜色综合| 人妻丝袜无码视频| 亚洲精品视频在线观看视频| 国产精品丝袜在线| 国产91麻豆免费观看| 国产区成人精品视频| 在线观看国产精品一区| 国产日本视频91| 国产亚洲现在一区二区中文| 国产黄色片在线看| 国产综合色在线视频播放线视| 亚洲天堂免费在线视频| 91精品aⅴ无码中文字字幕蜜桃 | 欧美α片免费观看| 日日碰狠狠添天天爽| 亚洲精品视频网| 白浆免费视频国产精品视频| 72种姿势欧美久久久久大黄蕉| 香蕉视频在线观看www| 国内丰满少妇猛烈精品播| 久久久久久午夜精品| 久久人妻系列无码一区| 久久免费视频6| 国产网站在线看| 亚洲手机在线| 无码久看视频| 免费人成在线观看成人片 | 日韩精品无码不卡无码| 成人精品免费视频| 成人福利在线免费观看| 小蝌蚪亚洲精品国产| 久久免费看片| 女同国产精品一区二区| 一本大道无码日韩精品影视| 色综合a怡红院怡红院首页| 久久婷婷五月综合97色| 精品一区二区三区无码视频无码| 亚洲欧美不卡| 午夜国产大片免费观看| 麻豆国产在线观看一区二区 | 亚洲欧州色色免费AV| 久草中文网| 国产欧美自拍视频| 伊人欧美在线| 精品久久久久无码| 日韩中文精品亚洲第三区| 欧美视频在线播放观看免费福利资源 | 又猛又黄又爽无遮挡的视频网站| 青青青视频免费一区二区| 国产丝袜丝视频在线观看| 伊人精品成人久久综合| 99久久精品视香蕉蕉|