我正在编写一个自定义 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 堆栈来实现这一点?
感谢您的任何意见,我知道很多人都被困在同一阶段。