Android-ready JAIN-SIP库?

时间:2014-09-18 09:21:16

标签: java android sip jain-sip

电贺!

我正在开发(尝试开发)Android的VoIP SIP应用程序,经过两周与mjsip,pjsip和sdk的库之间的争吵之后,我已经选择了JAIN-SIP。从理论上讲,这些库看起来很棒。无需学习任何Android原生代码,大量文档(但还不够,因为我在这里)等等。

我的第一次尝试是使用Android SDK的SIP库(是的,我知道它们基于JSIP),并且在SipManager.open()拒绝打开与服务器通信的配置文件后失败,没有例外或任何类型的输出,以帮助我诊断问题。 (如果你有一个潜在的解决方案,请看here)在浏览了mjsip和pjsip后,我决定按照计划,花费太多时间来弄清楚本机代码,所以JAIN似乎是完美的解决方案......或者是吗?

问题是 - JAIN SIP库在包装中使用的名称与java的核心库相同,因此导致dalvik出现dex问题。但是,确定一个“ant make all-android”解决方案将sip堆栈源构建为为android准备的单个.jar。的 WRONG 即可。只有“gov.nist”包被重构,留下“javax”包,就像之前一样,导致相同的dalvik dex问题。但是等等! - theres JarJar,一个重新打包jar并重构包的工具,解决了dex冲突。的 WRONG 即可。使用JarJar重新打包还会重命名对堆栈所需的实际javax.net包的引用以进行加密等等,从而导致异常和崩溃以及各种问题。所以我昨天花了大部分时间手工重构javax库,这导致了

 ...Caused by: java.lang.Error: Unresolved compilation problem:

所以这是我的问题......

  1. 有没有人遇到过任何Android准备好的jain-sip库,真的开箱即用,无需重命名,重新打包和重构?
  2. 也许我的JarJar规则错了?有人可以为我提供规则来重命名所有包和对“javax.sip”和“javax.sdp”的引用,但是 NOT “javax.net”?
  3. 是否还有其他用于Android的SIP库(不需要任何NDK知识或本机代码)?
  4. 为什么这在2014年仍然如此痛苦?
  5. P.S。在向我指向谷歌页面或其他stackoverflow问题之前,请考虑我已经坚持了两个星期,除了尝试解决问题之外别无其他 - 我可以向您保证,互联网已经彻底搜索并且解决方案要么不适用,要么不工作。

    2016年5月编辑 - 接受的答案现在已过时,请参阅下面的joelpatrol响应,了解更新的解决方案。 HERE

3 个答案:

答案 0 :(得分:5)

您可以在TeleStax上找到重命名为com.telestax的特定的JAIN SIP软件包https://mobicents.ci.cloudbees.com/job/jain-sip/(android-jain-sip-ri jar),以克服原生的JAIN SIP Android问题。 我们正在努力创建集成WebRTC媒体的移动SDK,以便在原生Android应用中实现消息和视频呼叫更容易 我们将在未来几天内创建一篇关于如何设置的博客文章。一旦完成,我将在这里更新线程

答案 1 :(得分:2)

接受的答案已过期。官方版本现在包含适用于Android的版本,从主页链接:https://jsip.java.net/

我现在正在使用它们并且可以确认它们正常工作。

答案 2 :(得分:0)

还有一些额外的问题,但制作自己的构建并不难。它实际上只有3-4个Eclipse命令。由于需求量很大,我会制作一个合适的脚本来完成它,但我会瞄准月末,除非它非常紧急。