Initiating a Call From the Server
集成效果展示
您可以通过服务端完成发起通话、输入上行音视频媒体流。客户端接听通话的效果如下:
1 V 1 通话 | 群组通话 |
![]() | ![]() |
开始接入
服务端发起通话
请求 URL 示例:
https://console.tim.qq.com/v4/call_engine_http_srv/start_call_by_robot?sdkappid=88888888&identifier=administrator&usersig=xxx&random=99999999&contenttype=json
参数 | 含义 | 取值 |
xxxxxx | SDKAppID 所在国家/地区对应的专属域名 | 中国:console.tim.qq.com、新加坡:adminapisgp.im.qcloud.com |
https | 请求协议 | 请求协议为 HTTPS,请求方式为 POST |
console.tim.qq.com | 请求域名 | 固定为 console.tim.qq.com |
ver | 协议版本号 | 固定为 v4 |
servicename | 内部服务名,不同的 servicename 对应不同的服务类型 | 示例:v4/call_engine_http_srv/get_call_info,其中 call_engine_http_srv 为 servicename |
command | 命令字,与 servicename 组合用来标识具体的业务功能 | 示例:v4/call_engine_http_srv/get_call_info,其中 get_call_info 为 command |
sdkappid | App 在即时通信 IM 控制台获取的应用标识 | 在申请接入时获得 |
identifier | 用户名,调用 REST API 时必须为 App 管理员账号 | |
usersig | 用户名对应的密码 | |
random | 标识当前请求的随机参数 | 32位无符号整数随机数,取值范围 0 - 4294967295 |
contenttype | 请求格式 | 固定值为 json |
请求包示例
以下是服务端(userId:robot)向客户端(userId:jack)请求视频通话的请求包示例:
{"Robot_Account":"robot", // robot userid,不会对robot进行心跳检测"CalleeList_Account":["jack"],"Timeout":300000,"UserData":"userdata-12345687","CallInfo":{"MediaType": "Video","RoomId":"roomid-test","RoomIdType":2},"OfflinePushInfo": {"PushFlag": 0,"Title":"这是推送标题","Desc": "这是离线推送内容","Ext": "{\"entity\":{\"key1\":\"value1\",\"key2\":\"value2\"}}"}}
参数 | 含义 |
Robot_Account | 机器人 ID |
CalleeList_Account | 被叫成员列表 |
Timeout | 超时时间 |
CallInfo.MediaType | 通话类型。视频通话:"video" 语音通话:"Audio" |
CallInfo.RoomId | 房间ID。分为 Int 和 String 两种类型 |
CallInfo.RoomIdType | 房间ID的类型。 Int 类型:1 String 类型:2 |
OfflinePushInfo |
应答包示例
{"ErrorCode": 0,"ErrorInfo": "","ActionStatus": "OK","RequestId": "Id-01f93f1a85c34d64a0e4cadb371deef8-O-Seq-997346","Response": {"CallId": "35fd577d-1d10-4201-a40d-6d7316560986","CallResult": [{"Callee_Account": "jack","ResultCode": 0}]}}
参数 | 含义 |
ErrorCode | 错误码,0表示成功,非0表示失败 |
ErrorInfo | 错误信息 |
ActionStatus | 请求处理的结果,OK 表示处理成功,FAIL 表示失败 |
RequestId | 唯一请求 ID,每次请求都会返回,定位问题时需要提供该次请求的 RequestId |
Response | CallId: 通话 ID。 CallResult: 通话结果 |
服务端输入媒体流
注意:
服务端发起通话中 RoomIdType 的参数解释:1 表示 Int 类型、2表示 String 类型 ;
输入在线媒体流中 RoomIdType 的参数解释:0 表示 Int 类型、1表示 String 类型;