某些设备不支持SipApi

2023-12-05

我正在使用本机 sip api 在 android 应用程序中实现 sip 呼叫,它工作正常,但在某些设备(如 CANVAS 3)中它无法工作。调试后我发现这行代码正在返回NULL

 **manager = SipManager.newInstance(ctx);**

这意味着该设备不支持 Sip API。但是在同一设备上,其他 sipcalling 应用程序(如 SipDroid 等)可以正常工作。这怎么可能?他们不使用本机 sip API 吗???


您可以使用自定义 SipLibraries。

适用于 Android 的第三方开源 sip 堆栈库

  1. 耆那教抿了一口:http://jsip.java.net/
  2. Pjsip: http://www.pjsip.org/
  3. Mjsip: http://mjsip.org/mjua.html
  4. 杜班戈:http://www.doubango.org/

有不同的开源项目在其项目中使用了这些库。

  1. Jain sip:未在“著名”应用程序中使用。
  2. Sipdroid使用MjSip
  3. Csipsimple 使用 PjSip
  4. Imsdroid 使用 doubango。

开源 SIP 堆栈:Android SDK 的默认实现 (API > 9) 优点: 提供文档。容易明白。 缺点:由于运营商的限制,并非所有设备都受支持。仅适用于 WiFi。无法更改编解码器。

第三方:JainSIP 优点:Oracle(Sun)项目==>积极开发。看起来比 MjSIP 更容易(更多文档)。 缺点:无Android 2.3 使用外部 JAIN-SIP(J-SIP) 堆栈 |类路径

第三方:MjSIP 优点: SipDroid 是在其上构建的。 (源代码可用)(red5phone是另一个项目) 缺点:不完全符合RFC?。缺乏教程(尽管有 Javadocs)。开发几乎停滞

第三方:Doubango框架 优点:IMSDroid 是在其上构建的。 (可获取源代码) 缺点:生成的 apk 文件大小往往“很大”(>15MB,如此处所述)

已关注from

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

某些设备不支持SipApi 的相关文章

随机推荐

  • 如果工作表编号/名称是变量/变体,则引用公式中的下一个或上一个工作表

    如果工作表编号 名称是变量 变体 如何引用公式中的下一个或上一个工作表 我已经看到用 vba 来做到这一点的方法 有没有办法用公式或函数来做到这一点 这是使用常规 Excel 公式列出所有工作表名称的另一种方法 Cell A1 CELL f
  • 非等待异步方法在 UI 线程上运行?

    我想要一个方法 我们称之为M1 执行一些async循环中的代码 让我们调用第二个方法M2 在每次迭代中 UI 应使用以下结果进行更新M2 为了等待M2 M1需要是async But M1应该在 UI 线程上运行 以避免竞争条件 因此它将在没
  • Python 将字符串转换为浮点型

    我有一个看起来像这样的字符串 a 92 345 r n r n a strip 当我尝试使用将其转换为浮点数时np float a 要不就float a I get Value error could not convert string
  • 使用 lapply 进行多元回归并更改公式,而不是数据集

    我见过一个列表应用 lapply 的例子 它可以很好地获取数据对象列表 并返回回归输出列表 我们可以将其传递给 Stargazer 以获得格式良好的输出 将 stargazer 与通过在分割 data frame 上进行 lapply in
  • 带 preg_match 的 PHP switch 语句

    我在 switch 语句中创建 preg match 时遇到一些问题 我想编写与 oop page view some number 匹配的 preg match 目前它的工作原理如下 如果我在浏览器中运行http example com
  • JQuery Mobile 文件上传[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我一直在到处寻找 但找不到任何例子 有谁知道我在哪里可以找到有关使用 JQuery Mo
  • 将 Firestore 依赖项和类型导入到 node.js

    在今年的 FirebaseSummit 演讲之后 我最近将我的云函数更新为 TypeScript 我的所有代码看起来都很酷 但我在尝试恢复 Firestore API 的类型时遇到一些问题 例如QuerySnapshot DocumentR
  • CSS 加载时背​​景颜色过渡/滑过

    我发现一个 CSS 过渡在悬停时效果很好 它会将我的背景颜色滑过 但仅限于悬停时 CSS 有没有办法让这种情况在加载而不是悬停时发生 color FF0000 display inline block background color ff
  • 获取对象数组中相同值的计数

    假设我有一个对象数组 const apple bookName Harry Pottar part 1 bookName Harry Pottar part 2 bookName LOTR part 1 bookName LOTR part
  • Google Apps 脚本 e.namedValues 格式多项选择

    我有一个简单的脚本 用于通过电子邮件发送 Google 云端硬盘表单提交的结果 表格中的问题之一有多项选择复选框 我正在使用 e namedValues 来获取答案数组 以便我可以通过电子邮件发送给他们 如下所示 var multiple
  • 如何使用 Objective-C 在音频文件上添加回声效果

    我正在开发一个应用程序 我想在其中使用 Objective c 在录制的音频文件中添加回声效果 我正在使用 DIRAC 添加其他效果 例如男人对女人 慢 快 现在我必须用录制的声音制作机器人声音 对于机器人语音我需要添加回声效果 请帮我做到
  • 悬停时切换 div

    我有一个测试 UL 列表 如下所示 ul li First div li li Second div li li Third div li ul 并且 下面我有相关的 div 又名 div Content Here div div Cont
  • 在 Linux 上的 QFileDialog 中过滤可执行文件

    我正在尝试制作一个文件选择器来选择一个程序 可执行文件 我对 QDir 和 QFileDialog 文档的理解是 以下内容应该显示一个仅包含可执行文件的文件对话框 但是 即使目录中有可执行文件 它也根本不显示任何文件 也没有目录 self
  • 取消 Swift 中的定时事件?

    我想在事件发生后 10 秒内运行一段代码 但我希望能够取消它 这样如果在这 10 秒之前发生某些事情 代码将不会在 10 秒过去后运行 我一直在使用这个 但它是不可取消的 static func delay delay Double clo
  • 在 javascript es6 中编写全局 const 的正确方法是什么?

    在 javascript es6 的脚本中编写全局 const 并在其他脚本中使用它的正确方法是什么 你只需使用const在全球范围内 const aGlobalConstant 42 这就创建了一个全局常数 它不是全局对象的属性 因为co
  • 无法在Mac上使用PIL打开图像

    所以我有一个简短的 python 脚本 它接受表示图像的 base64 字符串 然后打开该图像的预览 这是我的脚本 usr local bin python3 from PIL import Image import sys import
  • ASP.NET:URI 处理

    我正在写一个方法 比方说 给定1 and hello应该返回http something com something 1 hello en I could将它们组合在一起非常容易 但是 ASP NET 3 5 为构建 URI 提供了哪些抽象
  • 如何获取两个日期之间的数据 REST Spring

    我的控制器映射 GetMapping fetch one date two date public List
  • 在没有管理员权限的情况下让 Sql Developer 在 Windows 上使用即时客户端?

    我已经在Win10 64位的企业PC上安装了Sqldeveloper版本19 1 64位版本 它可以与嵌入式 jdbc client 配合使用 但我需要使用 Oracle OCI client 使其正常工作 原因之一是更好地支持取消长时间运
  • 某些设备不支持SipApi

    我正在使用本机 sip api 在 android 应用程序中实现 sip 呼叫 它工作正常 但在某些设备 如 CANVAS 3 中它无法工作 调试后我发现这行代码正在返回NULL manager SipManager newInstanc