Call Center 快速入门

1. 环境要求

项目要求
RustPBX 版本≥ 0.4.4,编译时启用 --features contact-center
数据库MySQL 8.0+ 或 PostgreSQL 14+(推荐,支持 SQLite 但生产建议用 MySQL/PgSQL)
Addon 依赖自动包含:ivr-editor, voicemail, endpoint-manager, enterprise-auth, telemetry

2. 启用 Call Center

在 config.toml 中:

[proxy]
addons = ["cc"]

[proxy.cc]
# 自治模式:坐席通过 cc-phone 独立管理状态
autonomous_enabled = true
heartbeat_interval_secs = 5
heartbeat_timeout_count = 3

# 转接配置
blind_transfer_enabled = true
consult_timeout_secs = 30
conference_on_transfer = true
allow_agent_to_agent = true

# 语音信箱和 IVR 扩展号
voicemail_extension = "*97"
ivr_extension = "ivr"

# 话后整理超时(秒)
wrapup_timeout_secs = 60

3. 数据库初始化

CC 启动时自动创建以下表:

表名用途
cc_agents坐席定义
cc_agent_endpoints坐席终端绑定
cc_agent_stats坐席统计
cc_calls呼叫中心通话记录
cc_call_records详细记录
cc_skill_groups技能组
cc_queue_snapshots队列快照
cc_csat满意度评价
cc_monitor_records监控记录
cc_cast_result外呼结果

4. 最小配置流程

Step 1:创建技能组

Call Center → 技能组 → 新建:

字段示例
名称sales
描述销售组
技能标签sales, chinese

Step 2:创建坐席

Call Center → 坐席 → 新建:

字段示例
坐席 IDagent-001
显示名张三
分机1001
技能组sales
最大并发1

Step 3:注册坐席终端

坐席使用 SIP 软电话注册分机 1001 到 RustPBX。

或使用内置的 cc-phone 页面(/cc/phone)作为 Web 软电话。

Step 4:配置队列

在 config/queue/ 中定义 ACD 队列:

# config/queue/sales_queue.toml
[[queue]]
name = "sales-queue"
strategy = "parallel"
max_wait_secs = 300
max_size = 50
moh = "default"

[queue.agent_match]
skill_group = "sales"

[queue.no_answer]
action = "voicemail"

Step 5:配置路由

在 config/routes/ 中将入局呼叫指向队列:

[[route]]
name = "to-sales"
action = "queue"
queue = "sales-queue"

[route.match]
to_user = "^4000$"

Step 6:验证

拨打 4000,进入队列,坐席 1001 振铃,接听后建立通话。

5. CC Phone

CC Desk 坐席工作台登录页

CC Phone 是内置的 Web 软电话(/cc/phone),提供:

功能说明
注册SIP 注册到 RustPBX
状态切换空闲/离开/休息/离线
来电接听弹出来电通知
通话中操作静音/挂断/转接/咨询转
话后整理通话结束进入 Wrapup 状态
休息类型午休/培训/会议/个人事务(可自定义)

Agent Desk 标签页承载同一套工作台,支持三种认证模式(JWT / Phone Token / SIP + Password);包括 RustPhone PC 客户端在内的完整客户端方案见坐席话务台与客户端。

6. 控制台入口

Call Center 控制台(/cc)为 SPA 页面,包含:

页面功能
Dashboard总览:排队数、通话数、SLA
坐席管理CRUD、状态、统计
技能组配置技能组和路由规则
实时监控当前排队、坐席状态、活跃通话
报表通话报表、坐席报表、SLA 趋势
ACD 配置策略、优先级、溢出规则