本文介绍了SipApi不支持一些设备的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用本地SIP API来实现SIP呼叫的Andr​​oid应用程序,它工作正常,但像帆布3一些设备就不能正常工作。经过调试,我发现这行code的返回 NULL

I am using native sip apis to implement sip calling in android app and it is working fine but in some devices like CANVAS 3 it was not working .After debugging I found this line of code was returning NULL

 **manager = SipManager.newInstance(ctx);**

这是该设备不支持SIP Apis.But在同一设备的其他应用程序一样SipDroid等sipcalling正在properly.How有可能measns?难道他们不使用本地SIP蜜蜂???

That measns that device does not support Sip Apis.But on the same device other application for sipcalling like SipDroid etc are working properly.How it is possible ?Are they do not use native sip Apis???

推荐答案

只是为了补充SilentKiller响应我把我的回答这个的问题,但是,请记住,选择一个堆栈是一个相当复杂的任务,取决于你的目标和preferences。

Just to complement SilentKiller response I would forward my answer to this question but, please, keep in mind that choosing a stack is a quite complex task and depends of your goals and preferences.

这是一个古老的 JAIN SIP 版本加了一些扩展(IMS,支持RTP等Android的SIP协议栈继电器)。主要问题与此堆栈是,在大部分的设备,它只能通过WiFi,没有3G或LTE(注:作品 android.net.sip.SipManager contains方法 isSipWifiOnly 知道,如果这种限制被启用)。

Android SIP Stack relays on an old JAIN SIP version plus some extensions (IMS, supporting RTP, etc.). Main problem with this stack is that, in most devices, it only works via WiFi, no 3G or LTE (note that android.net.sip.SipManager contains method isSipWifiOnly to know if this limitation is enabled).

在另一方面, PJSIP 还是比较齐全的,就像他们说的,这不是一个SIP栈而是一个完整的多媒体通信库。这真是多才多艺:你可以使用一个巨大的配置数量,或只是把它作为的。它适用于任何类型的数据连接(不限于无线网络)的。

On the other hand, pjsip is quite complete, like they say, it's not a SIP stack but a full multimedia communications library. It's really versatile: you can use a huge number of configuration or just run it as a simple user agent. It works with any kind of data connection (not limited to WiFi).

现在的比较:在我看来, PJSIP 更完整和灵活,但更难以与你整合项目(采用Android SIP协议栈的一切仍然在SDK环境的同时,与 PJSIP ,你就需要使用NDK和JNI库)。

Now the comparison: In my opinion, pjsip is more complete and versatile but more difficult to integrate with you project (with Android SIP Stack everything remains in the SDK environment while, with pjsip, you would need to use the NDK and a JNI library).

我的意见:如果你打算创建一个非常简单的SIP应用程序,你不介意的WiFi的限制,我认为,最好将使用本地SIP API,但是,如果你打算改善它,做更多的事情有趣,我会强烈建议 PJSIP 。我用两个JAIN SIP和 PJSIP ,并再次,我的投票去了 PSIP 。但是,这只是我的看法。

My opinion: If you plan to create a very simple SIP app and you don't mind the WiFi limitation, I think, the best would be using native SIP API but, if you plan to improve it and do something more "interesting", I would strongly recommend pjsip. I've used both JAIN SIP and pjsip and, again, my vote goes for psip. But this is just my opinion.

还有其他第三方栈一点,实在值得检查:的。它也融入了JNI(如PJSIP)项目,也是相当完备,但是,也许,更多的是有点复杂和沉重。

There's also another third party stack that worths checking: Linphone. It is also integrated into your project with a JNI (like pjsip) and is also quite complete but, maybe, a bit more complex and heavy.

希望这有助于。

这篇关于SipApi不支持一些设备的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-03 18:12