有没有办法让 Android 原生 sip 堆栈支持所有 android 设备上的 voip?

Posted

技术标签:

【中文标题】有没有办法让 Android 原生 sip 堆栈支持所有 android 设备上的 voip?【英文标题】:Is there any way to make Android native sip stack to support voip on all android devices? 【发布时间】:2019-11-27 01:45:49 【问题描述】:

我花了一些时间使用 android 原生 sip API 构建一个简单的 VOIP 呼叫。但后来才知道它并不支持所有Android设备上的voip通话。有人提到它依赖于 Jain sip 堆栈。那么有什么方法可以让它支持所有使用本机 sip 堆栈的 Android 设备(从 Android 4 开始)。任何关于使用 pjsip 实现 sip 的简单演示源代码也将受到高度赞赏。

【问题讨论】:

试试这个链接来构建示例 android 应用程序:trac.pjsip.org/repos/wiki/Getting-Started/Android#Requirements 我需要构建一个简单的预定义 sip 呼叫按钮来使用 pjsip 进行呼叫。到目前为止,我一直在 Windows 中的 Android Studio 上工作。你能建议我如何开始研究 pjsip 吗?你有这么简单的裸骨一个简单的例子 尝试扔掉这个链接。我已经使用该链接及其工作构建了 pjsip 库,并且我正在使用 mac OS 构建 pjsip 演示项目 谢谢兄弟,我可以知道你的电子邮件地址吗,看起来我们都在做同一个项目。 是的,你可以查看我的个人资料。谢谢,编码愉快... 【参考方案1】:
PJSip Android Library Build Up Steps

Requirements: 
- Latest Version on NDK (https://developer.android.com/ndk/downloads)
- PjSip Original Source Code (https://www.pjsip.org/download.htm)

Steps:

1)  Download PjSip source code in a specific location
or
Trunk the URL (http://svn.pjsip.org/repos/pjproject/trunk)
Open Terminal and go to a specific location where you can put trunk folder
How to trunk url:-
Execute in Terminal:- svn co http://svn.pjsip.org/repos/pjproject/trunk

2) Download Latest NDK in a specific location.

3) Open PjSip or Trunk folder and go to pjlib/include/pj/ 

4) Create a config_site.h File and Set Below Value in config_site.h File.

/* Activate Android specific settings in the 'config_site_sample.h' */
#define PJ_CONFIG_ANDROID 1
#include <pj/config_site_sample.h>

5) Just run Following Command to build PjSip Library.

- cd/ path to your Pjsip or Trunk Directory
- export ANDROID_NDK_ROOT=/ set your NDK download Directory
- TARGET_ABI=armeabi-v7a
- ./configure-android
- make dep && make clean && make

完成所有步骤后,转到 pjsip-app/src/swig/java/android,您会在 JNI 文件夹中找到带有 .so 文件的 android 源代码。现在只需在 android studio 中打开一个源代码,并使用 id、密码和 server-id 将用户与您的免费切换用户连接起来。并拨打第一个 VoIP 电话。

谢谢,编码愉快...

【讨论】:

以上是关于有没有办法让 Android 原生 sip 堆栈支持所有 android 设备上的 voip?的主要内容,如果未能解决你的问题,请参考以下文章

Android WebView:有没有办法获取 javascript 堆栈跟踪?

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

如何将 SIP 集成到 Android 中?

为我的 Android VoIP 应用程序部署哪个 SIP 服务器?

Android Jain Sip - Sip 注册?

如何在flutter中嵌入原生android apis?