Skip to main content

系统运行原理介绍

image.png

 

  • 客户来电时,电话一般进入 public context 的拨号计划,然后在拨号计划中调用 curl 指令, curl 请求 easycallcenter365 的一个 api 接口,把通话uuid、主叫被叫等信息发送过去。通话被 easycallcenter365 接管。

  • easycallcenter365 启动录音/录像。easycallcenter365 尝试和机器人大脑(deepseek/Coze智能体/MaxKB) 建立连接 。

  • 机器人大脑 以流式http响应的返回开场白,easycallcenter365 一边接收文本,一边调用 speak 指令发送文本进行语音合成。

  • FreeSWITCH 的 mod_aliyun_tts 收到语音合成指令后,提取参数中的文本,然后连接语音合成服务器,发送语音合成请求。

  • 由于整个过程中,文本是不断产生的,mod_aliyun_tts 一边发送语音合成文本,一边接收合成后的语音流数据,同时进行解码语音并播放。

  • 播放完毕后,FreeSWITCH 启动语音识别的检测。通过 mod_funasr 或者 unimrcp 模块实现语音流的发送及语音识别结果文本的接收。

  • 通过 event socket 消息,FreeSWITCH 把收到的语音识别结果文本,发送给 easycallcenter365。

  • easycallcenter365 把语音识别结果文本,附带前面交互的消息,一起打包,发送给 机器人大脑 。

  • 接下来继续循环,直到电话通话结束。