<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應用 > 基于Android的VoIP系統(tǒng)的設(shè)計與實現(xiàn)

          基于Android的VoIP系統(tǒng)的設(shè)計與實現(xiàn)

          作者: 時間:2011-04-21 來源:網(wǎng)絡(luò) 收藏

          摘要:為一個平臺的網(wǎng)絡(luò)電話,提出一個PJSIP堆棧的方案。該方案符合 NDK開發(fā)規(guī)范,即上層使用Java語言開發(fā),下層采用純C語言的PJSIP庫開發(fā)其協(xié)議棧,并使用JNI連接上下兩部分。在此敘述了PJSIP的原理,并以此為出發(fā)點,分析并了一個具體的。最后通過測試,該方案能很好地完成會話的發(fā)起、應答、通信,以及會話的注銷等功能,達到了要求。
          關(guān)鍵詞:;網(wǎng)絡(luò)電話;PJSIP;JNI;NDK

          0 引言
          (Voice over Internet Protocol)即首先數(shù)字化語音信號并壓縮成幀,轉(zhuǎn)換為IP數(shù)據(jù)包在網(wǎng)絡(luò)上傳輸,以此完成語音通話的業(yè)務,是一種利用IP協(xié)議傳輸語音數(shù)據(jù)的、新興的通信技術(shù)。
          隨著我國三網(wǎng)融合的推進,VoIP與IPTV(Interactive Personality TV)一起成為這一龐大工程的重要標志。而目前手機中,VoIP的解決方案并不是很多,特別是在Google公司推出的開源操作Android中。盡管該系統(tǒng)推出時間不長,憑借強大的功能、良好的界面、廣泛的商業(yè)支持,為用戶帶來很好的體驗,成為2010年最熱門且發(fā)展最快的手機操作系統(tǒng)。因此,兩者的結(jié)合,將是未來的發(fā)展趨勢。本文提出一種PJSIP協(xié)議棧的解決方案,通過Android本地開發(fā)工具(NDK),一個高效、穩(wěn)定且功能強大的VoIP系統(tǒng),具有較高的參考和實用價值。

          1 VoIP設(shè)計方案
          1.1 設(shè)計目標
          本方案所設(shè)計的系統(tǒng)包含以下功能:首先,完成用戶終端(如手機)中語音數(shù)據(jù)的采集與編碼,并通過RTP(實時傳輸協(xié)議)/RTCP(RTP傳輸控制協(xié)議)進行傳輸和控制;其次,完成會話的控制,包括會話的注冊、發(fā)起、維護與結(jié)束、注銷等;再次,作為一個應用程序,必須一個良好的界面,與用戶交互;最后,作為一個開放系統(tǒng),需具有良好的可擴展性。
          1.2 總體設(shè)計
          本方案基本上符合Android的NDK框架的開發(fā)規(guī)范,將系統(tǒng)分為4層,如圖1所示。最上層為應用層,該層將在Android SDK的框架內(nèi),采用Java語言來實現(xiàn);第二層為JNI層,SIP協(xié)議棧有很多種實現(xiàn),其中,采用C語言的SIP協(xié)議棧在效率、速度、系統(tǒng)占用方面有著超越其他庫(如Java協(xié)議棧)的優(yōu)勢,因此,該方案將在第三層采用純C語言實現(xiàn)的PJSIP協(xié)議棧。為了讓Java應用層能調(diào)用協(xié)議棧層,在兩層之間需要一個銜接的橋梁,這就是JNI層。最后一層是驅(qū)動層,這部分一般是由手機廠商來實現(xiàn)的,本文將不做重點介紹。

          本文引用地址:http://www.ex-cimer.com/article/156376.htm

          a.JPG


          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();