文章目录
- 前言
- 联系我们
- 解决方案
- 方案一
- 方案二
前言
- 流程:自动外呼进入机器人话术。
- 问题:在机器人放音时用户挂断后,话术还会继续匹配流程,如果匹配上的是放音节点,还会进行放音,那么在数据库表
conversation中就会多出一条放音记录。
出现这个问题是因为在cti.json文件中配置了event_after_hangup:ture,该配置的作用:挂断之后是否继续处理事件,如果不开启,用户说话之后没等ASR识别完成就挂机,会丢失识别结果,开启后会有complete事件参数HANGUP(F说话内容);如果开启,在挂断之后会继续处理事件。
联系我们
有意向了解呼叫中心中间件的用户,可以点击该链接添加工作人员的微信:顶顶通小何的联系方式
解决方案
方案一
修改cti.json文件中的配置event_after_hangup,将该参数的值修改成false。用户挂断之后,就不会在进行匹配了,但是这种方案有个缺点:如果在用户说话之后还没等ASR识别完成就挂断,那么这个节点的asr识别结果会丢失。在数据库表conversation中就没有记录。
在 CCAdmin-Web->CTI配置 页面中需要勾选配置event_after_hangup。

方案二
话术中添加一个全局挂断流程,把进入这个流程的完成原因设置为HANGUP。然后在主流程的每个节点去关联这个全局挂断流程。当用户在主流程的某一节点放音时挂断,那么此时的完成原因是HANGUP,话术就会优先匹配这个全局挂断流程,然后执行到挂断节点进行挂断。这样就可以避免数据库表conversation中多出一条放音记录。
如果没有添加一个全局挂断流程,当用户在主流程的某一节点放音时挂断,此时的完成原因HANGUP会匹配到ANY进入默认流程进行放音,那么数据库表conversation中就多出一条放音记录。














![[云服务器16] 搭建flarum论坛,纯小白向](https://img-blog.csdnimg.cn/img_convert/683f669f3d9c132222fac8ec8b98810d.png)






