55

我需要在我的 Android 应用程序中集成 VoIP 服务。
有没有免费(最好的开源)库?

我需要图书馆至少允许通过互联网进行语音通话,而不一定是互联网到电话(如 2 个 Skype 帐户)。

4

3 回答 3

61

从 android 版本 2.3 开始,在 Android 中添加了 SIP API。您可以使用内置的 SipStack 库或第三方开源 sip 堆栈。

请参阅Android 开发者指南

互联网上有不同的开源 sip 堆栈库和项目。您可以下载该项目的源代码。

这是一些流行的开源 sip 堆栈库的列表,这些库允许通过 Internet 进行语音呼叫。

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

有不同的开源项目在他们的项目中使用了这些库。比如 Sipdroid使用MjSipCsipsimple使用PjSipimsdroid使用doubangoLinphone使用belle-sip

您可能还想参考这个Android SIP 堆栈 - 使用什么?

于 2012-11-22T11:31:47.107 回答
37

开源 SIP 堆栈:

  1. Android SDK 的默认实现(API > 9):
    优点:文档可用。容易明白。
    缺点:并非所有设备都受支持。无法更改编解码器。

  2. 第三方

爪哇:

  • JainSIP(许可证:公共领域)

优点:Oracle (Sun) 项目 ==> 积极开发。看起来比 MjSIP 更容易(更多文档)。
缺点:未在“著名”应用程序中使用。

  • MjSIP(许可证:GNU GPL)

优点:SipDroid 是建立在它之上的。(提供源代码)(red5phone 是另一个项目) 缺点:不完全符合 RFC?缺乏教程(尽管有 Javadocs)。复杂的。发展几乎死了。

  • Doubango 框架 [android-ngn-stack](许可证:GNU GPLv3)

优点:IMSDroid是建立在它之上的。(源代码可用)
缺点:生成的apk文件大小往往是“重”(> 15MB,如此所述)

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

于 2013-03-25T00:34:30.700 回答
5

如果您需要 VoIP 但不需要 SIP,请查看 WebRTC http://www.webrtc.org/

于 2013-06-18T14:55:27.387 回答