坐席话务台与客户端

坐席通过三种客户端之一接听电话。三者共享同一套 ACD 核心、坐席状态机和弹屏/话后处理流程——按部署形态选择即可。

客户端是什么适合场景
CC Desk(网页版)CC 插件自带的浏览器坐席工作台(/console/cc → Agent Desk)免安装部署,CRM 在浏览器里的工作流
RustPhone Desk(PC 客户端)独立跨平台桌面客户端(restsend-call 项目)——完整话务台窗口 + 置顶 minibar高话务量呼叫中心、CRM 独立应用、耳麦坐席
SIP 软终端任意标准 SIP 端点(Linphone、硬件话机)简单场景;弹屏由 CRM 通过 SIP 头自行处理
CC Desk 坐席工作台登录页

1. CC Desk(网页工作台)

CC Desk 随呼叫中心插件发布。打开 控制台 → Contact Center → Agent Desk,选择认证模式登录:

  • JWT(默认)——控制台会话签发短期 JWT;已登录控制台的坐席一键进入。
  • Phone Token——通过 /cc/phone/config 签发的话机风格令牌。
  • SIP + Password——坐席的 SIP 分机凭证,适合直接管理分机的部署。

登录表单里的 SIP WebSocket 地址(PBX 上的 /ws)和 API 前缀(/api)可以指向任意集群节点或负载均衡。

1.1 坐席状态

签入后,话务台驱动标准坐席状态机(见坐席管理):空闲 → 振铃 → 通话 → 话后整理(ACW) → 空闲,侧面还有小休状态(离开/培训/午休/自定义)。话务台实时显示当前状态与持续时长。

1.2 配置面板

话务台配置面板提供坐席级偏好:

  • CRM 弹屏 URL 模板——如 https://crm.example.com/customer/${customerId}?phone=${phone};振铃时话务台以新标签页打开该 URL,并替换调用者数据。
  • 功能开关(自动应答、通知)、振铃音与设备选择。
  • 快捷转接联系人列表,与技能组配置共享。

2. 弹屏(来电)

ScreenPopFlow

排队呼叫派单后,话务台在振铃时刻就弹出客户档案——不用等应答:

  1. ACD 在坐席 INVITE 上加盖 Call-Info 与 User-to-User(RFC 7433) 头,内容来自入队追踪——主叫号码、IVR 业务类型、会话 id,以及路由层附加的任意 X-<key> 用户数据。
  2. 这些头在重振与溢出后依然保留(动态拨号列表重拨时重新解析),呼叫在坐席间流转时弹屏不会断。
  3. 话务台匹配弹屏 URL 模板并打开——phone、customerId、会话值自动替换。
  4. CRM 查询客户并展示档案;坐席带着上下文应答。

对于“监听接收“型的 CRM,同样的数据以 SIP 头形式出现在振铃腿上——每个 key 一条 X-<key>: value 头(聚合的 X-User-Data 形态已废止)。

3. 话后处理(ACW)

任意一方挂断后:

  1. 坐席自动进入整理状态;话务台显示倒计时(默认 120 秒,按坐席或技能组可配——见坐席管理 → 话后整理)。
  2. 备注弹窗走同一 UUI 通道,备注与通话记录保持关联。
  3. 坐席可提前完成(回到空闲)或等倒计时结束;ACW 期间不分配新通话。
  4. 被转接的通话默认跳过 CSAT 调查(技能组可 opt-in)——见 CSAT。

4. 通话中工具

  • 保持/恢复,带等待音乐(生效 queue_hold_music)。
  • 盲转到分机,或到类型化快捷联系人——联系人可指向坐席、技能组或 IVR,功能码自动拨打且在界面中隐藏。
  • 咨询转——先呼叫目标,再完成转接或切换通话方;未应答的咨询转以 409 干净失败,不会悬挂两条腿。
  • 会议——把咨询并成三方(会议工厂 URI 可按部署配置)。
  • DTMF 键盘、静音、外呼线路选择器(坐席级外呼策略决定可用线路/Trunk/外显号码——见坐席管理)。
呼叫中心转接配置 呼叫中心会议配置

5. RustPhone 桌面客户端(PC)

对于“CRM 放浏览器、电话要独立常驻“的团队,restsend-call 项目提供 RustPhone——Rust 编写的 Windows/macOS 桌面客户端:

  • 两种形态:完整话务台窗口(联系人、转接、通话历史、诊断)+ 置顶 minibar——70px 高的横条钉在屏幕最上方,CRM 全屏时坐席也不丢失状态按钮。
  • SSO / OTC 登录——原生客户端通过一次性码交换认证,无需内嵌凭证;登录窗绑定 --app 进程,回调后即关闭。
  • 弹屏到任意浏览器——RustPhone 与浏览器解耦:在默认浏览器中打开弹屏 URL,避免了内嵌 iframe 式 CRM 集成的性能天花板。
  • 带原因的 ACW 与分类型小休计时,直接写入坐席统计表。
  • 通话中控制——保持/恢复、咨询与快捷转接(类型化技能组/IVR 联系人)、合并气泡、DTMF、本地录音指示。
  • 诊断面板——网络、逐目标 STUN/TURN 探测、声卡设备、当前通话媒体段(ICE pair、RTP 计数、编解码);报告上传到 CTI /cc/agents/{id}/logs,支持人员可直接查看。
  • 运维友好——bootstrap 文件下发 sipWsUrl / apiPrefix / iceserverUrl,媒体策略跟随坐席配置的 ICE 服务器;自动更新时段(默认 12:10–13:20,支持跨零点)让终端机群无需用户操作即可保持最新。

客户端指向 PBX 的 bootstrap URL 即可发现其余配置;坐席用 SSO 账号或坐席 ID 登录,客户端一步完成 SIP 注册 + CC 签入。

6. 弹屏方案怎么选?

需求推荐
CRM 是 Web 应用CC Desk 或 RustPhone——都以替换后的值打开弹屏 URL
CRM 需要在振铃时刻接收数据皆可——在振铃腿上消费 Call-Info / X-<key> 头
坐席全天全屏使用 CRMRustPhone minibar
禁止安装软件CC Desk