【问题标题】:how to perform voice call from one GSM modem to another如何从一个 GSM 调制解调器到另一个进行语音通话
【发布时间】:2015-07-31 04:11:36
【问题描述】:

我想使用 GSM 调制解调器从一个号码向另一个带有号码的 GSM 调制解调器拨打语音电话。有可能吗?我可以使用什么软件?

【问题讨论】:

    标签: driver gsm modem 3g mobile-phones


    【解决方案1】:

    是的,假设您只想发起和接收语音呼叫,这是可能的。您将无法使用软件处理音频。


    最简单的方法是使用AT commands。假设终接调制解调器的电话号码是 1234,然后在始发端运行 ATD1234;(请注意,最后需要分号才能进行语音呼叫。没有它,调制解调器将改为进行电路交换数据呼叫)。

    那么在终止端有几种方法。最简单的方法是将S0 寄存器设置为不同于零的值,例如ATS0=2 将在响铃两声后自动接听来电(更多详细信息请参阅V.250 中的6.3.8 自动接听章节)。

    但请注意,S0 适用于所有类型的呼叫,因此它也可能会尝试应答数据呼叫。如果您想更复杂一点,您可以使用AT+CRC=1 启用+CRING 未经请求的结果代码(有关详细信息,请参阅27.007),然后编写一个监控UR 代码的程序,并在收到+CRING: VOICE 时手动回答拨打ATA


    除了UR码的监控,所有的AT指令都可以通过atinout程序很方便的发送出去。采取最简单的方法是在终止端运行

    $ echo ATS0=1 | atinout - /dev/your_modem_device -
    ATS0=1
    
    OK
    $
    

    在始发端运行

    $ echo 'AT1234;' | atinout - /dev/your_modem_device -
    ATD123;
    
    OK
    $
    

    【讨论】:

    • 如果我的目标是模拟尽可能多的呼叫,我可以将多少个 USB 调制解调器连接到一台计算机?
    • 在 Linux 上,有 256 个/dev/ttyACM* 设备的空间,每部手机分配两个应该可以提供 128 个调制解调器,尽管可能还有其他我不知道的内部限制。在 Windows 上,如果您运气不好并且驱动程序非常不灵活,那么答案可能只有一个。
    猜你喜欢
    • 2023-03-10
    • 2013-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多