tencent cloud

文档反馈

通话事件回调

最后更新时间:2024-04-18 16:25: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 用户通过客户端进行通话所产生的动作,例如接听、挂断等。

    回调的发生时机

    接听、挂断等用户操作后。

    可能发生的回调结果

    接口说明

    请求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=caller_start_call&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",
    "Event": "start_call",
    "CallResult": "",
    "EventTime": 1704695566,
    "StartCallTs": 1704856873,
    "AcceptTs": 1704856876,
    "EndTs": 1704856885
    }

    请求包字段说明

    字段
    类型
    说明
    UserId
    String
    操作的用户 ID
    RoomId
    String
    操作的房间 ID
    TotalNum
    Integer
    参与通话人数
    CallType
    String
    通话类型:
    single音频通话
    group视频通话
    CallId
    String
    通话唯一 ID
    Role
    String
    角色:
    caller主叫 userId
    callee被叫 userId
    Event
    String
    通话事件:
    start_call 主叫发起通话
    call_accepted主叫接听通话
    call_missed 主叫未接听
    call_rejected 主叫拒绝通话
    call_busy 主叫通话忙线
    cancel_call 主叫取消通话
    call_failed 主叫发起通话失败
    call_end 主叫通话正常结束
    call_interrupted 主叫通话中断
    receive_call 被叫接收通话
    accept_call 被叫接听通话
    not_answer_call 被叫未应答
    reject_call 被叫拒接
    ignore_call 被叫忽略通话
    call_canceled 被叫取消通话
    call_end 被叫通话正常结束
    call_interrupted 被叫通话异常中断
    invite_user 中途邀请用户
    join_in_group_call 中途加入通话
    StartCallTs
    Integer
    通话发起的时间戳(秒级)只有在normal_end才会回调此值
    AcceptTs
    Integer
    通话接听的时间戳(秒级)只有在normal_end才会回调此值
    EndTs
    Integer
    通话结束的时间戳(秒级)只有在normal_end才会回调此值
    说明:
    CallResult 字段仅一对一通话可能显示所有类型,群聊仅有normal_end
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持