【问题标题】:How to recognize type of incoming call? (Data call or Voice call)如何识别来电类型? (数据通话或语音通话)
【发布时间】:2015-09-18 06:01:06
【问题描述】:

假设您在计算机上安装了 GSM 调制解调器(在我的情况下为 DLink DWM-156)。然后你编写了下面的 Python 程序来接受所有的来电:

import serial

phone = serial.Serial("COM10",  115200, timeout=5)

try:
    time.sleep(1)
    while(1):
        x = phone.readline()
        print(x)
        if (x == b'RING\r\n'):
            phone.write(b'ATA\r')
            time.sleep(2)

finally:
    phone.close()

现在,问题是:

  1. 有什么方法可以检测来电是语音通话还是数据通话?
  2. 拨号调制解调器是否也可以发起数据呼叫,还是只能进行语音呼叫?

【问题讨论】:

    标签: python gsm at-command modem dial-up


    【解决方案1】:

    您可以查看here 有关语音调制解调器命令的信息。

    我相信,如果您收到AT+VTX,然后回复CONNECT,那么来自该点的数据将是波形音频数据。

    它也应该以相反的方式发起语音呼叫。

    【讨论】:

    • 谢谢。 Voice modemDial up modem 有什么区别,还是两者是一样的?
    • “语音调制解调器是一种模拟电话数据调制解调器,具有通过电话线传输和接收语音记录的内置功能。”我认为这取决于他们支持语音和数据的能力。如果您可以处理原始数据,那么我认为如果您的客户支持,应该可以通过标准拨号调制解调器发送语音。这是来自亚马逊的 GSM 调制解调器,它声明支持语音。 amazon.com/Generic-Wavecom-Q2303A-Commands-Adapter/dp/…
    • 感谢您的评论。我已经在那个 Wiki 链接中阅读了语音调制解调器的定义。但是我想知道它是否与拨号调制解调器相等?
    • 如果我错了,请纠正我:“GSM 调制解调器用于数据通话,拨号调制解调器用于语音通话。但两者都可以支持其他功能”。无论如何,我怎样才能识别来电的类型? (看是语音还是数据通话)
    • 我想是的。我对这个主题很陌生,所以不要把我所说的一切都当作事实。好吧,在客户端向您发送开始语音传输的命令之前,您收到的任何数据都是数据,即AT+VTX
    【解决方案2】:

    您拥有的调制解调器是 3G (HSDPA) 数据调制解调器 - 它旨在建立与运营商 PS 网络(分组交换网络)的数据连接。

    3G 核心网络有两个主要部分,用于语音的电路交换和用于数据的分组交换。

    事情变得有点混乱,因为您可以通过 CS 语音网络进行调制解调器呼叫(数据通过语音通道转换为“音调”,作为一个非常高级的解释),并且您可以通过PS数据网络。

    对于前一种情况,大多数情况下您不希望这样做,因为您将通过 PS 网络获得更高的速度。对于后一种情况,您的运营商可能会阻止(或尝试阻止......)VoIP 流量,尽管现在很多人不会这样做,因为现在许多计划的语音通话时间都很便宜,所以这不再对他们构成威胁。

    虽然您的调制解调器可能未设置为发送和接收语音电话,但有一些 3G 加密狗的说明可以更新它们以允许这样做,例如此视频解释了如何为华为加密狗执行此操作:@987654321 @。通过快速查看手册,您的调制解调器似乎支持一个简单的设置来重定向呼叫或应用忙音等,但这不是您想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2018-01-17
      • 2019-10-01
      • 2013-03-24
      • 1970-01-01
      相关资源
      最近更新 更多