谈话检测:
虽然设置 talk_detection_events=yes 将启用发送 AMI 事件,表示用户何时开始/结束谈话,但这可能不足以配置您的 ConfBridge,具体取决于其他几个因素。
用户是否被确定为“说话”取决于 dsp_talking_threshold 和 dsp_silence_threshold 设置的组合。如果您没有收到预期的谈话检测事件,那么您可能需要调整这些设置以匹配 ConfBridge 从其参与者接收的音频属性。
或者,您应该确保您的 AMI 帐户具有足够的类权限来接收谈话检测事件。该事件具有 EVENT_FLAG_CALL 类权限,您应该正在监听事件 ConfbridgeTalking。
双音多频
dtmf_passthrough 与 DTMF AMI 事件的实际引发无关,这是由通道读/写例程完成的。dtmf_passthrough 允许将 DTMF 按键发送到网桥中的其他通道 - 通常,ConfBridge 应用程序会吸收 DTMF 按键。
启用此功能后,您应该至少可以在桥接通道上看到 DTMF 事件。如果您没有看到任何类型的事件,您很可能没有在 AMI 帐户上设置适当的类权限。
说了这么多,我想知道你为什么要寻找 DTMF 按键。通常,ConfBridge 中的通道操作应该使用 ConfBridge 中实现的菜单系统或使用 AMI/CLI 命令进行。当频道仍在会议桥中时,您将很难准确拦截和处理频道的 DTMF - 此时频道归桥接层所有,您选择对该频道执行的任何操作几乎可以肯定不安全。