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

FreeSwitch通话挂断异常求助:通话仍显示活跃状态

FreeSwitch IVR桥接后通话残留问题解决思路
  • 检查Python脚本的通话生命周期管理
    用uuid_bridge或bridge命令完成桥接后,必须监听CHANNEL_HANGUP_COMPLETE事件,一旦触发就调用uuid_kill销毁所有关联的通话通道。如果是通过bgapi异步执行桥接操作,务必通过Event Socket跟踪子通道的状态变化,不能发起桥接后就终止脚本逻辑,否则会留下孤儿通道。

  • 修正拨号计划的流程终止逻辑
    不要依赖zombie标记处理残留,反而要确保桥接完成后直接终止拨号计划流程:在桥接命令后紧跟hangup应用,或者用exit指令结束当前拨号计划的执行。另外,continue_on_fail="true"只适合桥接失败后需要执行 fallback 逻辑的场景,如果桥接成功后不需要后续步骤,应该将其设为false,避免多余的流程导致通道残留。

  • 排查通道关联与桥接参数
    执行show channels verbose查看残留通话的详细信息,确认是否存在未正确关联的子通道。同时,在发起桥接的originate命令中添加hangup_after_bridge=true参数,确保主通道会在坐席或客户挂断后自动挂断,切断所有关联链路。

  • 应急清理方案
    如果临时需要清理残留通道,可以在拨号计划中添加api uuid_kill {call_uuid}指令,或者在脚本监听CHANNEL_HANGUP事件时,批量清理当前通话的所有关联UUID。不过这只是临时方案,核心还是要从脚本和拨号计划的流程逻辑上彻底解决通道残留问题。

内容的提问来源于stack exchange,提问作者Thilipan Tanabalan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 04:16:01