2012-11-22 122 views
45

我需要在我的Android應用程序中集成VoIP服務。
有沒有免費的(最好的開源)庫?適用於Android的VoIP庫

我需要圖書館至少允許通過互聯網進行語音通話,而不一定需要通過互聯網進行通話(如2個Skype帳戶)。

回答

53

從Android 2.3版本開始,Android API中添加了SIP API。您可以使用內置的SipStack庫或第三方開源sip堆棧。

參考Android Developer's Guide

有不同的開源SIP協議棧庫以及項目提供互聯網上。您可以下載該項目的源代碼。

這裏是一些流行的開源sip堆棧庫允許通過互聯網進行語音通話的列表。

1. Pjsip
2. Mjsip
3. doubango
4. belle-sip

有已在其projects.like Sipdroid使用這些庫不同開源項目採用MjSipCsipsimple用途PjSip,imsdroid使用doubangoLinphone使用belle-sip

您可能也喜歡引用這個Android SIP stack - what to use?

+0

你能打電話和登錄TLS我正在嘗試使用douubango,但不是運行於UDP上的TLS,它工作正常 – Khan

+0

@Khan對不起,我沒有深入研究,但是你可以試試[Lumicall](http://www.lumicall.org/) ),它支持TLS,它也是一個開放源碼 – juned

+0

我試圖實施CSIPSimple它有4或5個項目,它也顯示和錯誤你怎麼配置它 – Khan

30

開源SIP堆棧:

  1. Android SDK中的默認實現(API> 9):
    優點:提供的文檔。容易明白。
    缺點:並非所有設備都支持。僅在大多數設備上使用WiFi。無法更改編解碼器。

  2. 第三方

的Java:

  • JainSIP(許可證:公共領域)

優勢:甲骨文(星期日)項目==>活動的發展。看起來比MjSIP更容易(更多文檔)。
缺點:沒有用於「着名」的應用程序。

  • MjSIP(許可證:GNU GPL)

優點:SipDroid是建立在它。 (源代碼可用)(red5phone是另一個項目) 缺點:不完全符合RFC ?.缺乏教程(儘管可用Javadocs)。成熟。發展幾乎死亡。

  • Doubango框架[機器人-NGN-堆](許可證:GNU GPLv3的)

優點:IMSDroid是建立在它。 (可用的源代碼)
缺點:生成apk文件大小往往是 「重」(> 15MB如所提到的here

C/C++:

  • 本地SIP棧

優點:各種選擇(PjSip [CSipSimple],GNU oSIP/eXoSIP [Linphone,它已經做出了自己的堆棧belle-sip])。完全符合RFC ?.更好的性能。
缺點:初學者的Android NDK/JNI。

源(舊的和主要的C/C++):

http://www.cs.columbia.edu/sip/implementations.html
http://www.pernau.at/kd/voip/bookmarks-sip-stacks.html

+1

「僅在WiFi上工作」---嗯,奇怪,我通常通過3G撥打自己 – djdance

+0

「Works on Wifi only」是否有任何文件參考? – ZhangLei

+0

@ZhangLei「在大多數設備,它只能通過無線網絡的工作原理,沒有3G或LTE(注意'android.net.sip.SipManager' contains方法['isSipWifiOnly'](http://developer.android.com/reference/ Android設備/網絡/ SIP/SipManager.html#isSipWifiOnly(android.content.Context))知道,如果啓用此限制)。」 【來源】(http://stackoverflow.com/a/20583243/1449056) – JohnTube