1

我一直在使用 sim900 模块为嵌入式项目复制基本手机中的许多功能。除了在语音通话期间输入选项外,我在大多数功能上都取得了成功。我实际上正在寻找通用解决方案(例如 GSM 07.07 等),尽管我使用的 GSM/GPRS 模块是 sim900。

场景:我使用 发起呼叫ATD<number>;,然后自动语音要求我拨“1”作为选项。如何发送“1”?

我一直在寻找答案。我一遍又一遍地阅读AT命令手册。请帮忙。

4

1 回答 1

1

使用官方 GSM 规范的良好开端,虽然我想指出很久以前07.07 已被27.007取代,您应该使用该文档(或 27.005,如果相关)。


我最初预计有两种方法可以实现这一点,拨号字符串修饰符或 DTMF 命令,但我在 27.007 规范中查找拨号字符串,我没有找到我期待的p(暂停)修饰符1,最近的事情是W( wait) 修饰符被忽略,仅出于兼容性考虑。

使用DTMF发送0through 9AthroughD和在通话期间完成*,尽管在 GSM 网络中,这在带外单独发出信号,而不是发送带内模拟音调。有一个用于发送 DTMF 音调的特定命令称为(使用可怕的语法)。所以这个命令就是你问题的答案。从在线命令模式或从另一个串行连接调用它。#AT+VTS


1我期待一个p修饰符存在的原因是我能够在电话簿条目中输入一个,例如“12345678p123”,它将拨打 12345678,等待连接建立,然后发送 123 作为 DTMF 音调。但这显然是(仅)用户界面语音呼叫处理程序管理的东西,而不是 AT 命令处理程序。

于 2018-08-05T22:40:43.683 回答