JCSDK-C#
|
座席模块 更多...
Public 成员函数 | |
bool | Checkin (string userId, JCAgentRoleType role) |
签入到排队机,签入后默认示闲状态 更多... | |
bool | Checkin (JCAgentRoleType role) |
签入到排队机,签入后默认示闲状态 更多... | |
bool | Checkin (string userId, JCAgentRoleType role, bool busy) |
签入到排队机,签入后的示忙示闲状态由busy参数决定 更多... | |
bool | Checkout () |
签出排队机,签出后将不会收到排队机的呼叫分配 更多... | |
bool | CheckResult (bool pass, string reason) |
通知访客服务的结果 更多... | |
bool | Answer () |
座席端在收到邀请后,调用该接口来接听 更多... | |
bool | Term () |
结束通话 更多... | |
int | ApplyStatePause (bool pause) |
主动发起示忙示闲 更多... | |
bool | EnableVideo (bool enable) |
开启关闭发送本地视频流,并修改自己的Video属性 更多... | |
bool | EnableAudio (bool enable) |
开启关闭发送本地音频流,并修改自己的Audio属性 更多... | |
bool | SendVideoEmptyPack (bool empty) |
视频发送空包,该接口不会导致成员的Video属性变化 更多... | |
bool | SendAudioEmptyPack (bool empty) |
音频发送空包,该接口不会导致成员的Audio属性变化 更多... | |
int | QueryAvailableAgents (string groupId) |
查询指定组号的空闲座席 更多... | |
int | TransferCall (JCAgentTransferType type, string id) |
转接,支持转接到具体坐席和转接到某个业务组 更多... | |
int | ResponseUrgent (string serialNumber, string callerNumber, bool agree) |
应答加急请求 更多... | |
bool | QueryAllGroups () |
查询业务组号,结果通过OnGetAllGroups上报 更多... | |
bool | EnableDesktopOrWindowShare (bool enable, string deviceId) |
屏幕/窗口共享 更多... | |
bool | InviteMember (string userId) |
邀请其他座席加入 更多... | |
bool | SetRatio (float ratio) |
设置视频本地宽高比,会将自己的视频采集根据宽高比裁剪后进行发送 更多... | |
void | RequestVideo (JCMediaChannelPictureSize requestSize) |
按设定质量请求成员视频画面,影响自己看其他成员的视频分辨率 更多... | |
void | RequestVideo () |
按默认的设置请求成员视频画面 更多... | |
void | RequestVideo (JCMediaChannelParticipant part, JCMediaChannelPictureSize requestSize) |
按设置的尺寸请求指定成员的视频画面 更多... | |
bool | SetScreenMode (JCConfMergeModeParam mergeModeParam) |
设置视频合并模式 更多... | |
bool | SetPictureInPictureLayout (JCPictureLayoutParams layoutParams) |
设置画中画布局 更多... | |
bool | SetHoldState (bool hold) |
上报保持取回状态 更多... | |
bool | EnableLocalRecord (bool enable, JCRecordLocalParams recordParam) |
开关本地通话录制 更多... | |
bool | EnableRemoteRecord (bool enable, JCRecordRemoteParams recordParam) |
开关远程通话录制 更多... | |
bool | SendMessage (string type, string content) |
透明通道发送全员消息,消息内容不能大于4K 更多... | |
bool | SendMessage (string type, string content, string userId) |
透明通道发送消息给某个成员,UserId传空则发送给所有成员,消息内容不能大于4K 更多... | |
int | GetSpkLevel () |
获取扬声器音量,区间0-100 更多... | |
int | GetMicLevel () |
获取麦克风音量,区间0-100 更多... | |
bool | InsertStorageRecord (string url, JCAgentStorageFileType fileType, int fileSize, int expireTime) |
把文件绑定到当前的服务,以便通过 portal 查看文件 更多... | |
bool | GetHoldState () |
当前通话是否保持 更多... | |
void | TurnCallType (JCAgentCallType calltype) |
音视频通话切换 更多... | |
JCAgentCallType | GetCallType () |
获取当前通话类型 更多... | |
void | SendTextMessage (string content, string userid) |
发送文本消息,消息内容不能大于4K 更多... | |
void | RequestSign () |
请求访客签名 更多... | |
bool | ControlRecord (JCAgentReocrdAction action, string watermarkText) |
控制远程录制,仅在IsAutoRecord为false的情况下生效 更多... | |
void | WatermarkSetLibPath (string path) |
动态加载水印sdk,使用水印接口前必须先调用此接口加载依赖 更多... | |
void | WatermarkSetPicture (string pictureFile, int startTime, int endTime, int posX, int posY) |
设置水印图片 更多... | |
void | WatermarkSetText (string text, string fontFile, int fontSize, int fontColor, int backColor, bool blod, bool italic, bool underline, int alignment) |
设置水印文字 更多... | |
void | WatermarkSetTimestamp (string fontFile, int fontSize, int colorType, int borderWidth, int posType, int posX, int posY, bool tsIsMs) |
设置水印时间戳 更多... | |
void | WatermarkSetState (bool state) |
设置水印状态 更多... | |
Public 成员函数 继承自 JCSDK.JCMediaChannel.JCMediaChannelCallback | |
void | OnMediaChannelStateChange (JCMediaChannelState state, JCMediaChannelState oldState, JCMediaChannel obj) |
自身状态变化回调 更多... | |
void | OnMediaChannelPropertyChange (JCMediaChannel.PropChangeParam propChangeParam, JCMediaChannel obj) |
属性变化回调,目前主要关注屏幕共享和窗口共享状态的更新 更多... | |
void | OnJoin (bool result, JCMediaChannelReason reason, string channelId, JCMediaChannel obj) |
加入频道结果回调 更多... | |
void | OnLeave (JCMediaChannelReason reason, string channelId, JCMediaChannel obj) |
离开频道结果标识 更多... | |
void | OnStop (bool result, JCMediaChannelReason reason, JCMediaChannel obj) |
解散频道结果回调 更多... | |
void | OnQuery (int operationId, bool result, JCMediaChannelReason reason, JCMediaChannelQueryInfo queryInfo, JCMediaChannel obj) |
查询频道信息结果回调 更多... | |
void | OnParticipantJoin (JCMediaChannelParticipant participant, JCMediaChannel obj) |
成员加入回调 更多... | |
void | OnParticipantLeft (JCMediaChannelParticipant participant, JCMediaChannelReason reason, JCMediaChannel obj) |
成员离开回调 更多... | |
void | OnParticipantUpdate (JCMediaChannelParticipant participant, JCMediaChannelParticipant.ChangeParam changeParam, JCMediaChannel obj) |
成员更新回调 更多... | |
void | OnMessageReceive (string type, string content, string fromUserId, JCMediaChannel obj) |
接收频道消息的回调 更多... | |
void | OnInviteSipUserResult (int operationId, bool result, int reason, JCMediaChannel obj) |
邀请Sip用户操作结果回调 更多... | |
静态 Public 成员函数 | |
static JCAgent | Create (JCClient.JCClient client, JCMediaDevice.JCMediaDevice mediaDevice, JCAgentCallback callback) |
创建JCAgent对象 更多... | |
static void | Destroy () |
销毁JCAgent对象 更多... | |
Public 属性 | |
JCAgentTermState | TermState = JCAgentTermState.Free |
bool | IsAutoRecord = true |
属性 | |
string | SerialNumber [get] |
JCAgentCallState | CallState [get] |
int | CallerWaitTime [get] |
string | ExtraStr [get] |
JCMediaChannelParticipant | GuestParticipant [get] |
List< JCMediaChannelParticipant > | Participants [get] |
string | Statistic [get] |
JObject | StatisticDic [get] |
String | NetWorkJson [get] |
获取网络状态json字符串 更多... | |
bool | Pause [get] |
JCAgentOperatorState | OperatorState [get] |
string | ShareRenderId [get] |
string | ShareUserId [get] |
JCMediaChannelPictureSize | RequestSize [get, set] |
座席模块
bool JCSDK.JCCallCenter.JCAgent.Answer | ( | ) |
int JCSDK.JCCallCenter.JCAgent.ApplyStatePause | ( | bool | pause | ) |
bool JCSDK.JCCallCenter.JCAgent.Checkin | ( | JCAgentRoleType | role | ) |
签入到排队机,签入后默认示闲状态
示闲状态下正常呼叫进线
该接口会使用已经登录的账号ID作为坐席ID进行签入
调用该接口前需先确定JCClient已经Login成功,即已收到OnLogin
签入结果会触发OnCheckin回调
可以通过OperatorState来获取到当前的签入状态
role | 座席角色,目前该参数已有服务端控制,不再通过终端设置,可忽略 |
bool JCSDK.JCCallCenter.JCAgent.Checkin | ( | string | userId, |
JCAgentRoleType | role | ||
) |
签入到排队机,签入后默认示闲状态
示闲状态下正常呼叫进线
调用该接口前需先确定JCClient已经Login成功,即已收到OnLogin
签入结果会触发OnCheckin回调
可以通过OperatorState来获取到当前的签入状态
userId | 座席ID,需与portal上配置的坐席staffId对应 |
role | 座席角色,目前该参数已有服务端控制,不再通过终端设置,可忽略 |
bool JCSDK.JCCallCenter.JCAgent.Checkin | ( | string | userId, |
JCAgentRoleType | role, | ||
bool | busy | ||
) |
签入到排队机,签入后的示忙示闲状态由busy参数决定
示忙状态下不会收到呼叫来电,示闲状态下正常呼叫进线
调用该接口前需先确定JCClient已经Login成功,即已收到OnLogin
签入结果会触发OnCheckin回调
可以通过OperatorState来获取到当前的签入状态
userId | 座席ID,需与portal上配置的坐席staffId对应 |
role | 座席角色,目前该参数已有服务端控制,不再通过终端设置,可忽略 |
busy | true签入后默认示忙,false签入后默认示闲 |
bool JCSDK.JCCallCenter.JCAgent.Checkout | ( | ) |
bool JCSDK.JCCallCenter.JCAgent.CheckResult | ( | bool | pass, |
string | reason | ||
) |
通知访客服务的结果
访客端将会收到OnCheckVerifyResult回调
该接口无实际使用场景,不再维护
pass | 是否办理成功 |
reason | 办理失败的原因 |
bool JCSDK.JCCallCenter.JCAgent.ControlRecord | ( | JCAgentReocrdAction | action, |
string | watermarkText | ||
) |
|
static |
创建JCAgent对象
JCAgent的所有接口函数,如无特殊说明,都建议再主线程调用
client | JCClient对象 |
mediaDevice | JCMediaDevice对象 |
callback | JCAgentCallback回调 |
|
static |
bool JCSDK.JCCallCenter.JCAgent.EnableAudio | ( | bool | enable | ) |
bool JCSDK.JCCallCenter.JCAgent.EnableDesktopOrWindowShare | ( | bool | enable, |
string | deviceId | ||
) |
bool JCSDK.JCCallCenter.JCAgent.EnableLocalRecord | ( | bool | enable, |
JCRecordLocalParams | recordParam | ||
) |
开关本地通话录制
enable | 开启或者关闭录制 |
recordParam | 录制参数 |
bool JCSDK.JCCallCenter.JCAgent.EnableRemoteRecord | ( | bool | enable, |
JCRecordRemoteParams | recordParam | ||
) |
开关远程通话录制
视频客服场景下由CD自动开启录制,即无特殊情况无需调用此接口即可在服务器生成录制文件
enable | 是否开启通话录制 |
recordParam | recordParam 录制参数,当 enable 为 true 时,可以更改由 join 时传入的录制参数,不需更改则填 null |
bool JCSDK.JCCallCenter.JCAgent.EnableVideo | ( | bool | enable | ) |
JCAgentCallType JCSDK.JCCallCenter.JCAgent.GetCallType | ( | ) |
获取当前通话类型
bool JCSDK.JCCallCenter.JCAgent.GetHoldState | ( | ) |
当前通话是否保持
int JCSDK.JCCallCenter.JCAgent.GetMicLevel | ( | ) |
获取麦克风音量,区间0-100
int JCSDK.JCCallCenter.JCAgent.GetSpkLevel | ( | ) |
获取扬声器音量,区间0-100
bool JCSDK.JCCallCenter.JCAgent.InsertStorageRecord | ( | string | url, |
JCAgentStorageFileType | fileType, | ||
int | fileSize, | ||
int | expireTime | ||
) |
把文件绑定到当前的服务,以便通过 portal 查看文件
url | 文件服务器路径,在文件通过UploadFile上传至文件服务后,由OnFileResult返回 |
fileType | 文件类型 |
fileSize | 文件大小 |
expireTime | 超时时间 |
bool JCSDK.JCCallCenter.JCAgent.InviteMember | ( | string | userId | ) |
bool JCSDK.JCCallCenter.JCAgent.QueryAllGroups | ( | ) |
查询业务组号,结果通过OnGetAllGroups上报
int JCSDK.JCCallCenter.JCAgent.QueryAvailableAgents | ( | string | groupId | ) |
void JCSDK.JCCallCenter.JCAgent.RequestSign | ( | ) |
请求访客签名
访客会收到OnSignRequestRecvNotify事件
void JCSDK.JCCallCenter.JCAgent.RequestVideo | ( | ) |
按默认的设置请求成员视频画面
void JCSDK.JCCallCenter.JCAgent.RequestVideo | ( | JCMediaChannelParticipant | part, |
JCMediaChannelPictureSize | requestSize | ||
) |
按设置的尺寸请求指定成员的视频画面
part | 成员 |
requestSize | 请求大小 |
void JCSDK.JCCallCenter.JCAgent.RequestVideo | ( | JCMediaChannelPictureSize | requestSize | ) |
按设定质量请求成员视频画面,影响自己看其他成员的视频分辨率
requestSize | 视频请求质量 |
int JCSDK.JCCallCenter.JCAgent.ResponseUrgent | ( | string | serialNumber, |
string | callerNumber, | ||
bool | agree | ||
) |
应答加急请求
收到访客的加急请求会触发OnUrgentRequestRecv事件
应答加急的结果会触发OnUrgentResponseResult事件
serialNumber | serialNumber,随OnUrgentRequestRecv携带 |
callerNumber | callerNumber,随OnUrgentRequestRecv携带 |
agree | true同意加急,false拒绝加急 |
bool JCSDK.JCCallCenter.JCAgent.SendAudioEmptyPack | ( | bool | empty | ) |
bool JCSDK.JCCallCenter.JCAgent.SendMessage | ( | string | type, |
string | content | ||
) |
bool JCSDK.JCCallCenter.JCAgent.SendMessage | ( | string | type, |
string | content, | ||
string | userId | ||
) |
透明通道发送消息给某个成员,UserId传空则发送给所有成员,消息内容不能大于4K
收端会触发OnMessageReceive事件
type | 消息类型 |
content | 消息内容 |
userId | 对方id |
void JCSDK.JCCallCenter.JCAgent.SendTextMessage | ( | string | content, |
string | userid | ||
) |
发送文本消息,消息内容不能大于4K
通话中的其他成员会收到OnTextMessageRecvNotify事件
content | 消息内容 |
userid | 三人及三人以上时可以指定要发送的ID,传空即发送给所有人 |
bool JCSDK.JCCallCenter.JCAgent.SendVideoEmptyPack | ( | bool | empty | ) |
bool JCSDK.JCCallCenter.JCAgent.SetHoldState | ( | bool | hold | ) |
上报保持取回状态
可以通过GetHoldState获取当前通话是否保持
保持通话后双方互相停止音视频流收发
其他通话中的成员将会收到OnHeldNotify通知
hold | true 表示保持 false 表示取回 |
bool JCSDK.JCCallCenter.JCAgent.SetPictureInPictureLayout | ( | JCPictureLayoutParams | layoutParams | ) |
设置画中画布局
layoutParams | 画中画录制布局 |
bool JCSDK.JCCallCenter.JCAgent.SetRatio | ( | float | ratio | ) |
设置视频本地宽高比,会将自己的视频采集根据宽高比裁剪后进行发送
需要在通话开始后调用,即收到OnCallStateChanged的Type为Talking之后
ratio | 视频本地宽高比 |
bool JCSDK.JCCallCenter.JCAgent.SetScreenMode | ( | JCConfMergeModeParam | mergeModeParam | ) |
设置视频合并模式
mergeModeParam | 设置媒体推流的视频合并模式参数 |
bool JCSDK.JCCallCenter.JCAgent.Term | ( | ) |
int JCSDK.JCCallCenter.JCAgent.TransferCall | ( | JCAgentTransferType | type, |
string | id | ||
) |
void JCSDK.JCCallCenter.JCAgent.TurnCallType | ( | JCAgentCallType | calltype | ) |
音视频通话切换
可以通过GetCallType接口获取到当前的通话类型
通话中所有成员都将收到OnCallTypeTurnedNotify事件
calltype | 通话类型
|
void JCSDK.JCCallCenter.JCAgent.WatermarkSetLibPath | ( | string | path | ) |
void JCSDK.JCCallCenter.JCAgent.WatermarkSetPicture | ( | string | pictureFile, |
int | startTime, | ||
int | endTime, | ||
int | posX, | ||
int | posY | ||
) |
设置水印图片
pictureFile | 图片路径 |
startTime | 水印开始时间 |
endTime | 水印结束时间 |
posX | 相对于基础位置的水平偏移 |
posY | 相对于基础位置的竖直偏移 |
void JCSDK.JCCallCenter.JCAgent.WatermarkSetState | ( | bool | state | ) |
设置水印状态
state | 状态,1=>open 2=>close |
void JCSDK.JCCallCenter.JCAgent.WatermarkSetText | ( | string | text, |
string | fontFile, | ||
int | fontSize, | ||
int | fontColor, | ||
int | backColor, | ||
bool | blod, | ||
bool | italic, | ||
bool | underline, | ||
int | alignment | ||
) |
设置水印文字
text | 文字内容 |
fontFile | 字体文件路径,不可为空 |
fontSize | 字体大小,范围:6-50 |
fontColor | RGB字体颜色,0xFFFFFF |
backColor | RGB背景颜色,0x000000 |
blod | 是否粗体 |
italic | 是否斜体 |
underline | 是否下划线 |
alignment | 字体排列位置,0=>left 1=>center 2=>right |
void JCSDK.JCCallCenter.JCAgent.WatermarkSetTimestamp | ( | string | fontFile, |
int | fontSize, | ||
int | colorType, | ||
int | borderWidth, | ||
int | posType, | ||
int | posX, | ||
int | posY, | ||
bool | tsIsMs | ||
) |
设置水印时间戳
fontFile | 字体文件路径 |
fontSize | 字体大小,范围6-50 |
colorType | 颜色类型,0=>red 1=>yellow 2=>green 3=>cyan 4=>blue 5=>magenta 6=>white 7=>neutral 8=>black |
borderWidth | 边界宽度,范围0-5 |
posType | 时间戳位置类型,0=>topleft 1=>bottomleft 2=>topright 3=>bottomright 4=>center |
posX | 相对初始位置的水平偏移 |
posY | 相对初始位置的竖直偏移 |
tsIsMs | 是否显示水印 |
bool JCSDK.JCCallCenter.JCAgent.IsAutoRecord = true |
是否开启了CD自动录制,由访客AutoRecord属性决定,在通话状态为Talking之后可以获取, 如果当前为自动录制模式,则坐席的ControlRecord不生效
JCAgentTermState JCSDK.JCCallCenter.JCAgent.TermState = JCAgentTermState.Free |
通话结束后默认状态,目前支持通话结束后默认示忙与通话结束后默认示闲
示忙状态下不会收到呼叫来电,示闲状态下正常呼叫进线
|
get |
访客呼叫等待时长,即访客发起呼叫到座席接起的时长,单位秒
|
get |
当前的通话状态
|
get |
来电额外参数,由访客呼叫的时候携带
|
get |
|
get |
获取网络状态json字符串
|
get |
坐席签入状态
|
get |
当前通话中的所有成员对象
|
get |
当前是否是示忙状态
示忙状态下不会收到呼叫来电,示闲状态下正常呼叫进线
|
getset |
视频请求质量,影响自己看其他成员的视频分辨率
|
get |
服务唯一标识,上层可使用该参数通过portal第三方接口查询到话务信息,如录制视频文件的URL
|
get |
屏幕共享时的渲染id,无屏幕共享时为空
|
get |
屏幕共享时的共享成员id,无屏幕共享时为空
|
get |
获取媒体统计信息