【问题标题】:detect answer on call at command and voice modem在命令和语音调制解调器上检测呼叫应答
【发布时间】:2021-10-22 18:58:21
【问题描述】:

我通过 C# 编写了一个小应用程序,它可以拨打号码并播放我想要的任何声音而没有任何问题.. 我最大的问题是我无法检测到对方何时接听我的电话... 我可以检测到忙,没有运营商和静音......但是我如何检测对方何时接听我的电话,在我播放语音后...... 这是我用于操作的 at 命令...

ate0 //for disable echo
at+fclass=8 //for switch to voice mode
at+vsm=4 // for select my wave voice compression format
atd!MYPHONENUMBER //for dial my number
> // after that modem respond OK and other side ringing ...
after OK appear > at+vtx
and write byte[] wave to serialport ... 

之后我无法检测到对方何时接听我的电话 如果对方不接听和振铃调制解调器报告'r'字符... 如果对方拒绝我的呼叫调制解调器状态报告'b'字符... 如果对方接听并挂断我的呼叫调制解调器报告'b'字符... 如果对方回答并且不说话 5 秒调制解调器报告 'q' char ...

我的调制解调器是DELL USB 并使用这个reference guided

编辑 1: 我有来自串口的字节数组... 我可以分析这些字节数组并检测女巫字节的铃声和女巫人类说话吗?

【问题讨论】:

    标签: at-command voice modem


    【解决方案1】:

    查询呼出状态,使用“AT+CLCC”命令。如果没有呼出,“AT+CLCC”命令会回复“OK”。

    如果有一个拨出呼叫活动,该命令将使用以下格式响应:

    +CLCC: ,,,,[,,] id 呼叫识别 dir 呼叫方向,0 = 呼出,1 = 呼入。 stat 通话状态。可以是以下值之一:

    0 - 活跃, 1 - 举行, 2 - 拨号, 3 - 警报, 4 - 传入, 5 - 等待, mode 呼叫类型。可能的值是:

    0 - 语音, 1 - 数据, 2 - 传真, mpty 指示这是否是多方通话 number 要拨打的号码 type 数字类型

    您可以在下面找到呼叫建立期间一些“AT+CLCC”响应的示例:

    +CLCC: 1,0,2,0,0,"0742781722",129 1号线在语音模式下拨号(Dialling)

    +CLCC: 1,0,3,0,0,"0742781722",129 对方手机正在响铃(Alerting)

    +CLCC: 1,0,0,0,0,"0742781722",129 对方接电话(主动)

    【讨论】:

    • 我的调制解调器响应 at+clcc 错误。我认为我的调制解调器不支持此命令
    猜你喜欢
    • 2017-04-04
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多