适用于 Android 的 VoIP 库 [关闭]
Posted
技术标签:
【中文标题】适用于 Android 的 VoIP 库 [关闭]【英文标题】:VoIP library for Android [closed] 【发布时间】:2012-11-10 18:33:25 【问题描述】:我需要在我的 android 应用程序中集成 VoIP 服务。 有没有免费(最好的开源)库?
我需要图书馆至少允许通过互联网进行语音通话,而不一定是互联网到电话(如 2 个 Skype 帐户)。
【问题讨论】:
【参考方案1】:开源 SIP 堆栈:
Android SDK 的默认实现(API > 9): 优点:文档可用。易于理解。 缺点:并非所有设备都受支持。无法更改编解码器。
第三方
Java:
JainSIP(许可证:公共领域)优势:Oracle (Sun) 项目 ==> 积极开发。看起来比 MjSIP 更容易(更多文档)。 缺点:没有在“著名”应用中使用。
MjSIP(许可证:GNU GPL)优点:SipDroid 是建立在它之上的。 (提供源代码)(red5phone 是另一个项目) 缺点:不完全符合 RFC?缺乏教程(尽管有 Javadocs)。复杂的。开发几乎死了。
Doubango 框架 [android-ngn-stack](许可证: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.htmlhttp://www.pernau.at/kd/voip/bookmarks-sip-stacks.html
【讨论】:
“仅在 WiFi 上工作” --- 嗯,奇怪,我只是通过 3G 正常调用自己 是否有“Works on Wifi only”的文档参考? @ZhangLei "在大多数设备中,它只能通过 WiFi,而不是 3G 或 LTE 工作(注意android.net.sip.SipManager
包含方法 isSipWifiOnly
以了解是否启用了此限制)。" source
@JohnTube 感谢您的耐心等待。顺便说一句,当我在两端使用扬声器时,我发现音频质量总是变差,噪音太大。 (我正在尝试使用 android sdk 和 linphone 的 sip 堆栈。)你知道吗?
抱歉,我帮不了你。【参考方案2】:
从 android 版本 2.3 开始,在 Android 中添加了 SIP API。您可以使用内置的 SipStack 库或第三方开源 sip 堆栈。
参考Android Developer's Guide
互联网上有不同的开源 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?
【讨论】:
你能在 TLS 上打电话和登录吗?我正在尝试使用 doubango,但在 UDP 上的 TLS 运气不好,它工作正常 @Khan 抱歉,我没有深入研究这个,但是你可以试试Lumicall,它支持 TLS 并且它也是一个开源的 我尝试实现 CSIPSimple 它有 4 或 5 个项目,它还显示和错误你如何配置它 祝Android SIP 接口正常工作。在他们假定的演示之外的任何工作示例的快速谷歌搜索将是徒劳的。我已经spent hours 试图让演示连接到在其他客户端工作但没有运气的 SIP 服务器,而且似乎没有人能够/关心解决这个问题,这已被广泛报道。它还依赖于 javax,即使尝试在我的项目中构建整个 SIP 堆栈也无法完成,除非您想构建整个 Android 操作系统。 @Gemi,没有谷歌不会主持你的电话。您可以通过在系统(本地或远程)中安装任何电话引擎(如 Asterisk 或 Freeswitch)来创建自己的服务器,然后您就可以开始了【参考方案3】:如果您需要 VoIP 但不需要 SIP,请查看 WebRTC http://www.webrtc.org/
【讨论】:
以上是关于适用于 Android 的 VoIP 库 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
适用于 Android 的 SSH Java 库? [关闭]
是否有适用于 Android 和 iOS 的 OCR 开源库或 sdk(免费)? [关闭]
适用于 Android 的最佳 json rpc 2.0 库 [关闭]
是否已经有适用于 Java/Android 的 OAuth2 库? [关闭]