适用于Android的VoIP库
我需要在我的Android应用程序中集成VoIP服务。
有没有免费的(最好的开源)库?
我需要图书馆至less允许通过互联网进行语音通话,而不一定是互联网电话(如2个Skype帐户)。
从android 2.3版本开始,Android API中添加了SIP API。 您可以使用内置的SipStack库或第三方开源sip堆栈。
请参阅Android开发人员指南
有不同的开源SIP堆栈库以及互联网上的项目。 您可以下载该项目的源代码。
这里是一些stream行的开源sip堆栈库允许通过互联网进行语音通话的列表。
1. Pjsip
2. Mjsip
来自“简明英汉词典”
4. belle-sip
有不同的开源项目已经在他们的项目中使用这些库。 像Sipdroid使用MjSip , Csipsimple使用PjSip , imsdroid使用doubango和Linphone使用belle-sip 。
你也可以参考这个Android的SIP堆栈 – 使用什么?
开源的SIP堆栈:
-
Android SDK的默认实现(API> 9):
优点:可用的文档。 容易明白。
缺点:不是所有的设备都支持。 仅在大多数设备上使用WiFi。 无法更改编解码器。 -
第三方
Java:
- JainSIP(许可证:公有领域)
优点:Oracle(Sun)工程==>主动开发。 看起来比MjSIP更容易(更多文档)。
缺点:没有在“着名”的应用程序中使用。
- MjSIP(许可证:GNU GPL)
优点:SipDroid是build立在它。 (源代码可用)(red5phone是另一个项目)缺点:不完全符合RFC ?. 缺乏教程(尽pipe可用Javadocs)。 成熟。 发展几乎死了。
- Doubango框架[android-ngn-stack](license:GNU GPLv3)
优点:IMSDroidbuild立在它上面。 (可用的源代码)
缺点:生成的apk文件大小往往是“重”(> 15MB 这里提到)
C / C ++:
- 本地SIP堆栈
优点:各种select(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
如果您需要VoIP而不是SIP,请查看WebRTC http://www.webrtc.org/