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

基于Android平臺的VoIP設計實現*

2017-07-31 19:22:34杜奇才鄧誠剛林嘉宇
微處理機 2017年2期
關鍵詞:智能手機功能系統

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

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

基于Android平臺的VoIP設計實現*

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

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

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

VoIP系統;Android平臺;PJSIP協議;智能手機;語音通信;即時消息

1 引言

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

基于Android平臺和PJSIP開源協議,實現了一個具備語音通信和即時消息收發功能的VoIP系統,并利用開源服務器FreeSwitch進行了功能測試。測試結果表明,該系統能夠很好的完成會話的發起、應答、通信等功能,基本滿足了設計要求,具有一定的實用性。

2 系統設計

VoIP[3]是通過IP網絡實時傳送語音數據的一種通訊方式,目前有多種標準信令協議支持VoIP的部署和實施,其中SIP是使用最為廣泛的協議,具有簡單、靈活、易于移植的特點,非常適合基于Android操作系統的VoIP開發。

2.1 SI P協議選擇

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

2.2 PJSI P協議分析

PJSIP架構清晰,功能齊全,各子模塊層次結構如圖1所示[6]。

圖1 PJSIP結構框圖

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

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

2.3 系統總體架構

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

圖2 VoIP總體框架

其中,JAVA應用層使用JAVA語言開發,完成界面設計以及用戶與系統的交互,通過調用JNI接口實現VoIP的注冊、語音通話、即時消息收發、聯系人管理等功能。JAVA本地接口層是JAVA應用層與PJSIP協議碼層之間的橋梁,通過JNI定義PJSUA-LIB等函數的本地接口,使得應用層能夠加載動態庫so文件,來實現SIP具體功能。PJSIP協議層主要包含封裝完整的PJSIP協議棧源碼,通過編譯可以生成動態庫so文件。內核驅動層一般由驅動程序的開發廠商實現,包含音頻驅動、網絡驅動等相關程序。

3 功能實現

系統設計目標是在基于Android的智能手機上利用VoIP實現用戶登錄與注冊、語音通話、即時消息收發、聯系人管理等功能。

根據功能需求,在JAVA應用層中,主要圍繞Android組件進行。其中:

Activity:完成VoIP界面UI顯示;

Intent:主要實現VoIP系統Activity和Activity之間的切換與交互;

Service:完成VoIP系統Activity和后臺之間的聯系以及進程間的通信;

Content Provider:完成數據保存及共享,主要保存參數設置、用戶狀態、聯系人數據等信息;

Broadcast:主要完成在VoIP系統內信息的廣播,一般會和Content Provider結合,如當數據改變時,則攜帶信息發送廣播,當所有已注冊的廣播接收器接收到內容之后進行解析并進行相應操作。

需要說明的是,PJSIP協議層為底層C函數,這些C函數編譯生成so庫,由JAVA層通過JNI調用。為方便Android調用,又將JAVA層的SIP服務進一步封裝成Android中的標準service,進而實現Android層對PJSIP的調用,實現語音與短信的通信傳輸。

下面結合PJSIP協議底層函數,重點針對語音通信實現及即時消息收發流程介紹其功能實現。

3.1 語音通信實現

VoIP系統的語音通話實現主要包括三個步驟:語音采集與播放、壓縮與編碼和打包與傳輸。在利用PJSIP協議進行語音通話設計時,主要利用PJMEDIA和PJMEDIA-CODEC相關函數實現語音的處理與傳輸。

當用戶在VoIP界面撥號呼叫后,系統通過Android service中的方法調用,利用JNI進入PjSipService中的 makecall函數,進而最終調用 pjsua. call_make_call()建立通話。

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

接收端,當收到UDP語音包后,首先將UDP Header和RTP Header拿掉,接著放到jitter buffer內暫存,由Codec依據兩端協商好的編解碼算法進行解碼,并由conference bridge將解碼出的語音信號通過sound裝置播放出來。語音信號的發送與接收如圖3所示。

圖3 VoIP語音信號處理流程

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

3.2 即時消息收發的實現

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

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

圖4 VoIP即時消息發送流程

其中,pjsua.im_send()函數定義如下: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)

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

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

4 系統測試

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

5 結束語

利用PJSIP開源協議設計實現了基于Android的VoIP系統,并重點分析了PJSIP實現語音通信和即時消息收發的工作流程,為后續在此基礎上實現語音與即時消息加密打下了良好基礎。實驗證明該系統性能穩定、運行可靠,在此基礎上豐富離線消息收發、通話加密等功能,將進一步拓展其實用性。

[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協議的語音對講系統的設計與實現[D].成都:西南交通大學,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網絡音視頻通信的研究與實現 [D].廣州:華南理工大學,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的多媒體及相關技術的研究與應用[D].北京:北京郵電大學,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

廣東省科技裝備動員項目《軍用智能手機端到端保密通信系統》

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

2016-08-31

猜你喜歡
智能手機功能系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
智能手機是座礦
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
智能手機臉
英語文摘(2020年5期)2020-09-21 09:26:30
假如我是一部智能手機
趣味(語文)(2018年8期)2018-11-15 08:53:00
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
智能手機
小說月刊(2014年4期)2014-04-23 08:52:21
主站蜘蛛池模板: 国产熟睡乱子伦视频网站| 国产精品免费入口视频| 欧美成人一级| 激情综合网址| 精品视频在线一区| 国产精品一区在线麻豆| 欧美成人看片一区二区三区 | 欧美性精品| 久久一级电影| 国产性生交xxxxx免费| 97在线公开视频| 国产一二三区视频| 精品久久国产综合精麻豆| 亚洲精品无码在线播放网站| 日本人真淫视频一区二区三区| 成人夜夜嗨| 久久国产精品娇妻素人| 中文字幕免费在线视频| 日韩专区第一页| 国产视频入口| 精品国产91爱| 黄网站欧美内射| 55夜色66夜色国产精品视频| 亚洲国产黄色| 日韩黄色大片免费看| 国产精品嫩草影院视频| 2022国产无码在线| 四虎国产永久在线观看| 亚洲愉拍一区二区精品| 国产精品第一区| 久久青青草原亚洲av无码| 国产主播喷水| 91免费国产在线观看尤物| 1级黄色毛片| a级毛片免费看| 中国毛片网| 亚洲无码A视频在线| 国产99免费视频| 人妻丰满熟妇啪啪| 国产精品免费久久久久影院无码| 亚洲中久无码永久在线观看软件| 99精品久久精品| 操操操综合网| 人妻丰满熟妇αv无码| 国产在线自揄拍揄视频网站| 亚洲V日韩V无码一区二区| 久久综合AV免费观看| 亚洲三级电影在线播放| 狠狠色香婷婷久久亚洲精品| 久久久噜噜噜久久中文字幕色伊伊 | 无码日韩精品91超碰| 国产亚洲精品97AA片在线播放| 国产肉感大码AV无码| 再看日本中文字幕在线观看| 91精品免费久久久| 欧美国产另类| 91欧美亚洲国产五月天| 国产电话自拍伊人| 91小视频在线观看免费版高清| 国产免费网址| 理论片一区| 午夜天堂视频| 亚洲最大看欧美片网站地址| 午夜日本永久乱码免费播放片| 99ri国产在线| 国产精品欧美在线观看| 亚洲一区第一页| 久久综合色88| 99无码中文字幕视频| 国产激情无码一区二区免费| 日韩在线视频网| 亚洲欧美日韩综合二区三区| 国产www网站| 色爽网免费视频| 日韩精品一区二区三区免费| 在线视频亚洲色图| 18禁黄无遮挡网站| 亚洲综合天堂网| 999在线免费视频| 婷婷色丁香综合激情| 成人福利在线看| 国产亚洲现在一区二区中文|