是否可以将 VoiP 呼叫转接至 GSM [关闭]

2023-12-31

是否可以使用 Android 手机作为简单的 GSM 网关?
电话将使用(最好)Android 内置 SIP 堆栈接收 VoiP 呼叫,发起 GSM 呼叫,并桥接双向音频。一个呼叫结束后,另一个呼叫也结束。

我该如何解决这个问题?我之前的尝试未能在连接之间桥接音频。有没有我错过的 SDK 支持的方法来执行此操作?或者我需要实施某种解决方法吗?


你问的问题有两个问题:

  1. 如何获取蜂窝呼叫的传入音频流。
  2. 如何获取蜂窝呼叫的传出音频流。

录制蜂窝音频

看看这个link http://forum.xda-developers.com/showthread.php?p=10846525#post10846525有关如何完成此操作的一些详细信息some设备。他们使用的 API 是媒体记录器 http://developer.android.com/reference/android/media/MediaRecorder.AudioSource.htmlAPI。获得音频流后,您可以对其进行编码并将其发送到 SIP 呼叫端。

在蜂窝电话中播放音频

这很可能是最棘手的部分,因为没有 Google API 可以直接获取传出的音频流。我只能想到两种可能的方法来做到这一点。

  1. 重写Android拨号器应用程序,它恰好是Android中的“电话堆栈”。通过直接(仅)访问蜂窝无线电堆栈的串行端口链接,您可以may能够获取传出的音频流。这需要您对设备进行 root 才能执行此操作。
  2. 打开扬声器电话模式,然后通过扬声器播放音频,这样麦克风应该能够拾取正在播放的音频。您可能会遇到音量问题(播放和麦克风),并且麦克风也会拾取该区域中的其他声音。

我个人认为这些建议都不值得追求,您最好遵循评论者的建议,并选择像 Asterix 这样带有 PTSN/GSM 网关的 VOIP PABX 之类的东西。

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

是否可以将 VoiP 呼叫转接至 GSM [关闭] 的相关文章

随机推荐

  • pandas groupby 日期在一个季度内

    我有两家公司的年末不同 1 31 和 12 31 我想获得各自季度发生的指标的平均值 在此示例中 我创建了一个 DataFrame 其中包含两家公司 2016 2017 年的 8 个季度末日期 comp1 pd date range 1 3
  • 如何确定更快的 RCNN (PyTorch) 的验证损失?

    我按照本教程进行对象检测 https pytorch org tutorials intermediate torchvision tutorial html https pytorch org tutorials intermediate
  • Delphi 在类过程中使用反射来获取动态类类型

    我想在类过程 函数 静态方法 中使用当前类的反射 不使用 Self 关键字怎么办 如果没有对类名进行编码 这个过程应该在后代中被覆盖 class procedure AAA SetTableAndSequence var c TRttiCo
  • 当当前元素居中时,如何让下一个元素居中滚动?

    我想做的事 这样 最初是切换滚动 当当前 活动 元素到达中心时 下一个元素也希望能够在中心滚动 当它看到底部元素时 滚动停止并更改为切换滚动 当前状态 我已经有一个开关卷轴和一个获取中心的代码 演示 JSFiddle https jsfid
  • 在 C++ 中将文件名作为参数传递

    我必须在 C 程序的参数中传递四个不同的文本文件 我该如何通过 int main int argc char argv std vector
  • 我该如何用 javascript 编写一个解释器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • AVX 将 64 位整数转换为 64 位浮点数

    我想使用 AVX 将 4 个打包 64 位整数转换为 4 个打包 64 位浮点数 我尝试过类似的事情 int 64t ls int64 t mm malloc 256 32 ls 0 a ls 3 d mm256i packed mm256
  • 如何使用awk打印一系列单词?

    我知道awk可用于仅打印输出中的某些单词 例如 dpkg l awk print 2 将打印输出中的第二个单词dpkg l 我想要做的是 打印给定单词后的每个单词 我的命令如下所示 awk printf 40s s n 1 n 而不是打印所
  • 如何去除iOS 7中的UINavigationBar内部阴影?

    内阴影示例 http imageshack us photo my images 20 9hnx png 我试图将导航栏放在另一个导航栏下方 使其看起来像一个高导航栏 但在 iOS 7 中 UINavigationBar 现在在其顶部和底部
  • 如何从 ruby​​ 中的字符串中提取浮点数? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有包含一定数量不同货币的字符串 例
  • 如何将phonegap应用程序直接部署到设备

    我已经设置了一个 Phonegap 3 3 0 项目 并且工作得很好 我可以从 pat 的 cmd 构建一个 APK jamie Hutber 8 c var www sexdiaries co uk sdapp app phonegap
  • 为什么js最接近的方法找不到兄弟元素?

    Note 据我所知closest 方法在 DOM 树中搜索与指定 CSS 选择器匹配的最近元素 当我点击margin两个之间的空间li元素 它返回null 但如果我更换margin bottom 15px with padding bott
  • 在Oracle中计算总时间

    我在Oracle中有这个表 电子邮件和时间是varchar Email Time email protected cdn cgi l email protection 00 10 40 email protected cdn cgi l e
  • “string”的类型不正确(预期为 str,得到了 spacy.tokens.doc.Doc)

    我有一个数据框 train review train review train review 看起来像 0 With all this stuff going down at the moment w 1 The Classic War o
  • Spark SQL 2.0:带有有效 PostgreSQL 查询的 NullPointerException

    我有一个有效的 PostgreSQL 查询 当我将其复制 粘贴到 PSQL 中时 我得到了所需的结果 但是当我使用 Spark SQL 运行时 它会导致NullPointerException 这是导致错误的代码片段 extractData
  • 来自 Python 的 URL 请求

    我有一个正在运行的服务器 它总是在监听value field 我可以通过 URL 从网络浏览器发出请求 Eg http 192 168 1 101 value 1 我怎样才能从Python发出这样的请求 我尝试了上面的代码 但它似乎不起作用
  • 什么可以保护 Android AccountManager 密码不被其他应用读取?

    我正在编写 1 一个在 AccountManager 中存储用户名和密码的应用程序 以及 2 一个单独的后台服务应用程序 用于访问这些凭据以登录我的服务器等 通过使用这个 我发现我能够从服务 应用程序 2 调用 AccountManager
  • MatplotLib 通过轴获取所有注释

    我正在用 Python 和 Tkinter 做一个项目 我可以绘制一组数据 并且还实现了一个在单击鼠标时在绘图上添加注释的功能 但现在我需要我添加的所有注释的列表 有什么办法可以做到这一点吗 这是我添加注释的功能 def onclick s
  • Android 中的卷曲动画(如书本的打开页面)

    我正在开发一个包含许多图像 高清 的应用程序 这些图像将通过分别向左 向右交换屏幕来显示在下一个 上一个图像中 图像的更改应该像打开书页 卷曲动画http www youtube com watch v vOYvaNhSHw http ww
  • 是否可以将 VoiP 呼叫转接至 GSM [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否可以使用 Android 手机作为简单的 GSM 网关 电话将使用 最好 Android 内置 SIP 堆栈接收 VoiP 呼叫