3

我需要禁用 SIM800L 上的拨号音,为此我需要知道接收端是否已接听电话。AT+CPAS 返回 4 代表“进行中”,无论是在通话期间还是在接听电话之前的音调期间,它都没有用。

有没有使用 AT 命令的方法?还是我应该对输出音频进行一些信号分析?是否有任何其他设备具有此功能?

4

1 回答 1

2

您要查找的命令是+CLCC. 这是一个标准的 ETSII 命令,因此您可以在每个蜂窝调制解调器中找到它。对于目前的答案,我将参考SIM800 AT 命令指南

执行命令AT+CLCC列出当前调用的状态。对于每个呼叫,您将获得一行,例如

+CLCC: <id1>,<dir>,<stat>,<mode>,<mpty>[,<number>,<type>,<alphaID>

在哪里:

范围 描述 价值观
<idx> 呼叫识别号码 [1-7]
<dir> 方向 0移动发起 (MO) 呼叫
1移动终止 (MT) 呼叫
<stat> 通话状态 0激活
1保持
2拨号(MO 呼叫)
3警报(MO 呼叫)
4来电(MT 呼叫)
5等待(MT 呼叫)
6断开
<mode> 承载/电话服务 0语音
1数据
2传真
<mpty> 多方状态 0呼叫不是多方(会议)呼叫方之一
1呼叫是多方(会议)呼叫方之一
<number> 远程对等电话号码(要包含在引号中的字符串;电话号码格式由 指定<type>
<type> 地址类型
<alphaId> <number>对应于电话簿中的条目的字母数字表示(字符串类型要包含在引号中)

通常只有一个电话,但无论如何您都可以通过检查number答案字段来确定您感兴趣的电话。


响应的<stat>字段提供了您需要的内容。事实上,它将包含当前呼叫的状态,在调制解调器正在拨号(2移动发起呼叫的情况下)和呼叫处于活动状态(0如果1您想包括保持的呼叫)之间显示不同的值。

于 2021-09-10T14:28:03.233 回答