871 lines
41 KiB
Plaintext
871 lines
41 KiB
Plaintext
**文档版本**:V1.0
|
||
**编制日期**:2024年1月
|
||
**文档状态**:初稿
|
||
|
||
---
|
||
|
||
## 第一章 项目概述
|
||
|
||
### 1.1 项目背景
|
||
|
||
本企业主营道路救援、家政服务、代驾服务三大业务板块,面向个人消费者(ToC)提供服务。随着业务规模扩大,现需建设一套专业的呼叫中心系统,
|
||
以提升客户服务体验、提高服务响应效率、降低人工成本。
|
||
|
||
### 1.2 项目目标
|
||
|
||
| 目标维度 | 具体目标 |
|
||
|---------|---------|
|
||
| **服务能力** | 支持150坐席同时在线,日处理呼叫量50,000通 |
|
||
| **响应效率** | 道路救援等紧急服务实现快速响应,7×24小时不间断服务 |
|
||
| **人工效率** | 通过预测式外呼提升坐席利用率,减少空闲等待时间 |
|
||
| **自动化水平** | 通过智能IVR和机器人实现常见问题自助解答、批量通知自动化 |
|
||
| **系统稳定性** | 主备高可用架构,确保核心业务(道路救援)不中断 |
|
||
|
||
### 1.3 项目范围
|
||
|
||
**纳入范围:**
|
||
- 基础呼叫能力(呼入/呼出)
|
||
- 智能IVR与语音导航
|
||
- 呼入/呼出机器人
|
||
- 预测式外呼
|
||
- 无人化批量通知
|
||
- CRM系统集成(API对接)
|
||
- 软电话条组件
|
||
- 实时监控大屏
|
||
- 班长监控功能
|
||
- 全程录音
|
||
- 主备高可用部署
|
||
|
||
**不纳入本期范围:**
|
||
- 统计报表系统(二期规划)
|
||
- 智能质检系统(二期规划)
|
||
- 短信功能(由第三方平台提供)
|
||
|
||
### 1.4 术语定义
|
||
|
||
| 术语 | 定义 |
|
||
|------|------|
|
||
| **ACD** | 自动呼叫分配(Automatic Call Distribution) |
|
||
| **IVR** | 交互式语音应答(Interactive Voice Response) |
|
||
| **ASR** | 自动语音识别(Automatic Speech Recognition) |
|
||
| **TTS** | 语音合成(Text To Speech) |
|
||
| **NLU** | 自然语言理解(Natural Language Understanding) |
|
||
| **CTI** | 计算机电话集成(Computer Telephony Integration) |
|
||
| **SIP** | 会话发起协议(Session Initiation Protocol) |
|
||
|
||
---
|
||
|
||
## 第二章 业务需求
|
||
|
||
### 2.1 业务架构
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 客户触点 │
|
||
│ 道路救援热线 家政服务热线 代驾服务热线 │
|
||
│ (400-XXX-XXXX) (400-XXX-XXXX) (固话/400) │
|
||
└───────────────┬─────────────────┬─────────────────┬─────────────┘
|
||
│ │ │
|
||
▼ ▼ ▼
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 呼叫中心系统 │
|
||
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
||
│ │ 智能IVR │ │ 呼入机器人│ │ ACD分配 │ │ 外呼系统 │ │
|
||
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
|
||
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
||
│ │ 坐席管理 │ │ 录音系统 │ │ 实时监控 │ │ API网关 │ │
|
||
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
|
||
└───────────────────────────┬─────────────────────────────────────┘
|
||
│ API
|
||
▼
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ CRM/业务系统 │
|
||
│ 客户管理 │ 工单管理 │ 派单系统 │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 2.2 呼入业务场景
|
||
|
||
#### 2.2.1 道路救援来电场景
|
||
|
||
**业务流程:**
|
||
|
||
```
|
||
客户来电
|
||
→ 智能IVR(语音识别:"道路救援")
|
||
→ 机器人收集初步信息(可选)
|
||
→ 转救援技能组
|
||
→ ACD分配(历史服务优先 > 最长空闲 > 轮询)
|
||
→ 技能组全忙时溢出到备用组
|
||
→ 坐席接听 + CRM弹屏
|
||
→ 坐席在CRM创建工单/派单
|
||
→ 通话结束 → 录音保存
|
||
```
|
||
|
||
**业务要求:**
|
||
- 响应时效要求高,需优先保障接通率
|
||
- 支持7×24小时服务
|
||
- 来电需快速识别客户身份,展示历史服务记录
|
||
|
||
#### 2.2.2 家政服务来电场景
|
||
|
||
**业务流程:**
|
||
|
||
```
|
||
客户来电
|
||
→ 智能IVR(按键或语音选择"家政服务")
|
||
→ 常见问题解答(服务项目、价格咨询等)
|
||
→ 客户需要人工服务 → 转家政技能组
|
||
→ 坐席接听 + CRM弹屏
|
||
→ 预约服务/创建工单
|
||
→ 通话结束 → 录音保存
|
||
```
|
||
|
||
#### 2.2.3 代驾服务来电场景
|
||
|
||
**业务流程:**
|
||
|
||
```
|
||
客户来电
|
||
→ 智能IVR(语音识别:"叫代驾")
|
||
→ 转代驾技能组
|
||
→ 坐席接听 + CRM弹屏
|
||
→ 创建代驾订单/派单
|
||
→ 通话结束 → 录音保存
|
||
```
|
||
|
||
#### 2.2.4 投诉来电场景
|
||
|
||
**业务流程:**
|
||
|
||
```
|
||
客户来电
|
||
→ 智能IVR(识别"投诉"意图)
|
||
→ 直接转人工(投诉不经机器人处理)
|
||
→ 分配至对应业务技能组或投诉专席
|
||
→ CRM弹屏 + 标记投诉标签
|
||
→ 坐席记录投诉内容
|
||
```
|
||
|
||
### 2.3 呼出业务场景
|
||
|
||
#### 2.3.1 预测式外呼(营销/回访)
|
||
|
||
**业务流程:**
|
||
|
||
```
|
||
业务系统推送外呼任务(客户名单)
|
||
→ 呼叫中心批量拨打
|
||
→ 客户接听 → 自动转接空闲坐席
|
||
→ CRM弹屏展示客户信息
|
||
→ 坐席进行营销/回访
|
||
→ 通话结束 → 录音保存 → 话单回传业务系统
|
||
```
|
||
|
||
**业务要求:**
|
||
- 系统自动拨打,接通后才转坐席,减少坐席等待时间
|
||
- 支持接通率、坐席利用率统计
|
||
- 外呼任务支持暂停、恢复、停止
|
||
|
||
#### 2.3.2 机器人自动外呼(通知类)
|
||
|
||
**场景一:服务人员派出/即将到达通知**
|
||
|
||
```
|
||
业务系统触发通知(API调用)
|
||
→ 呼叫中心自动拨打客户电话
|
||
→ 播放TTS语音:"您好,您预约的道路救援服务,师傅已出发,预计10分钟到达..."
|
||
→ 通话结束 → 结果回传业务系统
|
||
```
|
||
|
||
**场景二:账单催缴提醒**
|
||
|
||
```
|
||
业务系统推送催缴名单
|
||
→ 批量自动拨打
|
||
→ 播放TTS语音:"您好,您有一笔待支付账单..."
|
||
→ 纯语音播报,无需交互
|
||
→ 拨打结果回传(接通/未接通/关机等)
|
||
```
|
||
|
||
#### 2.3.3 机器人自动外呼(回访/满意度调查)
|
||
|
||
**业务流程:**
|
||
|
||
```
|
||
业务系统推送回访任务
|
||
→ 呼叫中心自动拨打
|
||
→ 播放TTS语音:"您好,请问您对本次服务满意吗?满意请按1,不满意请按2"
|
||
→ 采集客户按键
|
||
→ 按键结果回传业务系统
|
||
→ 不满意客户可选择转人工跟进
|
||
```
|
||
|
||
### 2.4 机器人客服场景
|
||
|
||
#### 2.4.1 呼入机器人功能定位
|
||
|
||
| 功能 | 说明 |
|
||
|------|------|
|
||
| **语音导航** | 支持客户语音说出需求,自动识别并转接对应技能组 |
|
||
| **常见问题解答** | 支持50个以上FAQ,自动语音解答 |
|
||
| **转人工预处理** | 收集客户初步信息后转人工,提高坐席效率 |
|
||
|
||
#### 2.4.2 转人工触发条件
|
||
|
||
| 触发条件 | 说明 |
|
||
|---------|------|
|
||
| 客户主动要求 | 客户说"转人工"或按键选择转人工 |
|
||
| 识别失败 | 机器人连续2-3次无法识别客户意图 |
|
||
| 特定问题类型 | 投诉类问题直接转人工,不经机器人处理 |
|
||
|
||
---
|
||
|
||
## 第三章 功能需求
|
||
|
||
### 3.1 智能IVR模块
|
||
|
||
#### 3.1.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| IVR-001 | 多级语音菜单 | 支持配置多级IVR语音菜单,按键导航 | P0 |
|
||
| IVR-002 | 语音识别导航 | 集成阿里云ASR,支持客户语音说出需求自动识别 | P0 |
|
||
| IVR-003 | 多业务线路由 | 根据来电号码(400/固话)自动进入对应业务IVR流程 | P0 |
|
||
| IVR-004 | 时间条件路由 | 支持按工作时间/节假日配置不同IVR流程 | P1 |
|
||
| IVR-005 | 黑名单拦截 | 来电号码在黑名单中自动播放提示后挂断 | P1 |
|
||
| IVR-006 | VIP客户识别 | VIP客户来电自动优先排队或转专属坐席 | P2 |
|
||
| IVR-007 | IVR流程可视化配置 | 提供可视化拖拽界面配置IVR流程 | P1 |
|
||
|
||
#### 3.1.2 语音识别要求
|
||
|
||
- **ASR供应商**:阿里云语音识别
|
||
- **识别准确率**:≥90%
|
||
- **响应时间**:≤500ms
|
||
- **支持方言**:普通话为主,可选支持粤语、四川话等
|
||
|
||
### 3.2 ACD自动分配模块
|
||
|
||
#### 3.2.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| ACD-001 | 技能组管理 | 支持创建多个技能组(救援组、家政组、代驾组) | P0 |
|
||
| ACD-002 | 坐席技能配置 | 坐席可属于一个或多个技能组,配置技能等级 | P0 |
|
||
| ACD-003 | 历史服务优先 | 来电客户优先分配给上次服务的坐席 | P0 |
|
||
| ACD-004 | 最长空闲优先 | 同技能组内优先分配给空闲时间最长的坐席 | P0 |
|
||
| ACD-005 | 轮询分配 | 同技能组内按顺序轮流分配 | P0 |
|
||
| ACD-006 | 分配策略优先级 | 支持配置分配策略优先级:历史服务 > 最长空闲 > 轮询 | P0 |
|
||
| ACD-007 | 技能组溢出 | 技能组全忙时,来电溢出到配置的备用技能组 | P0 |
|
||
| ACD-008 | 排队等待 | 所有坐席忙时,来电进入排队,播放等待音乐 | P0 |
|
||
| ACD-009 | 排队超时处理 | 排队超时可配置:继续等待/溢出/留言/回拨 | P1 |
|
||
| ACD-010 | 排队位置播报 | 向等待客户播报当前排队位置 | P2 |
|
||
|
||
### 3.3 坐席管理模块
|
||
|
||
#### 3.3.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| AGT-001 | 坐席签入/签出 | 坐席上下班签入签出系统 | P0 |
|
||
| AGT-002 | 坐席状态管理 | 支持状态:空闲、通话中、振铃中、后处理、小休、忙碌 | P0 |
|
||
| AGT-003 | 小休原因 | 小休时需选择原因(用餐、洗手间、培训等) | P1 |
|
||
| AGT-004 | 状态自动切换 | 通话结束自动进入后处理状态,超时自动转空闲 | P0 |
|
||
| AGT-005 | 后处理时长配置 | 可配置后处理时长(如30秒) | P1 |
|
||
| AGT-006 | 强制签出 | 班长可强制签出坐席 | P1 |
|
||
|
||
#### 3.3.2 坐席工作台要求
|
||
|
||
- 坐席不使用呼叫中心独立工作台
|
||
- 坐席在CRM系统中操作业务
|
||
- 呼叫中心提供**软电话条组件**嵌入CRM页面
|
||
- 软电话条通过WebSocket与呼叫中心通信
|
||
- 同时支持IP话机(SIP协议注册)
|
||
|
||
### 3.4 软电话条组件
|
||
|
||
#### 3.4.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| SFT-001 | 签入/签出 | 坐席登录CRM后通过软电话条签入呼叫中心 | P0 |
|
||
| SFT-002 | 状态切换 | 置忙/置闲/小休状态切换按钮 | P0 |
|
||
| SFT-003 | 来电弹屏触发 | 来电时向CRM发送弹屏事件,携带来电号码、客户ID等 | P0 |
|
||
| SFT-004 | 接听/挂断 | 点击接听/挂断按钮控制通话 | P0 |
|
||
| SFT-005 | 保持/取回 | 通话保持(播放等待音乐)和取回 | P0 |
|
||
| SFT-006 | 静音 | 坐席侧静音 | P1 |
|
||
| SFT-007 | 转接 | 转接至其他坐席/技能组/外线号码 | P0 |
|
||
| SFT-008 | 咨询转 | 先与第三方通话咨询,再决定是否转接 | P1 |
|
||
| SFT-009 | 三方通话 | 坐席、客户、第三方三方通话 | P1 |
|
||
| SFT-010 | 点击拨号 | 在CRM中点击号码呼出 | P0 |
|
||
| SFT-011 | 手动拨号 | 手动输入号码拨打 | P0 |
|
||
| SFT-012 | 通话计时 | 显示当前通话时长 | P0 |
|
||
| SFT-013 | 来电信息展示 | 显示来电号码、归属地、技能组等 | P0 |
|
||
|
||
#### 3.4.2 软电话条技术要求
|
||
|
||
| 要求项 | 说明 |
|
||
|-------|------|
|
||
| **前端技术** | Web组件,支持iframe嵌入或JS SDK集成 |
|
||
| **通信协议** | WebSocket长连接,实时接收呼叫事件 |
|
||
| **语音方案** | WebRTC(浏览器软电话)或SIP话机(硬件话机) |
|
||
| **浏览器支持** | Chrome 70+、Firefox 65+、Edge 79+ |
|
||
|
||
### 3.5 呼入通话控制
|
||
|
||
#### 3.5.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| IBC-001 | 来电接入 | 支持SIP中继接入来电 | P0 |
|
||
| IBC-002 | 来电排队 | 坐席全忙时来电进入队列等待 | P0 |
|
||
| IBC-003 | 等待音乐 | 排队等待时播放等待音乐 | P0 |
|
||
| IBC-004 | 来电转接 | 支持盲转、咨询转、转技能组、转外线 | P0 |
|
||
| IBC-005 | 三方通话 | 支持三方会议通话 | P1 |
|
||
| IBC-006 | 通话保持 | 通话保持并播放等待音乐 | P0 |
|
||
| IBC-007 | 通话录音 | 全程录音,支持双声道(坐席/客户分轨)| P0 |
|
||
|
||
### 3.6 呼出通话控制
|
||
|
||
#### 3.6.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| OBC-001 | 点击外呼 | 坐席点击号码发起外呼 | P0 |
|
||
| OBC-002 | 外显号码设置 | 支持配置外呼显示的主叫号码 | P0 |
|
||
| OBC-003 | 外呼转接 | 外呼通话中支持转接 | P0 |
|
||
| OBC-004 | 通话录音 | 外呼通话全程录音 | P0 |
|
||
|
||
### 3.7 预测式外呼模块
|
||
|
||
#### 3.7.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| PDL-001 | 外呼任务创建 | 通过API创建外呼任务,导入号码名单 | P0 |
|
||
| PDL-002 | 任务状态控制 | 支持任务启动、暂停、恢复、停止 | P0 |
|
||
| PDL-003 | 预测式拨号算法 | 根据坐席空闲情况自动计算拨打频率 | P0 |
|
||
| PDL-004 | 接通转坐席 | 客户接听后自动转接空闲坐席 | P0 |
|
||
| PDL-005 | 无人接听处理 | 无人接听/忙音/关机等自动标记状态 | P0 |
|
||
| PDL-006 | 外呼时段限制 | 可配置允许外呼的时间段(如9:00-21:00) | P1 |
|
||
| PDL-007 | 号码去重 | 同一任务内号码自动去重 | P1 |
|
||
| PDL-008 | 重试策略 | 未接通号码可配置自动重试次数和间隔 | P1 |
|
||
| PDL-009 | 坐席利用率统计 | 统计坐席有效通话时长占比 | P0 |
|
||
| PDL-010 | 接通率统计 | 统计任务接通率 | P0 |
|
||
|
||
### 3.8 机器人外呼模块
|
||
|
||
#### 3.8.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| RBT-001 | 批量通知任务 | 通过API创建批量语音通知任务 | P0 |
|
||
| RBT-002 | TTS语音播放 | 集成阿里云TTS,文本转语音播放 | P0 |
|
||
| RBT-003 | 变量替换 | 支持语音内容中插入变量(姓名、时间、金额等) | P0 |
|
||
| RBT-004 | 纯播报模式 | 播放语音后直接挂断 | P0 |
|
||
| RBT-005 | 按键采集模式 | 播放语音后等待客户按键,采集结果 | P0 |
|
||
| RBT-006 | 按键结果回传 | 按键结果通过回调接口推送至业务系统 | P0 |
|
||
| RBT-007 | 无应答处理 | 客户无应答/超时可配置重试或标记 | P1 |
|
||
| RBT-008 | 并发控制 | 可配置任务最大并发拨打数 | P1 |
|
||
| RBT-009 | 任务进度查询 | API查询任务进度和结果 | P0 |
|
||
|
||
### 3.9 呼入机器人模块
|
||
|
||
#### 3.9.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| IRB-001 | 语音识别 | 集成阿里云ASR识别客户语音 | P0 |
|
||
| IRB-002 | 意图识别 | 对接NLU平台,识别客户意图 | P0 |
|
||
| IRB-003 | FAQ问答 | 支持配置50+常见问题及答案 | P0 |
|
||
| IRB-004 | 语音合成应答 | 集成阿里云TTS合成语音应答 | P0 |
|
||
| IRB-005 | 多轮对话 | 支持多轮对话收集信息 | P1 |
|
||
| IRB-006 | 转人工-主动请求 | 客户说"转人工"触发转接 | P0 |
|
||
| IRB-007 | 转人工-识别失败 | 连续N次识别失败自动转人工 | P0 |
|
||
| IRB-008 | 转人工-特定意图 | 识别到投诉等意图直接转人工 | P0 |
|
||
| IRB-009 | 转接携带信息 | 转人工时携带已收集的信息至坐席 | P1 |
|
||
| IRB-010 | 话术配置 | 支持配置机器人话术和回复内容 | P0 |
|
||
|
||
### 3.10 录音管理模块
|
||
|
||
#### 3.10.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| REC-001 | 全程录音 | 所有呼入呼出通话全程录音 | P0 |
|
||
| REC-002 | 双声道录音 | 坐席和客户分轨录音(便于质检) | P1 |
|
||
| REC-003 | 录音存储 | 录音文件存储至NAS/分布式存储 | P0 |
|
||
| REC-004 | 长期保存 | 支持录音长期保存,定期归档 | P0 |
|
||
| REC-005 | 录音检索 | 按通话ID、时间、号码等检索录音 | P0 |
|
||
| REC-006 | 录音下载 | 通过API获取录音文件下载地址 | P0 |
|
||
| REC-007 | 录音权限 | 录音访问权限控制 | P1 |
|
||
|
||
### 3.11 班长监控模块
|
||
|
||
#### 3.11.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| SUP-001 | 坐席状态监控 | 实时查看所有坐席当前状态 | P0 |
|
||
| SUP-002 | 实时监听 | 监听坐席与客户通话,双方不知情 | P0 |
|
||
| SUP-003 | 强插通话 | 加入通话,三方均可听到 | P0 |
|
||
| SUP-004 | 强拆通话 | 强制结束坐席通话 | P0 |
|
||
| SUP-005 | 密语(可选) | 对坐席单向说话,客户听不到(二期) | P2 |
|
||
| SUP-006 | 强制签出 | 强制将坐席签出系统 | P1 |
|
||
| SUP-007 | 强制置忙 | 强制将坐席状态设为忙碌 | P1 |
|
||
|
||
### 3.12 实时监控大屏
|
||
|
||
#### 3.12.1 功能清单
|
||
|
||
| 功能编号 | 功能名称 | 功能描述 | 优先级 |
|
||
|---------|---------|---------|--------|
|
||
| DSP-001 | 整体概览 | 展示当前呼入量、呼出量、接通率等 | P0 |
|
||
| DSP-002 | 坐席状态分布 | 展示各状态坐席数量(空闲、通话、小休等) | P0 |
|
||
| DSP-003 | 技能组监控 | 各技能组排队数、等待时长、可用坐席数 | P0 |
|
||
| DSP-004 | 实时告警 | 排队超阈值、坐席空闲过少等告警提示 | P1 |
|
||
| DSP-005 | 趋势图表 | 当日话务量趋势图(按小时) | P1 |
|
||
| DSP-006 | 大屏适配 | 支持大屏显示器展示 | P0 |
|
||
|
||
---
|
||
|
||
## 第四章 接口需求
|
||
|
||
### 4.1 接口概述
|
||
|
||
呼叫中心系统作为通信能力中台,通过API方式为CRM/业务系统提供呼叫能力。接口采用RESTful API + WebSocket事件推送模式。
|
||
|
||
### 4.2 接口清单
|
||
|
||
#### 4.2.1 呼入控制接口
|
||
|
||
| 接口编号 | 接口名称 | 请求方式 | 说明 |
|
||
|---------|---------|---------|------|
|
||
| API-IN-001 | 接听来电 | POST | 坐席接听当前来电 |
|
||
| API-IN-002 | 挂断通话 | POST | 挂断当前通话 |
|
||
| API-IN-003 | 保持通话 | POST | 将通话置于保持状态 |
|
||
| API-IN-004 | 取回通话 | POST | 取回保持的通话 |
|
||
| API-IN-005 | 转接通话 | POST | 转接至指定坐席/技能组/外线 |
|
||
| API-IN-006 | 咨询通话 | POST | 发起咨询通话 |
|
||
| API-IN-007 | 咨询转移 | POST | 咨询后转移 |
|
||
| API-IN-008 | 三方通话 | POST | 建立三方通话 |
|
||
|
||
#### 4.2.2 呼出控制接口
|
||
|
||
| 接口编号 | 接口名称 | 请求方式 | 说明 |
|
||
|---------|---------|---------|------|
|
||
| API-OUT-001 | 点击外呼 | POST | 坐席发起外呼 |
|
||
| API-OUT-002 | 取消外呼 | POST | 取消正在拨打的外呼 |
|
||
| API-OUT-003 | 预览式外呼确认 | POST | 坐席确认拨打预览号码 |
|
||
|
||
#### 4.2.3 坐席状态接口
|
||
|
||
| 接口编号 | 接口名称 | 请求方式 | 说明 |
|
||
|---------|---------|---------|------|
|
||
| API-AGT-001 | 坐席签入 | POST | 坐席签入系统 |
|
||
| API-AGT-002 | 坐席签出 | POST | 坐席签出系统 |
|
||
| API-AGT-003 | 置忙 | POST | 坐席设置为忙碌状态 |
|
||
| API-AGT-004 | 置闲 | POST | 坐席设置为空闲状态 |
|
||
| API-AGT-005 | 小休 | POST | 坐席进入小休状态 |
|
||
| API-AGT-006 | 查询坐席状态 | GET | 查询指定坐席当前状态 |
|
||
| API-AGT-007 | 批量查询坐席状态 | GET | 批量查询坐席状态 |
|
||
|
||
#### 4.2.4 外呼任务接口
|
||
|
||
| 接口编号 | 接口名称 | 请求方式 | 说明 |
|
||
|---------|---------|---------|------|
|
||
| API-TASK-001 | 创建外呼任务 | POST | 创建预测式/机器人外呼任务 |
|
||
| API-TASK-002 | 导入号码 | POST | 向任务导入外呼号码 |
|
||
| API-TASK-003 | 启动任务 | POST | 启动外呼任务 |
|
||
| API-TASK-004 | 暂停任务 | POST | 暂停外呼任务 |
|
||
| API-TASK-005 | 恢复任务 | POST | 恢复暂停的任务 |
|
||
| API-TASK-006 | 停止任务 | POST | 停止外呼任务 |
|
||
| API-TASK-007 | 查询任务进度 | GET | 查询任务执行进度 |
|
||
| API-TASK-008 | 查询任务结果 | GET | 查询任务拨打结果明细 |
|
||
|
||
#### 4.2.5 单条外呼接口(通知类)
|
||
|
||
| 接口编号 | 接口名称 | 请求方式 | 说明 |
|
||
|---------|---------|---------|------|
|
||
| API-NOTIFY-001 | 发起语音通知 | POST | 触发单条语音通知外呼 |
|
||
| API-NOTIFY-002 | 查询通知结果 | GET | 查询通知拨打结果 |
|
||
|
||
#### 4.2.6 录音接口
|
||
|
||
| 接口编号 | 接口名称 | 请求方式 | 说明 |
|
||
|---------|---------|---------|------|
|
||
| API-REC-001 | 查询录音列表 | GET | 按条件查询录音记录 |
|
||
| API-REC-002 | 获取录音下载地址 | GET | 获取录音文件下载URL |
|
||
|
||
#### 4.2.7 监控接口
|
||
|
||
| 接口编号 | 接口名称 | 请求方式 | 说明 |
|
||
|---------|---------|---------|------|
|
||
| API-MON-001 | 监听通话 | POST | 班长监听指定坐席通话 |
|
||
| API-MON-002 | 强插通话 | POST | 班长强插指定坐席通话 |
|
||
| API-MON-003 | 强拆通话 | POST | 班长强制挂断指定坐席通话 |
|
||
| API-MON-004 | 实时统计数据 | GET | 获取实时监控统计数据 |
|
||
| API-MON-005 | 技能组排队信息 | GET | 获取各技能组排队情况 |
|
||
|
||
### 4.3 事件推送(WebSocket)
|
||
|
||
#### 4.3.1 通话事件
|
||
|
||
| 事件编号 | 事件名称 | 触发时机 | 推送内容 |
|
||
|---------|---------|---------|---------|
|
||
| EVT-001 | 来电振铃 | 来电分配到坐席时 | 来电号码、客户ID、技能组、IVR收集信息等 |
|
||
| EVT-002 | 通话接通 | 坐席接听后 | 通话ID、接通时间 |
|
||
| EVT-003 | 通话挂断 | 通话结束后 | 通话ID、挂断方、通话时长 |
|
||
| EVT-004 | 转接振铃 | 转接到新坐席振铃时 | 转接来源、来电信息 |
|
||
| EVT-005 | 外呼振铃 | 外呼拨打中 | 外呼号码、坐席ID |
|
||
| EVT-006 | 外呼接通 | 客户接听 | 通话ID |
|
||
| EVT-007 | 外呼失败 | 外呼未接通 | 失败原因(无人接听/忙/关机等) |
|
||
|
||
#### 4.3.2 坐席状态事件
|
||
|
||
| 事件编号 | 事件名称 | 触发时机 | 推送内容 |
|
||
|---------|---------|---------|---------|
|
||
| EVT-101 | 状态变更 | 坐席状态变化时 | 坐席ID、新状态、旧状态、时间 |
|
||
| EVT-102 | 签入成功 | 坐席签入成功 | 坐席ID、技能组 |
|
||
| EVT-103 | 签出成功 | 坐席签出成功 | 坐席ID |
|
||
|
||
#### 4.3.3 话单推送
|
||
|
||
| 事件编号 | 事件名称 | 触发时机 | 推送内容 |
|
||
|---------|---------|---------|---------|
|
||
| EVT-201 | 话单推送 | 通话结束后 | 通话ID、主被叫、开始时间、结束时间、时长、录音地址、坐席ID、技能组、呼叫类型等 |
|
||
|
||
#### 4.3.4 机器人交互结果推送
|
||
|
||
| 事件编号 | 事件名称 | 触发时机 | 推送内容 |
|
||
|---------|---------|---------|---------|
|
||
| EVT-301 | 按键结果 | 客户按键后 | 任务ID、号码、按键值、时间 |
|
||
| EVT-302 | 机器人通话结果 | 机器人外呼结束 | 任务ID、号码、接通状态、通话时长、按键结果 |
|
||
|
||
---
|
||
|
||
## 第五章 非功能需求
|
||
|
||
### 5.1 性能需求
|
||
|
||
| 指标项 | 要求 |
|
||
|-------|------|
|
||
| **并发坐席数** | 支持150坐席同时在线 |
|
||
| **并发通话数** | 支持120路并发通话(含呼入+呼出) |
|
||
| **日处理量** | 支持日均50,000通呼叫 |
|
||
| **呼叫建立时延** | 来电从接入到振铃坐席 ≤ 1秒 |
|
||
| **API响应时间** | 95%请求响应 ≤ 200ms |
|
||
| **事件推送时延** | 事件产生到推送至CRM ≤ 500ms |
|
||
| **ASR识别延迟** | 语音识别延迟 ≤ 500ms |
|
||
| **系统可用性** | ≥ 99.9%(全年停机不超过8.76小时) |
|
||
|
||
### 5.2 高可用需求
|
||
|
||
| 要求项 | 说明 |
|
||
|-------|------|
|
||
| **主备部署** | FreeSWITCH主备双机部署,主机故障自动切换至备机 |
|
||
| **切换时间** | 故障切换时间 ≤ 30秒 |
|
||
| **数据同步** | 主备配置实时同步 |
|
||
| **心跳检测** | 主备心跳检测间隔 ≤ 5秒 |
|
||
| **数据库高可用** | 数据库采用主从复制或集群部署 |
|
||
| **录音存储** | 录音存储采用RAID或分布式存储,防止数据丢失 |
|
||
|
||
### 5.3 安全需求
|
||
|
||
| 要求项 | 说明 |
|
||
|-------|------|
|
||
| **网络安全** | SIP通信支持TLS加密;API支持HTTPS |
|
||
| **API认证** | API调用需Token认证,支持IP白名单 |
|
||
| **权限控制** | 支持角色权限管理(管理员、班长、坐席) |
|
||
| **录音安全** | 录音文件访问需权限验证 |
|
||
| **操作审计** | 关键操作记录审计日志 |
|
||
|
||
### 5.4 兼容性需求
|
||
|
||
| 要求项 | 说明 |
|
||
|-------|------|
|
||
| **SIP话机** | 兼容主流SIP话机品牌(如:Yealink、Grandstream、Fanvil等) |
|
||
| **SIP协议** | 符合RFC 3261标准 |
|
||
| **浏览器** | 软电话条支持Chrome 70+、Firefox 65+、Edge 79+ |
|
||
| **编解码** | 语音编解码支持G.711a、G.711u、G.729(可选) |
|
||
|
||
### 5.5 可扩展性需求
|
||
|
||
| 要求项 | 说明 |
|
||
|-------|------|
|
||
| **坐席扩展** | 架构支持水平扩展至300+坐席 |
|
||
| **业务线扩展** | 支持新增业务线/技能组,无需改动核心架构 |
|
||
| **线路扩展** | 支持新增SIP中继线路 |
|
||
|
||
---
|
||
|
||
## 第六章 系统架构设计建议
|
||
|
||
### 6.1 整体架构图
|
||
|
||
```
|
||
┌──────────────────┐
|
||
│ 运营商网络 │
|
||
│ (SIP Trunk/400) │
|
||
└────────┬─────────┘
|
||
│
|
||
┌────────▼─────────┐
|
||
│ SBC/边界网关 │
|
||
│ (可选,安全防护) │
|
||
└────────┬─────────┘
|
||
│
|
||
┌───────────────────────────┼───────────────────────────┐
|
||
│ │ │
|
||
│ ┌──────────────────────▼─────────────────────┐ │
|
||
│ │ FreeSWITCH │ │
|
||
│ │ (主备双机部署) │ │
|
||
│ │ ┌─────────┬─────────┬─────────┬─────────┐ │ │
|
||
│ │ │ IVR │ ACD │ 录音模块 │ 外呼引擎│ │ │
|
||
│ │ └─────────┴─────────┴─────────┴─────────┘ │ │
|
||
│ └───────────────────────┬────────────────────┘ │
|
||
│ │ │
|
||
│ ┌───────────────────────┼───────────────────────┐ │
|
||
│ │ │ │ │
|
||
│ ▼ ▼ ▼ │
|
||
│ ┌──────────┐ ┌──────────────┐ ┌────────┐│
|
||
│ │ CTI中间件 │ │ API Gateway │ │ WS推送 ││
|
||
│ │(ESL连接) │ │ (REST API) │ │ 服务 ││
|
||
│ └────┬─────┘ └──────┬───────┘ └───┬────┘│
|
||
│ │ │ │ │
|
||
│ └────────────────────┼────────────────────┘ │
|
||
│ │ │
|
||
│ ┌────────────────┼────────────────┐ │
|
||
│ │ │ │ │
|
||
│ ▼ ▼ ▼ │
|
||
│ ┌──────────┐ ┌──────────┐ ┌───────────┐ │
|
||
│ │ MySQL │ │ Redis │ │ 文件存储 │ │
|
||
│ │ (话单/配置)│ │ (缓存/状态)│ │ (录音) │ │
|
||
│ └──────────┘ └──────────┘ └───────────┘ │
|
||
│ │
|
||
│ 呼叫中心系统边界 │
|
||
└───────────────────────────┬──────────────────────────┘
|
||
│
|
||
┌───────────────────────┼───────────────────────┐
|
||
│ │ │
|
||
▼ ▼ ▼
|
||
┌──────────┐ ┌──────────┐ ┌────────────┐
|
||
│ CRM系统 │ │ 业务系统 │ │ 阿里云语音 │
|
||
│(弹屏/工单) │ │(派单/订单)│ │(ASR/TTS) │
|
||
└──────────┘ └──────────┘ └────────────┘
|
||
```
|
||
|
||
### 6.2 核心组件说明
|
||
|
||
| 组件 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| **媒体服务器** | FreeSWITCH | 核心呼叫控制、媒体处理、IVR、录音 |
|
||
| **CTI中间件** | 自研(基于ESL) | 封装FreeSWITCH ESL接口,提供业务逻辑 |
|
||
| **API网关** | Nginx/Kong/自研 | RESTful API统一入口 |
|
||
| **WebSocket服务** | Node.js/Golang | 实时事件推送 |
|
||
| **数据库** | MySQL 8.0 | 话单、配置、坐席信息存储 |
|
||
| **缓存** | Redis | 坐席状态、会话信息缓存 |
|
||
| **录音存储** | NAS/MinIO/对象存储 | 录音文件长期存储 |
|
||
| **ASR/TTS** | 阿里云智能语音 | 语音识别与合成 |
|
||
| **NLU** | 外部指定平台 | 意图识别与对话管理 |
|
||
|
||
### 6.3 部署架构(主备高可用)
|
||
|
||
```
|
||
┌─────────────────────────────────────┐
|
||
│ VIP(虚拟IP) │
|
||
└──────────────────┬──────────────────┘
|
||
│
|
||
┌──────────────────────────┼──────────────────────────┐
|
||
│ │ │
|
||
▼ │ ▼
|
||
┌─────────────────┐ │ ┌─────────────────┐
|
||
│ FreeSWITCH │◄─────Keepalived心跳──────────────►│ FreeSWITCH │
|
||
│ (主机) │ │ │ (备机) │
|
||
│ CTI中间件 │ │ │ CTI中间件 │
|
||
│ API服务 │ │ │ API服务 │
|
||
└─────────────────┘ │ └─────────────────┘
|
||
│ │ │
|
||
└──────────────────────────┼──────────────────────────┘
|
||
│
|
||
┌────────────┴────────────┐
|
||
│ │
|
||
▼ ▼
|
||
┌──────────────┐ ┌───────────────┐
|
||
│ MySQL主从集群 │ │ Redis Sentinel│
|
||
└──────────────┘ └───────────────┘
|
||
│
|
||
▼
|
||
┌───────────────┐
|
||
│ NAS/分布式存储 │
|
||
│ (录音文件) │
|
||
└───────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 第七章 硬件与软件清单
|
||
|
||
### 7.1 硬件清单
|
||
|
||
| 序号 | 设备类型 | 规格配置 | 数量 | 用途 | 参考单价(万元) | 合计(万元) |
|
||
|-----|---------|---------|------|------|---------------|-------------|
|
||
| 1 | 应用服务器(主) | 32核CPU/64GB内存/500GB SSD+2TB HDD | 1 | FreeSWITCH+CTI+API | 5-8 | 5-8 |
|
||
| 2 | 应用服务器(备) | 32核CPU/64GB内存/500GB SSD+2TB HDD | 1 | FreeSWITCH备机 | 5-8 | 5-8 |
|
||
| 3 | 数据库服务器 | 16核CPU/64GB内存/1TB SSD | 2 | MySQL主从 | 4-6 | 8-12 |
|
||
| 4 | Redis服务器 | 8核CPU/32GB内存/500GB SSD | 3 | Redis Sentinel集群 | 2-3 | 6-9 |
|
||
| 5 | NAS存储 | 96TB可用空间(RAID) | 1 | 录音长期存储 | 8-15 | 8-15 |
|
||
| 6 | 网络交换机 | 千兆三层交换机 | 2 | 网络通信 | 1-2 | 2-4 |
|
||
| 7 | 防火墙 | 企业级防火墙 | 1 | 安全防护 | 2-5 | 2-5 |
|
||
| 8 | IP话机 | SIP话机(如Yealink T46U) | 150 | 坐席通话终端 | 0.05-0.08 | 7.5-12 |
|
||
| 9 | 坐席耳麦 | 专业话务耳麦 | 150 | 坐席配件 | 0.02-0.05 | 3-7.5 |
|
||
| **硬件合计** | | | | | | **47-80.5** |
|
||
|
||
### 7.2 软件清单
|
||
|
||
| 序号 | 软件/平台 | 说明 | 授权方式 | 预估费用(万元) |
|
||
|-----|---------|------|---------|----------------|
|
||
| 1 | FreeSWITCH | 开源软交换平台 | 开源免费 | 0 |
|
||
| 2 | Linux操作系统 | CentOS/Rocky Linux | 开源免费 | 0 |
|
||
| 3 | MySQL数据库 | 社区版 | 开源免费 | 0 |
|
||
| 4 | Redis | 缓存 | 开源免费 | 0 |
|
||
| 5 | Nginx | 反向代理/负载均衡 | 开源免费 | 0 |
|
||
| 6 | 阿里云ASR | 语音识别 | 按量付费 | 详见运营费用 |
|
||
| 7 | 阿里云TTS | 语音合成 | 按量付费 | 详见运营费用 |
|
||
| 8 | NLU对话平台 | 意图识别 | 按需对接 | 视平台定价 |
|
||
| 9 | 监控软件(Zabbix/Prometheus) | 系统监控 | 开源免费 | 0 |
|
||
| **软件合计** | | | | **0(开源为主)** |
|
||
|
||
### 7.3 开发成本估算
|
||
|
||
| 模块 | 预估人天 | 说明 |
|
||
|------|---------|------|
|
||
| FreeSWITCH环境搭建与配置 | 15 | 主备部署、线路对接、编解码配置 |
|
||
| IVR流程开发 | 20 | 多业务线IVR、语音导航 |
|
||
| ACD分配模块 | 25 | 多种分配策略、溢出逻辑 |
|
||
| CTI中间件开发 | 40 | ESL封装、业务逻辑 |
|
||
| 坐席状态管理 | 15 | 状态机、持久化 |
|
||
| API服务开发 | 30 | 全部API接口 |
|
||
| WebSocket推送服务 | 15 | 事件推送 |
|
||
| 软电话条组件 | 25 | 前端组件、WebRTC集成 |
|
||
| 预测式外呼引擎 | 30 | 外呼算法、任务管理 |
|
||
| 机器人外呼模块 | 20 | TTS集成、按键采集 |
|
||
| 呼入机器人模块 | 25 | ASR/NLU集成、对话流程 |
|
||
| 录音管理模块 | 10 | 录音存储、检索 |
|
||
| 班长监控模块 | 15 | 监听、强插、强拆 |
|
||
| 实时监控大屏 | 20 | 前端大屏、实时数据 |
|
||
| 高可用部署 | 15 | 主备切换、Keepalived |
|
||
| 联调测试 | 30 | 全流程测试 |
|
||
| **合计** | **350人天** | |
|
||
|
||
**按人天单价1500-2500元估算,开发成本约:52.5-87.5万元**
|
||
|
||
---
|
||
|
||
## 第八章 预算汇总
|
||
|
||
### 8.1 一次性投入
|
||
|
||
| 项目 | 费用(万元) |
|
||
|------|-------------|
|
||
| 硬件采购 | 47-80.5 |
|
||
| 软件(开源为主) | 0 |
|
||
| 开发成本 | 52.5-87.5 |
|
||
| 实施部署 | 5-10 |
|
||
| **一次性投入合计** | **104.5-178** |
|
||
|
||
### 8.2 年度运营费用
|
||
|
||
| 项目 | 月费用(万元) | 年费用(万元) | 备注 |
|
||
|------|--------------|---------------|------|
|
||
| **线路月租** | | | |
|
||
| 400号码(3个) | 0.3-1.5 | 3.6-18 | 3条业务线独立号码 |
|
||
| SIP中继并发费(120路) | 0.6-1.2 | 7.2-14.4 | 按50-100元/路/月 |
|
||
| **通信费** | | | |
|
||
| 呼入通话费 | 5-9 | 60-108 | 180万分钟/月×0.03-0.05元 |
|
||
| 呼出通话费 | 21.6-40.5 | 259-486 | 270万分钟/月×0.08-0.15元 |
|
||
| **云服务费** | | | |
|
||
| 阿里云ASR | 2-5 | 24-60 | 按使用量 |
|
||
| 阿里云TTS | 1-3 | 12-36 | 按使用量 |
|
||
| **其他** | | | |
|
||
| 机房/带宽 | 1-2 | 12-24 | 如自有机房可降低 |
|
||
| 系统维护 | 1-2 | 12-24 | 人员/备件 |
|
||
| **年度运营合计** | | **390-770** | |
|
||
|
||
### 8.3 总预算汇总
|
||
|
||
| 项目 | 费用(万元) |
|
||
|------|-------------|
|
||
| **首年投入** | 494.5-948(一次性+首年运营) |
|
||
| **后续每年** | 390-770(运营费用) |
|
||
|
||
> ⚠️ **说明:**
|
||
> - 通信费用是大头,约占年度成本的80%以上
|
||
> - 具体费用取决于运营商议价、实际话务量
|
||
> - 可通过接通率优化、IVR分流等降低通信成本
|
||
|
||
---
|
||
|
||
## 第九章 项目里程碑建议
|
||
|
||
按照3-4个月上线周期规划:
|
||
|
||
| 阶段 | 周期 | 主要工作 | 交付物 |
|
||
|------|------|---------|--------|
|
||
| **一、需求确认与设计** | 第1-2周 | 需求评审、技术方案设计、架构设计 | 技术方案文档、接口设计文档 |
|
||
| **二、环境搭建** | 第3-4周 | 硬件采购到货、FreeSWITCH环境部署、线路对接 | 基础环境就绪 |
|
||
| **三、核心功能开发** | 第5-10周 | CTI中间件、API服务、坐席管理、呼入呼出基础功能 | 核心功能可用 |
|
||
| **四、高级功能开发** | 第11-14周 | 预测式外呼、机器人模块、IVR、监控大屏 | 全功能开发完成 |
|
||
| **五、集成联调** | 第15-16周 | CRM对接、全流程联调、高可用测试 | 联调通过 |
|
||
| **六、测试与优化** | 第17-18周 | 功能测试、性能测试、Bug修复 | 测试报告 |
|
||
| **七、试运行** | 第19-20周 | 小范围上线、问题收集、优化调整 | 试运行报告 |
|
||
| **八、正式上线** | 第21周 | 全面上线、监控保障 | 系统上线 |
|
||
|
||
```
|
||
第1月 第2月 第3月 第4月 第5月
|
||
|----|----|----|----|----|----|----|----|----|----|
|
||
[需求设计][环境搭建][====核心功能开发====][==高级功能==]
|
||
[集成联调][测试]
|
||
[试运行][上线]
|
||
```
|
||
|
||
---
|
||
|
||
## 第十章 风险与建议
|
||
|
||
### 10.1 项目风险
|
||
|
||
| 风险项 | 风险等级 | 影响 | 应对措施 |
|
||
|-------|---------|------|---------|
|
||
| FreeSWITCH技术门槛高 | 高 | 开发进度延迟 | 建议团队提前学习ESL开发,或引入有经验顾问 |
|
||
| 线路对接周期不可控 | 中 | 影响联调测试 | 提前与运营商沟通,预留缓冲时间 |
|
||
| ASR识别效果不及预期 | 中 | 影响机器人体验 | 提前做语料测试,必要时做热词优化 |
|
||
| 高可用切换影响业务 | 高 | 道路救援中断 | 充分测试切换机制,演练故障场景 |
|
||
| 录音存储空间不足 | 低 | 录音丢失 | 监控存储空间,提前扩容 |
|
||
|
||
### 10.2 建议事项
|
||
|
||
1. **团队能力准备**:建议团队提前熟悉FreeSWITCH、ESL、SIP协议相关知识
|
||
2. **分阶段上线**:可先上线基础呼入呼出功能,机器人功能迭代上线
|
||
3. **压力测试**:上线前务必进行150坐席并发的压力测试
|
||
4. **灰度发布**:建议先在一条业务线(如家政)试运行,再推广到道路救援
|
||
5. **监控告警**:完善监控体系,特别是对道路救援线路的可用性监控
|
||
|
||
---
|
||
|
||
## 附录
|
||
|
||
### 附录A:术语表
|
||
(见第一章1.4节)
|
||
|
||
### 附录B:接口详细设计
|
||
(需在技术设计阶段细化)
|
||
|
||
### 附录C:IVR流程图
|
||
(需在需求确认阶段补充)
|
||
|
||
### 附录D:机器人话术模板
|
||
(需在需求确认阶段补充)
|
||
|
||
---
|
||
|
||
**文档结束** |