【发布时间】:2013-04-04 19:56:47
【问题描述】:
我正在编写一个自定义 Android 应用程序,它允许用户使用 SIP 进行 VOIP 呼叫。当用户按下按钮时,将与另一个 SIP 用户发起语音呼叫。而已。唯一的其他要求是它必须在 2.3+ 的 Android 设备上运行,并且不能仅限于 wifi。
Android 已经包含一个 SIP 堆栈(从 2.3 开始),并且我能够修改 Walkie-Talkie 示例项目以完全按照我想要的方式工作。不幸的是,我无法在某些设备上使用这个应用程序(Casio Commando 就是其中之一),更糟糕的是,该应用程序只能通过 wifi 工作(正如我所提到的,这对我的项目来说是不可接受的)。
我开始寻找另一个具有易于使用的 API 的 SIP 堆栈,结果发现了 CSimpleSip。我编译了它并运行了他们的演示项目(SipHome),它在我不受支持的手机(包括 Commando)上完美运行,它也可以通过 wifi 运行,满足我的要求。我非常兴奋……直到我查看了 CSipSimple 的源代码。我不知道如何开始提取对底层 pjsip API 的实际调用,也无法让 pjsip 演示应用程序在 10 多个小时后工作。
有没有人解构 CSipSimple 并将 SIP 部分从其极其复杂的 UI 中分离出来,或者是否有人知道更简单的 SIP 库?使用本机 SIP API,我能够创建一个 200 行的 Android 活动,完美地进行调用......我如何使用支持非 wifi 的第三方 SIP 堆栈来实现这一点?
感谢您的任何意见,我知道很多人都被困在同一阶段。
【问题讨论】:
-
我在库模式下使用过 CSipSimple,它实际上比解构整个包要容易得多。对于 OP 来说可能为时已晚,但任何其他寻找指针的人都可以在这里联系我。
-
@andreimarinescu 我正在研究 CSipSimple(或任何其他库),它可以让我进行语音/视频通话和即时消息。 :)
-
好吧,你应该看看 Github 上的 SampleCSipSimpleApp,它是在库模式下使用 CsipSimple 的起点。 API 记录在这里:r3gis3r.github.io/SampleCSipSimpleApp/javadoc。另外,请记住许可模式。据我所知,除非您购买了 PJSIP 许可证,否则您必须提供正在开发的应用程序的源代码。
标签: android sip voip pjsip csip-simple