【发布时间】:2012-11-10 18:33:25
【问题描述】:
我需要在我的 Android 应用程序中集成 VoIP 服务。
有没有免费(最好的开源)库?
我需要图书馆至少允许通过互联网进行语音通话,而不一定是互联网到电话(如 2 个 Skype 帐户)。
【问题讨论】:
标签: android open-source voip
我需要在我的 Android 应用程序中集成 VoIP 服务。
有没有免费(最好的开源)库?
我需要图书馆至少允许通过互联网进行语音通话,而不一定是互联网到电话(如 2 个 Skype 帐户)。
【问题讨论】:
标签: android open-source voip
开源 SIP 堆栈:
Android SDK 的默认实现(API > 9):
优点:文档可用。易于理解。
缺点:并非所有设备都受支持。无法更改编解码器。
第三方
Java:
优势:Oracle (Sun) 项目 ==> 积极开发。看起来比 MjSIP 更容易(更多文档)。
缺点:没有在“著名”应用中使用。
优点:SipDroid 是建立在它之上的。 (提供源代码)(red5phone 是另一个项目) 缺点:不完全符合 RFC?缺乏教程(尽管有 Javadocs)。复杂的。开发几乎死了。
优点:IMSDroid 是建立在它之上的。 (提供源代码)
缺点:生成的 apk 文件大小往往“很大”(>15MB,如 here 所述)
C/C++:
优点:多种选择(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
【讨论】:
android.net.sip.SipManager 包含方法 isSipWifiOnly 以了解是否启用了此限制)。" source
从 android 版本 2.3 开始,在 Android 中添加了 SIP API。您可以使用内置的 SipStack 库或第三方开源 sip 堆栈。
互联网上有不同的开源 sip 堆栈库和项目。您可以下载该项目的源代码。
这里是一些流行的开源 sip 堆栈库的列表,这些库允许通过互联网进行语音呼叫。
1.Pjsip
2.Mjsip
3.doubango
4.belle-sip
有不同的开源项目在他们的项目中使用了这些库。比如Sipdroid 使用 MjSip,Csipsimple 使用 PjSip,imsdroid 使用 doubango 和 Linphone 使用 belle-sip。
你也可以参考这个Android SIP stack - what to use?
【讨论】:
如果您需要 VoIP 但不需要 SIP,请查看 WebRTC http://www.webrtc.org/
【讨论】: