我正在使用本机 sip api 在 android 应用程序中实现 sip 呼叫,它工作正常,但在某些设备(如 CANVAS 3)中它无法工作。调试后我发现这行代码正在返回NULL
**manager = SipManager.newInstance(ctx);**
这意味着该设备不支持 Sip API。但是在同一设备上,其他 sipcalling 应用程序(如 SipDroid 等)可以正常工作。这怎么可能?他们不使用本机 sip API 吗???
您可以使用自定义 SipLibraries。
适用于 Android 的第三方开源 sip 堆栈库
- 耆那教抿了一口:http://jsip.java.net/
- Pjsip: http://www.pjsip.org/
- Mjsip: http://mjsip.org/mjua.html
- 杜班戈:http://www.doubango.org/
有不同的开源项目在其项目中使用了这些库。
- Jain sip:未在“著名”应用程序中使用。
- Sipdroid使用MjSip
- Csipsimple 使用 PjSip
- Imsdroid 使用 doubango。
开源 SIP 堆栈:Android SDK 的默认实现 (API > 9)
优点: 提供文档。容易明白。
缺点:由于运营商的限制,并非所有设备都受支持。仅适用于 WiFi。无法更改编解码器。
第三方:JainSIP
优点:Oracle(Sun)项目==>积极开发。看起来比 MjSIP 更容易(更多文档)。
缺点:无Android 2.3 使用外部 JAIN-SIP(J-SIP) 堆栈 |类路径
第三方:MjSIP
优点: SipDroid 是在其上构建的。 (源代码可用)(red5phone是另一个项目)
缺点:不完全符合RFC?。缺乏教程(尽管有 Javadocs)。开发几乎停滞
第三方:Doubango框架
优点:IMSDroid 是在其上构建的。 (可获取源代码)
缺点:生成的 apk 文件大小往往“很大”(>15MB,如此处所述)
已关注from
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)