如何在 android 应用程序中使用现有的 Sip Stack 库?

Posted

技术标签:

【中文标题】如何在 android 应用程序中使用现有的 Sip Stack 库?【英文标题】:how to use existing Sip Stack libraries in android application? 【发布时间】:2012-03-21 11:18:29 【问题描述】:

我正在开发一个 SIP 应用程序来简单地拨打和接听电话。为此,我必须添加现有的 SIP 堆栈库以支持 SIP 呼叫。许多 sip 堆栈库在开源中可用,例如 mjsip、doubango 等,但我的问题是如何在我们的应用程序中实现这些库?

我想开发可以在 android 2.3.3 及更高版本中支持的应用程序。

Android 2.3.3 支持 SIP,但我面临的问题是我的应用程序只能在 wi-fi 网络上运行。在 3G、GPRS 和 EDGE 网络中它不起作用。这就是我想使用外部 sipstack 库的原因。有什么好的例子或教程吗?

【问题讨论】:

【参考方案1】:

您可以查看已经这样做的开源项目:

CSipSample

SipDroid

【讨论】:

谢谢,但我已经看过 SipDroid 项目,但我无法理解 Sip 库的实现。我的意思是我应该导入 SIP 库(MjSip 或 Dobango)的包,然后使用它的方法吗?还是有其他的实现方式? 你不明白的地方能再具体点吗?是JNI吗?资源在项目中的组织方式? JNI 是 Java 代码和本机代码(C、C++)之间的层。它依赖于本地关键字和静态方法。在您的应用程序中,您将仅使用 Java 方法和类。您需要将 C/C++ 源代码编译为动态库,即 .so 文件。这就是您在 AipDroid 和 CSipSimple 中看到 C 源代码和 makefile 的原因。

以上是关于如何在 android 应用程序中使用现有的 Sip Stack 库?的主要内容,如果未能解决你的问题,请参考以下文章

在android中录制现有的音频文件

如何从现有的 android 应用程序从头开始 android 应用程序?

如何在 Android Studio 中打开我现有的 Eclipse 项目?

如何使用现有的 ASP.net 控制台应用程序构建 android 和 ios 应用程序 [关闭]

如何使用 Branch 支持现有的深层链接路由

如何在现有的旧版Android项目中使用最新的API添加Google Map?