SIM800L呼叫接听状态检测方法 AT指令及替代方案咨询
SIM800L 呼叫接听状态判定解决方案
原生AT指令实现方案(优先推荐)
SIM800L本身支持两类AT指令区分响铃阶段和接通阶段,无需额外音频分析:
- 主动上报方案(无轮询开销)
开启呼叫线路识别显示功能即可在被叫接通时收到主动上报,操作步骤如下:- 发送指令
AT+COLP=1开启功能,收到OK返回即配置成功 - 拨号时指令末尾必须加英文分号,例如拨打13xxxxxxxxx的指令为
ATD13xxxxxxxxx; - 响铃阶段无特殊主动上报,当被叫成功接听时,模块会主动上报
+COLP: "被叫号码",129,"",0格式的信息,收到该上报即可判定通话已接通,直接关闭拨号提示音即可
- 发送指令
- 轮询查询方案
如果运营商未开通COLP业务,可以定时发送AT+CLCC指令查询当前呼叫列表,返回结果的第3位参数代表呼叫状态:- 返回值为2:代表处于拨号响铃阶段
- 返回值为0:代表已进入接通通话阶段
备选音频分析方案
如果以上指令因运营商限制不可用,再考虑音频分析方案:
SIM800L输出的音频中,响铃阶段的回铃音为固定特征:450Hz正弦波、1秒播放/4秒静音的循环规律,你可以外接ADC采样模块对输出音频做特征检测,当连续1.5秒没有检测到回铃音特征且无忙音特征时,即可判定呼叫已接通。该方案复杂度较高,仅作为备用。
其他支持该功能的设备
目前主流的蜂窝通信模组均原生支持上述COLP、CLCC指令,无需额外开发即可实现接听状态判定,例如移远EC200S、合宙Air724UG等4G Cat.1模组,兼容性更稳定。
内容的提问来源于stack exchange,提问作者tomas1808
相关产品推荐
相关产品推荐

