tencent cloud

云联络中心

产品公告
产品动态
关于云联络中心术语更新
产品简介
产品概述
功能列表
名词介绍
应对防火墙限制相关
AI 专区
购买指南
语音通话计费概述
在线会话计费概述
查看账单
退费指引
新用户手册
语音通话指引
在线会话指引
场景用例
客服热线(呼入)
电话营销(呼出)
语音提醒(自动外呼)
集成用例(SDK)
管理员操作手册
语音通话分册
在线会话分册
工作台操作手册
语音通话分册
在线会话分册
AI 智能体操作手册
语音智能体介绍
语音智能体实践教程
新建语音智能体
实现智能体通话
查看智能体通话
开发操作手册
SDK 开发指南
数据推送
语音通话 API 文档
History
Introduction
API Category
Making API Requests
Agent APIs
Skill Group APIs
Number APIs
Dual Call APIs
Predictive Outbound Call APIs
SIP Phone APIs
Call Service Record APIs
Billing APIs
Other APIs
Outbound Call APIs
Speech Intelligent Agent APIs
Data Types
Error Codes
在线会话 API 文档
服务端 API
回调配置
常见问题
数据删除指引
相关协议
隐私政策
数据隐私和安全协议
服务等级协议
云联络中心用户协议
词汇表
联系我们

Android

PDF
聚焦模式
字号
最后更新时间: 2025-01-09 15:41:51

创建实例和事件回调

API
描述
sharedInstance
创建 TCCCWorkstation 实例(单例模式)
destroySharedInstance
销毁 TCCCWorkstation 实例(单例模式)
setListener
设置 TCCCWorkstation 事件回调

创建实例和设置事件回调示例代码

// 创建实例和设置事件回调
TCCCWorkstation tcccSDK = TCCCWorkstation.sharedInstance(getApplicationContext());
tcccSDK.setListener(new TCCCListener() {});

登录相关接口函数

API
描述
login
SDK 登录
checkLogin
检查 SDK 是否已登录
logout
SDK 退出登录

登录示例代码

TCCCTypeDef.TCCCLoginParams loginParams = new TCCCTypeDef.TCCCLoginParams();
/// 登录的坐席ID,通常为邮箱地址
loginParams.userId = "";
/// 登录票据,在登录模式为Agent必填。更多详情请参见[创建 SDK 登录
/// Token](https://www.tencentcloud.com/document/product/679/49227?from_cn_redirect=1)
loginParams.token = "";
/// 腾讯云联络中心应用ID,通常为1400开头
loginParams.sdkAppId = 0;
// 必须知道为坐席模式
loginParams.type = TCCCTypeDef.TCCCLoginType.Agent;

tcccSDK.login(loginParams, new TXCallback() {
@Override
public void onSuccess() {
// login success
}

@Override
public void onError(int code, String desc) {
// login error
}
});

呼叫相关接口函数

API
描述
call
发起通话
answer
接听来电
terminate
结束通话
sendDTMF
发送 DTMF(双音多频信号)
mute
静音
unmute
取消静音

发起呼叫和结束呼叫示例代码

TCCCTypeDef.TCCCStartCallParams callParams =new TCCCTypeDef.TCCCStartCallParams();
//格式 <scheme> : <user> @<host>,如 sip:1343xxxx@1400xxxx.tccc.qcloud.com,其中1343xxxx为手机号,1400xxxx为您的tccc应用ID
callParams.to = "sip:1343xxxx@1400xxxx.tccc.qcloud.com";
// 发起通话
tcccSDK.call(callParams, new TXCallback() {
@Override
public void onSuccess() {
// call success
}

@Override
public void onError(int code, String desc) {
// call error
}
});
// 结束通话
tcccSDK.terminate();

音频设备接口函数

API
描述
setAudioCaptureVolume
设定本地音频的采集音量
getAudioCaptureVolume
获取本地音频的采集音量
setAudioPlayoutVolume
设定远端音频的播放音量
getAudioPlayoutVolume
获取远端音频的播放音量
setAudioRoute
设置音频路由

调试相关接口

API
描述
getSDKVersion
获取 SDK 版本信息
setLogLevel
设置 Log 输出级别
setConsoleEnabled
启用/禁用控制台日志打印
callExperimentalAPI
调用实验性接口

获取SDK版本示例代码

// 获取SDK 版本号
TCCCWorkstation.getSDKVersion();

错误和警告事件

API
描述
onError
错误事件回调
onWarning
警告事件回调

处理错误回调事件回调示例代码

tcccSDK.setListener(new TCCCListener() {
/**
* 错误事件回调
* 错误事件,表示 SDK 抛出的不可恢复的错误,比如进入房间失败或设备开启失败等。
* @param errCode 错误码
* @param errMsg 错误信息
* @param extraInfo 扩展信息字段,个别错误码可能会带额外的信息帮助定位问题
*/
@Override
public void onError(int errCode, String errMsg, Bundle extraInfo) {
super.onError(errCode, errMsg, extraInfo);
}

/**
* 警告事件回调
* 警告事件,表示 SDK 抛出的提示性问题,比如音频出现卡顿或 CPU 使用率太高等。
* @param warningCode 警告码
* @param warningMsg 警告信息
* @param extraInfo 扩展信息字段,个别警告码可能会带额外的信息帮助定位问题
*/
@Override
public void onWarning(int warningCode, String warningMsg, Bundle extraInfo) {
super.onWarning(warningCode, warningMsg, extraInfo);
}
});

呼叫相关事件回调

API
描述
onNewSession
新会话事件。包括呼入和呼出
onEnded
会话结束事件
onAudioVolume
音量大小的反馈回调
onNetworkQuality
网络质量的实时统计回调

处理接听和坐席挂断事件回调示例代码

tcccSDK.setListener(new TCCCListener() {
@Override
public void onNewSession(TCCCTypeDef.ITCCCSessionInfo info) {
super.onNewSession(info);
// 新会话事件。包括呼入和呼出,可通过 info.sessionDirection 判断是呼入还是呼出
}

@Override
public void onEnded(int reason, String reasonMessage, String sessionId) {
super.onEnded(reason, reasonMessage, sessionId);
// 会话结束
}

@Override
public void onAccepted(String sessionId) {
super.onAccepted(sessionId);
// 对端接听
}
});

与云端连接情况的事件回调

API
描述
onConnectionLost
SDK 与云端的连接已经断开
onTryToReconnect
SDK 正在尝试重新连接到云端
onConnectionRecovery
SDK 与云端的连接已经恢复

与云端连接情况的事件回调示例代码

tcccSDK.setListener(new TCCCListener() {
/**
* SDK 与云端的连接已经断开
* SDK 会在跟云端的连接断开时抛出此事件回调,导致断开的原因大多是网络不可用或者网络切换所致,
* 比如用户在通话中走进电梯时就可能会遇到此事件。 在抛出此事件之后,SDK 会努力跟云端重新建立连接,
* 重连过程中会抛出 onTryToReconnect,连接恢复后会抛出 onConnectionRecovery 。
* 所以,SDK 会在如下三个连接相关的事件中按如下规律切换:
*/
@Override
public void onConnectionLost(TCCCServerType serverType) {
super.onConnectionLost(serverType);
}

/**
* SDK 正在尝试重新连接到云端
* SDK 会在跟云端的连接断开时抛出 onConnectionLost,之后会努力跟云端重新建立连接并抛出本事件,
* 连接恢复后会抛出 onConnectionRecovery。
*/
@Override
public void onTryToReconnect(TCCCServerType serverType) {
super.onTryToReconnect(serverType);
}

/**
* SDK 与云端的连接已经恢复
* SDK 会在跟云端的连接断开时抛出 onConnectionLost,之后会努力跟云端重新建立连接并抛出onTryToReconnect,
* 连接恢复后会抛出本事件回调。
*/
@Override
public void onConnectionRecovery(TCCCServerType serverType) {
super.onConnectionRecovery(serverType);
}
});


API 错误码

基础错误码

符号
含义
ERR_SIP_SUCCESS
200
成功
ERR_UNRIGIST_FAILURE
20001
登录失败
ERR_ANSWER_FAILURE
20002
接听失败,通常是trtc进房失败
ERR_SIPURI_WRONGFORMAT
20003
URI 格式错误

SIP相关错误码

符号
含义
ERR_SIP_BAD_REQUEST
400
错误请求
ERR_SIP_UNAUTHORIZED
401
未授权(用户名密码不对情况)
ERR_SIP_AUTHENTICATION_REQUIRED
407
代理需要认证,请检查是否已经调用登录接口
ERR_SIP_REQUESTTIMEOUT
408
请求超时(网络超时)
ERR_SIP_REQUEST_TERMINATED
487
请求终止(网络异常,网络中断场景下)
ERR_SIP_SERVICE_UNAVAILABLE
503
服务不可用
ERR_SIP_SERVER_TIMEOUT
504
服务超时

音频设备相关错误码

符号
含义
ERR_MIC_START_FAIL
-1302
打开麦克风失败。设备,麦克风的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序
ERR_MIC_NOT_AUTHORIZED
-1317
麦克风设备未授权,通常在移动设备出现,可能是权限被用户拒绝了
ERR_MIC_SET_PARAM_FAIL
-1318
麦克风设置参数失败
ERR_MIC_OCCUPY
-1319
麦克风正在被占用中,例如移动设备正在通话时,打开麦克风会失败
ERR_MIC_STOP_FAIL
-1320
停止麦克风失败
ERR_SPEAKER_START_FAIL
-1321
打开扬声器失败,例如在 Windows 或 Mac
ERR_SPEAKER_SET_PARAM_FAIL
-1322
扬声器设置参数失败
ERR_SPEAKER_STOP_FAIL
-1323
停止扬声器失败
ERR_UNSUPPORTED_SAMPLERATE
-1306
不支持的音频采样率

网络相关错误码

符号
含义
ERR_RTC_ENTER_ROOM_FAILED
-3301
进入房间失败,请查看 onError 中的 -3301 对应的 msg 提示确认失败原因
ERR_RTC_REQUEST_IP_TIMEOUT
-3307
请求 IP 和 Sig 超时,请检查网络是否正常,或网络防火墙是否放行 UDP
ERR_RTC_CONNECT_SERVER_TIMEOUT
-3308
请求进房超时,请检查是否断网或者是否开启 VPN,您也可以切换 4G 进行测试确认
ERR_RTC_ENTER_ROOM_REFUSED
-3340
进房请求被拒绝,请检查是否连续调用 enterRoom 进入相同 ID 的房间


帮助和支持

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

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

文档反馈