tencent cloud

实时音视频

动态与公告
产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明
产品简介
产品概述
基本概念
产品功能
产品优势
应用场景
性能数据
购买指南
计费概述
免费时长说明
月订阅
现收现付
TRTC 逾期与暂停政策
常见问题解答
退款说明
新手指引
Demo 体验
视频通话 SDK
组件介绍
开通服务
跑通 Demo
快速接入
离线唤醒
会话聊天
云端录制
AI 降噪
界面定制
Chat 集成通话能力
更多特性
无 UI 集成
服务端 API
客户端 API
解决方案
错误码表
发布日志
常见问题
视频会议 SDK
组件介绍(TUIRoomKit)
开通服务(TUIRoomKit)
跑通 Demo(TUIRoomKit)
快速接入(TUIRoomKit)
屏幕共享(TUIRoomKit)
预定会议(TUIRoomKit)
会中呼叫(TUIRoomKit)
界面定制(TUIRoomKit)
虚拟背景(TUIRoomKit)
会议控制(TUIRoomKit)
云端录制(TUIRoomKit)
AI 降噪(TUIRoomKit)
会中聊天(TUIRoomKit)
机器人推流(TUIRoomKit)
更多特性(TUIRoomKit)
客户端 API(TUIRoomKit)
服务端 API(TUIRoomKit)
常见问题(TUIRoomKit)
错误码 (TUIRoomKit)
SDK更新日志(TUIRoomKit)
直播与语聊 SDK
Live 视频直播计费说明
组件介绍
开通服务(TUILiveKit)
跑通 Demo
无 UI 集成
UI 自定义
直播监播
视频直播
语聊房
高级功能
客户端 API
服务端 API
错误码
发布日志
常见问题
RTC Engine
开通服务
SDK 下载
API-Example
接入指引
API-参考手册
高级功能
AI 集成
概述
MCP 配置
Skills 配置
集成指南
常见问题
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
控制台指南
应用管理
套餐包管理
用量统计
监控仪表盘
开发辅助
解决方案
实时合唱
常见问题
迁移指南
计费相关
功能相关
UserSig 相关
应对防火墙限制相关
缩减安装包体积相关
Andriod 与 iOS 相关
Web 端相关
Flutter 相关
Electron 相关
TRTCCalling Web 相关
音视频质量相关
其他问题
旧版文档
RTC RoomEngine SDK(旧)
集成 TUIRoom (Web)
集成 TUIRoom (Android)
集成 TUIRoom (iOS)
集成 TUIRoom (Flutter)
集成 TUIRoom (Electron)
TUIRoom API 查询
实现云端录制与回放(旧)
监控仪表盘计费(旧)
协议与策略
安全合规认证
安全白皮书
信息安全说明
服务等级协议
苹果隐私策略:PrivacyInfo.xcprivacy
TRTC 政策
隐私协议
数据处理和安全协议
词汇表

通话状态回调

PDF
聚焦模式
字号
最后更新时间: 2025-03-28 11:19:49
为了方便您精细化控制您的通话业务,音视频通话 Call(TUICallKit)提供了通话状态回调。您的业务后台可以通过该回调实时查看用户的通话结果,如未接听、拒接等,您可以据此进行实时数据统计等操作。回调配置方式参见 回调配置 API 列表

使用条件

仅开通了音视频通话 Call(TUICallKit) 群组通话版的应用(SDKAppId)可以使用通话状态回调,您也可以开通体验版免费试用,版本说明及开通指引参见 音视频通话能力版本
目前各平台仅在特定版本的 TUICallKit 可使用通话状态回调,详见下表:
平台/框架
版本号
Android/iOS/Flutter/uni-app(客户端)
≥ 1.7.1
Web
≥ 1.4.6
微信小程序
≥ 1.5.1
注意:
参与通话的所有平台/框架升级到上述新的版本后,才可在控制台上查看到对应的通话信息。

注意事项

要启用回调,必须配置回调 URL,并打开本条命令字的开关,请参见 创建回调配置
回调的方向是 Callkit 后台向 App 后台发起 HTTP POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。

可能触发该回调的场景

App 用户通过客户端进行通话所产生的动作,例如挂断等。

回调的发生时机

通话结束后。

可能发生的回调结果

回调状态
结果表示
未接听:被叫方超时未接听
not_answer
拒接:被叫方拒接
reject
忙线:通话忙线
call_busy
取消:主叫方在接通前取消通话
cancel
完成:通话接通并正常结束
normal_end
中断:网络等原因导致通话中断
interrupt

接口说明

请求URL

以下示例中 App 配置的回调 URL 为 https://www.example.com示例:
$http://www.example.com?sdkappid=$sdkappid&command=$command&contenttype=json&clientip=$clientip&optplatform=$optplatform

请求参数说明

参数
说明
http
请求协议为 HTTPS 或 HTTP,请求方式为 POST
www.example.com
回调 URL
sdkappid
创建应用时在即时通信 IM 控制台分配的 SDKAppID
command
请参见:回调命令字列表
contenttype
固定值为 json
clientip
客户端 IP,格式如:127.0.0.1
optplatform
客户端平台,可能是 iOS、Android、Web、miniProgram
具体的回调内容在 HTTP 请求包体中,参见下文回调示例。

回调示例

回调请求示例:
POST /?sdkappid=8888888&command=call_end&contenttype=json&clientip=127.0.0.1&optplatform=iOS HTTP/1.1
Host: www.example.com
Content-Length: 337
{
"UserId": "Alice",
"RoomId": "Alice's Room",
"TotalNum": 2,
"MediaType": "audio",
"CallType": "single",
"CallId": "aheahfo-eqwnknoihfsd-qweqf",
"Role": "caller",
"CallResult": "normal_end",
"EventTime": 170485688,
"StartCallTs": 1704856873,
"AcceptTs": 1704856876,
"EndTs": 1704856885
}

请求包字段说明

字段
类型
说明
UserId
String
操作的用户 ID
RoomId
String
操作的房间 ID
TotalNum
Integer
参与通话人数
MediaType
String
媒体类型:
audio音频通话
video视频通话
CallType
String
通话类型:
single音频通话
group视频通话
CallId
String
通话唯一 ID
Role
String
角色:
caller主叫 userId
callee被叫 userId
CallResult
String
通话结果,仅在结束事件中填写,其余为空:
cancel 取消:主叫方在接通前取消通话
reject 拒接:被叫方拒接
not_answer 未接听:被叫方超时未接听
normal_end 完成:通话接通并正常结束
call_busy 忙线:通话忙线
interrupt 中断:网络等原因导致通话中断
EventTime
Integer
操作发生的时间戳(秒级)
StartCallTs
Integer
通话发起的时间戳(秒级)只有在normal_end才会回调此值
AcceptTs
Integer
通话接听的时间戳(秒级)只有在normal_end才会回调此值
EndTs
Integer
通话结束的时间戳(秒级)只有在normal_end才会回调此值
说明:
CallResult 字段仅一对一通话可能显示所有类型,群聊仅有normal_end

回调应答示例

App 后台同步数据后,发送回调应答包。
{
"ErrorCode": 0,
"ErrorMessage": "Success"
}

应答包字段说明

字段
类型
说明
ErrorCode
Integer
0 为成功,其余为失败
ErrorMessage
String
您的服务器响应可以自定义携带错误信息
注意:
您的服务器在正确接收到请求包时,建议您及时回复正确的应答包,否则会触发系统重试,重试机制如下。

重试机制

触发重试的时机
ErrorCode = 0 视为回调成功,否则会触发重试。
向您的 appServer 发 http 请求报错也会触发重试。
重试间隔
重试间隔为0s, 1s, 1s, 2s, 3s, 5s若均为成功则放弃。

错误码

错误码
含义说明
0
请求成功
50001
当前应用需要购买 TUICallKit 群组通话版套餐包方可使用
999
回调不存在
70001
请求参数无效,请检查必填参数是否缺失或填错
70002
UserSig 无效
70003
UserSig 过期
70004
请求用户非超级管理员
70005
请求被限频
未知错误码
系统内部错误,请 提交工单 联系技术人员


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈