移动端实时通信(RTC)支持


快速阅读

如果您时间有限,建议先看这 5 部分:

  1. 二、产品总览:移动端 RTC 是什么,解决什么问题。
  2. 三、核心概念:RTC SDK、AccessToken、AgentToken、userId、座席工号、RTC 客户端分别代表什么。
  3. 四、主流程与状态链路:移动端从鉴权、初始化、外呼、接听邀请到挂断的完整链路。
  4. 六、产品功能说明:平台支持、鉴权方式、通话能力、事件监听、监控和异常处理。
  5. 附录 A~F:平台能力速查、关键字段口径、实施检查清单、常见问题、异常排查和术语表。

阅读地图

角色建议重点阅读
客户 / 业务负责人一、文档说明;二、产品总览;七、典型业务场景;十一、总结
运营 / 实施四、主流程与状态链路;五、能力地图;六、产品功能说明;八、上线准备与运营建议;附录 C/D
技术 / 对接三、核心概念;四、主流程与状态链路;六、产品功能说明;九、与周边能力的关系;附录 A/B/E/F

一、文档说明

1.1 文档目的

本文档用于统一说明呼叫中心 移动端实时通信(RTC)支持 的产品定位、支持平台、接入方式、鉴权机制、通话能力、事件回调、监控与排障方法,帮助客户、业务、实施和技术团队理解:

  1. 移动端 RTC 能解决哪些移动作业和移动外呼场景。
  2. Android、iOS、微信小程序、H5/小程序跳转各自适合什么场景。
  3. AccessToken 与 AgentToken 的区别是什么。
  4. 移动端 RTC 与座席账号、座席工号、工作台、记录、录音、报表之间如何关联。
  5. 上线前需要准备哪些权限、网络、鉴权、并发和异常排查能力。

1.2 文档范围

  • 覆盖:Android SDK、iOS SDK、微信小程序 RTC 外呼、移动端 RTC JS SDK、RTC 鉴权、初始化、外呼、回呼邀请、挂断、DTMF、扬声器、静音、AccessToken 刷新、事件监听、并发监控、客户端销毁、错误码排查。
  • 不覆盖:完整 SDK 代码接入教程、客户 App 架构改造方案、移动端 UI 设计稿、底层音视频协议实现、线路供应商侧能力、完整报表字段口径。

1.3 适用对象与使用建议

对象建议用法
客户 / 业务负责人判断移动端 RTC 是否适合移动客服、移动外呼、企微小程序外呼等场景。
实施 / 运营按权限、网络、鉴权、并发、日志和通话验收清单推进上线。
技术 / 对接理解 SDK 接入边界、鉴权口径、事件回调、错误码和监控排查链路。

内容基于现有 RTC SDK 与接口文档整理,对外表述已做产品化处理;具体 SDK 版本、方法名、参数、错误码和平台差异以实际 SDK 文档为准。


二、产品总览

2.1 移动端 RTC 是什么

移动端 RTC 是呼叫中心面向移动 App、移动 H5、微信小程序、企业微信等场景提供的实时语音通信能力。客户可在自有 App、小程序或移动业务入口中集成 RTC 能力,让用户或座席通过移动设备完成外呼、接听回呼邀请、通话控制和通话状态感知。

人话总结

移动端 RTC 让手机、App、小程序也能像软电话一样接入呼叫中心,不必完全依赖固定话机或 PC 工作台。

2.2 主要解决什么问题

移动端 RTC 主要解决以下问题:

  • 移动办公、外勤、远程座席无法使用固定话机或 PC 工作台。
  • 客户希望在自有 App 或小程序中直接发起外呼,不跳转传统坐席工作台。
  • 企业微信、微信小程序场景需要快速唤起通话能力。
  • 移动端通话需要感知呼叫发起、接听、失败、挂断、网络变化等事件。
  • 运营和技术需要查看 RTC 登录并发、通话并发和异常状态,便于排障。

2.3 支持平台

结合现有能力,移动端 RTC 支持以下接入形态:

接入形态说明适用场景
Android SDK原生 Android App 集成 RTC 能力。自有安卓 App、移动客服、移动外呼
iOS SDK原生 iOS App 集成 RTC 能力。自有 iOS App、移动客服、移动外呼
微信小程序 / 企微小程序跳转从微信、企业微信小程序或企微 H5 跳转到 CTI-Cloud 小程序进行外呼。企微作业、轻量外呼、无需深度 App 集成
移动端 JS SDK移动 H5 或小程序场景使用的 RTC JS 能力。H5 集成、小程序内嵌能力
Web RTC SDKPC 浏览器侧 RTC 能力,可作为移动端方案的对照能力。PC 软电话、浏览器工作台

说明:不同平台的 SDK 能力、版本节奏、事件细节和使用限制可能存在差异,涉及生产上线时必须按目标平台分别完成验证。

2.4 核心价值

价值说明
支撑移动作业座席不依赖固定工位,可通过移动设备完成通话服务。
降低接入门槛小程序跳转方式适合轻量接入,原生 SDK 适合深度集成。
保持呼叫中心闭环移动端通话仍可与座席、外呼、记录、录音、报表等能力关联。
提升排障能力通过事件、错误码、登录并发、通话并发和客户端销毁能力定位问题。
支持多终端协同与 PC 工作台、分机、软电话等共同组成多终端接入体系。

三、核心概念

3.1 RTC SDK

RTC SDK 是移动端或浏览器端接入实时语音通信能力的软件组件。客户 App 或页面集成后,可以完成初始化、鉴权、外呼、接听邀请、挂断、静音、扬声器切换、事件监听等动作。

3.2 RTC 客户端

RTC 客户端是 SDK 初始化后形成的运行实例。它负责维持当前用户与 RTC 服务之间的连接,并承载通话动作和事件回调。

实施时需要注意:

  • 调用通话能力前必须先完成客户端初始化。
  • 频繁使用 RTC 的 App,可考虑在应用生命周期内复用客户端。
  • 不频繁使用 RTC 的 App,可按需初始化,用完后销毁。
  • 客户端销毁后,需重新初始化才能再次发起或接听通话。

3.3 AccessToken

AccessToken 是 RTC SDK 使用的临时访问凭证。它通常由客户服务端生成,并与 userId 绑定,用于 SDK 初始化和后续访问。

关键口径:

  • userId 必须保持唯一,同一用户应保持一致。
  • AccessToken 有有效期限制。
  • 有效期过短会导致初始化或通话中刷新失败,建议预留足够有效时间。
  • 部分平台支持 AccessToken 即将过期事件,客户侧应在过期前刷新。

3.4 AgentToken

AgentToken 是与座席相关联的鉴权方式,常用于小程序跳转外呼场景。

与 AccessToken 的主要区别:

鉴权方式是否关联座席典型特点
AccessToken不强制关联座席使用 userId 初始化,适合 Android、iOS、Web、移动 H5 等 SDK 接入。
AgentToken关联座席工号常用于小程序跳转外呼,会检查企业 RTC 权限、座席在线状态,并可在座席离线时主动上线。

两种方式不能混用,应按接入场景选择一种。

3.5 userId

userId 是 RTC SDK 识别用户的标识。它不等同于座席工号,但可以与座席、员工账号或客户侧用户体系建立映射关系。

使用建议:

  • 同一用户在同一业务体系中保持稳定。
  • 不要频繁变更,避免登录并发、通话归属和排障困难。
  • 与 AccessToken 生成逻辑保持一致。

3.6 座席工号

座席工号用于识别呼叫中心内参与通话服务的座席身份。在 AgentToken、小程序跳转、座席上线、记录和报表统计中,座席工号仍是重要业务标识。

3.7 rtcEndpoint

rtcEndpoint 是 RTC 服务的访问地址。移动端 SDK 初始化时需要使用该地址连接对应 RTC 服务。

产品口径上可理解为:移动端 RTC 能力连接呼叫平台的服务入口。

3.8 通话事件

通话事件用于让客户 App 或页面感知通话过程,例如呼叫发起、响铃、通话中、失败、挂断、网络变化、AccessToken 即将过期等。

常见事件包括:

事件类型说明
呼叫发起外呼或会话邀请开始。
被叫接听 / 通话中对端接听后进入通话。
呼叫失败外呼未成功建立,需结合错误码排查。
挂断本端、对端或系统侧结束通话。
网络变化网络在线、离线或连接异常。
Token 过期AccessToken 即将过期或已经过期。

3.9 RTC 并发

RTC 并发可分为登录并发和通话并发:

类型说明
登录并发当前已初始化并登录 RTC 的用户数量。
通话并发当前正在进行中的 RTC 呼入或外呼通话数量。

并发能力与企业资源、授权和现场使用规模有关,实施前应确认并发容量和监控方式。


四、主流程与状态链路

4.1 原生 App RTC 外呼流程

客户 App 打开 RTC 能力
   ↓
客户服务端生成 AccessToken
   ↓
App 使用 userId、企业标识、rtcEndpoint、AccessToken 初始化 RTC 客户端
   ↓
设置事件监听
   ↓
发起外呼
   ↓
SDK 上报呼叫发起、响铃、接通、失败、挂断等事件
   ↓
通话结束后形成记录、录音和统计数据

4.2 原生 App 接听回呼邀请流程

App 初始化 RTC 客户端
   ↓
监听远端会话邀请
   ↓
收到回呼邀请
   ↓
用户接受或拒绝邀请
   ↓
接受后进入通话
   ↓
通话结束后释放会话

4.3 小程序跳转外呼流程

客户小程序 / 企微 H5 页面
   ↓
获取 AgentToken 或 AccessToken
   ↓
携带企业、座席或用户、被叫号码、外显等参数
   ↓
跳转至 CTI-Cloud 小程序外呼页
   ↓
小程序完成鉴权和通话发起
   ↓
通话结束后形成记录和后续统计

说明:

  • 使用 AgentToken 时,一般需要传入座席工号。
  • 使用 AccessToken 时,一般按 userId 识别用户。
  • 小程序场景不建议通话中长时间切后台或锁屏,可能影响通话稳定性。

4.4 AccessToken 生命周期

客户服务端生成 AccessToken
   ↓
SDK 初始化使用 AccessToken
   ↓
AccessToken 即将过期
   ↓
SDK 触发即将过期事件
   ↓
客户服务端生成新 AccessToken
   ↓
App 调用刷新能力更新 AccessToken
   ↓
继续保持 RTC 能力可用

若 AccessToken 过期后未刷新,SDK 可能不可继续使用,需要重新初始化或按平台能力恢复。

4.5 异常排查主链路

确认平台和 SDK 版本
   ↓
确认企业 RTC 能力和并发资源
   ↓
确认 AccessToken / AgentToken 是否有效
   ↓
确认 userId / 座席工号是否正确
   ↓
确认麦克风、蓝牙、网络、后台权限
   ↓
确认事件回调和错误码
   ↓
查询 RTC 登录并发、通话并发或销毁异常客户端

五、能力地图

5.1 平台接入能力

能力说明
Android SDK支持 Android App 集成 RTC 通话能力。
iOS SDK支持 iOS App 集成 RTC 通话能力。
微信小程序跳转支持小程序或企微 H5 跳转至 CTI-Cloud 小程序外呼。
移动端 JS SDK支持移动 H5 或小程序场景的 RTC 能力。
Web RTC SDK支持浏览器端 RTC,可与移动端方案共同对比和联调。

5.2 鉴权与初始化能力

能力说明
AccessToken 鉴权面向 SDK 接入,通常由客户服务端生成。
AgentToken 鉴权面向座席相关小程序跳转外呼场景。
RTC 客户端初始化创建 SDK 客户端,建立服务连接。
AccessToken 刷新Token 即将过期时更新凭证。
客户端销毁释放当前用户 RTC 客户端资源。

5.3 通话控制能力

能力说明
外呼移动端发起到客户号码的呼叫。
接受会话邀请接收并接听回呼或远端邀请。
拒绝会话邀请用户拒绝接听邀请。
挂断本端结束当前通话。
DTMF 按键通话中发送按键信息。
扬声器控制通话中打开或关闭扬声器。
静音控制通话中开启或关闭本地音频采集。

5.4 事件与状态能力

能力说明
呼叫事件发起、响铃、接通、失败、挂断等过程事件。
Token 事件AccessToken 即将过期或已过期事件。
网络事件网络在线、离线、连接异常等状态变化。
远端登录事件同一用户在其它端登录导致连接变化。
错误码标识鉴权、网络、并发、配置、号码、风控等异常。

5.5 监控与治理能力

能力说明
RTC 通话并发监控查看企业当前 RTC 外呼并发和呼入并发。
RTC 登录并发查询查看当前已登录 RTC 的用户列表和凭证有效期。
RTC 客户端销毁对指定用户的 RTC 客户端进行销毁,处理异常占用。
错误日志上报部分 SDK 版本支持上报错误或外呼失败日志。
本地日志辅助Android、iOS 可结合本地日志辅助定位崩溃、网络和音频问题。

六、产品功能说明

6.1 平台支持

移动端 RTC 当前主要支持 Android、iOS、微信小程序和移动端 JS 场景。

平台支持口径主要前置条件
Android支持 Android 原生 SDK。Android 版本满足要求,具备网络、麦克风、蓝牙等权限。
iOS支持 iOS 原生 SDK。iOS 版本满足要求,具备麦克风权限,按需开启后台音频能力。
微信小程序 / 企微支持跳转 CTI-Cloud 小程序外呼。完成小程序关联、鉴权和跳转参数准备。
移动 H5 / JS支持移动端 JS SDK 场景。使用稳定 SDK 版本,完成 HTTPS、权限和兼容性验证。

风险提示:

  • Web 端版本与移动端版本能力存在差异,切换版本或跨端复用前必须验证。
  • 移动端通话受系统权限、后台限制、网络切换、蓝牙设备和系统版本影响更明显。
  • 小程序通话中切后台或锁屏可能导致无声、断线或其它异常,不建议作为常规使用方式。

6.2 鉴权方式

移动端 RTC 主要存在两类鉴权方式:AccessToken 和 AgentToken。

鉴权方式适用场景特点
AccessTokenAndroid、iOS、Web、移动 H5、小程序 AccessToken 模式userId 绑定,由客户服务端生成,不强制关联座席工号。
AgentToken小程序座席外呼场景与座席相关联,通常传入座席工号,可检查座席在线和企业 RTC 权限。

默认建议:

  1. 原生 App 深度集成优先使用 AccessToken。
  2. 企微或小程序轻量外呼可根据场景选择 AgentToken 或 AccessToken。
  3. 若需要与座席状态、座席上线强关联,应优先评估 AgentToken 模式。
  4. 若客户已有统一用户体系,且不希望强绑定座席工号,可评估 AccessToken 模式。

6.3 初始化与客户端管理

RTC 通话前需要初始化客户端。初始化通常需要:

信息说明
RTC 服务地址移动端连接 RTC 服务的入口。
企业标识当前企业或呼叫中心的业务归属。
userIdRTC 用户标识。
AccessToken当前用户的临时访问凭证。
调试或日志配置用于接入调试和问题排查。
主叫号码 / 回呼号码部分场景用于回呼或主叫识别。

使用建议:

  • 高频使用场景:应用初始化后创建客户端,并在应用生命周期内复用。
  • 低频使用场景:进入外呼页面时按需初始化,通话结束后按需销毁。
  • 切换账号、用户退出、异常占用时,应主动销毁或重建客户端。

6.4 外呼能力

移动端 RTC 支持通过 SDK 或小程序发起外呼。外呼前建议确认:

  1. 企业 RTC 能力已开通。
  2. AccessToken 或 AgentToken 有效。
  3. userId 或座席工号正确。
  4. 被叫号码格式正确。
  5. 外显号码、外显区号或号码组符合业务配置。
  6. 企业或座席具备外呼权限。
  7. RTC 登录并发和通话并发未超限。

外呼结果应通过事件、错误码、记录和报表共同确认,不建议只依赖前端按钮状态判断。

6.5 回呼邀请与接听能力

移动端 RTC 支持收到远端会话邀请后接受或拒绝。该能力可用于回呼到 SDK、客服场景或移动端接听类场景。

需要关注:

  • App 是否保持 RTC 客户端在线。
  • 系统是否允许后台保活或音频播放。
  • 用户是否授权麦克风。
  • 网络切换、锁屏、切后台是否影响接听。
  • 未接、拒接、取消、失败事件是否能被业务页面正确处理。

6.6 通话中控制能力

移动端 RTC 通话中可支持以下操作:

操作说明
挂断本端结束当前通话。
发送 DTMF通话中向对端或 IVR 发送按键信息。
扬声器开关在听筒、耳机、扬声器等输出方式间切换。
静音 / 取消静音控制本地音频采集。
获取 SDK 版本用于排查不同版本能力差异。

风险提示:

  • 部分操作只在通话中或响铃中有效。
  • 不同平台的音频路由、蓝牙设备和后台策略存在差异。
  • DTMF 是否生效还取决于通话场景和对端业务流程。

6.7 事件监听

事件监听是移动端 RTC 与业务页面协同的关键能力。

建议至少处理:

事件业务处理建议
呼叫发起页面进入呼叫中状态,防止重复点击。
响铃 / 通话中更新通话状态和操作按钮。
呼叫失败展示失败原因,引导重试或排查。
本端挂断 / 对端挂断结束页面通话状态,等待记录生成。
Token 即将过期向客户服务端申请新 Token 并刷新。
Token 已过期提示重新登录或重新初始化。
网络异常提示网络不稳定,并记录排障信息。
远端登录 / 同用户多端提示当前 RTC 连接可能被其它端占用。

6.8 监控和并发治理

移动端 RTC 支持从企业维度查看 RTC 呼入、外呼并发,以及查询当前 RTC 登录并发列表。

典型用途:

  • 判断当前企业 RTC 呼叫是否接近并发上限。
  • 排查某个 userId 是否已登录或凭证是否仍有效。
  • 处理异常占用、重复登录、客户端未释放等问题。
  • 对移动端上线后的使用规模进行容量评估。

治理建议:

  1. 上线前确认 RTC 登录并发和呼叫并发授权。
  2. 对移动端用户退出、切换账号、异常关闭 App 的场景设计客户端释放策略。
  3. 遇到重复登录或异常占用时,可结合登录并发查询和客户端销毁能力处理。

6.9 错误码与日志

RTC 错误通常可分为以下几类:

类型常见原因
SDK 初始化类未初始化、正在初始化、RTC 地址格式错误、企业标识或 userId 格式错误。
鉴权类AccessToken 过期、有效期过短、版本错误、与 userId 不匹配。
通话参数类呼叫参数错误、重复呼叫、不支持的呼叫场景。
音频权限类无麦克风权限、本地音频采集失败。
网络连接类网络异常、SDK 断线、服务连接异常。
企业和权限类企业状态异常、无外呼权限、并发超限。
号码和风控类外呼号码格式错误、无可用外显、黑名单、频次、时间限制。

排查时建议同时收集:

  • 平台类型和 SDK 版本。
  • 企业标识、userId 或座席工号。
  • 发生问题的时间点。
  • 被叫号码或请求唯一标识。
  • 错误码、错误描述、事件顺序。
  • App 日志、SDK 日志、截图或录屏。

七、典型业务场景

7.1 自有 App 移动外呼

客户在自有 App 中集成 Android 或 iOS SDK,业务人员在 App 内点击客户号码发起外呼。

推荐流程:

App 登录客户业务系统
   ↓
客户服务端生成 AccessToken
   ↓
App 初始化 RTC 客户端
   ↓
用户点击客户号码
   ↓
SDK 发起外呼
   ↓
通话结束后回到业务页面

验收重点:

  • SDK 初始化成功。
  • 麦克风、网络、蓝牙等权限正常。
  • 外呼成功并产生记录。
  • 失败时能展示可理解的错误提示。

7.2 企微 H5 跳转小程序外呼

客户在企业微信 H5 页面中处理客户资料,通过跳转 CTI-Cloud 小程序发起外呼。

适用特点:

  • 接入轻量,不需要在客户 App 中完整集成原生 SDK。
  • 适合企微作业、销售跟进、移动回访等场景。
  • 需要准备跳转参数、鉴权方式和小程序关联。

7.3 微信小程序内移动外呼

客户小程序跳转到 CTI-Cloud 小程序进行外呼,适合微信生态内的轻量触达场景。

注意事项:

  • 通话中不建议切后台或锁屏。
  • 被叫号码、自定义参数、外显信息需要按规范编码传递。
  • AgentToken 和 AccessToken 模式应二选一。

7.4 移动端回呼到 SDK

企业通过呼叫平台向移动端 SDK 发送会话邀请,移动端用户接受邀请后进入通话。

适用场景:

  • 移动客服接听。
  • App 内回呼。
  • 不希望暴露真实手机号的移动沟通场景。

7.5 移动端异常占用处理

用户切换账号、App 异常退出、网络中断或同一用户多端登录后,可能出现 RTC 客户端占用或通话状态异常。

处理建议:

  1. 查询 RTC 登录并发,确认用户是否仍在线。
  2. 必要时销毁指定用户 RTC 客户端。
  3. 引导用户重新初始化或重新进入通话页面。
  4. 结合错误码和事件顺序判断是否为网络、Token 或多端登录问题。

八、上线准备与运营建议

8.1 上线前准备

准备项说明
平台选择明确使用 Android、iOS、小程序跳转、移动 JS 还是多端组合。
企业能力确认企业已开通 RTC 能力和对应并发资源。
鉴权方案确认使用 AccessToken 还是 AgentToken。
用户标识明确 userId、员工账号、座席工号之间的映射关系。
SDK 版本确认生产环境使用稳定版本,不使用测试版本。
权限准备准备麦克风、蓝牙、网络、后台音频等必要权限。
网络环境验证 Wi-Fi、4G/5G、弱网、切网场景。
事件处理业务页面处理呼叫、失败、挂断、Token 过期、网络异常等事件。
监控排障准备 RTC 并发查询、客户端销毁、日志收集和错误码排查流程。

8.2 上线验收建议

建议至少验证以下内容:

  1. SDK 或小程序跳转初始化成功。
  2. AccessToken 或 AgentToken 鉴权成功。
  3. 外呼正常发起、响铃、接通和挂断。
  4. 回呼邀请可接听和拒绝。
  5. DTMF、扬声器、静音等通话中操作符合预期。
  6. Token 即将过期时可刷新,过期后有明确提示。
  7. 网络断开、弱网、切网有可理解的异常提示。
  8. 记录、录音和报表能关联到正确业务对象。
  9. RTC 登录并发和通话并发可查询。
  10. 异常客户端可按流程释放或重新初始化。

8.3 运营建议

  • 移动端上线初期建议开启更完整的日志采集和问题反馈渠道。
  • 对外呼失败率、并发超限、Token 过期、网络异常进行定期复盘。
  • 对小程序场景明确提示“通话中不要切后台或锁屏”。
  • 对 App 用户培训麦克风、蓝牙、耳机、系统权限等常见问题处理方式。
  • 大规模上线前应按目标机型、系统版本、网络环境做兼容性测试。

九、与周边能力的关系

9.1 与座席管理的关系

座席管理负责座席工号、员工账号、权限、队列、外呼组和数据范围;移动端 RTC 负责移动设备上的实时通话能力。

若移动端 RTC 与座席强关联,需要确认:

  1. 座席工号存在且启用。
  2. 座席具备外呼或接听权限。
  3. 座席与 userId 或 AgentToken 模式映射正确。
  4. 记录和报表能按座席归属沉淀。

9.2 与登录座席工作台的关系

PC 工作台登录和移动端 RTC 登录是两类入口。移动端 RTC 不等同于完整工作台。

移动端 RTC 主要解决移动语音接入;客户资料、工单、弹屏、坐席状态管理等能力是否在移动端呈现,取决于客户 App 或小程序自身业务设计。

9.3 与发起外呼通话的关系

移动端 RTC 是外呼发起的一种设备和接入形态。外呼能否成功,还要满足企业外呼能力、外显、线路、风控、号码格式、并发和权限等条件。

9.4 与通话记录、录音和报表的关系

移动端 RTC 通话结束后,应进入呼叫中心通话记录、录音和报表链路。

实施时需要确认:

  • 通话是否带有请求唯一标识或业务扩展字段。
  • 通话是否能关联到正确座席、用户或业务对象。
  • 录音是否生成,是否能试听或下载。
  • 报表是否按预期归属到座席、任务、外呼组或租户。

9.5 与监控和排障的关系

RTC 监控用于查看企业当前 RTC 呼入、外呼并发,以及当前登录用户情况。它不是完整通话质量分析系统,但能支撑并发、登录、占用、Token 和客户端异常排查。


十、常见问题

10.1 移动端 RTC 和软电话是什么关系?

移动端 RTC 可以理解为移动端的实时语音通信能力,解决手机、App、小程序场景下的软电话接入问题。PC 浏览器软电话更多用于工作台场景,移动端 RTC 更偏 App、小程序和移动 H5 场景。

10.2 AccessToken 和 AgentToken 应该选哪个?

原生 App 或客户自有 H5 深度集成通常选择 AccessToken;小程序跳转且需要与座席强关联时,可评估 AgentToken。两种方式不要混用。

10.3 为什么初始化失败?

常见原因包括:

  1. RTC 服务地址不正确。
  2. 企业标识或 userId 格式错误。
  3. AccessToken 过期、有效期过短或与 userId 不匹配。
  4. 网络异常。
  5. 企业未开通 RTC 能力或并发不足。

10.4 为什么能初始化,但外呼失败?

常见原因包括:

  1. 无外呼权限。
  2. 外呼号码格式错误。
  3. 未获取到可用外显号码。
  4. 命中黑名单、频次或时间限制。
  5. 呼叫并发超限。
  6. 当前用户已经处于通话中。

10.5 为什么通话中突然断线?

常见原因包括:

  1. 网络切换或弱网。
  2. App 被系统后台限制。
  3. 同一 userId 在其它端登录。
  4. AccessToken 过期未刷新。
  5. SDK 客户端被销毁或异常退出。

10.6 小程序通话能否切后台或锁屏?

不建议。小程序通话中切后台或锁屏可能出现无声、通话中断、下次进入异常等问题。上线前应在客户实际使用场景中充分验证。

10.7 遇到问题需要提供哪些信息?

建议提供:

  • 平台类型:Android、iOS、小程序、H5。
  • 系统版本、App 版本、SDK 版本。
  • 企业标识、userId 或座席工号。
  • 问题发生时间点。
  • 被叫号码或请求唯一标识。
  • 错误码、错误描述、截图或录屏。
  • 网络类型和是否切后台、锁屏、切换网络。

十一、总结

移动端实时通信(RTC)支持让呼叫中心从固定工位和 PC 工作台扩展到手机、App、小程序和移动 H5 场景。它适合移动客服、移动外呼、企微作业、微信小程序外呼和 App 内回呼等业务。

建设移动端 RTC 时,建议始终围绕以下原则:

  1. 先确认接入平台和业务场景。
  2. 再选择 AccessToken 或 AgentToken 鉴权方式。
  3. 明确 userId、座席工号、员工账号之间的映射关系。
  4. 完成麦克风、网络、后台、蓝牙和系统版本兼容性测试。
  5. 必须处理呼叫、挂断、失败、网络、Token 过期等事件。
  6. 上线后通过并发监控、错误码和日志形成排障闭环。

只有把 SDK 接入、座席权限、外呼能力、事件处理、并发监控和异常排查一起验收,移动端 RTC 才能稳定支撑真实业务。


附录 A:平台能力速查

平台 / 形态主要能力关键注意事项
Android SDK初始化、外呼、接听邀请、挂断、DTMF、扬声器、静音、Token 刷新、日志。需关注麦克风、蓝牙、网络、前台服务、系统版本。
iOS SDK初始化、外呼、接听邀请、挂断、DTMF、扬声器、静音、Token 刷新、事件回调。需关注麦克风权限、后台音频、系统后台策略。
微信小程序跳转通过微信或企微场景跳转 CTI-Cloud 小程序外呼。需处理跳转参数、鉴权方式、小程序关联和切后台限制。
移动 JS SDK移动 H5 或小程序内嵌 RTC 能力。需使用稳定版本并验证目标容器兼容性。
Web RTC SDK浏览器端 RTC 能力。需 HTTPS、浏览器兼容性和麦克风权限。

附录 B:关键字段口径

字段 / 对象业务含义使用注意
userIdRTC 用户标识必须唯一,同一用户保持一致。
cno / 座席工号呼叫中心座席身份AgentToken 模式通常需要传入。
enterpriseId企业或呼叫中心标识用于确定 RTC 能力归属。
rtcEndpointRTC 服务入口SDK 初始化时使用。
AccessTokenRTC 临时访问凭证与 userId 绑定,有有效期,需要过期前刷新。
AgentToken座席相关临时凭证适合小程序座席外呼类场景。
called_number被叫号码外呼目标号码,应按规则编码和校验。
clid外显号码是否可用取决于企业外显配置。
requestUniqueId请求唯一标识用于关联外部业务、记录和排障。
userField自定义业务参数用于传递客户侧扩展信息,需按规范编码。

附录 C:实施检查清单

C.1 上线前检查

检查项是否完成
已确认接入平台:Android、iOS、小程序、H5 或组合方案。
企业 RTC 能力和并发资源已确认。
AccessToken 或 AgentToken 鉴权方案已确认。
userId、座席工号、员工账号映射关系已确认。
SDK 版本和生产使用版本已确认。
麦克风、蓝牙、网络、后台音频等权限已确认。
外呼号码、外显、风控、并发规则已验证。
事件监听和错误提示已接入业务页面。
日志、错误码、并发查询和客户端销毁流程已准备。

C.2 上线后验证

验证项预期结果
初始化SDK 或小程序跳转能成功完成鉴权和初始化。
外呼可正常发起、响铃、接通、挂断。
接听邀请可正常接收、接受、拒绝远端邀请。
权限无麦克风权限等场景有明确提示。
Token即将过期时可刷新,过期时有明确处理。
网络弱网、断网、切网有可识别异常。
记录通话结束后可查询记录和录音。
报表通话数据可进入对应统计口径。
监控可查询 RTC 登录并发和通话并发。
释放用户退出或异常后可释放客户端资源。

附录 D:常见问题速查

现象可能原因建议处理
SDK 初始化失败Token 过期、userId 不匹配、RTC 地址错误、网络异常检查鉴权、服务地址、网络和错误码。
外呼失败无权限、号码错误、外显不可用、并发超限、风控拦截检查外呼权限、号码、外显、并发和风控规则。
通话无声麦克风权限、蓝牙设备、音频路由、切后台或系统限制检查权限、耳机、扬声器、后台策略和设备日志。
通话中断网络切换、Token 过期、多端登录、客户端销毁检查网络、Token 刷新、登录并发和事件顺序。
小程序外呼异常跳转参数错误、Token 模式混用、小程序未关联检查跳转参数、鉴权方式和企微 / 微信配置。
同一用户重复占用App 异常退出、客户端未销毁、多端登录查询 RTC 登录并发,必要时销毁指定客户端。
记录关联不上requestUniqueId 缺失、座席或 userId 映射错误检查业务标识、座席工号和通话记录。

附录 E:异常排查信息采集

排查移动端 RTC 问题时,建议收集以下信息:

信息说明
平台类型Android、iOS、小程序、H5、Web。
系统版本Android / iOS / 微信 / 企业微信版本。
SDK 版本用于判断能力差异和已知问题。
企业标识确认 RTC 能力和并发归属。
userId / 座席工号确认登录、鉴权和业务归属。
问题时间精确到分钟,便于查日志。
被叫号码用于核对外呼链路和记录。
requestUniqueId用于关联客户业务和通话记录。
错误码 / 错误描述用于定位失败阶段。
网络状态Wi-Fi、4G/5G、切网、弱网、VPN 等。
操作过程是否切后台、锁屏、蓝牙切换、重复点击。
截图 / 录屏 / 本地日志辅助复现和定位。

附录 F:术语表

术语说明
RTC实时通信能力,本文主要指移动端实时语音通信。
RTC SDK客户 App 或页面集成的实时通信组件。
RTC 客户端SDK 初始化后的运行实例。
AccessToken与 userId 绑定的 RTC 临时访问凭证。
AgentToken与座席相关联的小程序外呼鉴权凭证。
userIdRTC 用户标识。
座席工号呼叫中心内识别座席身份的业务编号。
rtcEndpointRTC 服务访问入口。
DTMF通话中发送的按键信息。
登录并发当前已登录 RTC 的用户数量。
通话并发当前正在进行中的 RTC 通话数量。
客户端销毁释放指定用户 RTC 客户端资源。