6

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

我该如何解决这个问题?我之前的尝试在连接之间桥接音频时失败了。有没有我错过的 SDK 支持的方法?还是我需要实施某种解决方法?

4

1 回答 1

1

你问的有两个问题:

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

录制蜂窝音频

查看此链接以了解有关如何在某些设备上完成此操作的一些详细信息。他们使用的 API 是MediaRecorder api。获得音频流后,您可以对其进行编码并将其发送到 SIP 呼叫端。

在蜂窝电话中播放音频

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

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

我个人认为这些建议中的任何一个都不值得追求,您最好听从评论者的建议,并使用带有 PTSN/GSM 网关的 Asterix 之类的 VOIP PABX。

于 2014-03-01T06:59:23.737 回答