You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用VXML的disconnect元素模拟通话挂断失败问题咨询

解决VXML中<disconnect>元素未生效的问题

你的问题出在VXML结构不规范以及非标准扩展元素干扰,导致<disconnect>所在的表单未被执行,后续流程继续运行。以下是修复方案:

核心问题分析

  • 非标准结构导致表单未激活:标准VXML规定<prompt>不能直接作为<vxml>的根级子元素,必须嵌套在<form>、<block>等可执行元素内。你原始代码中根节点下的多个<prompt>属于不符合规范的写法,部分平台会优先执行这些根级元素,跳过了包含<disconnect>的<F1>表单。
  • 扩展元素覆盖挂断行为:<afterprompt_action>是Voxeo的自定义扩展,它会强制会话执行完所有提示后再等待指定时间挂断,直接覆盖了<disconnect>的即时挂断逻辑。

修复后的代码示例

<vxml version="2.1">
  <form id="F1">
    <block>
      <prompt mode="recording" delay="500">./audio/agent.wav</prompt>
      <prompt>
        Getting ready to disconnect the call, which will throw a connection.disconnect event.
      </prompt>
    </block>
    <block>
      <disconnect/>
    </block>
  </form>
</vxml>

关键调整说明

  • 将所有提示内容移至<F1>表单的<block>内,确保会话初始进入该表单并执行所有逻辑,包括<disconnect>。
  • 移除根节点下的所有独立<prompt>和<afterprompt_action>,避免非标准行为干扰挂断逻辑。
  • 如果平台需要明确指定初始执行的表单,可以在<vxml>标签中添加initial="F1"属性,确保会话入口正确。

内容的提问来源于stack exchange,提问作者Dr.Tautology

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 10:50:22