WILCOM CCLAIx V控件开发说明书.docx
《WILCOM CCLAIx V控件开发说明书.docx》由会员分享,可在线阅读,更多相关《WILCOM CCLAIx V控件开发说明书.docx(71页珍藏版)》请在冰豆网上搜索。
![WILCOM CCLAIx V控件开发说明书.docx](https://file1.bdocx.com/fileroot1/2023-4/16/f667dbba-8d44-4e99-9052-a55e49f9ce75/f667dbba-8d44-4e99-9052-a55e49f9ce751.gif)
WILCOMCCLAIxV控件开发说明书
上海井星科技有限公司
WilcomCCLAIx控件开发使用说明书
版本2.0.00
2010-9-8
目录
1概述5
1.1目标5
1.2符号说明5
2开发流程6
2.1控件简介6
2.2控件安装6
2.3开发流程6
2.4开发注意事项7
3标准开发接口8
3.1接口简介8
3.2标准开发接口函数8
InitConnection8
InitControlServer8
OpenWritePath9
CloseWritePath9
SendMonitorDevice9
SendSetAgentState10
SendSetAgentStateEx10
SendStopMonitorDevice11
SendAnswerCall11
SendHangupCall11
SendHoldCall12
SendRetrieveCall12
SendMakeCall12
SendTransferCall13
SendPickupCall13
SendAlternateCall14
SendConsultationCall14
SendConferenceCall15
SendReconnectCall15
SendDisconnectCall15
SendDivertCall16
SendChangePassword16
SendQueryQueueInfo17
SendSingleStepConference17
SendQueryGroupInfoV217
SendHeartBeatV218
SendQueryTrunkGroupInfoV218
SendQueryReasonCodeInfoV218
SendMakePredictiveCall19
3.3标准控件事件接口19
OnIncomingCallEvt19
OnCallConnectEvt20
OnCallDisconnectEvt20
OnSeizedEvt20
OnAlertingEvt21
OnCallFailureEvt21
OnAgentStateChangeEvt21
OnOriginatedCallEvt22
OnHoldCallEvt22
OnConferenceCallEvt23
OnConferenceCallEvtV323
OnTransferCallEvt24
OnTransferCallEvtV324
OnRetrieveCallEvt25
OnPickupCallEvt25
OnCCLinkChangeEvt26
OnCCLinkSwitchEvt26
OnCCLinkUnavailableEvt27
OnMonitorDeviceRespond27
OnQueryQueueInfoRespond27
OnQueryGroupInfoV2Respond28
OnHeartBeatV2Respond28
OnQueryTrunkGroupInfoV2Respond29
OnQueryReasonCodeInfoV2Respond29
OnMakePredictiveCallRespond29
OnSetAgentStateRespond30
OnSetAgentStateRespond30
OnStopMonitorDeviceRespond30
OnStopMonitorAllDeviceRespond30
OnHangupCallRespond31
OnHoldCallRespond31
OnRetrieveCallRespond31
OnMakeCallRespond32
OnTransferCallRespond32
OnPickupCallRespond32
OnAlternateCallRespond33
OnConsultationCallRespond33
OnConferenceCallRespond33
OnMakePredictiveCallRespond33
OnDisconnectCallRespond34
OnDirvertCallRespond34
OnChangePasswordRespond34
OnQueryQueueInfoRespond35
OnQueryQueueInfoEXRespond35
OnQueryGroupInfoV2Respond35
OnMonitorAllDeviceRespond36
OnRequestFailureRespond36
OnQueryAgentStateV2Respond37
OnQueryGroupAgentListV2Respond37
OnHeartBeatV2Respond38
OnQueryTrunkGroupInfoV2Respond38
OnQueryReasonCodeInfoV2Respond38
OnQueryVDNListEvt39
OnQueryUCIDV2Respond39
3.4CCLink返回异常码说明39
4开发例程43
4.1例程简介43
4.2开发示例43
初始化操作处理43
座席登录操作处理44
座席登录事件处理44
电话来电振铃事件处理45
电话保持操作处理46
电话会议操作处理46
5初始化流程处理47
5.1初始化流程处理说明47
6FAQ47
7技术支持49
1概述
WilcomCCLAIx控件是在WILCOMCTI系统中连接服务端和客户端的工具,利用该控件可以完成软电话,录音软件,班长监控等客户端程序的基本功能。
1.1目标
本文的目的是使读者可以了解控件的安装、接口和事件,阅读本文后能够编写基于WilcomCTI的简单电话功能软件。
1.2符号说明
[in]输入参数
[out]输出参数
[in/out]该参数在函数调用时,作为输入参数;在函数返回时,作为输出参数
2
开发流程
2.1控件简介
CCLAIx控件是基于WilcomCTI系统之上的一个通信工具,用户可以调用CCLAIx控件接口,发送请求给CTI服务器,并且通过CCLAIx控件的事件接口获取到服务器的返回和事件通知。
CCLAIx控件接口支持C/C++、C#、VBScript、JavaScript等语言的调用,但目前不支持java语言。
CCLAIx控件与CTI服务器的架构图
2.2控件安装
打开“开始-运行”,在输入框中输入regsvr32CCLAIx控件的路径;如果弹出注册成功,那么控件安装就成功了。
2.3开发流程
1.用户进行一般性的开发时,则利用CCLAIx控件进行开发时,首先需要调用InitConnection接口建立和CTI服务器之间的连接,然后调用相应的接口与CTI服务器进行通信。
2.用户如需使用高可靠功能,则利用CCLAIx控件进行开发时,首先需要调用InitControlServer接口建立和2台CTI服务器之间的连接,CCLAIx根据用户传入的参数将一台CCLink作为默认进行命令请求的服务器.当该台CCLink发生异常时,CCLAIx将自动与另外一台CCLink进行命令请求,并进行相关信息的同步.同时向外触发CCLink切换事件及CCLink状态改变事件.当2台CCLink均无法正常工作时,CCLAIx将向外触发CCLink无法使用事件.
如果需要监视某个分机,可以调用SendMonitorDevice接口发送监视某个分机的请求,这样当这个分机有事件(例如摘机、通话、会议等)产生时,CCLAIx控件会触发相关的事件接口。
用户控件开发流程如下:
CCLAIx控件开发流程图1
CCLAIx控件开发流程图2
2.4开发注意事项
一般进行电话控制时,我们通常使用CALLID标示一通Call,所以需要对CallID进行保存,以便在对这通电话进行操作时用到。
例如:
当保持一通电话时,在调用SendHoldCall接口发送保持电话请求时,参数中有要保持电话的CallID。
3标准开发接口
3.1接口简介
CCLAIx控件接口分为开发接口和事件接口,开发接口就是让用户通过调用来操作电话和改变座席状态的;而事件接口是当话机或在登录在该话机上座席发生改变时,控件通过事件接口来通知客户端的。
3.2标准开发接口函数
◆InitConnection
函数原形:
longInitConnection(longlocalPort,longremotePort,BSTRremoteIP);
功能:
初始化和CTI服务器的连接;
参数说明:
ØlocalPort:
[in]本地端口号
ØremotePort:
[in]服务器端口号
ØremoteIP:
[in]服务器IP地址
返回值:
0表示成功
其它失败
说明:
无
◆InitControlServer
函数原形:
longInitControlServer(LONGlocalPort,LONGCtiPort,LONGControPort,BSTRMostlyCtiIP,
BSTRControlIP);
功能:
初始化和2台CTI服务器的连接;
参数说明:
ØlocalPort:
[in]本地端口号
ØCtiPort:
[in]主CTI服务器端口号
ØControlPort:
[in]备CTI服务器端口号
ØMostlyCtiIP:
[in]主CTI服务器IP
ØControlIP:
[in]备CTI服务器IP
返回值:
0表示成功
其它失败
说明:
该接口占用2个本地端口,一个为用户传入的端口,另外一个为用户传入的端口号+1所获值.
◆OpenWritePath
函数原形:
voidOpenWritePath(void)
功能:
开启控件记录日志功能
参数说明:
Ø无
返回值:
无
说明:
可以通过调用该函数开启日志记录功能
◆CloseWritePath
函数原形:
voidCloseWritePath(void)
功能:
关闭控件记录日志功能
参数说明:
Ø无
返回值:
无
说明:
在开启日志记录功能后,通过调用该函数来关闭日志记录功能
◆SendMonitorDevice
函数原形:
voidSendMonitorDevice(BSTRdeviceID,charmonitorMode);
功能:
监视分机;
参数说明:
ØDeviceID:
[in]要监视的分机号码
ØmonitorMode:
[in]监视类型一般为:
’1’
返回值:
无
说明:
无
◆SendSetAgentState
函数原形:
voidSendSetAgentState(BSTRdeviceID,
BSTRagentID,
BSTRagentPWD,
BSTRagentGroup,
charagentMode);
功能:
修改座席状态,实现登录、话后处理、暂停、退出、工作等座席的状态改变
参数说明:
ØdeviceID:
[in]分机号码
ØagentID:
[in]座席号码
ØagentPWD:
[in]座席密码
ØagentGroup:
[in]座席的组号
ØagentMode:
[in]座席状态
返回值:
无
说明:
agentMode‘0’表示登录48
‘1’表示退出49
‘2’表示暂停50
‘3’表示工作51
‘4’表示话后处理52
◆SendSetAgentStateEx
函数原形:
voidSendSetAgentStateEx(BSTRdeviceID,
BSTRagentID,
BSTRagentPWD,
BSTRagentGroup,
charagentMode,
charReasonCode);
功能:
修改座席状态,实现登录、话后处理、暂停、退出、工作等座席的状态改变;相比SendSetAgentState接口添加了ReasonCode参数。
该参数为用户座席状态变为暂停时传递的原因码(暂停原因码).
参数说明:
ØdeviceID:
[in]分机号码
ØagentID:
[in]座席号码
ØagentPWD:
[in]座席密码
ØagentGroup:
[in]座席的组号
ØagentMode:
[in]座席状态
ØReasonCode:
[in]原因码
返回值:
无
说明:
无
◆SendStopMonitorDevice
函数原形:
voidSendStopMonitorDevice(BSTRdeviceID);
功能:
停止监视分机;
参数说明:
ØDeviceID:
[in]分机号码
返回值:
无
说明:
无
◆SendAnswerCall
函数原形:
voidSendAnswerCall(BSTRdeviceID,BSTRcallID);
功能:
发送应答电话;
参数说明:
ØdeviceID:
[in]分机号码
ØcallID:
[in]电话标示ID
返回值:
无
说明:
无
◆SendHangupCall
函数原形:
voidSendHangupCall(BSTRdeviceID,BSTRcallID);
功能:
发送挂断电话;
参数说明:
ØdeviceID:
[in]分机号码
ØcallID:
[in]电话标示ID
返回值:
无
说明:
无
◆SendHoldCall
函数原形:
voidSendHoldCall(BSTRdeviceID,BSTRcallID);
功能:
发送保持电话;
参数说明:
ØdeviceID:
[in]分机号码
ØcallID:
[in]电话标示ID
返回值:
无
说明:
无
◆SendRetrieveCall
函数原形:
voidSendRetrieveCall(BSTRdeviceID,BSTRcallID);
功能:
发送取消保持电话;
参数说明:
ØdeviceID:
[in]分机号码
ØcallID:
[in]电话标示ID
返回值:
无
说明:
无
◆SendMakeCall
函数原形:
voidSendMakeCall(BSTRcallingDeviceID,
BSTRcalledDeviceID,
charCallType,
BSTRUUI);
功能:
发送外拨电话;
参数说明:
ØcallingDeviceID:
[in]主叫号码
ØcalledDeviceID:
[in]被叫号码
ØCallType:
[in]呼叫类型一般是‘1’
ØUUI:
[in]一般为空
返回值:
无
说明:
电话外拨时,注意如果使用的是模拟话机那么在发送外拨请求后5s内,要将话机摘机,不然外拨会失败。
◆SendTransferCall
函数原形:
voidSendTransferCall(BSTRheldDeviceID,
BSTRheldCallID,
BSTRactiveDeviceID,
BSTRactiveCallID);
功能:
发送电话转移请求;
参数说明:
ØheldDeviceID:
[in]处于电话保持的分机号码
ØheldCallID:
[in]处于电话保持的CallID
ØactiveDeviceID:
[in]处于当前通话的分机号码
ØactiveCallID:
[in]当前通话的CallID
返回值:
无
说明:
无
◆SendPickupCall
函数原形:
voidSendPickupCall(BSTRdeviceID,BSTRcalledDeviceID);
功能:
发送电话代接请求;
参数说明:
ØdeviceID:
[in]要代接的分机号码
ØcalledDeviceID:
[in]被代接的分机号码
返回值:
无
说明:
无
◆SendAlternateCall
函数原形:
voidSendAlternateCall(BSTRheldDeviceID,
BSTRheldCallID,
BSTRactiveDeviceID,
BSTRactiveCallID);
功能:
发送电话切换请求;
参数说明:
ØheldDeviceID:
[in]处于电话保持的分机号码
ØheldCallID:
[in]处于电话保持的CallID
ØactiveDeviceID:
[in]处于当前通话的分机号码
ØactiveCallID:
[in]当前通话的CallID
返回值:
无
说明:
无
◆SendConsultationCall
函数原形:
voidSendConsultationCall(BSTRdeviceID,
BSTRcallID,
BSTRcalledDeviceID,
charCallType,
BSTRUUI);
功能:
发送电话磋商请求;
参数说明:
ØdeviceID:
[in]分机号码
ØcallID:
[in]当前呼叫的CallID
ØcalledDeviceID:
[in]要磋商的分机号码
ØCallType:
[in]呼叫类型一般是‘1’
ØUUI:
[in]一般为空
返回值:
无
说明:
无
◆SendConferenceCall
函数原形:
voidSendConferenceCall(BSTRheldDeviceID,
BSTRheldCallID,
BSTRactiveDeviceID,
BSTRactiveCallID);
功能:
发送电话会议请求;
参数说明:
ØheldDeviceID:
[in]处于电话保持的分机号码
ØheldCallID:
[in]处于电话保持的CallID
ØactiveDeviceID:
[in]处于当前通话的分机号码
ØactiveCallID:
[in]当前通话的CallID
返回值:
无
说明:
无
◆SendReconnectCall
函数原形:
voidSendReconnectCall(BSTRheldDeviceID,
BSTRheldCallID,
BSTRactiveDeviceID,
BSTRactiveCallID);
功能:
发送电话重连请求;
参数说明:
ØheldDeviceID:
[in]处于电话保持的分机号码
ØheldCallID:
[in]处于电话保持的CallID
ØactiveDeviceID:
[in]处于当前通话的分机号码
ØactiveCallID:
[in]当前通话的CallID
返回值:
无
说明:
无
◆SendDisconnectCall
函数原形:
voidSendDisconnectCall(BSTRdeviceID,BSTRdisconnectedDeviceID);
功能:
发送电话挂断请求;
参数说明:
ØdeviceID:
[in]分机号码
ØdisconnectedDeviceID:
[in]要挂断电话的分机号码
返回值:
无
说明:
无
◆SendDivertCall
函数原形:
voidSendDivertCall(BSTRcallingDeviceID,
BSTRcalledDeviceID,
charCallType,
BSTRUUI);
功能:
发送电话前转请求;
参数说明:
ØcallingDeviceID:
[in]分机号码
ØcalledDeviceID:
[in]要前转的分机号码
ØCallType:
[in]呼叫类型一般是‘1’
ØUUI:
[in]一般是空
返回值:
无
说明:
无
◆SendChangePassword
函数原形:
voidSendChangePassword(BSTRagentID,
BSTRoldPassword,
BSTRnewPassword);
功能:
发送修改座席登录密码请求;
参数说明:
ØagentID:
[in]要修改密码的座席号码
ØoldPassword:
[in]座席的原密码
ØnewPassword:
[in]座席的新密码
返回值:
无
说明:
无
◆SendQueryQueueInfo
函数原形:
voidSendQueryQueueInfo(BSTRdeviceID,BSTRagentID);
功能:
发送查询排队信息;
参数说明:
ØdeviceID要查询排队信息的分机号码
ØagentID座席号码
返回值:
无
说明:
无
◆SendSingleStepConference
函数原形:
voidSendSingleStepConference(BSTRcallID,
BSTRdeviceID,
BSTRjoinDeviceID,
charjoinType);
功能:
发送电话单步会议请求;
参数说明:
ØcallID:
[in]可以为空
ØdeviceID:
[in]正在通话的分机号码
ØjoinDeviceID:
[in]要加入通话的分机号码
ØjoinTyp