我需要在GSM网络上进行语音会议。
我在数据表中看到的最大值是,当当前呼叫状态发生变化时,命令AT+CLCC
可以自动报告ME的当前呼叫列表。
如何使用SIM800L进行电话会议?我有两个电话号码。
您要求的功能的关键命令是AT+CHLD
(呼叫保持服务(。重要的是要指出,这是众所周知的GSM补充服务,并且由于AT+CHLD
是一个标准命令,它可能是所有蜂窝调制解调器都支持的功能,而不仅仅是SIM800。
任何用户都必须知道的主要限制是:
- 这是一项与VOICE呼叫严格相关的服务
- 网络运营商也必须支持这项服务
ETSI关于多方呼叫的规范
尽管这可能看起来是一个无聊的介绍,但我们需要在坚实的基础上建立我们的程序。如果您只是对AT命令序列感兴趣,请随意跳过这一段。
ETSI规范TS 127.007 v15.3.0在第7.13章中描述了其行为:"呼叫相关补充服务+CHLD">:
此命令允许控制以下与调用相关的服务:
- 呼叫可以暂时断开与MT的连接,但连接由网络保留
- 多方对话(电话会议(
- 有两个呼叫(一个保持,另一个处于活动状态或发出警报(可以连接另一个并且释放所服务的订户自己的连接
与MPTY调用相关的另一份文档随后被引用:3GPP TS 22.084(可在此处找到。另一个有趣的来源是ETSI 300 954,它陈述了
服务的移动用户A可以发起活动的多方呼叫从激活的呼叫C和保持的呼叫B。
这意味着我们只需将保留的呼叫添加到活动呼叫中,就可以获得电话会议。
AT命令程序
从前面的文档中,我们可以推断出以下步骤将设置多方呼叫:
- 通过发出
ATD<number>;
与其中一方开始语音通话,或使用ATA
接听来电 - 通过发出
AT+CHLD=2
来保持第一个呼叫(您的SIM800非常支持,对于+CHLD=2
,其状态为"保持所有活动呼叫(如果有(并接受另一个(保持或等待(呼叫。">( - 与第三方通话
- 通过发出
AT+CHLD=3
启动多方(您的SIM800非常支持,对于+CHLD=3
状态,"将保留的呼叫添加到会话中。">(
关于AT+CLCC
你在问题中提到的命令并不直接负责启动多方对话,但它在某种程度上与之相关。事实上,它能够列出所有活动呼叫的状态。
执行命令AT+CLCC
提供以下答案:
[+CLCC: <id1>,<dir>,<stat>,<mode>,<mpty>[,<number>,<type >,<alphaID>]
[<CR><LF>+CLCC: <id2>,<dir>,<stat>,<mode>,<mpty>[,<number>,<type>,<alphaID>]
[...]]]
OK
我们将只停留在两个相关参数上:
- <id N>是第N个调用的ID。这是相关的,因为
+CHLD
命令的许多选项允许选择性地保持/释放X调用,并且需要该ID才能在命令中指定X为了正确选择要添加到多方对话中的呼叫,本答案中未提及的所有这些选项都很有用 - <mpty>是多方呼叫标志,如果设置为1,则表示该呼叫是多方(会议(呼叫方之一