Python 如何识别来电类型?(数据呼叫或语音呼叫)

Python 如何识别来电类型?(数据呼叫或语音呼叫),python,gsm,at-command,modem,dial-up,Python,Gsm,At Command,Modem,Dial Up,考虑一种情况,即您在计算机上安装了GSM调制解调器(在我的情况下)。然后编写以下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'):

考虑一种情况,即您在计算机上安装了GSM调制解调器(在我的情况下)。然后编写以下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()
现在的问题是:

  • 有没有办法检测来电是语音通话还是数据通话
  • 拨号调制解调器也可以发起数据呼叫,还是只能进行语音呼叫
  • 您可以查看有关语音调制解调器命令的信息

    我认为,如果您在+VTX上接收到
    ,然后用
    CONNECT
    进行响应,那么来自该点的数据将是wave audio数据


    它还应该以另一种方式启动语音呼叫。

    您拥有的调制解调器是3G(HSDPA)数据调制解调器-用于建立到运营商PS网络(分组交换网络)的数据连接

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

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

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


    虽然您的调制解调器可能未设置为发送和接收语音呼叫,但有些3G加密狗有更新它们以允许此操作的说明,例如,本视频说明如何为华为加密狗执行此操作:。快速查看手册,您的调制解调器似乎支持轻松设置以重定向呼叫或应用忙音等,但我认为这不是您想要的。

    谢谢。语音调制解调器和拨号调制解调器有什么区别,或者它们是一样的?“语音调制解调器是一种模拟电话数据调制解调器,具有通过电话线发送和接收语音记录的内置功能。”我认为这取决于它们支持语音和数据的能力。如果您可以处理原始数据,那么我认为如果您的客户支持,应该可以通过标准拨号调制解调器发送语音。这里有一个来自亚马逊的GSM调制解调器,表示支持语音。谢谢你的评论。我已经在那个维基链接中读到了语音调制解调器的定义。但我想知道它是否等同于拨号调制解调器?如果我错了,请纠正我:“GSM调制解调器用于数据呼叫,拨号调制解调器用于语音呼叫。但两者都可以支持其他功能”。无论如何,我怎样才能识别来电的类型?(看看是语音通话还是数据通话)我想是的。我对这个问题很陌生,所以不要把我说的每句话都当作事实。嗯,在客户端向您发送启动语音传输的命令之前,您收到的任何数据都是数据,这将是+VTX处的
    AT