背景
- 客户在打电话给客服(坐席)时需要保护自己的隐私(客户电话号码不能透传给客服)
- 客服在打电话给客户时可根据实际对应业务来设定是否进行号码透传(大部分场景是透传)
- 对一些业务提供基础数据的支撑(通话开始时间、结束时间、录音等)
- 不建立真正的实体呼叫中心,而是接入多个第三方提供的云通话服务完成实际通话过程,降低成本和风险
为此我们需要实现一个能够能够支撑业务实现并能够接入多个云通话服务渠道的系统,命名为 CC(Call Center,呼叫中心)。
架构设计
从呼叫模式上看,目前业界大多数采用的是“回拨”模式,即由呼叫中心发起两路呼叫,然后将两路进行连通。提供回拨服务的厂商比较多,比如玖云、华为、吉亚等,下面以玖云和华为为例进行架构设计。(选择玖云和华为主要是因为他们正好使用了不同的两种通话状态获取模式,玖云是回调,而华为是轮询)
(图片看不清的话请另存为后查看)
子模块
- Callback Logging:玖云事件回调持久化,实现上使用 NGINX 写文件日志
- Scheduled Task:华为事件轮询
- Dispatch & Handle:处理来自 Callback Logg