You are on page 1of 467

TopEng-

V300R004

CTIAPI

01

2007-12-30

518129

http://www.huawei.com

0755-28560000 8008302118
0755-28560111
support@huawei.com

2007

TopEng-
CTIAPI

1 ........................................................................................................................1-1
1.1 TopEng-...........................................................................................................1-2
1.2 .............................................................................................................................1-2

2 ........................................................................................................................................2-1
2.1 .................................................................................................................................................2-2
2.2 .........................................................................................................................................................2-5

3 API ........................................................................................................................3-1
3.1 .....................................................................................................................................................3-2
3.2 .........................................................................................................................................................3-2
3.3 .....................................................................................................................................................3-5
3.4 .....................................................................................................................................................3-6
3.5 .............................................................................................................................................................3-6
3.6 .....................................................................................................................................3-6
3.7 .....................................................................................................................................................3-7
3.8 .........................................................................................................................................................3-7

4 ........................................................................................................................4-1
4.1 SetWaitTime....................................................................................................................................................4-2
4.2 SetWaitTimeEx...............................................................................................................................................4-2
4.3 CccApiInitCtiApiInit...................................................................................................................................4-3
4.4 CtiApiExit.......................................................................................................................................................4-4
4.5 CccApcInit......................................................................................................................................................4-4
4.6 CccApcExit.....................................................................................................................................................4-5
4.7 CccConnectToServer......................................................................................................................................4-6
4.8 CccConnectToServerEx..................................................................................................................................4-7
4.9 CccDisconnectFromServer..............................................................................................................................4-7
4.10 CccLogon......................................................................................................................................................4-7
4.11 CccLogonEx..................................................................................................................................................4-8
4.12 CccLogoff....................................................................................................................................................4-10

5 ............................................................................................................................5-1
5.1 CccGetEvent................................................................................................................................5-2
5.2 InstallEventCallBackProc...............................................................................................5-3
01 (2007-12-30)

TopEng-
CTIAPI

5.3 UninstallEventCallBackProc...........................................................................................5-4
5.4 CccSetEventMonitor.......................................................................................................5-5
5.5 CccSetSysMonitor...........................................................................................................5-6
5.6 CccGetSysMonitorInfo...........................................................................................5-8
5.7 CccResetSysMonitorInfo......................................................................................5-11
5.8 CccSetMonitorDN.............................................................................................5-12

6 ........................................................................................................................6-1
6.1 CccAgentLogin...............................................................................................................................6-3
6.2 CccAgentLoginEx...........................................................................................6-4
6.3 CccAgentLogout.............................................................................................................................6-5
6.4 CccAgentLogoutEx.........................................................................................6-6
6.5 CccRequestDoNotDisturb...............................................................................................................6-7
6.6 CccRequestIdle................................................................................................................................6-8
6.7 CccRequestMuteOn........................................................................................................................6-8
6.8 CccRequestMuteOnEx............................................................................................................6-9
6.9 CccRequestMuteOff..............................................................................................................6-10
6.10 CccRequestMuteOffEx.......................................................................................................6-11
6.11 CccRequestAnswer.....................................................................................................................6-12
6.12 CccRequestAnswerEx.........................................................................................................6-13
6.13 CccRequestRelease.............................................................................................................6-14
6.14 CccRequestReleaseEx.........................................................................................................6-14
6.15 CccRequestInternaltransfer.................................................................................................6-15
6.16 CccRequestInternalCall.......................................................................................................6-16
6.17 CccRequestInternalCallEx..........................................................................................6-18
6.18 CccRequestTransferOut..............................................................................................................6-20
6.19 CccRequestTransferOutEx..................................................................................................6-22
6.20 CccRequestTransferOutEx2................................................................................................6-23
6.21 CccRequestTransferOutEx3........................................................................................................................6-25
6.22 CccRequestCallOut.....................................................................................................................6-27
6.23 CccRequestCallOutExOPS ........................................................................................................6-29
6.24 CccRequestCallOutEx2...............................................................................................................6-30
6.25 CccRequestReport.......................................................................................................................6-32
6.26 CccRequestReportEx..................................................................................................................6-34
6.27 CccRequestHold..................................................................................................................6-35
6.28 CccRequestFetchHold.............................................................................................................6-36
6.29 CccRequestConnectHold....................................................................................................6-37
6.30 CccRequestAppointedCall..............................................................................6-38
6.31 CccSetSupportMediaCall............................................................................................................................6-39
6.32 CccQuerySupportMediaCall.......................................................................................................................6-39
6.33 CccRequestInterceptWithCallID.................................................................................................................6-40
6.34 CccQueryCallInfoEx4.................................................................................................................................6-41
6.35 CccRequestVerifyMailBox.........................................................................................................................6-41
ii

01 (2007-12-30)

TopEng-
CTIAPI

7 ........................................................................................................................7-1
7.1 CccRequestTransIvr............................................................................................................7-3
7.2 CccRequestTransIvrEx................................................................................................7-3
7.3 CccRequestInternalHelp..........................................................................................................7-4
7.4 CccRequestInternalHelpEx.............................................................................................7-6
7.5 CccRequestInternalHelpEx2...........................................................................................7-8
7.6 CccAgentSendDTMF..............................................................................................................7-9
7.7 CccRequestSuperviseInsert.........................................................................................7-9
7.8 CccRequestSuperviseInsertEx..........................................................................7-10
7.9 CccRequestSwitchInsert................................................................................................7-11
7.10 CccRequestSwitchInsertEx.................................................................................7-12
7.11 CccRequestStopSuperviseEx..............................................................................................7-13
7.12 CccRequestTriConf.............................................................................................................7-13
7.13 CccRequestTriConfEx................................................................................................7-14
7.14 CccRequestIntercept............................................................................................................7-16
7.15 CccRequestSuperviseTrunk................................................................................................7-17
7.16 CccAgentForceOut..............................................................................................................7-17
7.17 CccAgentForceOutEx.................................................................................................7-18
7.18 CccAgentForceIdle..............................................................................................................7-19
7.19 CccAgentForceBusy............................................................................................................7-20
7.20 CccDisconnectCall..............................................................................................................7-21
7.21 CccAgentSwitchInsert.............................................................................................7-21
7.22 CccAgentHoldCall..............................................................................................................7-22
7.23 CccAgentFetchHoldCall.................................................................................................7-23
7.24 CccAgentConnectHoldCall.........................................................................................7-24
7.25 CccSetMonitorCall......................................................................................................7-25
7.26 CccSendEventResponse......................................................................................................7-26
7.27 CccRequestRest...................................................................................................................7-27
7.28 CccRequestRestEx......................................................................................................7-28
7.29 CccCancelRest....................................................................................................................7-29
7.30 CccDirectToIdleAgent/...............................................................7-29
7.31 CccRequestOpsCallOut OPS .........................................................................................7-30
7.32 CccRequestOpsAider OPS .....................................................................................7-31
7.33 CccRequestCallShift...........................................................................................................7-32
7.34 CccPickupCall.............................................................................................................................7-32
7.35 CccRequestForceHold.................................................................................................................................7-33
7.36 CccRequestForceFetchHold........................................................................................................................7-34
7.37 CccSinglePhoneRequestSuperviseInsert/........................................7-35
7.38 CccSinglePhoneRequestStopSupervise/.........................................7-36
7.39 CccSinglePhoneRequestSwitchInsert.....................................................7-36
7.40 CccRequestReleaseACall........................................................................................7-37
7.41 CccRequestCallOutWithDetect...........................................................................................7-38
01 (2007-12-30)

iii

TopEng-
CTIAPI

7.42 CccRequestPowerOutboundEx3.............................................................................7-39

8 ............................................................................................................................8-1
8.1 CccAgentRequireRecord.........................................................................................................8-2
8.2 CccAgentRequireRecordEx....................................................................................................8-4
8.3 CccAgentStopRecord......................................................................................................8-5
8.4 CccAgentPauseRecordEx................................................................................................8-5
8.5 CccAgentResumeRecordEx....................................................................................8-6
8.6 CccAgentStartPlayFile............................................................................................................8-7
8.7 CccAgentStartPlayEx..............................................................................................................8-9
8.8 CccAgentStartPlayFileEx2-..................................................................................8-11
8.9 CccAgentStopPlayFile..................................................................................................8-13
8.10 CccAgentForeFastPlay................................................................................................8-14
8.11 CccAgentBackFastPlay...............................................................................................8-15
8.12 CccAgentPausePlay....................................................................................................8-16
8.13 CccAgentContinuePlay...............................................................................................8-16
8.14 CccAgentPlayRelocation........................................................................................8-17
8.15 CccAdjustVolume...............................................................................................................8-18
8.16 CccAgentSetAutoSelfRecord..............................................................................8-19
8.17 CccQueryAgentSelfRecordFileName.........................................................8-19
8.18 CccAgentSetSelfRecordInfo.......................................................................8-20
8.19 CccAgentRequireRecordEx2..................................................................................8-21

9 ....................................................................................................................9-1
9.1 CccQueryTotalSkills...............................................................................................................9-3
9.2 CccQuerySkillTree..........................................................................................................9-3
9.3 CccQuerySkillTreeEx............................................................................................. 9-4
9.4 CccQuerySkillGroupID.......................................................................................................9-5
9.5 CccQuerySkillsBaseGroupID......................................................................................... 9-5
9.6 CccRequestResetAgentSkill............................................................................................9-6
9.7 CccRequestRoutingByNode....................................................................................9-7
9.8 CccGetDeviceBySkills............................................................................................9-8
9.9 CccGetDeviceBySkillsWithVDN VDN .................................................... 9-9
9.10 CccRequestRoutingByAccessCode....................................................................9-10
9.11 CccRequestRoutingIVR .....................................................................................9-11
9.12 CccRequestRoutingExIVR .................................................................................9-12
9.13 CccRequestHelpRouting.............................................................................9-13
9.14 CccRequestRerouting..........................................................................................................9-14
9.15 CccRequestReroutingEx.............................................................................................9-15
9.16 CccTransferWithUVIDMerge.....................................................................................9-16
9.17 CccRequestSetTransfer.......................................................................................................9-17
9.18 CccQueryLoginAgentInSkillQueue....................................................9-18
9.19 CccQueryIdleAgentInSkillQueue...........................................................9-18
iv

01 (2007-12-30)

TopEng-
CTIAPI

9.20 CccIsDeviceAvailable.........................................................................................9-19
9.21 CccIsDeviceAvailableWithVDN VDN ..............................................................9-20
9.22 CccQuerySkillInfoBySkillIdEx..........................................................9-21
9.23 CccRequestSkillQueueBySkillName..............................................9-21
9.24 CccRequestAgentBySkillQueue.................................................................9-23
9.25 CccQueryTotalSkillQueueStat....................................................9-24
9.26 CccQueryTotalACDStatusEX3...................................................................................................................9-24

10 ........................................................................................................................10-1
10.1 CccQueryACDID........................................................................................................................................10-3
10.2 CccQueryAcdIDByAgentID...............................................................10-3
10.3 CccQueryRealACDID.................................................................10-4
10.4 CccQueryACDIDWithVDN...............................................................................10-5
10.5 CccQueryACDSkillDescription..................................................................................10-6
10.6 CccQueryACDSkillDescriptionWithVDN.................................................................10-7
10.7 CccQueryACDStatus......................................................................................................10-8
10.8 CccQueryACDStatusEx..................................................................................................10-8
10.9 CccQueryACDStatusEx2........................................................................10-9
10.10 CccQueryACDStatusEx3............................................10-10
10.11 CccQueryACDStatusWithVDN VDN ...............................................................10-11
10.12 CccQueryDeviceStatus........................................................................10-12
10.13 CccQueryDeviceStatusEX..........................................................10-13
10.14 CccQueryAgentInfoByACDID...................................................................10-14
10.15 CccQueryDeviceIDByDeviceType.............................................................10-15
10.16 CccQuerySkillQueuePredict.......................................................................10-15
10.17 CccQuerySkillQueueStat........................................................10-16
10.18 CccQuerySysLoadWithVDN VDN ...............................................................10-17
10.19 CccQueryIVRID......................................................................................................10-18
10.20 CccQueryRealIVRID..........................................................................................10-19
10.21 CccQueryIVRDescriptionByID..............................................................................10-19
10.22 CccQueryIVRDescriptionByIDEx..................................................................10-20
10.23 CccQueryIVRStepInfo............................................................................................10-21
10.24 CccQueryAllIvrDescription IVR ...............................................................10-22
10.25 CccQuerySysStatus.................................................................................................10-23
10.26 CccQueryTrunkTable..................................................................................................10-24
10.27 CccQueryResourceConnectInfoByMediaType...................................10-25
10.28 CccQueryStatInfoOfSkillQueues............................................10-25
10.29 CccQueryStatInfoOfSkillQueuesWithVDN VDN .....................10-27
10.30 CccQueryStatInfoOfSkillQueuesEx................................10-28
10.31 CccQueryStatInfoOfSkillQueuesExWithVDN VDN ....10-29
10.32 CccLoginIVRTypeIVR ......................................................................................10-30
10.33 CccLoginIVRTypeExIVR ..........................................................................10-31
10.34 CccLogoutIVRTypeIVR ................................................................................................10-32
01 (2007-12-30)

TopEng-
CTIAPI

10.35 CccIVRSetINNOIVR .....................................................................................10-33


10.36 CccLogoutIVRType IVR ID..................................................................10-33
10.37 CccIVRAgentLogin................................................................................................10-34
10.38 CccIVRSetupCallWithVDN VDN .............................................................................10-34
10.39 CccIVRAgentSetStatus//.........................................................................10-35
10.40 CccIVRAgentQueryInfo.................................................................10-36
10.41 CccQueryIVRPredict IVR ..........................................................................................10-37
10.42 CccQueryAllCustomerGroupWithVDN.........................................10-38
10.43 CccQueryCustomerGroupCallState....................................................10-38
10.44 CccQueryCallStatByInnoEx...........................................................................10-39
10.45 CccQueryCurrentCallStatInfoOnAutoOrManu..................................10-40
10.46 CccQueryPassedCallStatInoOnAutoOrManu 5 .....................................10-41
10.47 CccQueryCpConferenceInfoEx.......................................................................10-43
10.48 CccQueryQueueCallStatInfo 5 ...........................10-43
10.49 CccRequestTraceWithCallNo.........................................................................10-44
10.50 CccRequestMonitorInno.........................................................................10-45

11 ....................................................................................................11-1
11.1 CccQueryTotalAgentAbstract.....................................................................................11-4
11.2 CccQueryTotalAgentAbstractEx........................................................................11-4
11.3 CccQueryTotalAgentAbstractWithVDN VDN ..........................................................11-5
11.4 CccQueryCurrentUser.........................................................................................11-6
11.5 CccQueryUser.................................................................................................................11-7
11.6 CccQueryAllUser................................................................................................11-8
11.7 CccQueryTotalUser.........................................................................................................11-9
11.8 CccQueryUserExtendInfo.................................................................................11-10
11.9 CccModifyUserExtendInfo...............................................................................11-11
11.10 CccQueryAgentStatus.............................................................................................11-12
11.11 CccQueryAgentStatusEx.................................................................................11-13
11.12 CccQueryAgentStatusEx2...............................................................11-14
11.13 CccQueryAgentIdByPhoneNo........................................................11-15
11.14 CccQueryAgentPhoneNo....................................................................11-15
11.15 CccQueryAgentStatusExWithVDN VDN .........................................................11-16
11.16 CccQueryAgentSkills..............................................................................................11-17
11.17 CccQueryAgentSkillsEx.................................................................................11-18
11.18 CccQueryAgentSkillsWithVDN VDN ..............................................................11-19
11.19 CccRequestCloseSomeAgentSkills.................................................................11-20
11.20 CccQueryAgentStatisticsInfo......................................................................11-21
11.21 CccQueryAgentIPAddress IP .................................................................................11-21
11.22 CccGetAgentScore..................................................................................................11-22
11.23 CccNotifyBulletin...........................................................................................................11-23
11.24 CccNotifyBulletinEx...............................................................................................11-24
11.25 CccSendMessage.............................................................................................................11-25
vi

01 (2007-12-30)

TopEng-
CTIAPI

11.26 CccSendMediaStream.............................................................................11-26
11.27 CccQueryTotalWorkGroup.................................................................................11-27
11.28 CccQueryWorkGroupName................................................................................11-28
11.29 CccQueryWorkGroupTree..........................................................11-28
11.30 CccQueryWorkGroupStatus................................................................................11-29
11.31 CccQueryIsMonitor.....................................................................................................11-30
11.32 CccSetMaxRestAgentNum.........................................................................11-31
11.33 CccQueryMaxRestAgentNum............................................................11-31
11.34 CccQueryOnRestAgentNum.......................................................................11-32
11.35 CccQueryWaitRestAgentNum................................................................11-33
11.36 CccQueryAllowRestAgentNum..........................................................11-33
11.37 CccSetAgentAutoEnterIdle.....................................................................11-34
11.38 CccAgentEnterIdle..........................................................................................................11-35
11.39 CccAgentEnterWork...........................................................................11-35
11.40 CccModifyUser...............................................................................................11-36
11.41 CccQueryAgentRestInfo.........................................................................11-37
11.42 CccQueryAgentRestDetailedInfo........................................................11-38
11.43 CccQueryMediaTypeOnAgent........................................11-39
11.44 CccQueryMediaServerByMediaType.....................................11-39
11.45 CccQueryAgentLoginMediaServer.................................11-40
11.46 CccQueryConfigAgentBySkillID...................................................11-41
11.47 CccSetAgentSkillEx................................................................................................11-42
11.48 CccQueryAgentIPAddressEx IP ................................................................11-42
11.49 CccQueryAgentRestInfoWithVDN VDN ..............................................11-43
11.50 CccQueryAgentCfgInfo..................................................................................11-44
11.51 CccQuerySelfCcInfo...................................................................11-45
11.52 CccChangeAgentStatus...................................................................................11-45
11.53 CccRequestWriteFlowTrace...................................................................................11-47
11.54 CccQueryBatchAgentAbstract............................................................11-47
11.55 CccQueryUserEx.........................................................................................................11-48
11.56 CccLogonWithAccount.......................................................................11-49
11.57 CccQueryAgentIdWithAccount......................................................11-49
11.58 CccQueryAllUserWorkNoWithAccount.........................11-50
11.59 CccQueryAgentStatusStatistic........................................................................11-51
11.60 CccAgentLoginQc...................................................................................................................................11-53
11.61 CccAgentLogoutQc.................................................................................................................................11-54

12 ................................................................................................................12-1
12.1 CccQueryCallIDOnAgent...............................................................................................12-4
12.2 CccQueryCallIDOnAgentEx ..................................................................................12-4
12.3 CccQueryCalls................................................................................................12-5
12.4 CccGetCallSkillDescription....................................................................................12-6
12.5 CccQueryCallInfo.......................................................................................................12-7
01 (2007-12-30)

vii

TopEng-
CTIAPI

12.6 CccQueryCallInfoEx...................................................................................................12-8
12.7 CccQueryCallInfoEx2.........................................................................................12-9
12.8 CccQueryCallInfoEx3...............................................................................12-10
12.9 CccQueryCallStatisticsInfo.......................................................................................12-11
12.10 CccQueryCallStatisticsInfoExt...............................................................12-12
12.11 CccQueryCallStatisticsInfoEx2..............................................................12-13
12.12 CccQueryCallStatisticsInfoByMediaType..................................12-13
12.13 CccSetCallData.......................................................................................................12-14
12.14 CccSetCallDataEx...................................................................................................12-15
12.15 CccQueryCallData..................................................................................................12-16
12.16 CccQueryCallDataEx..............................................................................................12-17
12.17 CccSetCallKeyID ID.......................................................................................................12-18
12.18 CccSetCallKeyIDEx ID..................................................................................................12-19
12.19 CccSetUserHistoryData..........................................................................................12-20
12.20 CccQueryUserHistoryData......................................................................................12-21
12.21 CccQueryUserClassName...............................................................................12-22
12.22 CccQueryUserClassNameWithVDN..............................................................12-23
12.23 CccSetUserClass.....................................................................................................12-24
12.24 CccSetUserClassEx.................................................................................................12-24
12.25 CccQueryUserInfo..................................................................................................12-25
12.26 CccQueryUserInfoEx..............................................................................................12-26
12.27 CccWriteUserInfo...................................................................................................12-27
12.28 CccWriteUserInfoEx...............................................................................................12-27
12.29 CccModifyUserInfo................................................................................................12-28
12.30 CccModifyUserInfoEx............................................................................................12-29
12.31 CccDeleteUserInfo..................................................................................................12-30
12.32 CccDeleteUserInfoEx..............................................................................................12-30
12.33 CccQueryCallTime..................................................................................................12-31
12.34 CccQueryPrivateCall...............................................................................................12-32
12.35 CccQueryPrivateKeepedCall..................................................................................12-33
12.36 CccQueryVDNSummaryInfo VDN .......................................................12-34
12.37 CccQueryVdnInfo VDN ........................................................12-34
12.38 CccQueryUVIDOnAgent........................................................................12-35
12.39 CccSetVisitData..................................................................12-36
12.40 CccQueryVisitData.............................................................12-37
12.41 CccQueryCallIDByDeviceType......................................................12-38
12.42 CccQueryUVIDByCallID CALLID UVID.......................................................................12-38
12.43 CccQuerySysCallStatInfo VDN 24 ...................................................12-39
12.44 CccSetCallParam.............................................................................................12-40
12.45 CccSetFuncUnitExit....................................................................................12-40
12.46 CccQueryFuncUnitExit...............................................................................12-41
12.47 CccQueryOriginalCalled.................................................................................12-41
viii

01 (2007-12-30)

TopEng-
CTIAPI

12.48 CccQueryBaseCallInfo....................................................................................12-42
12.49 CccQueryCallStatByInno................................................................................12-43
12.50 CccQueryCallStatByInnoWithVDN VDN ................................................12-44
12.51 CccQueryCallTrace.............................................................12-45
12.52 CccQueryQueueCallStatInfoEx......................................................12-46
12.53 CccQueryCallStateEx..........................................................................................12-47
12.54 CccQueryCustomerGroupCallStateEx........................................................12-48
12.55 CccAddOutBoundCampain.....................................................................................12-49
12.56 CccDelOutBoundCampain......................................................................................12-49
12.57 CccPushCustomersToOutBound.........................................12-50
12.58 CccDeleteCustomersToOutBound......................................12-51
12.59 CccSetOutBoundHoliday............................................................................................12-52
12.60 CccDeleteOutBoundHoliday.......................................................................................12-53
12.61 CccQueryOutBoundResult......................................................................................12-54
12.62 CccRequestOBSPauseTask.....................................................................................12-55
12.63 CccRequestOBSResumeTask.................................................................................12-56
12.64 CccRequestPowerOutboundEx4.....................................................12-57
12.65 CccMessageEvent...........................................................................................12-57

13 ................................................................................................................13-1
13.1 CccQueryAbandonedCall............................................................................................13-2
13.2 CccRegisterOutbound.........................................................................................................13-2
13.3 CccRequestPreviewCallOut........................................................................................13-3
13.4 CccRequestPowerOutbound........................................................................................13-4
13.5 CccRequestPowerOutboundEx...................................................................................13-5
13.6 CccRequestPowerOutboundEx2.................................................................................13-6

14 WECC ...........................................................................................................14-1
14.1 CccAgentStartConvoy.................................................................................................14-3
14.2 CccAgentStopConvoy.................................................................................................14-3
14.3 CccAgentPushPage.............................................................................................................14-4
14.4 CccAgentStartChat......................................................................................................14-5
14.5 CccAgentStopChat......................................................................................................14-5
14.6 CccAgentSetOption.............................................................................................14-6
14.7 CccAgentGetOption............................................................................................14-7
14.8 CccAgentSetData....................................................................................................14-7
14.9 CccAgentGetData............................................................................................14-8
14.10 CccAgentSetCoopMsg..................................................................................14-9
14.11 CccQueryConferenceInfo..........................................................................................14-9
14.12 CccQueryConferenceInfoEx...........................................................................14-10
14.13 CccQueryBusyConferenceInfoEx...........................................................................14-11
14.14 CccRequestConference...................................................................................................14-11
14.15 CccReleaseConference....................................................................................................14-12
01 (2007-12-30)

ix

TopEng-
CTIAPI

14.16 CccAddDeviceToConference..................................................................................14-13
14.17 CccRemoveDeviceFromConference...........................................................14-13
14.18 CccChangeDeviceModeInConference................................................14-14
14.19 CccProlongConference....................................................................................14-15
14.20 CccPlayVoiceToConference...............................................................................14-15
14.21 CccStopVoiceToConference...............................................................................14-16

15 IVR ...................................................................................................................................15-1
15.1 IvrInit.......................................................................................................................15-2
15.2 IvrExit..........................................................................................................................15-2
15.3 IvrSetINNO IVR ........................................................................................................15-3
15.4 IvrGetEvent.................................................................................................................15-3
15.5 IvrQueryCallData........................................................................................................15-4
15.6 IvrSetCallData.............................................................................................................15-5
15.7 IvrRequestRouting..............................................................................................................15-5
15.8 IvrRequestRerouting...........................................................................................................15-6
15.9 IvrAlerting Alerting ............................................................................................15-7
15.10 IvrAnswer..................................................................................................15-8
15.11 IvrResourceConnect..........................................................................................................15-8
15.12 IvrResourceDisconnect.....................................................................................................15-9
15.13 IvrRedirect...........................................................................................................................15-10
15.14 IvrCallSetup....................................................................................................................15-10
15.15 IvrDisconnect..........................................................................................................15-11
15.16 CccIvrStateReportIVR ...................................................................................................15-12
15.17 IVR ................................................................................................................15-12

16 ............................................................................................................................16-1
16.1 CccQueryNetInfo........................................................................................................16-3
16.2 CccQueryNetInfoEx....................................................................................................16-3
16.3 CccQueryCcsCPUUseRate CCS ............................................................................16-4
16.4 CccQueryServiceType................................................................................................16-5
16.5 CccQueryServerTime..............................................................................................16-5
16.6 LongToTime........................................................................................................................16-6
16.7 CharToInt............................................................................................................16-6
16.8 IntToChar............................................................................................................16-7
16.9 BCDToCharBCD ...................................................................................................16-7
16.10 BCDToIntBCD .........................................................................................................16-8
16.11 IntToBCD BCD ........................................................................................................16-8
16.12 CharToBCD BCD ................................................................................................16-9
16.13 GetBCDLength......................................................................................................................16-9
16.14 CccGetLastBuffer..........................................................................................16-9
16.15 CccGetLicense....................................................................................................16-10
16.16 CccUpdateLicense...........................................................................................16-11
x

01 (2007-12-30)

TopEng-
CTIAPI

16.17 CccSetWCCAProxy WCCA Proxy ......................................................16-12


16.18 CccQueryUIDBCfg VDN UIDB ..............................................................16-12
16.19 CccQuerySysVersion......................................................................................16-13
16.20 CccWatchSysState..............................................................................16-14
16.21 CccMessageBridge......................................................................................16-15
16.22 CccQueryCallState..................................................................................16-16
16.23 CccRequestWriteInfoToDB........................................................................16-17
16.24 CccQuerySomeTotalInfo........................................................................................16-18
16.25 CccQuerySomeTotalInfoWithVDN VDN .........................................................16-19
16.26 CccFetchConfig...............................................................................................16-20
16.27 CccPostConfig.............................................................................................16-21
16.28 CccQueryAllDiskInfo.....................................................................................16-22
16.29 CccQueryVDNDiskList..........................................................16-23
16.30 CccRequestSetBillInfo....................................................................................16-24
16.31 CccRequestWriteServiceBill...............................................................................16-24
16.32 CccResetAgentInternetIP Internet IP..............................................................................16-25
16.33 CccAdjustDenyTalkRight ....................................................................16-26
16.34 CccSendIrcProtocol.................................................................16-26
16.35 CccSendQCProtocol................................................................16-27
16.36 CccSendSPPProtocol IVR ..................................................................16-28
16.37 IcdSend........................................................................................................16-28
16.38 CccRequestSwitchSvrStatus.......................................................................16-29

17 ............................................................................................................................................17-1
17.1 .............................................................................................................................................17-2
17.2 .....................................................................................................................................................17-6
17.3 ...................................................................................................................................................17-11

18 ........................................................................................................................18-1
18.1 .....................................................................................................................................................18-2
18.2 .............................................................................................................................................18-7

19 ........................................................................................................................................19-1
19.1 .................................................................................................................................................19-2
19.2 .........................................................................................................................................................19-3

A ..............................................................................................................................A-1
B .......................................................................................................................................... B-1

01 (2007-12-30)

xi

TopEng-
CTIAPI

1-1 TopEng-.................................................................................................1-2

01 (2007-12-30)

xiii

TopEng-
CTIAPI

15-1 ................................................................................................................................15-6
19-1 ........................................................................................................................................19-2

01 (2007-12-30)

xv

TopEng-
CTIAPI

TopEng- CTIAPI
1.1 TopEng-
TopEng-

1.2

01 (2007-12-30)

1-1

TopEng-
CTIAPI

1.1 TopEng-
TopEng-

TopEng- 1-1
1-1 TopEng-
1

Internet

No.1/No.7
H.323
HTTP/T.120

/Fax

Email

Internet
Internet TopEng

TopEng

1.2

API

1-2

01 (2007-12-30)

TopEng-
CTIAPI

2.1

2.2

01 (2007-12-30)

2-1

TopEng-
CTIAPI

2.1

CLIDANI

DNIS

DN
IVR

VRUIVR

IVR
IVR
IVR

CallID

API

1B+D
APC AITAttendant
Communication Card ASLAnalogue Subscriber Line Board

2-2

01 (2007-12-30)

TopEng-
CTIAPI

WECC
Web

VDN
Virtal Directory NumberVDN Call Center

UVID
User Visit ID
UVID

E-mailFaxWeb

IRC
NIRC
01 (2007-12-30)

2-3

TopEng-
CTIAPI

ECC
Enterprise Call Center Public Call Center Platform

PCCP
Public Call Center Platform Call Center

ICDMS
ICD ICD ICD

CMS
ICD Client of Management System

TCMS
ICD ICD Transfer
Client of Management System CMS TCMS

OPS

OPS

OPS

OPS

OPS

OPS

OPS

OPS

2-4

01 (2007-12-30)

TopEng-
CTIAPI

2.2

CTI Server
WebMWeb EmailMEmail

1B+D
C&C08-Q 1B+D
APC 1B+D CTI
APC ICD

1B D
1.

CccApiInit

2.

CccApcInit APC

3.

CccConnectToServer

4.

CccLogon CccLogonEx

5.

CccAgentLogin CccAgentLoginEx

6.

7.

8.

CccAgentLogout CccAgentLogoutEx

9.

CccLogoff

10. CccDisconnectFromServer
11. CccApcExit APC
12. CccApiExit

PC PHONE
PC
UISUser Interface ServerUIS

PC+PHONE
1.

CccApiInit

2.

CccConnectToServer

3.

CccLogon CccLogonEx

4.

CccAgentLoginEx

01 (2007-12-30)

2-5

TopEng-
CTIAPI

5.

6.

7.

CccAgentLogoutEx

8.

CccLogoff

9.

CccDisconnectFromServer

10. CccApiExit

2B+D
PC+PHONE

6B+D
PC+PHONE

CTI

2-6

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentLogout CccAgentLogoutEx

5.

6.

CccApiExit

01 (2007-12-30)

TopEng-
CTIAPI

3 API

API

CTIAPI
3.1
TopEng- API CTI
API Call Center

3.2
API
3.3
API
3.4
TopEng- API
3.5

3.6

3.7
TopEng- API
3.8
TopEng- API

01 (2007-12-30)

3-1

TopEng-
CTIAPI

3 API

3.1
TopEng- API CTI
API Call Center

ctiapidll.dll TCP/IP HTTP


TCP/IP Htcpapi.dll IcdComm.exe
IcdComm.exe Http http Htcpapi.dll

API Windows95/98/XPWindows NTWindows 2000


VC6.0Delphi5.0VB6.0PB5.0/6.0
SQL Server 7.0Oracle 7.3/8i/9iSysbase 12.0

3.2
API

1.

CccApiInit

2.

CccConnectToServer

3.

CccLogon CccLogonEx

4.

5.

6.

CccLogoff

7.

CccDisconnectFromServer

8.

CccApiExit

API API

BCCC_SYSTEM_INFOSystemInfo;
rc = CccQuerySysStatus( m_usConnectID , &SystemInfo);

3-2

01 (2007-12-30)

TopEng-
CTIAPI

3 API

if ( rc == ICD_OK )
{
char tmpstr[500];
sprintf(tmpstr,"System status:\r\n"
"Version: %s, CallNumber: %hu,CallInQueueNum: %hu,\r\n"
"TalkingNum: %hu, TotalLoginAgent: %hu,
BusyAgent: %hu,\r\n"
"IdleAgent: %hu, SkillNum: %hu, ConnectNum: %hu",
SystemInfo.VersionInfo,// CCS
SystemInfo.usCallNum,//
SystemInfo.usCallInQueueNum,//
SystemInfo.usTalkingNum,//
SystemInfo.usTotalLoginAgent,//
SystemInfo.usBusyAgent,//
SystemInfo.usIdleAgent,//
SystemInfo.usSkillNum,//
SystemInfo.usConnectNum );//
AfxMessageBox(tmpstr, MB_OK);
}

1.

CccApiInit

2.

CccApcInit APC

3.

CccConnectToServer

4.

CccLogon CccLogonEx

5.

CccAgentLogin CccAgentLoginEx

6.

7.

8.

CccAgentLogout CccAgentLogoutEx

9.

CccLogoff

10. CccDisconnectFromServer
11. CccApcExit APC
12. CccApiiExit
API

01 (2007-12-30)

3-3

TopEng-
CTIAPI

3 API

1.

InstallEventCallBackProc

2.

3.

4.

5.

UninstallEventCallBackProc

6.

AfxBeginThreadCheckEventProc, NULL

7.

CheckEventProc CccGetEvent

8.

9.

10.

UINT CheckEventProc( LPVOID lpvThreadParm )


{
UNREFERENCED_PARAMETER(lpvThreadParm);
WORD rc, usSize;
UCHAR Buffer[2048];
SHORT

usEventType;

CString

strEvent;

WORD result;
ULONG

ulTaskID;

ULONG

offset;

time_t

EventTime;

struct tm *curtime;
while ( 1 )
{usSize = 2048;
rc = CccGetEvent(m_usConnectID, Buffer, &usSize, &usEventType, 3000);
if ( rc == ICD_OK )
{
time( &EventTime );
curtime = localtime( &EventTime );
strEvent.Format("Receive Event: EventType %d , ",
usEventType );
switch ( usEventType )
{
case CCC_REPORT_RESPONSE_EVENT :
case CCC_MAKE_CALL_RESPONSE_EVENT:
case CCC_TRANSFER_OUT_RESPONSE_EVENT:

3-4

01 (2007-12-30)

TopEng-
CTIAPI

3 API

strEvent += ", ";


strEvent +=asctime( curtime );

}
}
return 0;
}

DBCCC_USER_RECORDUser;
char tmpstr[100];
User.usWorkNo = 101;
strcpy(User.szPassword, "101");
rc = CccLogon( m_usConnectID , &User);
g_pErrorInfo->ProcessResult(rc, "CccLogon");
if ( rc == ICD_OK )
{
sprintf(tmpstr,"WorkNo: %hu, UserName: %s,"
"Password: %s,

Security: %lu",

User.usWorkNo,
User.szUserName,
User.szPassword,
User.ulSecurity);//
AfxMessageBox(tmpstr, MB_OK);
AfxBeginThread( CheckEventProc, NULL );
}

3.3
API
l

WIN32 C

CccConnectToServer hCcc

IN OUT

30KB

01 (2007-12-30)

3-5

TopEng-
CTIAPI

3 API
l

3.4
TopEng- API

API API
Ctiapi.hINtessPub.h
Ctiapi.hINtessPub.h
TopEng- API
l

Apcio.Dll APC

CtiApidll.Dll API

CtiApidll.Lib C

CtiApi.H API C

INtessPub.H API

3.5

USHORT
ICD_OK0

3.6

API API 3
ICD_ERR_TIMED_OUT

API
l

3-6

01 (2007-12-30)

TopEng-
CTIAPI

3 API

InstallEventCallBackProc

CccGetEvent

CccSetEventMonitor

3.7
TopEng- API
API API 50
ICD_ERR_TOO_MUCH_THREAD

3.8
TopEng- API
ICD3.0 TopEng-V3.0ICD2.0 TopEng-
V2.0
INOUTIN/
OUT
ICDV300R002 UIS CCS UIS CCS

01 (2007-12-30)

3-7

TopEng-
CTIAPI

API
4.1 SetWaitTime
API UIS
4.2 SetWaitTimeEx

4.3 CccApiInitCtiApiInit

4.4 CtiApiExit

4.5 CccApcInit
APC
4.6 CccApcExit
APC
4.7 CccConnectToServer

4.8 CccConnectToServerEx
4.9 CccDisconnectFromServer

4.10 CccLogon

4.11 CccLogonEx

4.12 CccLogoff

01 (2007-12-30)

4-1

TopEng-
CTIAPI

4.1 SetWaitTime
API UIS

API UIS API


3000

void __stdcall

SetWaitTime(long lTime );

lTime

IN

SetWaitTimeEx

4.2 SetWaitTimeEx

UISWebMWeb IE
l

WAIT_TIME_UIS UIS API


3000

WAIT_TIME_WEBM WEBM API


10000

WAIT_TIME_IE Internet Explorer API


10000

void __stdcall

SetWaitTimeEx( long lTime, USHORT usType);

4-2

lTime

IN

01 (2007-12-30)

TopEng-
CTIAPI

usType

WAIT_TYPEIN
enum
{
WAIT_TYPE{WAIT_TIME_UIS = 0,// UIS
SetWaitTime
WAIT_TIME_WEBM,// WEBM
WAIT_TIME_IE,// Internet Explorer
};

SetWaitTime

4.3 CccApiInitCtiApiInit

API

1.

TCP/IP ICDComm Http


Htcpapi.dll Http

2.

Ctiapidll.dll Htcpapi.dll Window

SHORT __stdcall CccApiInit(ULONG ulMyId,int (__stdcall * lpfnTcpRecv)


( ULONG ulSrcIP, ULONG ulSrcID, char * pcData, ULONG ulDataLen));
SHORT __stdcall CtiApiInit(ULONG ulMyId,int (__stdcall * lpfnTcpRecv)
(ULONG ulSrcIP, ULONG ulSrcID, char * pcData, ULONG ulDataLen));

ulMyId

ID 0 50IN
0 39 40 50

lpfnTcpRecv

UIS IN
lpfnTcpRecv NULL
SendMessage UIS

ulSrcIP

IP IN

ulSrcID

IN

01 (2007-12-30)

4-3

TopEng-
CTIAPI

pcData

IN/OUT

ulDataLen

OUT

ICD_OK

CccApiInit(40, NULL);

CtiApiExit

4.4 CtiApiExit

CccApiInit

void __stdcall

CtiApiExit(void);

CccApiInitCtiApiInit

4.5 CccApcInit
APC

APC 1B+D

1.
4-4

APC

01 (2007-12-30)

TopEng-
CTIAPI

2.

Apcio.dll Windows

CHAR __stdcall

CccApcInit(CHAR cWhoInit, SHORT sCardVer);

cWhoInit

1IN

sCardVer

IN
APC
CQ01CQ05CQ04 CQ06
0495
APC

ICD_OK

CQ05
CHAR

cRc = CccApcInit(1, 4)

CccApcExit

4.6 CccApcExit
APC

APC

CccApiInit

void

__stdcall

CccApcExit(void);

CccApcInit
01 (2007-12-30)

4-5

TopEng-
CTIAPI

4.7 CccConnectToServer

Server API
Server UIS
CccConnectToServerEx

CccApiInit

SHORT __stdcall CccConnectToServer (USHORT *phCcc, CHAR *pcIpStr[2],


ULONG ulModule);

phCcc

Server
OUT

pcIpStr

ServerIP IP IN

ulModule

Server PROGIDIN
UIS UIS PROGID 20
PROXY PROGID 12

ICD_OK

USHORTm_usConnectID;
CHAR *ip[2];
ip[0] = new CHAR[20];
ip[1] = new CHAR[20];
strcpy( ip[0] , m_strMainIP ); // m_strMainIP = 129.9.100.101
strcpy( ip[1] , m_strBackupIP); //m_strBackupIP = 129.9.100.102
m_dwPort = 20; // UIS Process ID
USHORT rc = CccConnectToServer( &m_usConnectID , ip , m_dwPort);
delete [] ip[0];
delete [] ip[1];

4-6

01 (2007-12-30)

TopEng-
CTIAPI

CccDisconnectFromServer

4.8 CccConnectToServerEx
4.9 CccDisconnectFromServer

Server Server
API hCcc

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall

CccDisconnectFromServer ( USHORT hCcc );

hCcc

CccConnectToServer IN

ICD_OK

CccConnectToServer

4.10 CccLogon

UIS PROXY

01 (2007-12-30)

4-7

TopEng-
CTIAPI

API

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccLogon (USHORT hCcc, DBCCC_USER_RECORD *


pdbUserRecord );

hCcc

CccConnectToServer IN

pdbUserRecord

DBCCC_USER_RECORD
usWorkNo szPassword
IN/OUT

ICD_OK

DBCCC_USER_RECORD User;
User.usWorkNo = m_usAgentNo;//Agent WorkNo
strncpy(User.szPassword, m_strAgentPassword, DBCCC_MAXLEN_PASSWORD);
USHORT rc = CccLogon( m_usConnectID , &User);
if ( rc == ICD_OK )
CHAR
tmpstr[500];
sprintf(tmpstr,"WorkNo%u,UserName%s, Password%s, Security%lu",
User.usWorkNo,
User.szUserName,//
User.szPassword,
User.ulSecurity);//
AfxMessageBox(tmpstr, MB_OK);

CccLogoffCccLogonEx

4.11 CccLogonEx

4-8

01 (2007-12-30)

TopEng-
CTIAPI

UIS PROXY

API
CccLogon
VDN

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccLogonEx (USHORT hCcc, DBCCC_USER_RECORD_EX


pdbUserRecord );

hCcc

CccConnectToServer IN

pdbUserRecord

DBCCC_USER_RECORD
usWorkNo szPasswordIN/
OUT

ICD_OK

DBCCC_USER_RECORD_EXUser;
User.usWorkNo = m_usAgentNo;//Agent WorkNo
strncpy(User.szPassword, m_strAgentPassword, DBCCC_MAXLEN_PASSWORD);
USHORT rc = CccLogonEx( m_usConnectID , &User);
if ( rc == ICD_OK )
CHAR
tmpstr[500];
sprintf(tmpstr,"WorkNo%u,UserName%s, Password%s, Security%
lu",User.usWorkNo,User.szUserName,//
User.szPassword,
User.ulSecurity);//
AfxMessageBox(tmpstr, MB_OK);

CccLogoffCccLogon

01 (2007-12-30)

4-9

TopEng-
CTIAPI

4.12 CccLogoff

hCcc hCcc UIS

1.

CccApiInit

2.

CccConnectToServer UIS

3.

CccLogon CccLogonEx UIS

SHORT __stdcall

CccLogoff ( USHORT hCcc )

hCcc

CccConnectToServer IN

ICD_OK

CccLogonCccLogonEx

4-10

01 (2007-12-30)

TopEng-
CTIAPI

5.1 CccGetEvent
5.2 InstallEventCallBackProc
5.3 UninstallEventCallBackProc
5.4 CccSetEventMonitor
5.5 CccSetSysMonitor
5.6 CccGetSysMonitorInfo
5.7 CccResetSysMonitorInfo
5.8 CccSetMonitorDN

01 (2007-12-30)

5-1

TopEng-
CTIAPI

5.1 CccGetEvent

UIS

UIS CccSetEventMonitor CccSetSysMonitor


1B+1D

1.

CccApiInit

2.

3.

CccSetEventMonitor

InstallEventCallBackProc CccGetEvent

SHORT __stdcall CccGetEvent (USHORT hCcc, PUCHAR pdbEvent, PUSHORT


pcSize, PSHORT pusEventType, LONG lTimeout)

hCcc

CccConnectToServer
IN

pdbEvent

OUT

pcSize

IN/OUT

pusEventType

OUT

lTimeout

-1
IN

ICD_OK

UINT GetEventProcess(LPVOID parameter)


SHORTusEventType = (SHORT) parameter;//Expect Event Type

5-2

01 (2007-12-30)

TopEng-
CTIAPI

CStringstrEvent = "Receive Event";


LONG lBeginTime, lEndTime;
USHORTrc, usSize;
UCHARucBuffer[32767];// Buffer
SHORTusGetEventType;//Receive Event
LONGlSetTime =100;//Total Wait Time
lBeginTime = time(NULL);
do
usSize = 32767;//Buffer Size
rc = CccGetEvent(m_usConnectID, ucBuffer, &usSize, &usGetEventType,
3000);
if(rc == ICD_OK)
{
// Success to Receive a Event
//Get Event Name
strEvent += g_pErrorInfo->GetEventInfo(usGetEventType);
strEvent += "; ";
if( usGetEventType == usEventType)
break;//Receive Expect Event , exit
else
strEvent += g_pErrorInfo->GetEventInfo(rc);
strEvent += "; ";//Store Receive Event
lEndTime = time(NULL);
}while(lEndTime - lBeginTime < lSetTime);
AfxMessageBox(strEvent, MB_OK);
return0;

CccSetEventMonitorCccSetSysMonitorInstallEventCallBackProc
UninstallEventCallBackProcCccGetSysMonitorInfoCccSetMonitorDN
CccResetSysMonitorInfo

5.2 InstallEventCallBackProc

1.

CccApiInit

2.

3.

EVENTPROC __stdcall

01 (2007-12-30)

InstallEventCallBackProc( EVENTPROC pEventProc );

5-3

TopEng-
CTIAPI

pEventProc

IN

void __stdcall EventProc( SHORT


EventType, void* pEventData,
USHORT usDataSize );

EventType
pEventData
usDataSize

EVENTPROC
InstallEventCallBackProc NULL

InstallEventCallBackProc

CccGetEvent ICD_ERR_INTERNAL_ERROR

UninstallEventCallBackProc

void EventProc( SHORT usEventType , void* szEvent , USHORT usSize )


{
USHORT usRes = *((USHORT*)( szEvent ));
switch( usEventType )
case CCC_WAIT_OUTBOUND_EVENT
//...
break;
case CCC_ANSWER_REQUEST_EVENT
//...
break;
//...
InstallEventCallBackProc( EventProc );

CccGetEventCccSetEventMonitorCccSetSysMonitorCccSetMonitorDN
UninstallEventCallBackProcCccGetSysMonitorInfoCccResetSysMonitorInfo

5.3 UninstallEventCallBackProc

5-4

01 (2007-12-30)

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

InstallEventCallBackProc

VOID __stdcall

UninstallEventCallBackProc(VOID);

InstallEventCallBackProcCccGetEventCccSetEventMonitorCccSetSysMonitor
CccGetSysMonitorInfoCccResetSysMonitorInfoCccSetMonitorDN

5.4 CccSetEventMonitor

API API

CccSetEventMonitor flStart FALSE


CccDisconnectFromServer

SHORT __stdcall CccSetEventMonitor ( USHORT hCcc, USHORT usEventType,


DEVICE_ID* pDeviceID, CHAR cStart);

hCcc

CccConnectToServer
IN

usEventType

IN

pDeviceID

ID

DEVICE_ID_NO_USEIN

cStart

01 (2007-12-30)

TRUE
FALSE
IN

5-5

TopEng-
CTIAPI

ICD_OK

// parameter = CCC_WAIT_OUTBOUND_EVENT
c_resource_files.xml#c_resource_files_returnvalue
UINT GetEventProcess(LPVOID parameter)
SHORTusEventType = (SHORT) parameter;//
DEVICE_ID DeviceID;
DeviceID.ucDeviceType = AgentType;
DeviceID.usDeviceNo = m_usAgentNo;
USHORT rc =CccSetEventMonitor( m_usConnectID, usEventType,
&DeviceID,TRUE);//
LONGlBeginTime, lEndTime, lSetTime;
USHORTusSize;
UCHARucBuffer[32767];
SHORTusGetEventType;
lSetTime = 600;
lBeginTime = time(NULL);
do
usSize = 32767;
rc = CccGetEvent(m_usConnectID, ucBuffer, &usSize, &usGetEventType,
3000);
if(rc == ICD_OK)
if( usGetEventType == usEventType)
// ...
break;
lEndTime = time(NULL);
}while(lEndTime - lBeginTime < lSetTime);
//
CccSetEventMonitor( m_usConnectID, usEventType, &DeviceID, FALSE);
return0;

CccGetEventCccSetEventMonitorCccSetSysMonitorInstallEventCallBackProc
UninstallEventCallBackProcCccGetSysMonitorInfoCccResetSysMonitorInfo
CccSetMonitorDN

5.5 CccSetSysMonitor

CCC_MASTER_CHANGED_EVENT

CccSetSysMonitor ucStart FALSE


CccDisconnectFromServer

5-6

1.

CccApiInit

2.

01 (2007-12-30)

TopEng-
CTIAPI

SHORT __stdcall

CccSetSysMonitor (USHORT hCcc, UCHAR ucStart);

hCcc

CccConnectToServer
IN

ucStart

TRUE
FALSE IN

ICD_OK

// parameter = CCC_MASTER_CHANGED_EVENT
UINT GetEventProcess(LPVOID parameter)
SHORTusEventType = (SHORT) parameter;//
DEVICE_ID DeviceID;
DeviceID.ucDeviceType = AgentType;
DeviceID.usDeviceNo = m_usAgentNo;
USHORT rc =CccSetSysMonitor( m_usConnectID, TRUE);//
LONGlBeginTime, lEndTime, lSetTime;
USHORTusSize;
UCHARucBuffer[32767];
SHORTusGetEventType;
lSetTime = 600;
lBeginTime = time(NULL);
do
usSize = 32767;
rc = CccGetEvent(m_usConnectID, ucBuffer, &usSize, &usGetEventType,
3000);
if(rc == ICD_OK)
if( usGetEventType == usEventType)
// ...
break;
lEndTime = time(NULL);
}while(lEndTime - lBeginTime < lSetTime);
//
CccSetSysMonitor( m_usConnectID, FALSE);
return0;

CccGetEventCccSetEventMonitorCccSetSysMonitor CccSetMonitorDN
InstallEventCallBackProcUninstallEventCallBackProcCccGetSysMonitorInfo
CccResetSysMonitorInfo

01 (2007-12-30)

5-7

TopEng-
CTIAPI

5.6 CccGetSysMonitorInfo

API
VDN
UIS UIS
CCSCTI ServerIVRAplogic UIS UIS

1.

CccApiInit

2.

SHORT __stdcall CccGetSysMonitorInfo(USHORT hCcc, USHORT usServerType,


CHAR *pszIPAddr, USHORT *pusItemNum, USHORT *pusMonitorItem, USHORT
*pusInfoSize, CHAR *pszMonitorInfo);

hCcc

CccConnectToServer
IN

usServerType

PROG_ID_TYPE
IN

pszIPAddr

IP
IN

pusItemNum

IN/OUT

pusMonitorItem

IN

pusInfoSize

pszMonitorInfo

IN/OUT

pszMonitorInfo

5-8

MONITOR_INFO_HEAD
IN

01 (2007-12-30)

TopEng-
CTIAPI

ICD_OK pszMonitorInfo pusInfoSize


pszMonitorInfo
ICD_OK_LESS_BUFFER_SIZE
pusInfoSize pszMonitorInfo
CccGetLastBuffer(USHORT hCcc, ULONG
*pulLen, CHAR *pBuffer)

//0 200

//201 400CCS200
//401 600CTI Server200
//601 800PG
200

ICD_MONITOR_ITEM

struct MONITOR_INFO_HEAD
USHORT usMonitorID;
// enum ICD_MONITOR_ITEM
USHORTusInfoSize;
// 30K
};

IMI_UIS_NET_INFO
struct IMI_UIS_NET_INFO_Mnt : public MONITOR_INFO_HEAD
//....
};

DBPROXYIVR UIS ICD


ICD_MONITOR_ITEM
l

enum PROXY_MONITOR_ITEM
IMI_DBPROXY_INFO= IMI_DBPROXY_BEGIN,//
IMI_DBPROXY_DB,//
};
IMI_DBPROXY_INFO
struct IMI_DBPROXY_INFO_Mnt: public MONITOR_INFO_HEAD
USHORT usDealingMsgNum;//
USHORT usQueueMsgNum; //
};// TopEng-V2.0 CMD_MONITOR_PROXY_INFO
IMI_DBPROXY_DB
struct IMI_DBPROXY_DB_Mnt: public MONITOR_INFO_HEAD
USHORTusDBNum;//
DB_SOURCE_INFOpDbInfo[ANY_SIZE];//
}//
struct DB_SOURCE_INFO
CHARszDbAlias[16];//
USHORTusDbNum;//
USHORTusTimesPerSecond;//
USHORTusConnectNum;//
DB_CONNECT dbConnect[ANY_SIZE];// usConnectNum
};// TopEng-V2.0 CMD_MONITOR_PROXY_DB
//
struct DB_CONNECT
UCHARucBusyFlag;//10 2

01 (2007-12-30)

5-9

TopEng-
CTIAPI

5
USHORTusWaitMsgNumber;//
};
l

IVR
enum IVR_MONITOR_ITEM
IMI_IVR_INFO= IMI_IVR_BEGIN,//IVR
};

IMI_IVR_INFO IVR
struct IMI_IVR_INFO_Mnt: public MONITOR_INFO_HEAD
UCHARucIsMainOK;//0
USHORTusTotalCallThreads; //
USHORTusCallThreadsInUse; //
ULONGulFailDueToCallThreads;//
ULONGulTotlaCallIn;//
ULONGulCallInOk;//
ULONGulAccessCodeFail; //
ULONGulCallOutOk; //
ULONGulCallOutFail; //
ULONGulTimeOutFail; //
ULONGulOprRouteOk; //
ULONGulOprRouteFail; //
ULONGulOprHelpOk; //
ULONGulOprHelpFail; //
USHORTusServiceNum;//
ULONG callNumPerService[serviceNum];// SERVICE
UCHARpucServiceName[ANY_SIZE]; // "!" serviceNum

};
l

UIS
enum UIS_MONITOR_ITEM
IMI_UIS_INFO= IMI_UIS_BEGIN,//UIS
};
struct IMI_UIS_INFO_Mnt: public MONITOR_INFO_HEAD
ULONG ulCccCount;// UIS
};

CHAR *pszIPAddr = "10.121.12.194";


USHORT usItemNum = 2;
USHORT usMonitorItem[2] = {IMI_UIS_INFO, IMI_CTISVR_CALL};
USHORT usInfoSize = 50;
CHAR *pszMonitorInfo = new CHAR[usInfoSize];
USHORT rc =CccGetSysMonitorInfo( m_usConnectID, PROGID_UIS,
pszIPAddr, &usItemNum, usMonitorItem, &usInfoSize,pszMonitorInfo);
//
ULONG ulCccCount;
IMI_UIS_INFO_Mnt * pUisInfo = (IMI_UIS_INFO_Mnt *)pszMonitorInfo;
ulCccCount = pUisInfo-> ulCccCount;
//CTISVR
ULONG ulIVRCallCount; //
IMI_CTISVR_CALL_Mnt* pCtiCall = (IMI_CTISVR_CALL_Mnt *)(pszMonitorInfo +
sizeof(IMI_UIS_INFO_Mnt);
ulIVRCallCount= pCtiCall->ulIVRCallCount;

5-10

01 (2007-12-30)

TopEng-
CTIAPI

CccGetEventCccSetEventMonitorCccSetSysMonitorInstallEventCallBackProc
UninstallEventCallBackProcCccGetSysMonitorInfoCccResetSysMonitorInfo
CccSetMonitorDN

5.7 CccResetSysMonitorInfo

1.

CccApiInit

2.

SHORT __stdcall CccRestSysMonitorInfo(USHORT hCcc, USHORT usServerType,


CHAR *pszIPAddr, USHORT *pusItemNum, USHORT *pusMonitorItem);

hCcc

CccConnectToServer
IN

usServerType

PROG_ID_TYPEIN

pszIPAddr

IP
IN

pusItemNum

IN/OUT

pusMonitorItem

IN

ICD_OK

CccGetEventCccSetEventMonitorCccSetSysMonitor
InstallEventCallBackProcUninstallEventCallBackProc
CccGetSysMonitorInfoCccResetSysMonitorInfoCccSetMonitorDN

01 (2007-12-30)

5-11

TopEng-
CTIAPI

5.8 CccSetMonitorDN

1.

CccApiInit

2.

SHORT __stdcall
*pszDN);

CccSetMonitorDN(USHORT hCcc, USHORT *pusSize, CHAR

hCcc

CccConnectToServer
IN

pusSize

IN

pszDN

IN

ICD_OK

CccGetEventCccSetEventMonitorCccSetSysMonitorInstallEventCallBackProc
UninstallEventCallBackProcCccGetSysMonitorInfoCccResetSysMonitorInfo
CccSetMonitorDN

5-12

01 (2007-12-30)

TopEng-
CTIAPI

6.1 CccAgentLogin
6.2 CccAgentLoginEx
6.3 CccAgentLogout
6.4 CccAgentLogoutEx
6.5 CccRequestDoNotDisturb
6.6 CccRequestIdle
6.7 CccRequestMuteOn
6.8 CccRequestMuteOnEx
6.9 CccRequestMuteOff
6.10 CccRequestMuteOffEx
6.11 CccRequestAnswer
6.12 CccRequestAnswerEx
6.13 CccRequestRelease
6.14 CccRequestReleaseEx
6.15 CccRequestInternaltransfer
6.16 CccRequestInternalCall
6.17 CccRequestInternalCallEx
6.18 CccRequestTransferOut
6.19 CccRequestTransferOutEx
6.20 CccRequestTransferOutEx2
01 (2007-12-30)

6-1

TopEng-
CTIAPI

6.21 CccRequestTransferOutEx3
6.22 CccRequestCallOut
6.23 CccRequestCallOutExOPS
6.24 CccRequestCallOutEx2
6.25 CccRequestReport
6.26 CccRequestReportEx
6.27 CccRequestHold
6.28 CccRequestFetchHold
6.29 CccRequestConnectHold
6.30 CccRequestAppointedCall
6.31 CccSetSupportMediaCall
6.32 CccQuerySupportMediaCall
6.33 CccRequestInterceptWithCallID
6.34 CccQueryCallInfoEx4
6.35 CccRequestVerifyMailBox

6-2

01 (2007-12-30)

TopEng-
CTIAPI

6.1 CccAgentLogin

CccLogon CccLogonEx

CccAgentLogout

1B+D

1B
1D

1.

CccApiInit

2.

3.

CccAgentLogin

SHORT __stdcall CccAgentLogin (USHORT hCcc, USHORT usWorkNo, SHORT


sAnsTypeSHORT sDeskNo )

hCcc

CccConnectToServer
IN

usWorkNo

IN

sAnsType

IN

sDeskNo

01 (2007-12-30)

Agent
UIS
1000
IN

6-3

TopEng-
CTIAPI

ICD_OK

SHORT Anstype = 2;
SHORT DeskNo = 1000;
USHORTusRc = CccAgentLogin( m_usConnectID , m_usAgentNo, Anstype, DeskNo);

CccAgentLogoutCccAgentLogoutExCccAgentLoginEx

6.2 CccAgentLoginEx

CccLogon CccLogonEx

CccAgentLogoutEx

CccAgentLogin 1B+D CccAgentLoginEx

APC ucMediaServer MS_CTISERVER


CccAgentLogin APC

1.

CccApiInit

2.

3.

CccAgentLogin

USHORT __stdcall CccAgentLoginEx ( USHORT hCcc, USHORT usWorkNo, UCHAR


ucMediaServer, UCHAR ucAgentType, USHORT usParamSize, UCHAR *pParam )

6-4

hCcc

CccConnectToServer
IN

usWorkNo

IN

01 (2007-12-30)

TopEng-
CTIAPI

ucMediaServer

IN
l

0 CTI Server

1 WebM

2 MailM

ucAgentType

enum AGENT_TYPE
CTI Server

AGENT_TYPE_PC_PHONE
AGENT_TYPE_ISDNIN

usParamSize

IN

pParam[ANY_SIZE]

IN
CTI Server
usAgentType
AGENT_TYPE_PC_PHONE
pParam

ICD_OK

SHORT usWorkNo = 2;
UCHAR ucMediaServer = MS_CTISERVER;
UCHAR ucAgentType = AGENT_TYPE_PC_PHONE;
USHORT usParamSize = 10;
UCHAR pParam[10] = "123456";
USHORTusRc = CccAgentLoginEx(m_usConnectID, usWorkNo, ucMediaServer,
ucAgentType, usParamSize, pParam);

CccAgentLogoutCccAgentLogoutExCccAgentLogin

6.3 CccAgentLogout

1B+D

01 (2007-12-30)

6-5

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

CccAgentLogin

4.

5.

CccAgentLogout

USHORT __stdcall

CccAgentLogout (USHORT

hCcc)

hCcc

CccConnectToServer
IN

ICD_OK

CccAgentLoginCccAgentLoginExCccAgentLogoutEx

6.4 CccAgentLogoutEx

CccAgentLogout 1B+D
CccAgentLogoutEx

CccAgentLogout 1B+D CccAgentLogoutEx

1.

CccApiInit

2.

3.

CccAgentLoginEx

4.

5.

CccAgentLogoutEx

USHORT __stdcall CccAgentLogoutEx (USHORT hCcc, UCHAR ucMediaServer)

6-6

01 (2007-12-30)

TopEng-
CTIAPI

hCcc

CccConnectToServer
IN

ucMediaServer

IN
l

0 CTI Server

1 WebM

2 MailM

ICD_OK

CccAgentLoginCccAgentLoginExCccAgentLogout

6.5 CccRequestDoNotDisturb

Do Not Disturb

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestDoNotDisturb

USHORT __stdcall

CccRequestDoNotDisturb (USHORT

hCcc);

hCcc

CccConnectToServer
IN

01 (2007-12-30)

6-7

TopEng-
CTIAPI

ICD_OK

CccRequestIdle

6.6 CccRequestIdle

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestIlde

USHORT __stdcall

CccRequestIdle (USHORT hCcc);

hCcc

CccConnectToServer
IN

ICD_OK

CccRequestDoNotDisturb

6.7 CccRequestMuteOn

CccRequestMuteOn 1B+D

6-8

01 (2007-12-30)

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

6.

CccRequestMuteOn

USHORT __stdcall

CccRequestMuteOn (USHORT hCcc);

hCcc

CccConnectToServer
IN

ICD_OK

CccRequestMuteOffCccRequestMuteOffExCccRequestMuteOnEx

6.8 CccRequestMuteOnEx

UIS UIS CTI Server CTI Server

CccRequestMuteOnEx CccRequestMuteOn

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

01 (2007-12-30)

6-9

TopEng-
CTIAPI

5.

6.

CccRequestMuteOnEx

USHORT __stdcall

CccRequestMuteOnEx (USHORT hCcc,CALLID &callId);

hCcc

CccConnectToServer
IN

callId

IN

ICD_OK

CccRequestMuteOffCccRequestMuteOffExCccRequestMuteOn

6.9 CccRequestMuteOff

CccRequestMuteOff 1B+D

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

6.

CccRequestMuteOn

7.

CccRequestMuteOff

USHORT __stdcall

6-10

CccRequestMuteOff (USHORT hCcc);

01 (2007-12-30)

TopEng-
CTIAPI

hCcc

CccConnectToServer
IN

ICD_OK

CccRequestMuteOnCccRequestMuteOnExCccRequestMuteOffEx

6.10 CccRequestMuteOffEx

UIS UIS CTI


Server CTIServer

CccRequestMuteOnEx CccRequestMuteOn

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

6.

CccRequestMuteOn

7.

CccRequestMuteOff

USHORT __stdcall

CccRequestMuteOffEx (USHORT hCcc,CALLID &callID);

hCcc

CccConnectToServer
IN

callId

IN

01 (2007-12-30)

6-11

TopEng-
CTIAPI

ICD_OK

CccRequestMuteOnCccRequestMuteOnExCccRequestMuteOff

6.11 CccRequestAnswer

CCC_ANSWER_REQUEST_EVENT

ICD_OK
CccGetEvent CCC_ANSWER_RESPONSE_EVENT

1B+D

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

USHORT __stdcall

CccRequestAnswer (USHORT hCcc);

hCcc

CccConnectToServer
IN

ICD_OK
6-12

01 (2007-12-30)

TopEng-
CTIAPI

CccRequestReleaseCccRequestReleaseExCccRequestAnswerEx

6.12 CccRequestAnswerEx

CCC_ANSWER_REQUEST_EX_EVENT

ICD_OK CTI Server


CccGetEvent CCC_ANSWER_RESPONSE_EVENT

CccRequestAnswerEx Web Email CccRequestAnswer

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswerEx

USHORT __stdcall

CccRequestAnswerEx (USHORT hCcc, CALLID &callId);

hCcc

CccConnectToServer
IN

callId

IN

ICD_OK

CccRequestReleaseCccRequestReleaseExCccRequestAnswer

01 (2007-12-30)

6-13

TopEng-
CTIAPI

6.13 CccRequestRelease

CCC_RELEASE_REQUEST_EVENT

1B+D

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccRequestRelease

USHORT __stdcall

CccRequestRelease (USHORT hCcc);

hCcc

CccConnectToServer
IN

ICD_OK

CccRequestReleaseExCccRequestAnswerCccRequestAnswerEx

6.14 CccRequestReleaseEx

CCC_RELEASE_REQUEST_EX_EVENT

6-14

01 (2007-12-30)

TopEng-
CTIAPI

CccRequestReleaseEx Web Email CccRequestRelease

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccRequestReleaseEx

USHORT __stdcall

CccRequestReleaseEx (USHORT hCcc,CALLID &callId);

hCcc

CccConnectToServer
IN

callId

IN

ICD_OK

CccRequestReleaseCccRequestAnswerCccRequestAnswerEx

6.15 CccRequestInternaltransfer

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

01 (2007-12-30)

6-15

TopEng-
CTIAPI

4.

5.

CccRequestAnswer

6.

CccRequestInternalTransfer

USHORT __stdcall CccRequestInternaltransfer (USHORT hCcc, DEVICE_ID


*pDestDevice , USHORT usDeskNo);

hCcc

CccConnectToServer
IN

pDestDevice

DEVICE_IDIN

usDeskNo

ICD
1000

DEVICE_ID DestID;
DestID.ucDeviceType = AgentType;
DestID.usDeviceNo = usAgentNo; //usAgentNo
USHORT usRc = CccRequestInternaltransfer( m_usConnectID, &DestID, 1000);

CccRequestTransferOut

ICD_OK

CccRequestTransferOut

6.16 CccRequestInternalCall

ICD_OK
CccGetEvent
CCC_MAKE_CALL_RESPONSE_EVENT
6-16

01 (2007-12-30)

TopEng-
CTIAPI

CccRequestInternalCall

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestInternalCall

5.

CccGetEvent

USHORT __stdcall CccRequestInternalCall (USHORT hCcc, DEVICE_ID


*pDestDeviceID, USHORT usdeskno);

hCcc

CccConnectToServer
IN

pDestDevice

DEVICE_IDIN

usDeskNo

ICD 1000

ICD_OK

UINT GetEventProcess(LPVOID parameter)


SHORTusEventType = (SHORT) parameter;//Expect Event Type
CStringstrEvent = "Receive Event";
LONGlBeginTime, lEndTime;
USHORTrc;//Return Code
USHORTusSize;//Buffer Size
UCHARucBuffer[32767];// Buffer
SHORTusGetEventType;//Receive Event
LONGlSetTime = 100;//Total Wait Time
lBeginTime = time(NULL);
do
usSize = 32767;//Buffer Size
rc = CccGetEvent(m_usConnectID, ucBuffer, &usSize, &usGetEventType,
3000);
if(rc == ICD_OK)
{

01 (2007-12-30)

6-17

TopEng-
CTIAPI

6
// Success to Receive a Event
//Get Event Name
strEvent+= g_pErrorInfo->GetEventInfo(usGetEventType);
strEvent += "; ";
if( usGetEventType == usEventType)
break;//Receive Expect Event , exit
else
strEvent += g_pErrorInfo->GetEventInfo(rc);
strEvent += "; ";//Store Receive Event
lEndTime = time(NULL);
}while(lEndTime - lBeginTime < lSetTime);
AfxMessageBox(strEvent, MB_OK);

return0;
DWORDdwPara = CCC_MAKE_CALL_RESPONSE_EVENT;
CWinThread*hThreadEvent = AfxBeginThread( GetEventProcess ,
(LPVOID) dwPara,
THREAD_PRIORITY_NORMAL,
0,
0,
NULL);
DEVICE_IDDestID;
DestID.ucDeviceType = AgentType;
DestID.usDeviceNo = usAgentNo;// usAgentNo
USHORTusRc = CccRequestInternalCall(m_usConnectID, &DestID, 1000);

CccRequestCallOut

6.17 CccRequestInternalCallEx

ICD_OK

CccGetEvent
CCC_MAKE_CALL_RESPONSE_EVENT_EX

CccRequestInternalCallEx CccRequestInternalCall

ICD_OK
CccGetEvent

6-18

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestInternalCallEx

5.

CccGetEvent

01 (2007-12-30)

TopEng-
CTIAPI

USHORT __stdcall CccRequesInternalCallEx (USHORT hCcc, USHORT


usDestWorkNo, USHORT usMediaType, CALLID *pCallId);

hCcc

CccConnectToServer
IN

usDestWorkNo

IN

usMediaType

IN

pCallId

OUT

ICD_OK

UINT GetEventProcess(LPVOID parameter)


SHORTusEventType = (SHORT) parameter;//Expect Event Type
CStringstrEvent = "Receive Event";
LONGlBeginTime, lEndTime;
USHORTrc;//Return Code
USHORTusSize;//Buffer Size
UCHARucBuffer[32767];// Buffer
SHORTusGetEventType;//Receive Event
LONGlSetTime = 100;//Total Wait Time
lBeginTime = time(NULL);
do
{ usSize = 32767;//Buffer Size
rc = CccGetEvent(m_usConnectID, ucBuffer, &usSize, &usGetEventType,
3000);
if(rc == ICD_OK)
{
// Success to Receive a Event //Get Event Name
strEvent+= g_pErrorInfo->GetEventInfo(usGetEventType);
strEvent += "; ";
if( usGetEventType == usEventType)
break;//Receive Expect Event , exit
else
{ strEvent += g_pErrorInfo->GetEventInfo(rc);
strEvent += "; ";//Store Receive Event
lEndTime = time(NULL);
}while(lEndTime - lBeginTime < lSetTime);
AfxMessageBox(strEvent, MB_OK);
return0;
DWORDdwPara = CCC_MAKE_CALL_RESPONSE_EVENT_EX;
CWinThread*hThreadEvent = AfxBeginThread( GetEventProcess ,
(LPVOID) dwPara,
THREAD_PRIORITY_NORMAL,
0,
0,

01 (2007-12-30)

6-19

TopEng-
CTIAPI

NULL);
CALLID callId;
usDestWorkNo = 2 ;
USHORT usRc = CccRequestInternalCallEx(m_usConnectID, usDestWorkNo,
MEDIA_TYPE_PHONE, &callId);

CccRequestCallOut

6.18 CccRequestTransferOut

ICD_OK
CccGetEvent
CCC_TRANSFER_OUT_RESPONSE_EVENT

CccRequestTransferOut

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccRequestTransferOut

7.

CccGetEvent

USHORT __stdcall
ucFlag);

CccRequestTransferOut (USHORT hCcc, CHAR *pCLD, UCHAR

6-20

hCcc

CccConnectToServer
IN

pCLD

MAXLEN_EXTEN IN

01 (2007-12-30)

TopEng-
CTIAPI

ucFlag

IN
l

l
l

ICD_OK

UINT GetEventProcess(LPVOID parameter)


SHORTusEventType = (SHORT) parameter;//Expect Event Type
CStringstrEvent = "Receive Event";
LONGlBeginTime, lEndTime;
USHORTrc;//Return Code
USHORTusSize;//Buffer Size
UCHARucBuffer[32767];// Buffer
SHORTusGetEventType;//Receive Event
LONGlSetTime = 100;//Total Wait Time
lBeginTime = time(NULL);
do
usSize = 32767;//Buffer Size
rc=CccGetEvent(m_usConnectID,ucBuffer, &usSize, &usGetEventType, 3000);
if(rc == ICD_OK)
{
// Success to Receive a Event
//Get Event Name
strEvent += g_pErrorInfo->GetEventInfo(usGetEventType);
strEvent += "; ";
if( usGetEventType == usEventType)
break;//Receive Expect Event , exit
else
strEvent += g_pErrorInfo->GetEventInfo(rc);
strEvent += "; ";//Store Receive Event
lEndTime = time(NULL);
}while(lEndTime - lBeginTime < lSetTime);
AfxMessageBox(strEvent, MB_OK);
return0;
DWORDdwPara = CCC_TRANSFER_OUT_RESPONSE_EVENT;
CWinThread*hThreadEvent = AfxBeginThread( GetEventProcess ,
(LPVOID) dwPara,
THREAD_PRIORITY_NORMAL,
0,
0,
NULL);

01 (2007-12-30)

6-21

TopEng-
CTIAPI

UCHARucFlag = 1;
USHORT usRc = CccRequestTransferOut( m_usConnectID, "6632198", ucFlag

CccRequestInternaltransfer

6.19 CccRequestTransferOutEx

ICD_OK CTI Server


CccGetEvent
CCC_TRANSFER_OUT_RESPONSE_EX_EVENT

CccRequestTransferOutEx CccRequestTransferOut

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswerEx

6.

CccRequestTransferOutEx

7.

CccGetEvent

SHORT __stdcall CccRequestTransferOutEx( USHORT hCcc, char *pANI, char


*pDNIS, UCHAR ucFlag, UCHAR ucMode, char *pPilot );

6-22

hCcc

CccConnectToServer
IN

pANI

IN

pDNIS

IN

01 (2007-12-30)

TopEng-
CTIAPI

ucTransFlag

WEBM
CallID.ucServer = MS_WEBM
l

ucMode

INenum
CCC_CALL_OUT_MODE

pPilot

2PRI

ucMode 2
PRI
IN

ICD_OK

CccRequestInternalTransferCccRequestTransferOutEx2

6.20 CccRequestTransferOutEx2

ICD_OK CTI Server


CccGetEvent
CCC_TRANSFER_OUT_RESPONSE_EX_EVENT
01 (2007-12-30)

6-23

TopEng-
CTIAPI

CccRequestTransferOutEx2 CccRequestTransferOut
CccRequestTransferOutEx2 CccRequestTransferOutEx
CccRequestTransferOutEx

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswerEx

6.

CccRequestTransferOutEx2

7.

CccGetEvent

USHORT __stdcall CccRequestTransferOutEx2 (USHORT hCcc, CALLID callID,


CALLID *pCallId, ADDRESSID *paddrOuter, UCHAR ucTransFlag, USHORT
usParamLen, UCHAR *pTransoutParam);

6-24

hCcc

CccConnectToServer
IN

callID

IN

pCallId

OUT

paddrOuter

ADDRESSIDIN

01 (2007-12-30)

TopEng-
CTIAPI

ucTransFlag

WEBM
CallID.ucServer = MS_WEBM
l

usParamLen

IN

pTransoutParam

IN

ICD_OK

CccRequestInternalTransfer

6.21 CccRequestTransferOutEx3

ICD_OK CTI Server


CccGetEvent
CCC_TRANSFER_OUT_RESPONSE_EX_EVENT

1.

CccApiInit

2.

01 (2007-12-30)

6-25

TopEng-
CTIAPI

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswerEx

6.

CccRequestTransferOutEx

7.

CccGetEvent

SHORT __stdcall CccRequestTransferOutEx3 (USHORT hCcc, CALLID callID,


CALLID *pCallId, UCHAR ucMode, ADDRESSID *paddrOuter, ADDRESSID
*paddrPilot, UCHAR ucTransFlag, USHORT usParamLen, UCHAR pTransoutParam)

6-26

hCcc

CccConnectToServer
IN

callID

IN

pCallId

OUT

ucMode

INenum
CCC_CALL_OUT_MODE

2PRI

paddrOuter

ADDRESSID
IN

paddrPilot

ADDRESSID
INucMode 2 PRI

01 (2007-12-30)

TopEng-
CTIAPI

ucTransFlag

WEBM
CallID.ucServer = MS_WEBM
l

usParamLen

IN

pTransoutParam

IN

ICD_OK

CccRequestTransferOutExCccRequestTransferOutEx2

6.22 CccRequestCallOut

ICD_OK
CccGetEvent
CCC_MAKE_CALL_RESPONSE_EVENT

CccRequestCallOut

ICD_OK
CccGetEvent

01 (2007-12-30)

6-27

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestCallOut

5.

CccGetEvent

USHORT __stdcall

CccRequestCallOut (USHORT hCcc, CHAR *pCLD);

hCcc

CccConnectToServer
IN

pCLD

MAXLEN_EXTEN IN

ICD_OK

UINT GetEventProcess(LPVOID parameter)


SHORTusEventType = (SHORT) parameter;//Expect Event Type
CStringstrEvent = "Receive Event";
LONGlBeginTime, lEndTime;
USHORTrc;//Return Code
USHORTusSize;//Buffer Size
UCHARucBuffer[32767];// Buffer
SHORTusGetEventType;//Receive Event
LONGlSetTime = 100;//Total Wait Time
lBeginTime = time(NULL);
do
usSize = 32767;//Buffer Size
rc=CccGetEvent(m_usConnectID, ucBuffer, &usSize,
&usGetEventType,
3000);
if(rc == ICD_OK)
{
//Success to Receive a Event
//Get Event Name
strEvent += g_pErrorInfo->GetEventInfo(usGetEventType);
strEvent += "; ";
if( usGetEventType == usEventType)
break;//Receive Expect Event , exit
else
strEvent += g_pErrorInfo->GetEventInfo(rc);
strEvent += "; ";//Store Receive Event
lEndTime = time(NULL);
}while(lEndTime - lBeginTime < lSetTime);

6-28

01 (2007-12-30)

TopEng-
CTIAPI

AfxMessageBox(strEvent, MB_OK);
return0;
DWORDdwPara = CCC_MAKE_CALL_RESPONSE_EVENT;
CWinThread*hThreadEvent = AfxBeginThread( GetEventProcess ,
(LPVOID) dwPara,
THREAD_PRIORITY_NORMAL,
0,
0,
NULL);
CccRequestCallOut ( m_usConnectID, "3326432");

CccRequestInternalCall

6.23 CccRequestCallOutExOPS

PRI
ICD_OK
CccGetEvent
CCC_MAKE_CALL_RESPONSE_EVENT_EX
CccRequestCallOutEx UIS

CccRequestCallOutEx CccRequestCallOut

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestCallOutEx

5.

CccGetEvent

USHORT __stdcall CccRequestCallOutEx (USHORT hCcc, char *pANI, char


*pDNIS, UCHAR ucMode, char *pPilot);

01 (2007-12-30)

6-29

TopEng-
CTIAPI

hCcc

CccConnectToServer
IN

pANI

IN

pDNIS

IN

ucMode

INenum
CCC_CALL_OUT_MODE

pPilot

2PRI

PRI
IN

ICD_OK

CccRequestInternalCall

6.24 CccRequestCallOutEx2

ICD_OK
CTI Server
CccGetEvent
CCC_MAKE_CALL_RESPONSE_EVENT_EX
CccRequestCallOutEx2 CccRequestCallOut
CccRequestCallOutEx

ICD_OK
CccGetEvent

6-30

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

01 (2007-12-30)

TopEng-
CTIAPI

4.

CccRequestCallOutEx2

USHORT __stdcall CccRequestCallOutEx2(USHORT hCcc, USHORT usMediaType,


ADDRESSID &caller, ADDRESSID &called, ADDRESSID&pilot, UCHAR ucMode,
SKILLID usSkillId, USHORT *pusDataLen, CHAR *pData, CALLID *pCallId);

hCcc

CccConnectToServer
IN

usMediaType

IN

caller

ADDRESSIDIN

called

ADDRESSIDIN

pPilot

ucMode 2
PRI
IN

ucMode

INenum
CCC_CALL_OUT_MODE

usSkillId
pusDataLen

2PRI

0xffff
IN

IN

pData

IN

pCallId

OUT

DDRESSID pilot;//
ADDRESSID caller, called;//
USHORT usDataLen = 1;
CHAR pData[1];
USHORT rc = CccRequestCallOutEx2(m_usConnectID, MEDIA_TYPE_PHONE, caller,
called, pilot, 0, 0xffff, &usDataLen, pData, &curCallID);
g_pErrorInfo->ProcessResult(rc, "CccRequestCallOutEx2");

ICD_OK
01 (2007-12-30)

6-31

TopEng-
CTIAPI

CccRequestInternalCall

6.25 CccRequestReport

ICD_OK
CccGetEvent
CCC_REPORT_RESPONSE_EVENT

CccRequestReport 1B+D

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccRequestReport

7.

CccGetEvent

USHORT __stdcall CccRequestReport (USHORT hCcc, UCHAR ucType, UCHAR


ucCode, UCHAR *TelNum);

hCcc

CccConnectToServer
IN

ucType

IN

ucCode

6-32

IN

2
01 (2007-12-30)

TopEng-
CTIAPI

TelNum


MAXLEN_EXTEN IN

ICD_OK

UINT GetEventProcess(LPVOID parameter)


SHORTusEventType = (SHORT) parameter;//Expect Event Type
CStringstrEvent = "Receive Event";
LONGlBeginTime, lEndTime;
USHORTrc;//Return Code
USHORTusSize;//Buffer Size
UCHARucBuffer[32767];// Buffer
SHORTusGetEventType;//Receive Event
LONGlSetTime = 100;//Total Wait Time
lBeginTime = time(NULL);
do
usSize = 32767;//Buffer Size
rc = CccGetEvent(m_usConnectID, ucBuffer, &usSize,
&usGetEventType, 3000);
if(rc == ICD_OK)
{
// Success to Receive a Event
//Get Event Name
strEvent += g_pErrorInfo->GetEventInfo(usGetEventType);
strEvent += "; ";
if( usGetEventType == usEventType)
break;//Receive Expect Event , exit
else
strEvent += g_pErrorInfo->GetEventInfo(rc);
strEvent += "; ";//Store Receive Event
lEndTime = time(NULL);
}while(lEndTime - lBeginTime < lSetTime);
AfxMessageBox(strEvent, MB_OK);
return0;
DWORDdwPara = CCC_REPORT_RESPONSE_EVENT;
CWinThread*hThreadEvent = AfxBeginThread( GetEventProcess ,
(LPVOID) dwPara,
THREAD_PRIORITY_NORMAL,
0,
0,
NULL);
UCHARucType = 0;
UCHARucCode = 0;
CccRequestReport( m_usConnectID, ucType, ucCode, "12345456");

01 (2007-12-30)

6-33

TopEng-
CTIAPI

6.26 CccRequestReportEx

ICD_OK CTI
Server CccGetEvent
CCC_REPORT_RESPONSE_EVENT

CccRequestCallOutEx CccRequestReport 1B+D

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswerEx

6.

CccRequestReportEx

7.

CccGetEvent

USHORT __stdcall CccRequestReportEx (USHORT hCcc, UCHAR ucReportType,


UCHAR ucVoicetype, UCHAR *pucParam, USHORT usSize);

hCcc

CccConnectToServer
IN

ucReportType

IN

ucVoicetype

6-34

enum
CCC_REPORT_VOICE_TYPE
IN

pucParam

IN

usSize

IN

01 (2007-12-30)

TopEng-
CTIAPI

ICD_OK

6.27 CccRequestHold

APC
UIS UIS CTI Server CTI Server

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccRequestHold

USHORT __stdcall
ucFlag);

CccRequestHold ( USHORT hCcc, CHAR * pcIndex, CHAR

hCcc

CccConnectToServer
IN

pcIndex

IN

ucFlag

IN

ICD_OK

UCHAR
ucFlag = 1;//
USHORT usRc = CccRequestHold( m_usConnectID, (CHAR *) &m_ucHoldIdex,
ucFlag);

01 (2007-12-30)

6-35

TopEng-
CTIAPI

CccRequestFetchHoldCccRequestConnectHoldCccRequestTriConf

6.28 CccRequestFetchHold

APC
UIS UIS CTI Server CTI Server

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccRequestHold

7.

CccRequestFetchHold

USHORT __stdcall
ucFlag);

CccRequestFetchHold (USHORT hCcc, UCHAR *pcIndex, UCHAR

hCcc

CccConnectToServer
IN

pcIndex

IN

ucFlag

IN

ICD_OK

6-36

01 (2007-12-30)

TopEng-
CTIAPI

UCHAR
ucFlag = 1;//
USHORT usRc = CccRequestFetchHold( m_usConnectID , (CHAR *)
&m_ucHoldIdex, ucFlag);

CccRquestHoldCccRequestConnectHold

6.29 CccRequestConnectHold

APC 1B+D 1B+D


UIS UIS CTI Server CTI Server

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccRequestConnectHold

USHORT __stdcall
UCHAR ucFlag);

CccRequestConnectHold (USHORT hCcc, UCHAR * pcIndex,

hCcc

CccConnectToServer
IN

pcIndex

IN

ucFlag

IN
l

ICD_OK
01 (2007-12-30)

6-37

TopEng-
CTIAPI

UCHAR
ucFlag = 1;
USHORT usRc = CccRequestConnectHold( m_usConnectID ,
(CHAR *)&m_ucHoldIdex, ucFlag);

CccRequestHold

6.30 CccRequestAppointedCall

1.

CccApiInit

2.

SHORT __stdcall CccRequestAppointedCall(USHORT hCcc, CALLID callID,


SKILLID usSkillID, UCHAR ucSkillType);

hCcc

CccConnectToServer
IN

callID

IN

usSkillID

ucSkillType
PUBLIC_QUEUE IN

ucSkillType

IN
enum SKILLTYPE {
PUBLIC_QUEUE, //
PRIVATE_QUEUE,
//
};

ICD_OK

UCHAR
ucFlag = 1;
USHORT usRc = CccRequestConnectHold( m_usConnectID , (CHAR *)
&m_ucHoldIdex, ucFlag);

6-38

01 (2007-12-30)

TopEng-
CTIAPI

CccRequestHold

6.31 CccSetSupportMediaCall

SHORT __stdcall CccSetSupportMediaCall (USHORT hCcc, USHORT usWorkNo,


USHORT usMediaType,
UCHAR ucSupportFlag);

hCcc

CccConnectToServer
IN

usWorkNo

IN

usMediaType

IN

ucSupportFlag

1IN

ICD_OK

6.32 CccQuerySupportMediaCall

SHORT __stdcall CccQuerySupportMediaCall (USHORT hCcc, USHORT usWorkNo,


USHORT usMediaType,
UCHAR *pucSupportFlag);

01 (2007-12-30)

6-39

TopEng-
CTIAPI

hCcc

CccConnectToServer
IN

usWorkNo

IN

usMediaType

IN

pucSupportFlag

1OUT

ICD_OK

6.33 CccRequestInterceptWithCallID

SHORT __stdcall CccRequestInterceptWithCallID (USHORT hCcc, DEVICE_ID *


pDeviceID ,USHORT usDeskNo, CALLID * pCallID);

hCcc

CccConnectToServer
IN

pCallID

CALLIDIN

pDeviceID

Agent
IN

usDeskNo

IN

ICD_OK

6-40

01 (2007-12-30)

TopEng-
CTIAPI

6.34 CccQueryCallInfoEx4

SHORT __stdcall CccQueryCallInfoEx4((USHORT hCcc, CALLID *pCallID, USHORT


*pusSize,DBCCC_CALL_INFO_EX4 *pdbCallApp);

hCcc

CccConnectToServer IN

pCallID

callID(IN)
CallID CallID
CALLID_NO_USE
IN

pusSize

pdbCallAp
p

IN/OUT
l

ICD_OK

6.35 CccRequestVerifyMailBox

SHORT __stdcall CccRequestVerifyMailBox()(USHORT


pInfo);

01 (2007-12-30)

hCcc, MAILBOX_INFO *

6-41

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

pInfo

(IN)

ICD_OK

6-42

01 (2007-12-30)

TopEng-
CTIAPI

7.1 CccRequestTransIvr
7.2 CccRequestTransIvrEx
7.3 CccRequestInternalHelp
7.4 CccRequestInternalHelpEx
7.5 CccRequestInternalHelpEx2
7.6 CccAgentSendDTMF
7.7 CccRequestSuperviseInsert
7.8 CccRequestSuperviseInsertEx
7.9 CccRequestSwitchInsert
7.10 CccRequestSwitchInsertEx
7.11 CccRequestStopSuperviseEx
7.12 CccRequestTriConf
7.13 CccRequestTriConfEx
7.14 CccRequestIntercept
7.15 CccRequestSuperviseTrunk
7.16 CccAgentForceOut
7.17 CccAgentForceOutEx
7.18 CccAgentForceIdle
7.19 CccAgentForceBusy
01 (2007-12-30)

7-1

TopEng-
CTIAPI

7.20 CccDisconnectCall
7.21 CccAgentSwitchInsert
7.22 CccAgentHoldCall
7.23 CccAgentFetchHoldCall
7.24 CccAgentConnectHoldCall
7.25 CccSetMonitorCall
7.26 CccSendEventResponse
7.27 CccRequestRest
7.28 CccRequestRestEx
7.29 CccCancelRest
7.30 CccDirectToIdleAgent/
7.31 CccRequestOpsCallOut OPS
7.32 CccRequestOpsAider OPS
7.33 CccRequestCallShift
7.34 CccPickupCall
7.35 CccRequestForceHold
7.36 CccRequestForceFetchHold
7.37 CccSinglePhoneRequestSuperviseInsert/
7.38 CccSinglePhoneRequestStopSupervise/
7.39 CccSinglePhoneRequestSwitchInsert
7.40 CccRequestReleaseACall
7.41 CccRequestCallOutWithDetect
7.42 CccRequestPowerOutboundEx3

7-2

01 (2007-12-30)

TopEng-
CTIAPI

7.1 CccRequestTransIvr

1B 1D PC PHONE

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccRequestTransIvr

USHORT __stdcall

CccRequestTransIvr (USHORT hCcc , CHAR*

pIvrCode );

hCcc

CccConnectToServer
IN

pIvrCode

IVR IN

ICD_OK

USHORT

usRc = CccRequestTransferIvr(m_usConnectID, "168113");

7.2 CccRequestTransIvrEx

IVR

CccRequestTransIvrEx CccRequestTransIvr
CccRequestTransIvrEx 1B 1D
PC PHONE
01 (2007-12-30)

7-3

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestTransIvrEx

USHORT __stdcall CccRequestTransIvrEx(USHORT hCcc, CALLID &callID,


ADDRESSID *paddrAccessCode);

hCcc

CccConnectToServer
IN

callID

IN

paddrAccessCode

IVR IN

ICD_OK

7.3 CccRequestInternalHelp

ICD_OK
CccGetEvent
CCC_INTERNAL_HELP_RESPONSE_EVENT

ICD_OK
CccGetEvent

7-4

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

01 (2007-12-30)

TopEng-
CTIAPI

5.

CccRequestInternalHelp

6.

CccGetEvent

USHORT __stdcall CccRequesInternalHelp (USHORT hCcc, USHORT usDeskNo,


USHORT usWorkNo, UCHAR ucMode);

hCcc

CccConnectToServer
IN

usDeskNo

ICD 1000

usWorkNo

IN

ucMode

BY_DIRECT(1)

BY_CONFERENCE(2)

ICD_OK

UINT GetEventProcess(LPVOID parameter)


SHORTusEventType = (SHORT) parameter;//Expect Event Type
CStringstrEvent = "Receive Event";
LONGlBeginTime, lEndTime;
USHORTrc;//Return Code
USHORTusSize;//Buffer Size
UCHARucBuffer[32767];// Buffer
SHORTusGetEventType;//Receive Event
LONGlSetTime = 100;//Total Wait Time
lBeginTime = time(NULL);
do
{usSize = 32767;//Buffer Size
rc = CccGetEvent(m_usConnectID, ucBuffer, &usSize, &usGetEventType,
3000);
if(rc == ICD_OK)
{// Success to Receive a Event Get Event Name
strEvent += g_pErrorInfo->GetEventInfo(usGetEventType);
strEvent += "; ";
if( usGetEventType == usEventType)
break;//Receive Expect Event , exit
else
strEvent += g_pErrorInfo->GetEventInfo(rc);
strEvent += "; ";//Store Receive Event
lEndTime = time(NULL);
}while(lEndTime - lBeginTime < lSetTime);

01 (2007-12-30)

7-5

TopEng-
CTIAPI

AfxMessageBox(strEvent, MB_OK);
return0;
DWORDdwPara = CCC_INTERNAL_HELP_RESPONSE_EVENT;
CWinThread*hThreadEvent = AfxBeginThread( GetEventProcess ,
(LPVOID) dwPara,
THREAD_PRIORITY_NORMAL,
0,
0,
NULL);
USHORTusRc = CccRequestInternalHelp(m_usConnectID, 1000, 3029, 1);

CccRequestHoldCccRequestTriConf

7.4 CccRequestInternalHelpEx

ICD_OK CTI
Server
CccGetEvent
CCC_INTERNAL_HELP_RESPONSE_EVENT_EX

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestInternalHelpEx

6.

CccGetEvent

USHORT __stdcall CccRequesInternalHelpEx (USHORT hCcc, CALLID &callID,


USHORT usWorkNo, UCHAR ucMode, CALLID *pCallID);

7-6

hCcc

CccConnectToServer
IN

01 (2007-12-30)

TopEng-
CTIAPI

callID

IN

usWorkNo

IN

ucMode

BY_DIRECT(1)

BY_CONFERENCE(2)

pCallID

OUT

ICD_OK

UINT GetEventProcess(LPVOID parameter)


SHORTusEventType = (SHORT) parameter;//Expect Event Type
CstringstrEvent = "Receive Event";
LONGlBeginTime, lEndTime;
USHORTrc;//Return Code
USHORTusSize;//Buffer Size
UCHARucBuffer[32767];// Buffer
SHORTusGetEventType;//Receive Event
LONGlSetTime = 100;//Total Wait Time
lBeginTime = time(NULL);
do
usSize = 32767;//Buffer Size
rc = CccGetEvent(m_usConnectID, ucBuffer, &usSize,
&usGetEventType, 3000);
if(rc == ICD_OK)
{
// Success to Receive a Event
//Get Event Name
strEvent += g_pErrorInfo->GetEventInfo(usGetEventType);
strEvent += "; ";
if( usGetEventType == usEventType)
break;//Receive Expect Event , exit
else
strEvent += g_pErrorInfo->GetEventInfo(rc);
strEvent += "; ";//Store Receive Event
lEndTime = time(NULL);
}while(lEndTime - lBeginTime < lSetTime);
AfxMessageBox(strEvent, MB_OK);
return0;
DWORDdwPara =CCC_INTERNAL_HELP_RESPONSE_EVENT_EX;
CWinThread*hThreadEvent = AfxBeginThread( GetEventProcess ,
(LPVOID) dwPara,
THREAD_PRIORITY_NORMAL,
0,
0,
NULL);
CALLID callId; //
CALLID rcallId; //

01 (2007-12-30)

7-7

TopEng-
CTIAPI

USHORTusRc = CccRequestInternalHelpEx(m_usConnectID, callId, 1, 1,


&rcallId);

CccRequestInternalHelp

7.5 CccRequestInternalHelpEx2

1.

CccApiInit

2.

CccConnectToServer UIS

3.

CTIServer

SHORT __stdcall CccRequestInternalHelpEx2(USHORT hCcc, CALLID *pCallID,


DEVICE_ID *pDeviceID, UCHAR ucMode, CALLID *pInterCallID)

hCcc

CccConnectToServer
IN

pcallID

IN

pDeviceID

QueueType
(agentType)
QueueType AgentType
IN/OUT

ucMode

pInterCallID

BY_DIRECT(1)

BY_CONFERENCE(2)

CALLIDIN/
OUT

ICD_OK
7-8

01 (2007-12-30)

TopEng-
CTIAPI

7.6 CccAgentSendDTMF

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

USHORT __stdcall CccAgentSendDTMF( USHORT hCcc,CHAR pDTMFDigits


[MAXLEN_EXTEN +1]);

hCcc

CccConnectToServer
IN

pDTMFDigits

212
212IN

ICD_OK

7.7 CccRequestSuperviseInsert

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestSuperviseInsert

01 (2007-12-30)

7-9

TopEng-
CTIAPI

USHORT __stdcall CccRequestSuperviseInsert (USHORT hCcc, USHORT


usDeskno USHORT usWorkNo, UCHAR ucMode);

hCcc

CccConnectToServer
IN

usDeskno

IN

usWorkNo

IN

ucMode

IN
enum SUPERVISE_INSERT_CAUSE {
SUPERVISE = 0,
//
INSERT = 1,
//
};

UCHARucFlag = 1;//
USHORTusAgentNo = 4;
USHORT usRc = CccRequestSuperviseInsert(m_usConnectID, 1000, usAgentNo,
ucFlag);

CccRequestSwitchInsert

7.8 CccRequestSuperviseInsertEx

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestSuperviseInsertEx

USHORT __stdcall CccRequestSuperviseInsertEx (USHORT hCcc,USHORT


usWorkNo, UCHAR ucMode, USHORT usMediaType);

7-10

01 (2007-12-30)

TopEng-
CTIAPI

hCcc

CccConnectToServer
IN

usWorkNo

IN

ucMode

IN
enum SUPERVISE_INSERT_CAUSE {
SUPERVISE = 0,
//
INSERT = 1,
//
};

usMediaType

IN

ICD_OK

UCHARucFlag = 1;//
USHORTusAgentNo = 4;
USHORT usRc = CccRequestSuperviseInsertEx(m_usConnectID, usAgentNo,
ucFlag, MEDIA_TYPE_CHAT);

CccRequestSwitchInsert

7.9 CccRequestSwitchInsert

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestSuperviseInsert

5.

CccRequestSwitchInsert

USHORT __stdcall

01 (2007-12-30)

CccRequestSwitchInsert (USHORT hCcc);

7-11

TopEng-
CTIAPI

hCcc

CccConnectToServer
IN

ICD_OK

CccRequestSuperviseInsert

7.10 CccRequestSwitchInsertEx

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestSwitchInsertEx

USHORT __stdcall CccRequestSwitchInsertEx (USHORT hCcc, USHORT usWorkNo,


USHORT usMediaType);

hCcc

CccConnectToServer
IN

usWorkNo

IN

usMediaType

IN

ICD_OK
7-12

01 (2007-12-30)

TopEng-
CTIAPI

CccRequestSuperviseInsert

7.11 CccRequestStopSuperviseEx

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestStopSuperviseEx

USHORT __stdcall CccRequestStopSuperviseEx (USHORT hCcc,USHORT usWorkNo,


USHORT usMediaType);

hCcc

CccConnectToServer IN

usWorkNo

IN

usMediaType

IN

ICD_OK

CccRequestSuperviseInsert

7.12 CccRequestTriConf

CccRequestTriConf 1B+D

01 (2007-12-30)

7-13

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccRequestHold

7.

8.

CccRequestAnswer

9.

CccRequestTriConf

USHORT __stdcall
ucFlag);

CccRequestTriConf (USHORT hCcc, UCHAR *pcIndex, UCHAR

hCcc

CccConnectToServer
IN

pcIndex

IN

ucFlag

IN

ICD_OK

UCHARucFlag = 1;//
USHORT usRc = CccRequestTriConf( m_usConnectID , (CHAR *)
&m_ucHoldIdex,
ucFlag);

CccRequestHold

7.13 CccRequestTriConfEx

7-14

01 (2007-12-30)

TopEng-
CTIAPI

CccRequestTriConfEx CccRequestTriConf

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswerEx

6.

CccRequestHold

7.

8.

CccRequestAnswerEx

9.

CccRequestTriConfEx

USHORT __stdcall CccRequestTriConfEx (USHORT hCcc, CALLID &holdCallId,


CALLID &talkCallId, CALLID *pNewCallId);

hCcc

CccConnectToServer IN

holdCallId

IN

talkCallId

IN

pNewCallId

OUT

ICD_OK

CALLID holdCallId,//
talkCallId, //
newCallId;//
USHORT usRc = CccRequestTriConfEx ( m_usConnectID, holdCallId,
talkCallId, &newCallId);

CccRequestHold
01 (2007-12-30)

7-15

TopEng-
CTIAPI

7.14 CccRequestIntercept

APC 1B+D 1B+D


UIS UIS CTI Server CTI Server

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestSuperviseInsert

5.

CccRequestIntercept

6.

CccGetEvent

USHORT __stdcall CccRequestIntercept (USHORT hCcc, DEVICE_ID *pDeviceID,


USHORT usDeskno);

hCcc

CccConnectToServer IN

pDeviceID

Agent IN

usDeskno

IN

ICD_OK

DEVICE_IDDestID;
DestID.ucDeviceType = AgentType;
DestID.usDeviceNo = usAgentNo;//usAgentNo
USHORT usRc = CccRequestIntercept( m_usConnectID, &DestID, 1000);

CccRequestSwitchInsert
7-16

01 (2007-12-30)

TopEng-
CTIAPI

7.15 CccRequestSuperviseTrunk

CccRequestRelease

APC 1B+D 1B+D


UIS UIS CTI Server CTI Server

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

USHORT __stdcall CccRequestSuperviseTrunk(USHORT hCcc, UCHAR ucMid.


USHORT usTrunk);

hCcc

CccConnectToServer IN

ucMid

IN

usTrunk

IN

ICD_OK

CccRequestSwitchInsert

7.16 CccAgentForceOut

01 (2007-12-30)

7-17

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

USHORT __stdcall CccAgentForceOut(USHORT hCcc, USHORT usWorkNo, USHORT


usDeskNo)

hCcc

CccConnectToServer IN

usWorkNo

IN

usDeskno

ICD 1000

ICD_OK

CccAgentForceIdle

7.17 CccAgentForceOutEx

7-18

01 (2007-12-30)

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentForceOutEx

USHORT __stdcall CccAgentForceOutEx (USHORT hCcc,USHORT usWorkNo, UCHAR


ucMediaServer)

hCcc

CccConnectToServer IN

usWorkNo

IN

ucMediaServer

0xFF
IN

CccAgentForceIdle

7.18 CccAgentForceIdle

APC
UIS UIS CTI Server CTI Server

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

USHORT __stdcall CccAgentForceIdle(USHORT hCcc, USHORT usWorkNo, USHORT


usDeskno)

01 (2007-12-30)

7-19

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

usWorkNo

IN

usDeskno

IN

ICD_OK

CccAgentForceBusy

7.19 CccAgentForceBusy

APC
UIS UIS CTI Server CTI Server

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

USHORT __stdcall CccAgentForceBusy(USHORT hCcc, USHORT WorkNo, USHORT


usDeskno)

7-20

hCcc

CccConnectToServer IN

usWorkNo

IN

usDeskno

IN

01 (2007-12-30)

TopEng-
CTIAPI

ICD_OK

CccAgentForceIdle

7.20 CccDisconnectCall

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

SHORT __stdcall

CccDisconnectCall( USHORT hCcc ,

CALLID *pCallID);

hCcc

CccConnectToServer IN

pCallID

IN

ICD_OK

CccMonitorCall

7.21 CccAgentSwitchInsert

01 (2007-12-30)

7-21

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccMonitorCall

7.

CccAgentSwitchInsert

USHORT __stdcall

CccAgentSwitchInsert( USHORT hCcc, CALLID* pCallID);

hCcc

CccConnectToServer IN

pCallID

IN

ICD_OK

7.22 CccAgentHoldCall

CccRequestHold CccRequestHold
CccAgentHoldCall

7-22

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccQueryCallIDOnAgent CallID

7.

CccAgentHoldCall

01 (2007-12-30)

TopEng-
CTIAPI

USHORT __stdcall

CccAgentHoldCall ( USHORT hCcc, CALLID *pCallID);

hCcc

CccConnectToServer IN

pCallID

IN

ICD_OK

CccRequestHoldCccAgenttFetchHoldCall

7.23 CccAgentFetchHoldCall

CccRequestFetchHold

CccAgentFetchHoldCall
CccRequestFetchHold

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccQueryCallIDOnAgent CallID

7.

CccAgentHoldCall

8.

CccAgentFetchHoldCall

USHORT __stdcall CccAgentFetchHoldCall (USHORT hCcc, CALLID *pCallID);

01 (2007-12-30)

7-23

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

pCallID

IN

ICD_OK

CccAgentHoldCallCccRequestFetchHold

7.24 CccAgentConnectHoldCall

CccRequestConnectHold

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccQueryCallIDOnAgent CallID

7.

CccAgentHoldCall

8.

9.

CccRequestAnswer

10. CccAgentConnectHoldCall

USHORT __stdcall

CccAgentConnectHoldCall (USHORT hCcc, CALLID *pCallID);

7-24

hCcc

CccConnectToServer IN

01 (2007-12-30)

TopEng-
CTIAPI

pCallID

IN

ICD_OK

CccAgentHoldCallCccRequestConnectHold

7.25 CccSetMonitorCall

PRE_DISCONNECT_EVENT
USER_DISCONNECT_EVENT PRE_ROUTE _EVENT API
CccSendEventResponse

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccSetMonitorCall

USHORT __stdcall CccSetMonitorCall( USHORT hCcc, CALLID* pCallID, USHORT


usWorkNo, USHORT usFlag );

hCcc

CccConnectToServer IN

pCallID

IN

usWorkNo

IN

usFlag

IN

01 (2007-12-30)

7-25

TopEng-
CTIAPI

ICD_OK

USHORT usFlag = 1;
USHORT CccSetMonitorCall(m_usConnectID, &m_CallID, m_usAgentNo, usFlag);

CccAgentConnectHoldCall

7.26 CccSendEventResponse

CCC_PRE_ROUTE_EVENTCCC_PRE_DISCONNECT_EVENT
CCC_USER_DISCONNECT_EVENT CCS
CCC_GET_CCC_MONITOR_INFO_EVEN
CCC_RESET_CCC_MONITOR_INFO_EVENT UIS

1.

CccApiInit

2.

USHORT __stdcall CccSendEventResponse(USHORT hCcc, EVENT_ RESPONSE_ID*


pID, USHORT usEventType, USHORT usParamSize, char* pParamData );

hCcc

CccConnectToServer IN

pID

ID
IN

usEventType

IN

usParamSize

IN

pParamData

IN

ICD_OK
7-26

01 (2007-12-30)

TopEng-
CTIAPI

// CCS
struct EVENT_RESPONSE_ID
UCHAR
ucReceiveTaskCount;
USHORT
usReceiveTaskDsn;
};
USHORTusRc = CccSendEventResponse(m_usConnectID, pEventID,
CCC_PRE_DISCONNECT_EVENT, sizeof(Event_Response_Struct),
&EventResponse );

7.27 CccRequestRest

CCC_AGENT_REST_START_EVENT

CCC_AGENT_REST_TIMEOUT_EVENT
CccRequestDoNotDisturb

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

USHORT __stdcall CccRequestRest(USHORT hCcc, ULONG ulTime);

hCcc

CccConnectToServer IN

ulTime

IN

ICD_OK

USHORT rc = CccRequestRest (m_usConnectID, 180);

01 (2007-12-30)

7-27

TopEng-
CTIAPI

CccCancelRest

7.28 CccRequestRestEx

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

SHORT __stdcall CccRequestRestEx (USHORT hCcc, ULONG Time, USHORT


usWorkNo, USHORT usCause);

hCcc

CccConnectToServer IN

Time

IN

usWorkNo

IN

usCause

IN

ICD_OK

USHORT rc = CccRequestRestEx (m_usConnectID, 180,103,0);

CccRequestRest

7-28

01 (2007-12-30)

TopEng-
CTIAPI

7.29 CccCancelRest

CccRequestIdle

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestRest

USHORT __stdcall CccCancelRest(USHORT hCcc);

hCcc

CccConnectToServer IN

ICD_OK

USHORT rc = CccCancelRest (m_usConnectID);

CccRequestRest

7.30 CccDirectToIdleAgent/

/
01 (2007-12-30)

7-29

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

SHORT__stdcall CccDirectToIdleAgent(USHORT hCcc,CALLID *pCallID,


DEVICE_ID *pDevice, UCHAR ucMode);

hCcc

CccConnectToServer IN

pCallID

IN

pDevice

IN

ucMode

IN
l

ICD_OK

7.31 CccRequestOpsCallOut OPS

OPS

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

SHORT __stdcall CccRequestOpsCallOut(USHORT hCcc, UCHAR ucLanguage, const


CHAR *pszCode,const CHAR *pszInnExtra, UCHAR ucRequestType, const CHAR
*pszAgentExtra);

7-30

01 (2007-12-30)

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

ucLanguage

OPS_LANGUAGE_TYPEIN

pszCode

0 3 IN

pszInnExtra

09IN

ucRequestType

enum OPS_CALL_OUT_AGENT_ TYPE


IN

pszAgentExtra

IN

ICD_OK

CccRequestOpsAider

7.32 CccRequestOpsAider OPS

OPS

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

SHORT __stdcall CccRequestOpsAider(USHORT hCcc, CALLID callId);

hCcc

CccConnectToServer IN

callId

IN

01 (2007-12-30)

7-31

TopEng-
CTIAPI

ICD_OK

CccRequestOpsCallOut

7.33 CccRequestCallShift

1.

CccApiInit

2.

3.

CccLogon CccLogonEx UIS

4.

SHORT __stdcall CccRequestCallShift(USHORT hCcc, LPCALLID pCallID, int


iOffset);

hCcc

CccConnectToServer IN

pCallID

IN

iOffset

IN
l

ICD_OK

7.34 CccPickupCall

7-32

01 (2007-12-30)

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

SHORT __stdcall CccPickupCall(USHORT hCcc, CALLID *pCallId);

hCcc

CccConnectToServer IN

pCallID

IN

ICD_OK

7.35 CccRequestForceHold

1.

2.

CccRequestSuperviseInsert

3.

CccRequestForceHold

SHORT __stdcall CccRequestForceHold(USHORT hCcc, USHORT usAgentNo,CALLID


&callId);

hCcc

IN

usAgentNo

IN

01 (2007-12-30)

7-33

TopEng-
CTIAPI

callId

IN/OUT
l

callId

CALLID

ICD_OK

7.36 CccRequestForceFetchHold

1.

2.

3.

CccRequestForceFetchHold

4.

SHORT __stdcall CccRequestForceFetchHold(USHORT hCcc, USHORT


usAgentNo,CALLID &callId);

hCcc

IN

usAgentNo

IN

callId

CALLIDIN
CccRequestForceHold callId

ICD_OK
7-34

01 (2007-12-30)

TopEng-
CTIAPI

7.37 CccSinglePhoneRequestSuperviseInsert
/

1.

CccApiInit

2.

SHORT __stdcall CccSinglePhoneRequestSuperviseInsert(USHORT hCcc,USHORT


usVdnID, USHORT usQcWorkNo, USHORT usWorkNo, UCHAR ucMode, USHORT
usMediaType, CALLID *pCallID);

hCcc

CccConnectToServer IN

usVdnID

IN

usQcWorkNo

IN

usWorkNo

IN

ucMode

IN
enum SUPERVISE_INSERT_CAUSE {
SUPERVISE = 0,
//
INSERT = 1,
//
};

usMediaType

IN

pCallID

IN

ICD_OK

01 (2007-12-30)

7-35

TopEng-
CTIAPI

7.38 CccSinglePhoneRequestStopSupervise
/

1.

CccApiInit

2.

3.

SHORT __stdcall CccSinglePhoneRequestStopSupervise(USHORT hCcc, USHORT


usVdnID, USHORT usQcWorkNo, USHORT usWorkNo, USHORT usMediaType, CALLID
*pCallID);

hCcc

CccConnectToServer IN

usVdnID

IN

usQcWorkNo

IN

usWorkNo

IN

usMediaType

IN

pCallID

IN

ICD_OK

7.39 CccSinglePhoneRequestSwitchInsert

7-36

01 (2007-12-30)

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

SHORT __stdcall CccSinglePhoneRequestSwitchInsert(USHORT hCcc, USHORT


usVdnID, USHORT usQcWorkNo, USHORT usWorkNo, USHORT usMediaType, CALLID
*pCallID);

hCcc

CccConnectToServer IN

usVdnID

IN

usQcWorkNo

IN

usWorkNo

IN

usMediaType

IN

pCallID

IN

ICD_OK

7.40 CccRequestReleaseACall

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccRequestAnswer

USHORT

01 (2007-12-30)

__stdcall

CccRequestReleaseACall (USHORT hCcc, CALLID *callId);

7-37

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

callId

IN

ICD_OK

7.41 CccRequestCallOutWithDetect

CccRequestCallOutEx2
ICD_OK
CTI Server CccGetEvent
CCC_MAKE_CALL_RESPONSE_EVENT_EX

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

short __stdcall CccRequestCallOutWithDetect(USHORT hCcc, USHORT


usMediaType, ADDRESSID &caller, ADDRESSID &called, ADDRESSID &pilot,
UCHAR ucMode, SKILLID usSkillId, USHORT *pusDataLen, CHAR *pData, CALLID
*pCallId, UCHAR ucDetectFlag);

7-38

hCcc

CccConnectToServer IN

usMediaType

IN

caller

ADDRESSIDIN

called

ADDRESSIDIN

pPilot

PRI IN

01 (2007-12-30)

TopEng-
CTIAPI

ucMode

CCC_CALL_OUT_MODEIN
enum CCC_CALL_OUT_MODE
{
NORMAL_CALL_OUT, //
FORCE_INSERT_CALL_OUT, //
PRI_CALL_OUT, //PRI
OPS_INCALL_OUT = 101, //OPS
OPS_PASSCALL_OUT = 102, //OPS
OPS_TEL_CALL_OUT = 103, //OPS
};

usSkillId

0xffff IN

pusDataLen

IN

pData

IN

pCallId

OUT

ucDetectFlag

IN
enum CALL_OUT_DETECT_FLAG
{
NO_DETECT = 0 , //
DETECT_BEFORE = 1, //
DETECT_AFTER
= 2, //
};

ICD_OK

7.42 CccRequestPowerOutboundEx3

1.

CccApiInit

2.

USHORT __stdcall CccRequestPowerOutboundEx3 (USHORT hCcc, ULONG


ulTaskID,POWER_OUTBOUND_STRUCT_EX3 *pOutbound);

01 (2007-12-30)

7-39

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

ulTaskID

IN

pOutbound

IN

ICD_OK

7-40

01 (2007-12-30)

TopEng-
CTIAPI

8.1 CccAgentRequireRecord
8.2 CccAgentRequireRecordEx
8.3 CccAgentStopRecord
8.4 CccAgentPauseRecordEx
8.5 CccAgentResumeRecordEx
8.6 CccAgentStartPlayFile
8.7 CccAgentStartPlayEx
8.8 CccAgentStartPlayFileEx2-
8.9 CccAgentStopPlayFile
8.10 CccAgentForeFastPlay
8.11 CccAgentBackFastPlay
8.12 CccAgentPausePlay
8.13 CccAgentContinuePlay
8.14 CccAgentPlayRelocation
8.15 CccAdjustVolume
8.16 CccAgentSetAutoSelfRecord
8.17 CccQueryAgentSelfRecordFileName
8.18 CccAgentSetSelfRecordInfo
8.19 CccAgentRequireRecordEx2

01 (2007-12-30)

8-1

TopEng-
CTIAPI

8.1 CccAgentRequireRecord

CccSetEventMonitor CCC_AGENT_RECORD_EVENT
CccGetEvent

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccSetEventMonitor

5.

CccAgentRequireRecord

6.

CccGetEvent

USHORT __stdcall CccAgentRequireRecord (USHORT hCcc , UCHAR


ucRecordMode, CHAR *pcFileName , ULONG* plTask )

hCcc

CccConnectToServer IN

ucRecordMode

IN
l

pcFileName

IN

plTask

CccAgentStopRecordOUT

ICD_OK
8-2

01 (2007-12-30)

TopEng-
CTIAPI

UINT RecieveRecordEvent(LPVOID lpParam)


CDemo *pDemo=(CDemo *)lpParam;
UCHAR buf[20*1024+100];
SHORT usEventType;
USHORT
MsgLen=20*1024+100;
DBCCC_RECPLAY_RES *pDBCCCResMsg;
DEVICE_ID DeviceID;
DeviceID.ucDeviceType=AgentType;
DeviceID.usDeviceNo=pDemo->m_usAgentNo;
Cstring strInfo;
USHORT ret =CccSetEventMonitor ( pDemo->m_usConnectID,
CCC_AGENT_RECORD_EVENT , &DeviceID, TRUE);
if (ret)
CStringstrErrorInfo;
strErrorInfo.Format(", %d", ret);
AfxMessageBox(strErrorInfo, MB_OK);
CccSetEventMonitor ( pDemo->m_usConnectID,CCC_AGENT_RECORD_EVENT ,
&DeviceID,FALSE);
AfxEndThread(0);
return 0;
USHORT usResult;
UCHAR ucCause;
while (1)
{
MsgLen=20*1024+100;
if ((ret = CccGetEvent(pDemo->m_usConnectID,buf,&MsgLen,
&usEventType,10000) ) == ICD_OK)
pDBCCCResMsg = (DBCCC_RECPLAY_RES *)buf;
MsgLen = pDBCCCResMsg->usSize;
if (usEventType == CCC_AGENT_RECORD_EVENT)
usResult = pDBCCCResMsg->usResult;
ucCause = pDBCCCResMsg->ucCause;
strInfo.Format("Recieve a CCC_AGENT_RECORD_EVENT! Result = %s, %d",
usResult? "" "" ,ucCause);
AfxMessageBox(strInfo, MB_OK);
break;
}//while
CccSetEventMonitor(pDemo->m_usConnectID,CCC_AGENT_RECORD_EVENT,
&DeviceID,FALSE);
AfxEndThread(0);
return 0;
CWinThread*hThreadEvent = AfxBeginThread(RecieveRecordEvent,
(LPVOID) this,
THREAD_PRIORITY_NORMAL,
0,
0,
NULL);
CStringcFileName ="9806122133";
rc=CccAgentRequireRecord(m_usConnectID,m_RecordMode,cFileName,
&m_RecordTaskNo);

CccAgentStopRecordCccGetEvent

01 (2007-12-30)

8-3

TopEng-
CTIAPI

8.2 CccAgentRequireRecordEx

CccSetEventMonitor CCC_AGENT_RECORD_EVENT
CccGetEvent

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccSetEventMonitor

5.

CccAgentRequireRecordEx

6.

CccGetEvent

USHORT __stdcall CccAgentRequireRecordEx (USHORT hCcc , UCHAR


ucRecordMode, CHAR *pcStorage, USHORT usMediaType, ULONG* plTask)

hCcc

CccConnectToServer IN

ucRecordMode

IN
0

pcStorage

IN

usMediaType

0xFFFF IN

plTask

8-4

CccAgentStopRecord
OUT

01 (2007-12-30)

TopEng-
CTIAPI

ICD_OK

CccAgentStopRecordCccGetEvent

8.3 CccAgentStopRecord

CccAgentRequireRecord

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentRequireRecord

SHORT __stdcall

CccAgentStopRecord (USHORT hCcc, ULONG ulTaskID );

hCcc

CccConnectToServer IN

ulTaskID

CccAgentRequirRecord IN

ICD_OK

CccAgentRequireRecord

8.4 CccAgentPauseRecordEx

CccAgentRequireRecordEx

01 (2007-12-30)

8-5

TopEng-
CTIAPI

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentRequireRecordEx

USHORT __stdcall

CccAgentPauseRecordEx (USHORT hCcc,ULONG ulTaskID);

hCcc

CccConnectToServer IN

ulTaskID

CccAgentRequirRecordEx IN

ICD_OK

USHORTusRc=CccAgentRequireRecordEx(m_usConnectID, m_RecordTaskNo);

CccAgentRequireRecord

8.5 CccAgentResumeRecordEx

CccAgentPauseRecordEx

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentRequireRecordEx

5.

CccAgentPauseRecordEx

USHORT __stdcall

8-6

CccAgentResumeRecordEx (USHORT hCcc,

ULONG ulTaskID );

01 (2007-12-30)

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

ulTaskID

CccAgentRequirRecordEx IN

ICD_OK

USHORTusRc=CccAgentResumeRecordEx(m_usConnectID, m_RecordTaskNo);

CccAgentRequireRecord

8.6 CccAgentStartPlayFile

CccSetEventMonitor CCC_AGENT_PLAY_EVENT
CccGetEvent

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccSetEventMonitor

5.

CccAgentStartPlayFile

6.

CccGetEvent

USHORT__stdcall CccAgentStartPlayFile (USHORT hCcc , USHORT


usRecordFileWorkNo, CHAR pcFileName[MAX_FILENAME_LEN], ULONG ulPosition,
UCHAR ucMode, ULONG* pTask );

01 (2007-12-30)

8-7

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

usRecordFileWorkN
o

IN

pcFileName

IN

ulPosition

IN

ucMode

IN0 123

pTask

CccAgentStopPlayFileOUT

ICD_OK

UINT RecievePlayEvent(LPVOID lpParam)


CDemo *pDemo=(CDemo *)lpParam;
UCHAR buf[20*1024+100];
SHORT usEventType;
USHORT
MsgLen=20*1024+100;
DBCCC_RECPLAY_RES *pDBCCCResMsg;
DEVICE_ID DeviceID;
DeviceID.ucDeviceType=AgentType;
DeviceID.usDeviceNo=pDemo->m_usAgentNo;
CStringstrInfo;
USHORT ret =CccSetEventMonitor ( pDemo->m_usConnectID,
CCC_AGENT_PLAY_EVENT , &DeviceID, TRUE);
if (ret)
CStringstrErrorInfo;
strErrorInfo.Format(", %d", ret);
AfxMessageBox(strErrorInfo, MB_OK);
CccSetEventMonitor ( pDemo->m_usConnectID,CCC_AGENT_PLAY_EVENT ,
&DeviceID,FALSE);
AfxEndThread(0);
return 0;
USHORT usResult;
UCHAR ucCause;
while (1)
{
MsgLen=20*1024+100;
if((ret=CccGetEvent(pDemo->m_usConnectID,buf,&MsgLen, &usEventType,
10000) ) == ICD_OK)
pDBCCCResMsg = (DBCCC_RECPLAY_RES *)buf;
MsgLen = pDBCCCResMsg->usSize;
if (usEventType == CCC_AGENT_PLAY_EVENT)
usResult = pDBCCCResMsg->usResult;
ucCause = pDBCCCResMsg->ucCause;
strInfo.Format("Recieve a CCC_AGENT_PLAY_EVENT! Result = %s, %d",

8-8

01 (2007-12-30)

TopEng-
CTIAPI

usResult? "" "" ,ucCause);


AfxMessageBox(strInfo, MB_OK);
break;
}//while
CccSetEventMonitor(pDemo->m_usConnectID,CCC_AGENT_PLAY_EVENT ,
&DeviceID,FALSE);
AfxEndThread(0);
return 0;
CWinThread*hThreadEvent = AfxBeginThread(RecievePlayEvent,
(LPVOID) this,
THREAD_PRIORITY_NORMAL,
0,
0,
NULL);
USHORT usRecordFileWorkNo=m_usAgentNo;
LPTSTR cFileName[50];
strcpy(cFileName ,m_csRecFileName);
rc = CccAgentStartPlayFile(m_usConnectID, usRecordFileWorkNo, cFileName,
0, 1, &m_PlayTaskNo);

CccGetEventCccAgentStopPlayFile

8.7 CccAgentStartPlayEx

CccSetEventMonitor CCC_AGENT_PLAY_EVENT
CccGetEvent

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccSetEventMonitor

5.

CccAgentStartPlayEx

6.

CccGetEvent

USHORT __stdcall CccAgentStartPlayFileEx (USHORT hCcc , USHORT


usRecordFileWorkNo, CHAR pcStorage[MAX_FILENAME_LEN], ULONG ulPosition,
UCHAR ucMode, ULONG* pTask ,USHORT usMediaType);

01 (2007-12-30)

8-9

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

usRecordFileWork
No

IN

pcStorage

IN

ulPosition

IN

ucMode

IN0 123

pTask
usMediaType

CccAgentStopPlayEx
OUT

0xFFFF IN

ICD_OK

UINT RecievePlayEvent(LPVOID lpParam)


CDemo *pDemo = (CDemo *)lpParam;
UCHAR buf[20*1024+100];
SHORT usEventType;
USHORT
MsgLen=20*1024+100;
DBCCC_RECPLAY_RES *pDBCCCResMsg;
DEVICE_ID DeviceID;
DeviceID.ucDeviceType=AgentType;
DeviceID.usDeviceNo=pDemo->m_usAgentNo;
CStringstrInfo;
USHORT ret =CccSetEventMonitor ( pDemo->m_usConnectID,
CCC_AGENT_PLAY_EX_EVENT , &DeviceID, TRUE);
if (ret)
CStringstrErrorInfo;
strErrorInfo.Format(", %d", ret);
AfxMessageBox(strErrorInfo, MB_OK);
CccSetEventMonitor ( pDemo->m_usConnectID,CCC_AGENT_PLAY_EX_EVENT ,
&DeviceID,FALSE);
AfxEndThread(0);
return 0;
USHORT usResult;
UCHAR ucCause;
while (1)
{
MsgLen=20*1024+100;
if((ret=CccGetEvent(pDemo->m_usConnectID,buf,&MsgLen, &usEventType,
10000) ) == ICD_OK)
pDBCCCResMsg = (DBCCC_RECPLAY_RES *)buf;
MsgLen = pDBCCCResMsg->usSize;
if (usEventType == CCC_AGENT_PLAY_EX_EVENT)

8-10

01 (2007-12-30)

TopEng-
CTIAPI

usResult = pDBCCCResMsg->usResult;
ucCause = pDBCCCResMsg->ucCause;
strInfo.Format("Recieve a CCC_AGENT_PLAY_EX_EVENT! Result = %s, %d",
usResult? "":"" ,ucCause);
AfxMessageBox(strInfo, MB_OK);
break;
}//while
CccSetEventMonitor(pDemo->m_usConnectID,CCC_AGENT_PLAY_EX_EVENT ,
&DeviceID,FALSE);
AfxEndThread(0);
return 0;
CWinThread*hThreadEvent = AfxBeginThread(RecievePlayEvent,
(LPVOID) this,
THREAD_PRIORITY_NORMAL,
0,
0,
NULL);
USHORT usRecordFileWorkNo=m_usAgentNo;
LPTSTR cFileName[50]
strcpy(cFileName ,m_csRecFileName);
rc = CccAgentStartPlayEx(m_usConnectID,usRecordFileWorkNo,cFileName,
STORAGE_TYPE_FILE, 0, 1, &m_PlayTaskNo, 0xFFFF);

CccGetEventCccAgentStopPlayFile

8.8 CccAgentStartPlayFileEx2-

CccSetEventMonitor CCC_AGENT_PLAY_EVENT
CccGetEvent

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccSetEventMonitor

5.

CccAgentStartPlayFileEx2

6.

CccGetEvent

SHORT __stdcall CccAgentStartPlayFileEx2 (USHORT hCcc , USHORT


usRecordFileWorkNo , char *pcFileName ,ULONG ulPosition ,UCHAR ucMode,
PLAY_MODE ucPlayMode,ULONG* pTask, USHORT usMediaType);

01 (2007-12-30)

8-11

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

usRecordFileWorkNo

IN

pcFileName

IN

ulPosition

IN

ucMode

IN0 123

ucPlayMode

IN
l

enum PLAY_MODE
{
PM_NORMAL,//
PM_OUTER, //
};

pTask
usMediaType

CccAgentStopPlayFileOUT

0xFFFF
IN

ICD_OK

UINT RecievePlayEvent(LPVOID lpParam)


CDemo *pDemo=(CDemo *)lpParam;
UCHAR buf[20*1024+100];
SHORT usEventType;
USHORT
MsgLen=20*1024+100;
DBCCC_RECPLAY_RES *pDBCCCResMsg;
DEVICE_ID DeviceID;
DeviceID.ucDeviceType=AgentType;
DeviceID.usDeviceNo=pDemo->m_usAgentNo;
CStringstrInfo;
USHORT ret =CccSetEventMonitor ( pDemo->m_usConnectID,
CCC_AGENT_PLAY_EVENT , &DeviceID, TRUE);
if (ret)
CStringstrErrorInfo;
strErrorInfo.Format(", %d", ret);
AfxMessageBox(strErrorInfo, MB_OK);
CccSetEventMonitor ( pDemo->m_usConnectID,CCC_AGENT_PLAY_EVENT ,
&DeviceID,FALSE);

8-12

01 (2007-12-30)

TopEng-
CTIAPI

AfxEndThread(0);
return 0;
USHORT usResult;
UCHAR ucCause;
while (1)
{
MsgLen=20*1024+100;
if((ret=CccGetEvent(pDemo->m_usConnectID,buf,&MsgLen, &usEventType,
10000) ) == ICD_OK)
pDBCCCResMsg = (DBCCC_RECPLAY_RES *)buf;
MsgLen = pDBCCCResMsg->usSize;
if (usEventType == CCC_AGENT_PLAY_EVENT)
usResult = pDBCCCResMsg->usResult;
ucCause = pDBCCCResMsg->ucCause;
strInfo.Format("Recieve a CCC_AGENT_PLAY_EVENT! Result = %s, %d",
usResult? "" "" ,ucCause);
AfxMessageBox(strInfo, MB_OK);
break;
}//while
CccSetEventMonitor(pDemo->m_usConnectID,CCC_AGENT_PLAY_EVENT ,
&DeviceID,FALSE);
AfxEndThread(0);
return 0;
CWinThread*hThreadEvent = AfxBeginThread(RecievePlayEvent,
(LPVOID) this,
THREAD_PRIORITY_NORMAL,
0,
0,
NULL);
USHORT usRecordFileWorkNo=m_usAgentNo;
LPTSTR cFileName[50];
strcpy(cFileName ,m_csRecFileName);
rc = CccAgentStartPlayFileEx2 (m_usConnectID, usRecordFileWorkNo,
cFileName,0, 1, 1, &m_PlayTaskNo,0);

CccGetEventCccAgentStopPlayFileCccAgentStartPlayFile

8.9 CccAgentStopPlayFile

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentStartPlayFile

USHORT __stdcall

01 (2007-12-30)

CccAgentStopPlayFile (USHORT hCcc ,

ULONG Task );

8-13

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

Task

CccAgentStartPlayFile IN

ICD_OK

USHORT

usRc = CccAgentStopPlayFile(m_usConnectID,m_PlayTaskNo);

CccAgentStartPlayFile

8.10 CccAgentForeFastPlay

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentStartPlayFile

USHORT __stdcall
fore_len);

CccAgentForeFastPlay (USHORT hCcc , ULONG Task , USHORT

8-14

hCcc

CccConnectToServer IN

Task

CccAgentStartPlayFile IN

fore_len

IN

01 (2007-12-30)

TopEng-
CTIAPI

ICD_OK

USHORT fore_len = 5;
USHORT usRc = CccAgentForeFastPlay (m_usConnectID,m_PlayTaskNo,
fore_len);

CccAgentBackFastPlay

8.11 CccAgentBackFastPlay

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentStartPlayFile

USHORT __stdcall
back_len );

CccAgentBackFastPlay (USHORT hCcc , ULONG Task,USHORT

hCcc

CccConnectToServer IN

Task

CccAgentStartPlayFile IN

back_len

IN

ICD_OK

USHORT back_len = 5;
USHORT usRc = CccAgentBackFastPlay (m_usConnectID,m_PlayTaskNo,
back_len);

01 (2007-12-30)

8-15

TopEng-
CTIAPI

CccAgentForeFastPlay

8.12 CccAgentPausePlay

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentStartPlayFile

USHORT __stdcall

CccAgentPausePlay (USHORT hCcc ,

ULONG ulTask );

hCcc

CccConnectToServer IN

ulTask

CccAgentStartPlayFile IN

ICD_OK

CccAgentStartPlayFileCccAgentContinuePlay

8.13 CccAgentContinuePlay

8-16

1.

CccApiInit

2.

01 (2007-12-30)

TopEng-
CTIAPI

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentStartPlayFile

5.

CccAgentPausePlay

USHORT __stdcall

CccAgentContinuePlay (USHORT hCcc,

ULONG ulTask);

hCcc

CccConnectToServer IN

ulTask

CccAgentStartPlayFile IN

ICD_OK

CccAgentPausePlay

8.14 CccAgentPlayRelocation

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentStartPlayFile

USHORT __stdcall CccAgentPlayRelocation (USHORT hCcc , ULONG Task , UCHAR


seek_direction, USHORT seek_seconds, UCHAR seek_position);

hCcc

CccConnectToServer IN

TaskID

CccAgentStartPlayFile IN

01 (2007-12-30)

8-17

TopEng-
CTIAPI

seek_direction

IN
l

SEEK_FORWARD

SEEK_BACKWARD

seek_seconds

IN

seek_position

IN
l

SEEK_FROM_HEAD

SEEK_FROM_CURRENT

SEEK_FROM_TAIL

ICD_OK

UCHAR seek_direction = SEEK_FORWARD;


USHORT seek_seconds=20;
UCHAR seek_position=SEEK_FROM_HEAD;
USHORT usRc = CccAgentPlayRelocation (m_usConnectID, m_PlayTaskNo,
seek_direction, seek_seconds, seek_position);

CccAgentStartPlayFile

8.15 CccAdjustVolume

API

1.

APC

2.

CccApcInit APC

SHORT __stdcall CccAdjustVolume(INT iFlag);

8-18

iFlag

IN

01 (2007-12-30)

TopEng-
CTIAPI

ICD_OK

8.16 CccAgentSetAutoSelfRecord

1.

CccApiInit

2.

CccConnectToServer UIS

USHORT CccAgentSetAutoSelfRecord(USHORT hCcc,


usFlag);

USHORT usWorkNo, USHORT

hCcc

CccConnectToServer IN

usWorkNo

IN

usFlag

IN
l

ICD_OK

8.17 CccQueryAgentSelfRecordFileName

01 (2007-12-30)

8-19

TopEng-
CTIAPI

1.

CccApiInit

2.

SHORT __stdcall CccQueryAgentSelfRecordFileName(USHORT hCcc, USHORT


usAgentNo, CALLID* pCallID, char* pSelfRecordFileName);

hCcc

CccConnectToServer
IN

usAgentNo

IN

pCallID

IN

pSelfRecordFileName

OUT

ICD_OK

8.18 CccAgentSetSelfRecordInfo

1.

CccApiInit

2.

CccConnectToServer UIS

USHORT CccSetAgentSelfRecordInfo(USHORT hCcc, USHORT usWorkNo, CALLID


callID, ULONG ulServiceID, CHAR pcServiceInfo[MAX_RECORD_INFO_LEN],CHAR
psczCallRelInfo[MAX_RECORD_INFO_LEN]);

8-20

hCcc

CccConnectToServer IN

usWorkNo

IN

01 (2007-12-30)

TopEng-
CTIAPI

callID

IN

ulServiceID

IN

pcServiceInfo
[MAX_RECORD_INFO_
LEN]

IN

psczCallRelInfo
[MAX_RECORD_INFO_
LEN])

INMAX_RECORD_INFO_LEN 80

ICD_OK

8.19 CccAgentRequireRecordEx2

0 1
l

0 VP VP CP

1 CP CP VP

1B+D

CP

CP
CP > CP Phone +2

ICD_OK
CccGetEvent

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccSetEventMonitor

5.

CccAgentRequireRecordEx2

6.

CccGetEvent

01 (2007-12-30)

8-21

TopEng-
CTIAPI

SHORT __stdcall CccAgentRequireRecordEx2 (USHORT hCcc , UCHAR


ucRecordMode, CHAR *pcStorage, USHORT usMediaType, ULONG* pulTask,UCHAR
ucRecordLevel);

hCcc

CccConnectToServer IN

ucRecordMode

IN
l

pcStorage

IN

usMediaType

0xFFFF
IN

pulTask

CccAgentStopRecordExOUT

ucRecordLevel

0 VP

1 CP

ICD_OK

CccAgentStopRecordCccGetEvent

8-22

01 (2007-12-30)

TopEng-
CTIAPI

9.1 CccQueryTotalSkills
9.2 CccQuerySkillTree
9.3 CccQuerySkillTreeEx
9.4 CccQuerySkillGroupID
9.5 CccQuerySkillsBaseGroupID
9.6 CccRequestResetAgentSkill
9.7 CccRequestRoutingByNode
9.8 CccGetDeviceBySkills
9.9 CccGetDeviceBySkillsWithVDN VDN
9.10 CccRequestRoutingByAccessCode
9.11 CccRequestRoutingIVR
9.12 CccRequestRoutingExIVR
9.13 CccRequestHelpRouting
9.14 CccRequestRerouting
9.15 CccRequestReroutingEx
9.16 CccTransferWithUVIDMerge
9.17 CccRequestSetTransfer
9.18 CccQueryLoginAgentInSkillQueue
9.19 CccQueryIdleAgentInSkillQueue
9.20 CccIsDeviceAvailable
01 (2007-12-30)

9-1

TopEng-
CTIAPI

9.21 CccIsDeviceAvailableWithVDN VDN


9.22 CccQuerySkillInfoBySkillIdEx
9.23 CccRequestSkillQueueBySkillName
9.24 CccRequestAgentBySkillQueue
9.25 CccQueryTotalSkillQueueStat
9.26 CccQueryTotalACDStatusEX3

9-2

01 (2007-12-30)

TopEng-
CTIAPI

9.1 CccQueryTotalSkills

1.

CccApiInit

2.

SHORT __stdcall CccQueryTotalSkills ( USHORT hCcc, PUSHORT


pusTotalSkillNum, SKILL_STRUCT *lpSkill);

hCcc

CccConnectToServer IN

pusTotalSkillNum

IN/OUT

lpSkill

DBCCC_SKILL_STRUCT
OUT

ICD_OK

USHORT usSkillNum;
SKILL_STRUCT Skill[MAX_SKILL_NUM];
USHORT rc = CccQueryTotalSkills(m_usConnectID, &usSkillNum, &Skill[0]);

9.2 CccQuerySkillTree

1.

CccApiInit

2.

01 (2007-12-30)

9-3

TopEng-
CTIAPI

SHORT __stdcall CccQuerySkillTree (USHORT hCcc, USHORT* pNodeNum,


NODE_STRUCT *pNode);

hCcc

CccConnectToServer IN

pNodeNum

MAX_NODE_NUM IN/OUT

pNode

OUT

ICD_OK

9.3 CccQuerySkillTreeEx

1.

CccApiInit

2.

SHORT __stdcall CccQuerySkillTreeEx (USHORT hCcc, USHORT* pNodeNum,


NODE_STRUCT_EX *pNode);

hCcc

CccConnectToServer IN

pNodeNum

MAX_NODE_NUM IN/OUT

pNode

OUT

ICD_OK
9-4

01 (2007-12-30)

TopEng-
CTIAPI

9.4 CccQuerySkillGroupID

1.

CccApiInit

2.

SHORT __stdcall CccQuerySkillGroupID (USHORT hCcc,USHORT *pusNum, USHORT


*pSkillGroupID );

hCcc

CccConnectToServer IN

pusNum

ID IN/OUT

pSkillGroupID

OUT

ICD_OK

9.5 CccQuerySkillsBaseGroupID

1.

CccApiInit

2.

SHORT __stdcall CccQuerySkillsBaseGroupID ( USHORT hCcc,


uslSkillGroupID, DBCCC_SKILL_GROUP_STRUCT *pdbSkill );

01 (2007-12-30)

USHORT

9-5

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

uslSkillGroupID

ID IN

pdbSkill

OUT

ICD_OK

9.6 CccRequestResetAgentSkill

1.

CccApiInit

2.

SHORT __stdcall CccRequestResetAgentSkill (USHORT hCcc,


usAgentNo, CHAR *pcAgentSkills,BOOL
bPermanent );

USHORT

hCcc

CccConnectToServer IN

usAgentNo

IN

pcAgentSkills

25KBIN

bPermanent

IN
l

TRUE

FALSE

ICD_OK
9-6

01 (2007-12-30)

TopEng-
CTIAPI

9.7 CccRequestRoutingByNode

CccRequestRerouting

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccQuerySkillTree

5.

6.

CccRequestAnswer

7.

CccQueryCallIDOnAgent CallID

USHORT __stdcall CccRequestRoutingByNode ( USHORT hCcc, CALLID* pCallId,


USHORT usNodeNo, DEVICE_ID* pDeviceID );

hCcc

CccConnectToServer IN

pCallId

IN

usNodeNo

IN

pDeviceID

IDOUT

ICD_OK

typedefstructtagTREE1_STRUCT
USHORTusNodeNo;//
CStringstrSkills;//
}TREE1_STRUCT, *LPTREE1_STRUCT;
USHORTwNodeNum;
NODE_STRUCTNode[500], Tp;
TREE1_STRUCTTree[500];
USHORTusSkillNum;
SKILL_STRUCTSkill[MAX_SKILL_NUM];
USHORT rc = CccQueryTotalSkills(m_usConnectID, &usSkillNum, &Skill[0]);

01 (2007-12-30)

9-7

TopEng-
CTIAPI

if(rc != ICD_OK)
return;
rc = CccQuerySkillTree(m_usConnectID, &wNodeNum, &Node[0]);
if(rc != ICD_OK)
return;
USHORTii = 0;
for ( USHORT i = 1; i <= wNodeNum; i ++)
if (Node[i].usServiceNo != 0xFFFF)
Tree[ii].usNodeNo = Node[i].usChildNo;
CStringstrTemp = "";
USHORTusChildNo = Node[i].usChildNo;
do
if (usChildNo <= 0)
break;
Tp = FindNodeBaseChildNo(usChildNo,wNodeNum, &Node[0]);
strTemp=strTemp + FindSkillName(Tp.usSkillID, usSkillNum,
&Skill[0]) +",";
usChildNo = Tp.usParentNo;
}while(usChildNo > 0);
Tree[ii].strSkills = strTemp.Left(strTemp.GetLength() - 1);
ii ++;
ii --;
CNodeSelect*pNodeSelect = newCNodeSelect();
ASSERT(pNodeSelect != NULL);
pNodeSelect->InitListBox(ii, &Tree[0]);
pNodeSelect->DoModal();
DEVICE_IDDevice;
rc = CccRequestRoutingByNode( m_usConnectID , &m_CallID,
Tree[pNodeSelect->m_iSelect].usNodeNo, &Device);
delete pNodeSelect;
NODE_STRUCTFindNodeBaseChildNo(USHORT usChildNo,
USHORT usTotalNodeNum, NODE_STRUCT*Node)
for ( USHORT i = 1; i <= usTotalNodeNum; i ++)
if (Node[i].usChildNo == usChildNo)
break;
return Node[i];
CHAR* FindSkillName(USHORT usSkillID,
USHORTusTotalSkillNum, SKILL_STRUCT *Skill)
if (usSkillID >= usTotalSkillNum)
returnNULL;
else
return (CHAR *) Skill[usSkillID].cName;

CccQueryTotalSkillsCccQuerySkillTreeCccRequestRerouting

9.8 CccGetDeviceBySkills

CccIsDeviceAvailble
CccRequestRerouting
CccRequestRoutingByNode

9-8

01 (2007-12-30)

TopEng-
CTIAPI

1.

CccApiInit

2.

SHORT__stdcallCccGetDeviceBySkills(USHORT hCcc, CHAR pszSkills


[MAX_DESCRIPTION_LENGTH + 1], DEVICE_ID* pDeviceID );

hCcc

CccConnectToServer IN

pszSkills

160ChineseIN

pDeviceID

IDOUT

ICD_OK

DEVICE_IDDevice;
Rc = CccGetDeviceBySkills(m_usConnectID, "160,Chinese", &Device);

9.9 CccGetDeviceBySkillsWithVDN
VDN

CccIsDeviceAvailble
CccRequestRerouting
CccRequestRoutingByNode VDN

1.

CccApiInit

2.

SHORT__stdcall CccGetDeviceBySkillsWithVDN(USHORT hCcc, VDNID usVdnID,


CHAR szSkills[MAX_DESCRIPTION_LENGTH + 1], DEVICE_ID* pDeviceID );

01 (2007-12-30)

9-9

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

usVdnID

VDN IN

szSkills

160ChineseIN

pDeviceID

IDOUT

ICD_OK

DEVICE_IDDevice;
Rc = CccGetDeviceBySkillsWithVDN (m_usConnectID, 1, "160,Chinese",
&Device);

9.10 CccRequestRoutingByAccessCode

IVR
CccRequestRerouting

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccQuerySkillTree

5.

6.

CccRequestAnswer

7.

CccQueryCallIDOnAgent CallID

USHORT __stdcall CccRequestRoutingByAccessCode (USHORT hCcc, CALLID*


pCallID, LPCTSTR lpAccessCode, DEVICE_ID* pDeviceID);

9-10

01 (2007-12-30)

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

pCallID

IN

lpAccessCode

IVR MAXLEN_EXTEN IN

pDeviceID

IDOUT

ICD_OK

DEVICE_IDDevice;
strAccessCode = "16801234";
rc = CccRequestRoutingByAccessCode( m_usConnectID ,
strAccessCode, &Device);

&m_CallID,

CccQueryIVRIDCccQueryIVRDescriptionCccRequestRerouting

9.11 CccRequestRoutingIVR

IVR
CccRequestRerouting

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

IVR

USHORT __stdcall CccRequestRouting (USHORT hCcc,


lpDn, DEVICE_ID* pDeviceID);

01 (2007-12-30)

CALLID callId, LPCTSTR

9-11

TopEng-
CTIAPI

hCcc

CccConnectToServer IN

callId

IN

lpDn

MAXLEN_EXTEN IN

pDeviceID

IDOUT

ICD_OK

CccRequestRouting

9.12 CccRequestRoutingExIVR

IVR
CccRequestRerouting
CALLID

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

IVR

USHORT __stdcall CccRequestRoutingEx ( USHORT hCcc,


LPCTSTRlpDn, DEVICE_ID* pDeviceID );

CALLID* pCallID,

9-12

hCcc

CccConnectToServer IN

PcallId

IN

01 (2007-12-30)

TopEng-
CTIAPI

lpDn

MAXLEN_EXTEN IN

pDeviceID

IDOUT

ICD_OK

CccRequestRouting

9.13 CccRequestHelpRouting

IVR API

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

IVR

6.

SHORT __stdcall CccRequestHelpRouting (USHORT hCcc, CALLID *pCallID,


LPCTSTR lpInNo, DEVICE_ID *pDestTDevice);

hCcc

CccConnectToServer IN

pcallId

IN

lpInNo

MAX_IVR_INNO_LENGTHIN

pDestTDevice

IDOUT

01 (2007-12-30)

9-13

TopEng-
CTIAPI

ICD_OK

CccRequestRouting

9.14 CccRequestRerouting

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccQueryCallIDOnAgent

7.

CccQuerySkillTree

8.

CccRequestRoutingByNode CccRequestRoutingByAccessCode

9.

CccRequestRerouting

USHORT __stdcall CccRequestRerouting (USHORT hCcc, CALLID* pCallID,


DEVICE_ID* pDestDeviceID, UCHAR ucMode , ULONG ulRqstTag );

hCcc

CccConnectToServer IN

pcallId

pszSrcLine CALLID IN

pDestDeviceID

IN

ucMode

IVR
IN

ulRqstTag

9-14

01 (2007-12-30)

TopEng-
CTIAPI

ICD_OK

CccRequestRoutingByNodeCccRequestRoutingCccRequestHelpRouting
CccRequestRoutingByAccessCode

9.15 CccRequestReroutingEx

VDN
VDN

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswerEx

6.

CccQueryCallIDOnAgentEx

7.

CccQuerySkillTreeEx

8.

CccRequestRoutingByNode CccRequestRoutingByAccessCode

9.

CccRequestReroutingEx

USHORT __stdcall CccRequestReroutingEx (USHORT hCcc, CALLID* pCallID,


ADDRESSID *paddrDest, UCHAR ucMode , ULONG ulRqstTag );

hCcc

CccConnectToServer IN

pcallId

pszSrcLine CALLID IN

paddrDest

IN

ucMode

IVR
IN

01 (2007-12-30)

9-15

TopEng-
CTIAPI

ulRqstTag

ICD_OK

CccRequestRoutingByNodeCccRequestRoutingByAccessCode CccRequestRouting
CccRequestHelpRouting

9.16 CccTransferWithUVIDMerge

UVID

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswerEx

6.

CccQueryUVIDByCallID UVID

7.

UVID

8.

CccTransferWithUVIDMerge

SHORT __stdcall CccTransferWithUVIDMerge (USHORT hCcc, USHORT


usTargetAgentNo);

hCcc

CccConnectToServer IN

usTargetAgentNo

IN

ICD_OK
9-16

01 (2007-12-30)

TopEng-
CTIAPI

CccRequestRoutingByNodeCccRequestRoutingByAccessCodeCccRequestRouting
CccRequestHelpRouting

9.17 CccRequestSetTransfer

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

USHORT __stdcall CccRequestSetTransfer (USHORT hCcc, DEVICE_ID *


pSrcDeviceID, DEVICE_ID * pDestDeviceID, UCHAR ucMode);

hCcc

CccConnectToServer IN

pSrcDeviceID

DEVICE_ID IN

pDestDeviceID

IN

ucMode

enum TRANSFER_STYLE IN
l

0CANCEL_TRANSFER

1 FORWARD_TRANSFER

2BUSY_TRANSFER

ICD_OK

DEVICE_IDSrcDevice, DestDevice;
SrcDevice.ucDeviceType = AgentType;
SrcDevice.usDeviceNo = usAgentNo;
DestDevice.ucDeviceType = IvrType;
DestDevice.usDeviceNo = 1;
rc = CccRequestSetTransfer(m_usConnectID, &SrcDevice, &DestDevice, 2);

01 (2007-12-30)

9-17

TopEng-
CTIAPI

9.18 CccQueryLoginAgentInSkillQueue

1.

CccApiInit

2.

USHORT CccQueryLoginAgentInSkillQueue( USHORT hCcc, USHORT usQueueID,


USHORT* pLoginAgentNum );

hCcc

CccConnectToServer IN

usQueueID

ID IN

pLoginAgentNum

OUT

ICD_OK

USHORT usAgentNum;
USHORT rc = CccQueryLoginAgentInSkillQueue(m_usConnectID, 10,
&usAgentNum);

9.19 CccQueryIdleAgentInSkillQueue

1.
9-18

CccApiInit

01 (2007-12-30)

TopEng-
CTIAPI

2.

USHORT CccQueryIdleAgentInSkillQueue(
sLength, USHORT*pusIdleAgentNum );

USHORT hCcc,

char* cSkills,

SHORT

hCcc

CccConnectToServer IN

cSkills

180ChineseIN

sLength

IN

pusIdleAgentNum

OUT

ICD_OK

USHORT usAgentNum;
USHORT rc = CccQueryIdleAgentInSkillQueue(m_usConnectID, "Chinese,180",
11, &usAgentNum);

9.20 CccIsDeviceAvailable

CccRequestReRouting

1.

CccApiInit

2.

SHORT CccIsDeviceAvailable( USHORT hCcc, DEVICE_ID *pDeviceID, USHORT*


usAvailable);

hCcc

CccConnectToServer IN

01 (2007-12-30)

9-19

TopEng-
CTIAPI

pDeviceID

IN

usAvailable

TRUE FALSE OUT

ICD_OK

USHORTwFlag;
DEVICE_IDDevice;
Device.ucDeviceType = AgentType;
Device.usDeviceNo = usAgentNo;
USHORT rc = CccIsDeviceAvailable(m_usConnectID, &Device, &wFlag);

9.21 CccIsDeviceAvailableWithVDN VDN

VDN
CccRequestReRouting

1.

CccApiInit

2.

USHORT CccIsDeviceAvailableWithVDN ( USHORT hCcc, VDNID usVdnID,


DEVICE_ID *pDeviceID, USHORT* pusAvailable);

9-20

hCcc

CccConnectToServer IN

usVdnID

VDN IN

pDeviceID

IN

pusAvailable

TRUE FALSE OUT

01 (2007-12-30)

TopEng-
CTIAPI

ICD_OK

USHORTwFlag;
DEVICE_IDDevice;
Device.ucDeviceType = AgentType;
Device.usDeviceNo = usAgentNo;
USHORT rc = CccIsDeviceAvailableWithVDN(m_usConnectID, 1, &Device,
&wFlag);

9.22 CccQuerySkillInfoBySkillIdEx

1.

CccApiInit

2.

SHORT CccQuerySkillInfoBySkillIdEx (USHORT hCcc, USHORT usSkillID,


SKILL_STRUCT_EX *pSkillInfo);

hCcc

CccConnectToServer IN

usSkillID

ID IN

pSkillInfo

OUT

ICD_OK

9.23 CccRequestSkillQueueBySkillName

01 (2007-12-30)

9-21

TopEng-
CTIAPI

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccRequestSkillQueueBySkillName(USHORT hCcc, const UCHAR


*pSkillName, UCHAR ucQueryCondition, USHORT &SkillQueueCount,
SKILLQUEUE_STRUCT *pSkillQueue)

hCcc

CccConnectToServer IN

pSkillName

IN

ucQueryCondition

QUERY_SKILL_CONDITIONIN
Enum QUERY_SKILL_CONDITION
{
CONDITION_CONTAIN_ALL,// pSkillName

CONDITION_CONTAIL_ANY, // pSkillName

CONDITION_EQUAL // pSkillName
};

SkillQueueCount

pSkillQueue SKILLQUEUE_STRUCT
IN/OUT

pSkillQueue

IN/OUT

ICD_OK

ABC
l

chinese,acd,outbound

english,acd,outbound

chinese,114

pSkillName chinese,outbound
l

ucQueryCondition CONDITION_CONTAIN_ALL
chinese,acd,outbound

ucQueryCondition CONDITION_CONTAIL_ANY
chinese,acd,outbound;english,acd,outbound;chinese,114

9-22

ucQueryCondition CONDITION_EQUAL

01 (2007-12-30)

TopEng-
CTIAPI

pSkillName
chinese,acd,outbound

9.24 CccRequestAgentBySkillQueue

API

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccRequestAgentBySkillQueue(USHORT hCcc, USHORT


SkillQueueCount, const USHORT *pSkillID ,UCHAR ucGetCond, USHORT
&usAgentNum, USHORT *pAgentNo)

hCcc

CccConnectToServer IN

SkillQueueCount

pSkillID ID IN

pSkillID

ID IN

ucGetCond

GET_AGENT_CONDIN
Struct GET_AGENT_COND{
UCHAR: ucGetCond1; //0(
)
//1(
)
UCHAR: ucGetCond2 //0
//1
UCHAR: ucGetMode3 6;
//
}

usAgentNum

pAgentNo
IN/OUT

pAgentNo

IN/OUT

ICD_OK
01 (2007-12-30)

9-23

TopEng-
CTIAPI

9.25 CccQueryTotalSkillQueueStat

API

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccQueryTotalSkillQueueStat(USHORT hCcc,USHORT *pusSize,


UCHAR *pBuffer, USHORT usCallStatType)

hCcc

CccConnectToServer IN

pusSize

IN/OUT

pBuffer

OUT

usCallStatType

AGENT_COUNT_FOR_SKILL_TYPE IN

ICD_OK

9.26 CccQueryTotalACDStatusEX3

DBCCC_ACD_INFO_EX3

CccApiInit
9-24

01 (2007-12-30)

TopEng-
CTIAPI

SHORT CccQueryTotalACDStatusEX3(USHORT hCcc, USHORT usNums, USHORT


*pusACDID, USHORT &usBufCnt, DBCCC_ACD_INFO_EX3* lpAcdInfoEx3);

hCcc

IN

usNums

0 VDN
IN

pusACDID

ID IN

usBufCnt
lpAcdInfoEx3

IN/OUT
OUT

ICD_OK

01 (2007-12-30)

9-25

TopEng-
CTIAPI

10

10

VDN
10.1 CccQueryACDID
10.2 CccQueryAcdIDByAgentID
10.3 CccQueryRealACDID
10.4 CccQueryACDIDWithVDN
10.5 CccQueryACDSkillDescription
10.6 CccQueryACDSkillDescriptionWithVDN
10.7 CccQueryACDStatus
10.8 CccQueryACDStatusEx
10.9 CccQueryACDStatusEx2
10.10 CccQueryACDStatusEx3
10.11 CccQueryACDStatusWithVDN VDN
10.12 CccQueryDeviceStatus
10.13 CccQueryDeviceStatusEX
10.14 CccQueryAgentInfoByACDID
10.15 CccQueryDeviceIDByDeviceType
10.16 CccQuerySkillQueuePredict
10.17 CccQuerySkillQueueStat
10.18 CccQuerySysLoadWithVDN VDN
10.19 CccQueryIVRID
10.20 CccQueryRealIVRID
01 (2007-12-30)

10-1

TopEng-
CTIAPI

10

10.21 CccQueryIVRDescriptionByID
10.22 CccQueryIVRDescriptionByIDEx
10.23 CccQueryIVRStepInfo
10.24 CccQueryAllIvrDescription IVR
10.25 CccQuerySysStatus
10.26 CccQueryTrunkTable
10.27 CccQueryResourceConnectInfoByMediaType
10.28 CccQueryStatInfoOfSkillQueues
10.29 CccQueryStatInfoOfSkillQueuesWithVDN VDN
10.30 CccQueryStatInfoOfSkillQueuesEx
10.31 CccQueryStatInfoOfSkillQueuesExWithVDN VDN

10.32 CccLoginIVRTypeIVR
10.33 CccLoginIVRTypeExIVR
10.34 CccLogoutIVRTypeIVR
10.35 CccIVRSetINNOIVR
10.36 CccLogoutIVRType IVR ID
10.37 CccIVRAgentLogin
10.38 CccIVRSetupCallWithVDN VDN
10.39 CccIVRAgentSetStatus//
10.40 CccIVRAgentQueryInfo
10.41 CccQueryIVRPredict IVR
10.42 CccQueryAllCustomerGroupWithVDN
10.43 CccQueryCustomerGroupCallState
10.44 CccQueryCallStatByInnoEx
10.45 CccQueryCurrentCallStatInfoOnAutoOrManu
10.46 CccQueryPassedCallStatInoOnAutoOrManu 5
10.47 CccQueryCpConferenceInfoEx
10.48 CccQueryQueueCallStatInfo 5
10.49 CccRequestTraceWithCallNo
10.50 CccRequestMonitorInno

10-2

01 (2007-12-30)

TopEng-
CTIAPI

10

10.1 CccQueryACDID

ID

1.

CccApiInit

2.

USHORT __stdcall
*pAcdID);

CccQueryACDID (USHORT hCcc, USHORT *pusNum, USHORT

hCcc

CccConnectToServer IN

pusNum

MAX_LEAF_NUM IN/OUT

pAcdID

ACDID OUT

ICD_OK

CccQueryACDSkillDescription

10.2 CccQueryAcdIDByAgentID

01 (2007-12-30)

10-3

TopEng-
CTIAPI

10

1.

CccApiInit

2.

SHORT __stdcall CccQueryAcdIDByAgentID(USHORT hCcc, USHORT usWorkNo,


USHORT *pusAcdNum, USHORT *pusAcdID);

hCcc

CccConnectToServer IN

usWorkNo

IN

pusAcdNum

IN/OUT

pusAcdID

OUT

ICD_OK

10.3 CccQueryRealACDID

1.

CccApiInit

2.

SHORT __stdcall CccQueryRealACDID(USHORT hCcc, USHORT *pusNum, USHORT


*pAcdID);

10-4

01 (2007-12-30)

TopEng-
CTIAPI

10

hCcc

CccConnectToServer IN

pusNum

MAX_LEAF_NUM IN/OUT

pAcdID

ACDID OUT

ICD_OK

10.4 CccQueryACDIDWithVDN

VDN ID

1.

CccApiInit

2.

USHORT __stdcall CccQueryACDIDWithVDN (USHORT hCcc, VDNID usVdnId,


USHORT *pusNum, USHORT * pAcdID);

hCcc

CccConnectToServer IN

usVdnId

VDN IN

pusNum

MAX_LEAF_NUM IN/OUT

pAcdID

ACDID OUT

ICD_OK
01 (2007-12-30)

10-5

TopEng-
CTIAPI

10

CccQueryACDSkillDescription

10.5 CccQueryACDSkillDescription

1.

CccApiInit

2.

3.

CccQueryACDID

USHORT __stdcall CccQueryACDSkillDescription (USHORT hCcc, USHORT


usACDID, USHORT *pusLength, CHAR* pAcdSkillDescription);

hCcc

CccConnectToServer IN

usACDID

ACD CccQueryACDID IN

pusLength

IN/OUT

pAcdSkillDescription

ACD OUT

ICD_OK

USHORTwAcdNum, wAcdID[MAX_LEAF_NUM];
rc = CccQueryACDID(m_usConnectID, &wAcdNum, wAcdID);
if(rc == ICD_OK)
CHARcBuffer[32767];
CStringstrDes;
strDes.Format("%d, ", wAcdNum);
CHARcDes[500];
USHORTusLength;
for (USHORT i = 0; i < wAcdNum; i ++)
memset(cDes, 0x0, 500);
rc = CccQueryACDSkillDescription(m_usConnectID, wAcdID[i],
&usLength, cBuffer);
if(rc == ICD_OK)
strncpy(cDes, cBuffer, usLength);

10-6

01 (2007-12-30)

TopEng-
CTIAPI

10

strDes += cDes;
strDes += "; ";
usLength = 32767;
rc = CccQueryACDStatus(m_usConnectID, wAcdID[i], cBuffer,
&usLength);
if(rc == ICD_OK)
DBCCC_ACD_INFO *pAcdInfo = (DBCCC_ACD_INFO *) cBuffer;
//...
AfxMessageBox(strDes, MB_OK);

10.6 CccQueryACDSkillDescriptionWithVDN

VDN

1.

CccApiInit

2.

3.

CccQueryACDIDWithVDN

SHORT __stdcall CccQueryACDSkillDescriptionWithVDN (USHORT hCcc, USHORT


usACDID, VDNID usVdnId, USHORT *pusLength, CHAR* pAcdSkillDescription);

hCcc

CccConnectToServer IN

usACDID

ACD CccQueryACDID IN

usVdnId

VDN IN

pusLength

IN/OUT

pAcdSkillDescriptio
n

ACD OUT

ICD_OK

CccQueryACDID
01 (2007-12-30)

10-7

TopEng-
CTIAPI

10

10.7 CccQueryACDStatus

ACD

ACD DBCCC_ACD_INFO

1.

CccApiInit

2.

3.

CccQueryACDID

USHORT __stdcall CccQueryACDStatus (USHORT hCcc, USHORT usACDID, LPVOID


lpACDStatus, PUSHORT pcSize);

hCcc

CccConnectToServer IN

usACDID

ACD CccQueryACDID IN

lpACDStatus

DBCCC_ACD_INFO
OUT

pcSize

30KBIN/OUT

ICD_OK

CccQueryACDID

10.8 CccQueryACDStatusEx

ACD

ACD DBCCC_ACD_INFO_EX

10-8

01 (2007-12-30)

TopEng-
CTIAPI

10

1.

CccApiInit

2.

3.

CccQueryACDID

USHORT __stdcall CccQueryACDStatus (USHORT hCcc, USHORT usACDID,


DBCCC_ACD_INFO_EX *pdbcccAcdInfo);

hCcc

CccConnectToServer IN

usACDID

ACD CccQueryACDID IN

pdbcccAcdInfo

OUT

ICD_OK

CccQueryACDID

10.9 CccQueryACDStatusEx2

DBCCC_ACD_INFO_EX2

1.

CccApiInit

2.

3.

CccQueryACDStatusEx2

SHORT __stdcall CccQueryACDStatusEx2(USHORT hCcc, USHORT usACDID,


DBCCC_ACD_INFO_EX2* lpAcdInfoEx2 );

01 (2007-12-30)

10-9

TopEng-
CTIAPI

10

hCcc

CccConnectToServer IN

usACDID

ACD CccQueryACDID IN

lpAcdInfoEx2

DBCCC_ACD_INFO_EX2
OUT

ICD_OK

CccQueryACDStatusEx

10.10 CccQueryACDStatusEx3

1.

CccApiInit

2.

CccConnectToServer UIS

short __stdcall CccQueryACDStatusEx3(USHORT hCcc, USHORT usACDID,


DBCCC_ACD_INFO_EX3* lpAcdInfoEx3);

10-10

hCcc

CccConnectToServer IN

usACDID

ACD CccQueryACDID IN

lpAcdInfoEx3

DBCCC_ACD_INFO_EX3
OUT

01 (2007-12-30)

TopEng-
CTIAPI

10

ICD_OK

10.11 CccQueryACDStatusWithVDN VDN

VDN ACD

ACD
DBCCC_ACD_INFO

1.

CccApiInit

2.

3.

CccQueryACDID

USHORT __stdcall CccQueryACDStatusWithVDN (USHORT hCcc,


USHORT usACDID, LPVOID lpACDStatus, USHORT *pusSize );

VDNID usVdnID,

hCcc

CccConnectToServer
IN

usVdnID

VDN IN

usACDID

ACD CccQueryACDID
IN

lpACDStatus

pusSize

DBCCC_ACD_INFO
OUT

30KBIN/OUT

ICD_OK
01 (2007-12-30)

10-11

TopEng-
CTIAPI

10

CccQueryACDID

10.12 CccQueryDeviceStatus

1.

CccApiInit

2.

USHORT __stdcall CccQueryDeviceStatus (USHORT hCcc, DEVICE_ID


*pDeviceID, UCHAR *pStatus, PUSHORT pcSize);

hCcc

CccConnectToServer IN

pDeviceID

DEVICE_ID
IN

pStatus

CALL_PARTY_INFO
CALLID OUT

pcSize

30KBIN/OUT

ICD_OK

DEVICE_IDDevice;
Device.ucDeviceType = AgentType;
Device.usDeviceNo = usAgentNo;
CHAR pStatus[32767];
USHORT usLength;
USHORT rc = CccQueryDeviceStatus(m_usConnectID, &Device, pStatus,
&usLength);

10-12

01 (2007-12-30)

TopEng-
CTIAPI

10

10.13 CccQueryDeviceStatusEX

1.

CccApiInit

2.

SHORT __stdcall CccQueryDeviceStatusEx(USHORT hCcc, DEVICE_ID *pDeviceID,


UCHAR *pStatus, PUSHORT pusSize)

hCcc

CccConnectToServer
IN

pDeviceID


DEVICE_IDIN

pStatus

CALL_PARTY_INFO
CALLID
OUT

pusSize

30KB
IN/OUT

ICD_OK

01 (2007-12-30)

10-13

TopEng-
CTIAPI

10

10.14 CccQueryAgentInfoByACDID

1.

CccApiInit

2.

USHORT __stdcall CccQueryAgentInfoByACDID(USHORT hCcc, USHORT usAcdID,


USHORT *pusAgentNum, USHORT *pAgentInfo );

hCcc

CccConnectToServer
IN

usAcdID

ACD CccQueryACDID
IN

pusAgentNum

OUT

pAgentInfo

OUT

ICD_OK

USHORT AgentNo[MAX_AGENT_NUM ];
USHORT AgentNum = MAX_AGENT_NUM;
USHORT rc = CccQueryAgentInfoByACDID(m_usConnectID, 10, &AgentNum,
AgentNo);

10-14

01 (2007-12-30)

TopEng-
CTIAPI

10

10.15 CccQueryDeviceIDByDeviceType

1.

CccApiInit

2.

SHORT __stdcall CccQueryDeviceIDByDeviceType(USHORT hCcc, int


iDeviceType, USHORT &usDeviceNum, LPDEVICE_ID pDeviceID);

hCcc

CccConnectToServer IN

iDeviceType

IN

usDeviceNum

OUT

pDeviceID

OUT

ICD_OK

10.16 CccQuerySkillQueuePredict

ACD
SKILL_PREDICT_INFO

1.

CccApiInit

2.

USHORT __stdcall CccQuerySkillQueuePredict(USHORT hCcc, USHORT usSkillID,


LPVOID lpSkillQueuePredict, USHORT *pusSize);

01 (2007-12-30)

10-15

TopEng-
CTIAPI

10

hCcc

CccConnectToServer IN

usSkillID

IDIN

lpSkillQueuePredict

SKILL_PREDICT_INFO
OUT

pusSize

30KBIN/OUT

ICD_OK pBuffer pusSize


lpSkillQueuePredict

ICD_OK_LESS_BUFFER_SIZE
pusSize pBuffer
CccGetLastBuffer(USHORT hCcc, ULONG
*pulLen, CHAR *pBuffer)

10.17 CccQuerySkillQueueStat

API /

1.

CccApiInit

2.

USHORT __stdcall CccQuerySkillQueueStat(USHORT hCcc, SKILLID usSkillID,


SM_MONITOR_TYPE usCallStatType, USHORT *pusSize, UCHAR *pBuffer);

10-16

hCcc

CccConnectToServer IN

usSkillID

IDIN

usCallStatType

IN

pusSize

pszItem IN/OUT

01 (2007-12-30)

TopEng-
CTIAPI

10

pBuffer

OUT
enum SM_MONITOR_TYPE//
{
//
AGENT_COUNT_FOR_SKILLAGENT_COUNT_FOR_SKILL_TYPE,
//
CALL_COUNT_FOR_SKILL CALL_COUNT_FOR_SKILL_TYPE,
//
CALL_INFO_EVERY_HOUR_FOR_SKILL
CALL_INFO_EVERY_HOUR_FOR_SKILL_TYPE,
// 24
CALL_INFO_EVERY_DAY_FOR_SKILL
CALL_INFO_EVERY_DAY_FOR_SKILL_TYPE,
//
AGENT_MONITOR_STRUCTAGENT_MONITOR_STRUCT_TYPE,
//
AGENT_LOGINOUTAGENT_LOGINOUT_TYPE,
};

ICD_OK pBuffer pusSize


lpSkillQueuePredict

ICD_OK_LESS_BUFFER_SIZE
pusSize pBuffer
CccGetLastBuffer(USHORT hCcc, ULONG
*pulLen, CHAR *pBuffer)

10.18 CccQuerySysLoadWithVDN VDN

VDN

1.

CccApiInit

2.

USHORT __stdcall CccQuerySysLoadWithVDN(USHORT hCcc, VDNID usVdnId,


DEVICE_ID deviceID, USHORT *pusRate);

01 (2007-12-30)

10-17

TopEng-
CTIAPI

10

hCcc

CccConnectToServer
IN

UsVdnId

VDN IN

deviceID

IN

pusRate

0-100IN/OUT

ICD_OK

10.19 CccQueryIVRID

IVR ID

1.

CccApiInit

2.

USHORT __stdcall
* pIvrID,);

CccQueryIVRID (USHORT hCcc,

USHORT*pusNum; DEVICE_ID

hCcc

CccConnectToServer IN

pusNum

IN/OUT

pIvrID

IVRID OUT

ICD_OK

CccQueryIVRDescriptionByID
10-18

01 (2007-12-30)

TopEng-
CTIAPI

10

10.20 CccQueryRealIVRID

1.

CccApiInit

2.

SHORT __stdcall CccQueryRealIVRID (USHORT hCcc, USHORT * pusNum,


DEVICE_ID *pIvrID);

hCcc

CccConnectToServer IN

pusNum

IVR ID

IVR ID

IN/OUT
pIvrID

IVRID OUT

ICD_OK

10.21 CccQueryIVRDescriptionByID

IVR IVR

1.

CccApiInit

2.

SHORT __stdcall CccQueryIVRDescriptionByID ( USHORT hCcc, DEVICE_ID


ivrID, DBCCC_INNO_STRUCT *lpInNo);

01 (2007-12-30)

10-19

TopEng-
CTIAPI

10

hCcc

CccConnectToServer IN

ivrID

IDIN

lpInNo

DBCCC_INNO_STRUCT OUT

ICD_OK

USHORT wIvrNum;
DEVICE_ID IvrID[MAX_IVR_INNO_NUM];
USHORT rc = CccQueryIVRID(m_usConnectID, &wIvrNum, &IvrID[0]);
if(rc == ICD_OK)
{
CStringstrDes;
strDes.Format("IVR %d, IVR ", wIvrNum);
DBCCC_INNO_STRUCT InNo;
for (USHORTi = 0; i < wIvrNum; i ++)
{
memset((VOID *) &InNo, 0x0, sizeof(DBCCC_INNO_STRUCT));
rc = CccQueryIVRDescriptionByID(m_usConnectID, IvrID[i], &InNo);
if(rc == ICD_OK)
{
strDes += InNo.pcDescription;
strDes += "; ";
}
}
AfxMessageBox(strDes, MB_OK);
}

10.22 CccQueryIVRDescriptionByIDEx

IVR IVR DEVICE_ID

1.

CccApiInit

2.

SHORT __stdcall CccQueryIVRDescriptionByIDEx ( USHORT hCcc, DEVICE_ID*


pIvrID, DBCCC_INNO_STRUCT *lpInNo);

10-20

01 (2007-12-30)

TopEng-
CTIAPI

10

hCcc

CccConnectToServer IN

pIvrID

IDIN

lpInNo

DBCCC_INNO_STRUCT OUT

USHORTwIvrNum;
DEVICE_IDIvrID[MAX_IVR_INNO_NUM];
USHORT rc = CccQueryIVRID(m_usConnectID, &wIvrNum, &IvrID[0]);
if(rc == ICD_OK)
{
CStringstrDes;
strDes.Format("IVR %d, IVR ", wIvrNum);
DBCCC_INNO_STRUCTInNo;
for (USHORTi = 0; i < wIvrNum; i ++)
{
memset((VOID *) &InNo, 0x0, sizeof(DBCCC_INNO_STRUCT));
rc = CccQueryIVRDescriptionByIDEx(m_usConnectID, &IvrID[i], &InNo);
if(rc == ICD_OK)
{
strDes += InNo.pcDescription;
strDes += "; ";
}
}
AfxMessageBox(strDes, MB_OK);
}

10.23 CccQueryIVRStepInfo

IVR
IVR
IVR

1.

CccApiInit

2.

3.

USHORT __stdcall CccQueryIVRStepInfo(USHORT hCcc, CALLID* pCallID,USHORT*


pStepNum , PLAY_DRV_STRUCT* pInfo );

01 (2007-12-30)

10-21

TopEng-
CTIAPI

10

hCcc

CccConnectToServer IN

pCallID

IN

pStepNum

IVR IN/OUT

pInfo

IVR OUT

ICD_OK

PLAY_DRV_STRUCT VoiceDrv[256];
USHORT wStep = 256;
USHORT usRc = CccQueryIVRStepInfo (m_usConnectID,m_pCallID, &wStep,
VoiceDrv);

10.24 CccQueryAllIvrDescription IVR

IVR

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccQueryAllIvrDescription(USHORT hCcc, USHORT


&usInNoNums, DBCCC_INNO_STRUCT* pInNo);

hCcc

CccConnectToServer IN

usInNoNums

IVR IN / OUT

pInNo

10-22

DBCCC_INNO_STRUCT
OUT

01 (2007-12-30)

TopEng-
CTIAPI

10

ICD_OK

10.25 CccQuerySysStatus

UISServer API
CccConnectToServer

1.

CccApiInit

2.

SHORT __stdcall CccQuerySysStatus ( USHORT hCcc,


pdbSystemInfo );

DBCCC_SYSTEM_INFO*

hCcc

CccConnectToServer
IN

pdbSystemInfo

DBCCC_SYSTEM_INFO
OUT

ICD_OK

DBCCC_SYSTEM_INFO SystemInfo;
USHORT rc = CccQuerySysStatus( m_usConnectID , &SystemInfo);
if ( rc == ICD_OK )
{
char tmpstr[500];
sprintf(tmpstr,"System status\n"
"Version %s, CallNumber %u,CallInQueueNum %u,\n"
"TalkingNum %u, TotalLoginAgent %u, BusyAgent %u,\n"
"IdleAgent %u, SkillNum %u, ConnectNum %u",
SystemInfo.VersionInfo,// UIS
SystemInfo.usCallNum,//
SystemInfo.usCallInQueueNum,//
SystemInfo.usTalkingNum,//
SystemInfo.usTotalLoginAgent,//

01 (2007-12-30)

10-23

TopEng-
CTIAPI

10
SystemInfo.usBusyAgent,//
SystemInfo.usIdleAgent,//
SystemInfo.usSkillNum,//
SystemInfo.usConnectNum );//
AfxMessageBox(tmpstr,MB_OK);
}

10.26 CccQueryTrunkTable

1.

CccApiInit

2.

USHORT __stdcall CccQueryTrunkTable(USHORT hCcc, USHORT* pusTrunkNum ,


DBCCC_TRUNK_STRUCT* pTrunkTable );

hCcc

CccConnectToServer
IN

pusTrunkNum

IN/OUT

pTrunkTable

OUT

ICD_OK

DBCCC_TRUNK_STRUCT Trunk[3*1440];
USHORT wNum =3*1440;
USHORT rc = CccQueryIVRStepInfo (m_usConnectID, &wNum, Trunk);

10-24

01 (2007-12-30)

TopEng-
CTIAPI

10

10.27 CccQueryResourceConnectInfoByMediaType

1.

CccApiInit

2.

SHORT __stdcall CccQueryResourceConnectInfoByMediaType (USHORT hCcc,


USHORT usMediaType, USHORT *pusSize, UCHAR *pBuffer );

hCcc

CccConnectToServer IN

usMediaType

IN

pusSize

IN/OUT

pBuffer

pInfo

OUT
USHORT ConnectObjNum;
CONN_OBJ_INFO ObjInfo1;
CONN_NODE_INFO ObjNodeInfo1;
CONN_OBJ_INFO ObjInfon;
CONN_NODE_INFO ObjNodeInfon;

ICD_OK

10.28 CccQueryStatInfoOfSkillQueues

01 (2007-12-30)

10-25

TopEng-
CTIAPI

10

CCS
l

20

1.

CccApiInit

2.

SHORT __stdcall CccQueryStatInfoOfSkillQueues(USHORT hCcc, USHORT


SkillQueueCount, const USHORT *pSkillID , USHORT *pusSize ,
DBCCC_SKILLS_STATISTIC & pInfo);

hCcc

CccConnectToServer
IN

SkillQueueCount

IN

pSkillID

ID IN

pusSize

IN/OUT

pInfo

pInfo

DBCCC_SKILLS_STATISTIC

DBCCC_SKILLS_STATISTIC

ICD_OK
DBCCC_SKILLS_STATISTIC

ICD_OK_LESS_BUFFER_SIZE
pInfo ICD_OK

10-26

01 (2007-12-30)

TopEng-
CTIAPI

10

10.29 CccQueryStatInfoOfSkillQueuesWithVDN
VDN

VDN

CCS
l

20

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccQueryStatInfoOfSkillQueuesWithVDN(USHORT hCcc, VDNID


usVdnID, USHORT SkillQueueCount, const USHORT *pSkillID , USHORT
*pusSize , DBCCC_SKILLS_STATISTIC & pInfo);

hCcc

CccConnectToServer IN

usVdnID

VDN IN

SkillQueueCount

IN

pSkillID

ID IN

pusSize

IN/OUT

pInfo

pInfo

DBCCC_SKILLS_STATISTIC
DBCCC_SKILLS_STATISTIC

ICD_OK
DBCCC_SKILLS_STATISTIC

01 (2007-12-30)

10-27

TopEng-
CTIAPI

10

ICD_OK_LESS_BUFFER_SIZE
pInfo ICD_OK

10.30 CccQueryStatInfoOfSkillQueuesEx

CCS
l

20

1.

CccApiInit

2.

SHORT __stdcall CccQueryStatInfoOfSkillQueuesEx(USHORT hCcc, USHORT


SkillQueueCount, const USHORT *pSkillID , USHORT *pusSize ,
DBCCC_SKILLS_STATISTIC_EX & pInfo)

hCcc

CccConnectToServer
IN

SkillQueueCount

IN

pSkillID

ID IN

pusSize

IN/OUT

pInfo

10-28

pInfo

DBCCC_SKILLS_STATISTIC_E
X

DBCCC_SKILLS_STATISTIC_E
X

01 (2007-12-30)

TopEng-
CTIAPI

10

ICD_OK
DBCCC_SKILLS_STATISTIC_EX

ICD_OK_LESS_BUFFER_SIZE
pInfo ICD_OK

10.31 CccQueryStatInfoOfSkillQueuesExWithVDN
VDN

CCS
l

20

1.

CccApiInit

2.

SHORT __stdcall CccQueryStatInfoOfSkillQueuesExWithVDN(USHORT hCcc, VDNID


usVdnID, USHORT SkillQueueCount, const USHORT *pSkillID, USHORT
*pusSize, DBCCC_SKILLS_STATISTIC_EX & pInfo)

hCcc

CccConnectToServer
IN

usVdnID

VDN IN

SkillQueueCount

IN

pSkillID

ID IN

pusSize

IN/OUT

01 (2007-12-30)

pInfo

10-29

TopEng-
CTIAPI

10

pInfo

DBCCC_SKILLS_STATISTIC_EX

DBCCC_SKILLS_STATISTIC_EX

ICD_OK
DBCCC_SKILLS_STATISTIC_EX

ICD_OK_LESS_BUFFER_SIZE
pInfo ICD_OK

10.32 CccLoginIVRTypeIVR

IVR

1.

CccApiInit

2.

CccConnectToServer UIS

3.

CccLogon CCS

SHORT __stdcall CccLoginIVRType(USHORT


ucPort,UCHAR ucNode ,ULONG ulWaitTime)

hCcc,UCHAR IVRType,UCHAR

hCcc

CccConnectToServer IN

IVRType

IVR IN
enum IVR_TYPE
{
IVR_RCP = 0 ,// IVR
IVR_SPP
// IVr
};

IVR_SPP

10-30

ucPort

ProgID ProgID IN

ucNode

IN

01 (2007-12-30)

TopEng-
CTIAPI

10

ulWaitTime

IN

ICD_OK

10.33 CccLoginIVRTypeExIVR

IVR

1.

CccApiInit

2.

CccConnectToServer UIS

3.

CccLogon CCS

SHORT __stdcall CccLoginIVRTypeEx(USHORT hCcc, UCHAR ucIvrType, UCHAR


ucPort, UCHAR ucNode, ULONG* pulVerNego, ULONG ulWaitTime);

hCcc

CccConnectToServer
IN

ucIvrType

IVR IN
enum IVR_TYPE
{
IVR_RCP = 0 ,//
IVR
IVR_SPP
// IVr

};

IVR_SPP
ucPort

ProgID ProgID
IN

ucNode

IN

01 (2007-12-30)

10-31

TopEng-
CTIAPI

10

pulVerNego

IN/OUT
enum IVR_PROTOCOL_VER
{
IVR_P_VER_DEFAULT = 0x0010200,//
2.0
IVR_P_VER_0020100 = 0x0020100,//
SP_Answer
IVR_P_VER_0020200 = 0x0020200,//
INtess
IVR_P_VER_0020300 = 0x0020300//

};

ulWaitTime

IN

ICD_OK

10.34 CccLogoutIVRTypeIVR

IVR

1.

CccApiInit

2.

CccConnectToServer UIS

3.

CccLogon CCS

4.

CccLoginIVRType

SHORT __stdcall CccLogoutIVRType( USHORT

hCcc)

hCcc

CccConnectToServer
IN

ICD_OK
10-32

01 (2007-12-30)

TopEng-
CTIAPI

10

10.35 CccIVRSetINNOIVR

IVR

1.

CccApiInit

2.

CccConnectToServer UIS

3.

CccLogon CCS

4.

CccLoginIVRType

SHORT__stdcall CccIVRSetINNO( USHORT hCcc , USHORT usSize , CHAR* szInno )

hCcc

CccConnectToServer IN

usSize

IN

szInno

IN

ICD_OK

10.36 CccLogoutIVRType IVR


ID

IVR ID

1.

CccApiInit

2.

SHORT

01 (2007-12-30)

__stdcall

CccLogoutIVRType (USHORT hCcc);

10-33

TopEng-
CTIAPI

10

hCcc

CccConnectToServer IN

CccQueryIVRDescriptionByID

10.37 CccIVRAgentLogin

1.

CccApiInit

2.

USHORT __stdcall CccIVRAgentLogin (USHORT hCcc, CHAR szCallerNo[], USHORT


usWorkNo, CHAR pucPassWord[]);

hCcc

CccConnectToServer
IN

szCallerNo

IN

usWorkNo

IN

pucPassWord

IN

CccQueryIVRDescriptionByID

10.38 CccIVRSetupCallWithVDN VDN

IVR VDN
10-34

01 (2007-12-30)

TopEng-
CTIAPI

10

1.

CccApiInit

2.

SHORT __stdcall CccIVRSetupCallWithVDN (USHORT hCcc, VDNID usVdnID,


const CHAR pCode[MAXLEN_EXTEN+1] , USHORT usDataLen, const CHAR* pData);

hCcc

CccConnectToServer
IN

pCode

IVR IN

usDataLen

IN

pData

IN

CccQueryIVRDescriptionByID

10.39 CccIVRAgentSetStatus//

//

1.

CccApiInit

2.

SHORT
__stdcall
UCHAR ucAction);

CccIVRAgentSetStatus (USHORT hCcc,

CHAR szCallerNo[],

hCcc

CccConnectToServer IN

szCallerNo

IN/OUT

01 (2007-12-30)

10-35

TopEng-
CTIAPI

10

ucAction

OUT

CccQueryIVRDescriptionByID

10.40 CccIVRAgentQueryInfo

1.

CccApiInit

2.

SHORT
__stdcall CccIVRAgentQueryInfo (USHORT hCcc, CHAR szCallerNo[],
USHORT *pusStatus, USHORT *pusInfoSize, CHAR *pData);

10-36

hCcc

CccConnectToServer
IN

szCallerNo

IN

pusStatus

OUT
l

pusInfoSize

OUT

pData

OUT

01 (2007-12-30)

TopEng-
CTIAPI

10

CccQueryIVRDescriptionByID

10.41 CccQueryIVRPredict IVR

IVR

IVR_PREDICT_INFO

1.

CccApiInit

2.

USHORT __stdcall CccQueryIVRPredict (USHORT hCcc, USHORT usIVRID, LPVOID


lpIvrPredict, USHORT *pusSize);

hCcc

CccConnectToServer
IN

ucIVRID

IVR IN

lpIvrPredict

IVR_PREDICT_INFO
OUT

pusSize

30KBIN/OUT

CccQueryIVRDescriptionByID

01 (2007-12-30)

10-37

TopEng-
CTIAPI

10

10.42 CccQueryAllCustomerGroupWithVDN

1.

CccApiInit

2.

SHORT __stdcall CccQueryAllCustomerGroupWithVDN (USHORT hCcc, VDNID


usVdnID, USHORT *pusCGCount, CUSTOMER_GROUP_BASE_INFO* lpCGInfo);

hCcc

CccConnectToServer
IN

usVdnID

VDN IN

pusCGCount

IN/OUT

lpCGInfo

CUSTOMER_GROUP_BASE_INFO
OUT

ICD_OK

10.43 CccQueryCustomerGroupCallState

1.
10-38

CccApiInit

01 (2007-12-30)

TopEng-
CTIAPI

2.

10

SHORT __stdcall CccQueryCustomerGroupCallState (USHORT hCcc, char


*pStartTime, char *pEndTime, USHORT usCustGroupID, CALLSTATE_EX_STRUCT*
pCallStateByCGStruct, USHORT *pusCount, USHORT* pusExpiredEAP, USHORT*
pusLowExpiredEAP);

hCcc

CccConnectToServer
IN

pStartTime

yyyymmddhhnnssIN

pEndTime

yyyymmddhhnnssIN

usCustGroupID

IDIN

pCallStateByCGStruct

CALLSTATE_EX_STRUCT
OUT

pusCount

IN/OUT

pusExpiredEAP

OUT

pusLowExpiredEAP

OUT

ICD_OK

10.44 CccQueryCallStatByInnoEx

1.

CccApiInit

2.

01 (2007-12-30)

10-39

TopEng-
CTIAPI

10

SHORT __stdcall CccQueryCallStatByInnoEx (USHORT hCcc, USHORT usInnoNum,


USHORT *pusInnoID, USHORT usCityNum , USHORT *pusCityID, USHORT
usCusLevNum, USHORT *pusCustLevel , INNO_CALL_STAT_INFO *pInnoStat);

hCcc

CccConnectToServer
IN

usInnoNum

0IN

pusInnoID

IN

usCityNum

IN

pusCityID

ID IN

usCusLevNum

IN

pusCustLevel

IN

pInnoStat

INNO_CALL_STAT_INFO
OUT
l

usInnoNum=0
1

INNO_CALL_STAT_INFO

ICD_OK

10.45 CccQueryCurrentCallStatInfoOnAutoOrManu

1.

CccApiInit

2.

SHORT __stdcall CccQueryCurrentCallStatInfoOnAutoOrManu (USHORT hCcc,


UCHAR ucKeyItem, USHORT usInnoNum, USHORT *pusInnoID, USHORT usCityNum ,

10-40

01 (2007-12-30)

TopEng-
CTIAPI

10

USHORT *pusCityID, USHORT usCusLevNum, USHORT *pusCustLevel, USHORT


usSkillNum, USHORT
*pusSkillID , CALL_STAT_BILL_INFO * pStatInfo);

hCcc

CccConnectToServer IN

ucKeyItem

IN
enum ENUM_KEY_ITEM
{
KEY_ITEM_NULL, //
KEY_ITEM_INNO, //
KEY_ITEM_CITY, //
KEY_ITEM_CUST //
}

usInnoNum

0
IN

pusInnoID

IN

usCityNum

IN

pusCityID

ID IN

usCusLevNum

IN

pusCustLevel

IN

usSkillNum

IN

pusSkillID

ID IN

pStatInfo

CALL_STAT_BILL_INFO OUT
KEY_ITEM usInnoNum=0 1

ICD_OK

10.46 CccQueryPassedCallStatInoOnAutoOrManu
5

01 (2007-12-30)

10-41

TopEng-
CTIAPI

10

1.

CccApiInit

2.

SHORT __stdcall CccQueryPassedCallStatInoOnAutoOrManu (USHORT hCcc, UCHAR


ucKeyItem, UCHAR ucPassedCount, USHORT usInnoNum, USHORT *pusInnoID,
USHORT usCityNum , USHORT *pusCityID, USHORT usCusLevNum, USHORT
*pusCustLevel , USHORT usSkillNum, USHORT
*pusSkillID ,
CALL_STAT_BILL_INFO *pStatInfo);

hCcc

CccConnectToServer IN

ucKeyItem

IN
enum ENUM_KEY_ITEM
{
KEY_ITEM_NULL, //
KEY_ITEM_INNO, //
KEY_ITEM_CITY, //
KEY_ITEM_CUST //
}

ucPassedCount

4IN

5 ucPassedCount 2
10

usInnoNum

10-42

0
IN

pusInnoID

IN

usCityNum

IN

pusCityID

ID IN

usCusLevNum

IN

pusCustLevel

IN

usSkillNum

IN

pusSkillID

ID IN

pStatInfo

CALL_STAT_BILL_INFO OUT
KEY_ITEM usInnoNum=0
1

01 (2007-12-30)

TopEng-
CTIAPI

10

ICD_OK

10.47 CccQueryCpConferenceInfoEx

1.

CccApiInit

2.

SHORT __stdcall CccQueryCpConferenceInfoEx(USHORT hCcc, USHORT usConfNo,


USHORT* pusSize,DBCCC_CP_CONFERENCE_INFO_EX* pInfo)

hCcc

CccConnectToServer
IN

usConfNo

IN

pusSize

IN

pInfo

OUT

ICD_OK

10.48 CccQueryQueueCallStatInfo
5

1.

CccApiInit

2.

01 (2007-12-30)

10-43

TopEng-
CTIAPI

10

SHORT __stdcall CccQueryQueueCallStatInfo(USHORT hCcc, USHORT


&usSkillNum, SKILLID *pSkillID, DBCCC_QUEUE_CALL_STAT_INFO
*pdbQueueCallStatInfo);

hCcc

CccConnectToServer IN

usSkillNum

IN

pSkillID

ID IN

pdbQueueCallStatInfo

OUT

ICD_OK

10.49 CccRequestTraceWithCallNo

1.

CccApiInit

2.

SHORT __stdcall CccRequestTraceWithCallNo(USHORT hCcc, LPCTSTR lpCaller,


LPCTSTR lpCalled, UCHAR ucTraceType, UCHAR ucTraceMode, PUSHORT
pusWorkNo);

10-44

hCcc

CccConnectToServer
IN

lpCaller

IN

lpCalled

IN

01 (2007-12-30)

TopEng-
CTIAPI

10

ucTraceType

IN
enum CALL_TRACE_TYPE
{
TRACE_WITH_CALLER = 0,

TRACE_WITH_CALLED,

TRACE_WITH_CALLER_CALLED,

TRACE_WITH_TRUNKNO,

};

ucTraceMode

//
//
//
//

IN
enum CALL_TRACE_MODE
{
REQUEST_TRACE = 0, //

CANCEL_TRACE,
//

FORCE_TRACE,
//

};

pusWorkNo

OUT

ICD_OK

10.50 CccRequestMonitorInno

1.

CccApiInit

2.

SHORT __stdcall CccRequestMonitorInno(USHORT hCcc, USHORT &usNum, USHORT


*InnoId, USHORT usFlag);

01 (2007-12-30)

10-45

TopEng-
CTIAPI

10

hCcc

CccConnectToServer
IN

usNum

IN/OUT

InnoId

ID
ID IN/OUT

usFlag

IN enum
INNO_TRACE_MODE

ICD_OK

10-46

01 (2007-12-30)

TopEng-
CTIAPI

11

11

11.1 CccQueryTotalAgentAbstract
11.2 CccQueryTotalAgentAbstractEx
11.3 CccQueryTotalAgentAbstractWithVDN VDN
11.4 CccQueryCurrentUser
11.5 CccQueryUser
11.6 CccQueryAllUser
11.7 CccQueryTotalUser
11.8 CccQueryUserExtendInfo
11.9 CccModifyUserExtendInfo
11.10 CccQueryAgentStatus
11.11 CccQueryAgentStatusEx
11.12 CccQueryAgentStatusEx2
11.13 CccQueryAgentIdByPhoneNo
11.14 CccQueryAgentPhoneNo
11.15 CccQueryAgentStatusExWithVDN VDN
11.16 CccQueryAgentSkills
11.17 CccQueryAgentSkillsEx
11.18 CccQueryAgentSkillsWithVDN VDN
11.19 CccRequestCloseSomeAgentSkills
11.20 CccQueryAgentStatisticsInfo
01 (2007-12-30)

11-1

TopEng-
CTIAPI

11

11.21 CccQueryAgentIPAddress IP
11.22 CccGetAgentScore
11.23 CccNotifyBulletin
11.24 CccNotifyBulletinEx
11.25 CccSendMessage
11.26 CccSendMediaStream
11.27 CccQueryTotalWorkGroup
11.28 CccQueryWorkGroupName
11.29 CccQueryWorkGroupTree
11.30 CccQueryWorkGroupStatus
11.31 CccQueryIsMonitor
11.32 CccSetMaxRestAgentNum
11.33 CccQueryMaxRestAgentNum
11.34 CccQueryOnRestAgentNum
11.35 CccQueryWaitRestAgentNum
11.36 CccQueryAllowRestAgentNum
11.37 CccSetAgentAutoEnterIdle
11.38 CccAgentEnterIdle
11.39 CccAgentEnterWork
11.40 CccModifyUser
11.41 CccQueryAgentRestInfo
11.42 CccQueryAgentRestDetailedInfo
11.43 CccQueryMediaTypeOnAgent
11.44 CccQueryMediaServerByMediaType
11.45 CccQueryAgentLoginMediaServer
11.46 CccQueryConfigAgentBySkillID
11.47 CccSetAgentSkillEx
11.48 CccQueryAgentIPAddressEx IP
11.49 CccQueryAgentRestInfoWithVDN VDN
11.50 CccQueryAgentCfgInfo
11.51 CccQuerySelfCcInfo
11.52 CccChangeAgentStatus
11-2

01 (2007-12-30)

TopEng-
CTIAPI

11

11.53 CccRequestWriteFlowTrace
11.54 CccQueryBatchAgentAbstract
11.55 CccQueryUserEx
11.56 CccLogonWithAccount
11.57 CccQueryAgentIdWithAccount
11.58 CccQueryAllUserWorkNoWithAccount
11.59 CccQueryAgentStatusStatistic
11.60 CccAgentLoginQc
11.61 CccAgentLogoutQc

01 (2007-12-30)

11-3

TopEng-
CTIAPI

11

11.1 CccQueryTotalAgentAbstract

Agent

1.

CccApiInit

2.

USHORT __stdcall CccQueryTotalAgentAbstract(USHORT hCcc, USHORT


*pusAgentNum, DBCCC_AGENT_ABSTRACT *pdbAgentInfo);

hCcc

CccConnectToServer
IN

pusAgentNum

IN/OUT

pdbAgentInfo

DBCCC_AGENT_ABSTRACT
API

OUT

ICD_OK

MAX_CCC_NUM = 1500;
// CCC
DBCCC_AGENT_ABSTRACT Agent[MAX_CCC_NUM];
USHORT usAgentNum;
rc = CccQueryTotalAgentAbstract(m_usConnectID, &usAgentNum, Agent);

11.2 CccQueryTotalAgentAbstractEx

Agent

11-4

01 (2007-12-30)

TopEng-
CTIAPI

11

1.

CccApiInit

2.

USHORT __stdcall CccQueryTotalAgentAbstractEx (USHORT hCcc, USHORT


*pusAgentNum, DBCCC_AGENT_ABSTRACT * pdbAgentInfo );

hCcc

CccConnectToServer
IN

pusAgentNum

IN/OUT

pdbAgentInfo

DBCCC_AGENT_ABSTRACT

OUT

ICD_OK

MAX_CCC_NUM = 1500;
// CCC
DBCCC_AGENT_ABSTRACT Agent[MAX_CCC_NUM];
USHORT usAgentNum;
rc = CccQueryTotalAgentAbstractEx (m_usConnectID, &usAgentNum, Agent);

11.3 CccQueryTotalAgentAbstractWithVDN VDN

VDN Agent

1.

CccApiInit

2.

01 (2007-12-30)

11-5

TopEng-
CTIAPI

11

USHORT __stdcall CccQueryTotalAgentAbstractWithVDN(USHORT hCcc, VDNID


usVdnId, USHORT *pusAgentNum, DBCCC_AGENT_ABSTRACT *pdbAgentInfo );

hCcc

CccConnectToServer
IN

usVdnId

VDN IN/OUT

pusAgentNum

IN/OUT

pdbAgentInfo

DBCCC_AGENT_ABSTRACT
API

OUT

ICD_OK

MAX_CCC_NUM = 1500;
// CCC
VDNID usVdnId = 1;
DBCCC_AGENT_ABSTRACT Agent[MAX_CCC_NUM];
USHORT usAgentNum;
rc = CccQueryTotalAgentAbstract(m_usConnectID, usVdnId, &usAgentNum,
Agent);

11.4 CccQueryCurrentUser

API

USHORT CccLogon CccLogoff


USHORT

11-6

1.

CccApiInit

2.

01 (2007-12-30)

TopEng-
CTIAPI

11

SHORT __stdcall CccQueryCurrentUser (USHORT hCcc,


pUser);

DBCCC_USER_RECORD*

hCcc

CccConnectToServer
IN

pUser

DBCCC_USER_RECORD OUT

ICD_OK

DBCCC_USER_RECORD User;
memset(VOID *) &User, 0x0, sizeof(DBCCC_USER_RECORD);
rc = CccQueryCurrentUser(m_usConnectID, &User);
if ( rc == ICD_OK )
{
char tmpstr[100];
sprintf(tmpstr, " WorkNo %u, UserName %s, Password %s, Security %
lu",
User.usWorkNo,
User.szUserName,
User.szPassword,
User.ulSecurity);//
AfxMessageBox(tmpstr,MB_OK);
}

CccQueryUserCccQueryTotalUser

11.5 CccQueryUser

1.

CccApiInit

2.

01 (2007-12-30)

11-7

TopEng-
CTIAPI

11

USHORT __stdcall
pdbUserRecord )

CccQueryUser (USHORT hCcc, DBCCC_USER_RECORD*

hCcc

CccConnectToServer
IN

pdbUserRecord

DBCCC_USER_RECORD
usWorkNo
szPassword usSecurity
IN/OUT

ICD_OK

DBCCC_USER_RECORD User;
memset((VOID *) &User, 0x0, sizeof(DBCCC_USER_RECORD));
User.usWorkNo = m_usAgentNo;
rc = CccQueryUser(m_usConnectID, &User);
if ( rc == ICD_OK )
{
char tmpstr[100];
sprintf(tmpstr, " WorkNo %u, UserName %s, Password %s, Security %
lu",
User.usWorkNo,
User.szUserName,
User.szPassword,
User.ulSecurity);//
AfxMessageBox(tmpstr,MB_OK);
}

CccQueryUserCccQueryTotalUser

11.6 CccQueryAllUser

API JTAPI API

11-8

01 (2007-12-30)

TopEng-
CTIAPI

11

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccQueryAllUser(USHORT hCcc, LPDBCCC_USER_RECORD


lpUserRecord, USHORT *usTotalUser);

hCcc

CccConnectToServer IN

lpUserRecord

OUT

usTotalUser

OUT

ICD_OK

11.7 CccQueryTotalUser

1.

CccApiInit

2.

USHORT __stdcall
USHORT pWorkNo)

CccQueryTotalUser ( USHORT hCcc, USHORT *pUserNum,

hCcc

CccConnectToServer
IN

pUserNum

IN/OUT

01 (2007-12-30)

11-9

TopEng-
CTIAPI

11

pWorkNo

OUT

ICD_OK

USHORT wUserNum = 100;


USHORT wUserNo[100];
USHORT rc = CccQueryTotalUser(m_usConnectID, &wUserNum,
if ( rc == ICD_OK )
{
char tmpstr[255];
sprintf(tmpstr,"UserNum: %u",wUserNum);
for ( USHORT i =0; i<wUserNum;i++)
sprintf(tmpstr,"%s, %u",tmpstr,wUserNo[i]);
AfxMessageBox(tmpstr,MB_OK)
};

wUserNo);

11.8 CccQueryUserExtendInfo

1.

CccApiInit

2.

USHORT __stdcall CccQueryUserExtendInfo (USHORT hCcc, USHORT usWorkNo,


UCHAR pucInfo[RESERVED_SIZE]);

11-10

hCcc

CccConnectToServer IN

usWorkNo

IN

pucInfo

OUT

01 (2007-12-30)

TopEng-
CTIAPI

11

ICD_OK

UCHAR Info[RESERVED_SIZE];
USHORT rc = CccQueryUserExtendInfo (m_usConnectID,

m_usAgentNo, Info);

CccModifyUserExtendInfo

11.9 CccModifyUserExtendInfo

1.

CccApiInit

2.

USHORT __stdcall CccModifyUserExtendInfo (USHORT hCcc, USHORT usWorkNo,


UCHAR pucInfo[RESERVED_SIZE]);

hCcc

CccConnectToServer IN

usWorkNo

IN

pucInfo

IN

ICD_OK

UCHAR Info[RESERVED_SIZE];
USHORT rc = CccModifyUserExtendInfo (m_usConnectID,

01 (2007-12-30)

m_usAgentNo, Info);

11-11

TopEng-
CTIAPI

11

CccQueryUserExtendInfo

11.10 CccQueryAgentStatus

Agent Agent ACD


AgentID
Agent UIS

DBCCC_AGENT_INFO

1.

CccApiInit

2.

USHORT __stdcall
DBCCC_AGENT_INFO

CccQueryAgentStatus(USHORT hCcc, USHORT usAgenID,


*pdbAgentData );

hCcc

CccConnectToServer
IN

usAgentID

IDIN

pdbAgentData

DBCCC_AGENT_INFO
OUT

ICD_OK

DBCCC_AGENT_INFO Status;
rc = CccQueryAgentStatus(m_usConnectID, usAgentNo, &Status);

11-12

01 (2007-12-30)

TopEng-
CTIAPI

11

11.11 CccQueryAgentStatusEx

Agent Agent ACD


Agent ID
Agent UIS

DBCCC_AGENT_INFO_EX

1.

CccApiInit

2.

USHORT __stdcall CccQueryAgentStatusEx (USHORT hCcc, AGENTID &agentID,


DBCCC_AGENT_INFO_EX *lpAgentData);

hCcc

CccConnectToServer
IN

AgentID

IDIN

IpAgentData

DBCCC_AGENT_INFO_EX
OUT

ICD_OK

DBCCC_AGENT_INFO_EXStatus;
rc = CccQueryAgentStatusEx(m_usConnectID, usAgentNo, &Status);
//ICD3.0
typedef struct tagDBCCC_AGENT_INFO_EX
{
ULONGcb;
AGENT_STRUCT_EX Agent;//
USHORTszDeviceNo;//Agent
UCHARszPilotNbr[MAXLEN_PILOTNBR + 1];//Agent
USHORTusPrevState;//
//enum AGENT_STATE_20
ULONGulPrevStateTime;
//

01 (2007-12-30)

11-13

TopEng-
CTIAPI

11
USHORTusCurrentState;// enum AGENT_STATE_20
ULONGulCurrentStateTime; //
ULONGulLogonTime; //
USHORTusKeepNums;//
USHORTusAnswerNums;//
USHORTusConferenceNums;//
USHORTusCallOutNums;//
USHORTusTransferNums; //,
USHORTusTransferOutNums;//
USHORTusRedirectNums;//
USHORTusInterCallNums;//
USHORTusNoAnswerNums;
//
USHORTusBusyNums;//
USHORTusIdleTime;//
USHORTusRestNums;//
USHORTusRestOutNums;//
ULONGulRestTime;//
ULONGulRestOutTime;//
USHORTusAgentRelease; //
ULONGulTotalTalkIngTimes;//
CALLIDcallID[2];//
UCHARucTransferFlg;//
//enum TIMEOUT_PROCESS_STYLE
DEVICE_IDTransferDevice;//
UCHARucAgentType;//
} DBCCC_AGENT_INFO_EX, *LPDBCCC_AGENT_INFO_EX;

//

11.12 CccQueryAgentStatusEx2

1.

CccApiInit

2.

USHORT__stdcall CccQueryAgentStatusEx2(USHORT hCcc, USHORT


&usAgentNum,USHORT *pAgentID, UCHAR *pAgentStatusInfo);

11-14

hCcc

CccConnectToServer
IN

usAgentNum

IN/OUT

01 (2007-12-30)

TopEng-
CTIAPI

11

pAgentID

IN

pAgentStatusInfo

OUT

ICD_OK

11.13 CccQueryAgentIdByPhoneNo

PC Phone

1.

CccApiInit

2.

CccConnectToServer UIS

short __stdcall CccQueryAgentIdByPhoneNo(USHORT hCcc, LPCTSTR lpDN,


AGENTID *pAgentId);

hCcc

CccConnectToServer
IN

lpDN

IN

pAgentId

OUT

ICD_OK

11.14 CccQueryAgentPhoneNo

PC+Phone
01 (2007-12-30)

11-15

TopEng-
CTIAPI

11

1.

CccApiInit

2.

CccConnectToServer UIS

short __stdcall CccQueryAgentPhoneNo(USHORT hCcc, USHORT &usNums,


CCC_AGENT_PHONE *pAgentPhone);

hCcc

CccConnectToServer
IN

usNums

PC Phone IN/OUT

pAgentPhone

CCC_AGENT_PHONE

ICD_OK

11.15 CccQueryAgentStatusExWithVDN VDN

VDN Agent Agent ACD


AgentID
Agent UIS

DBCCC_AGENT_INFO_EX

1.

CccApiInit

2.

USHORT __stdcall CccQueryAgentStatusExWithVDN (USHORT hCcc, AGENTID


&agentID, VDNID usVdnId,DBCCC_AGENT_INFO_EX *lpAgentData);

11-16

01 (2007-12-30)

TopEng-
CTIAPI

11

hCcc

CccConnectToServer
IN

agentID

IN

usVdnId

VDN IN/OUT

lpAgentData

DBCCC_AGENT_INFO_EX
OUT

ICD_OK

11.16 CccQueryAgentSkills

1.

CccApiInit

2.

USHORT __stdcall CccQueryAgentSkills (USHORT hCcc, USHORT usAgentNo,


PUSHORT pusSkillNum, SKILL_STRUCT *pSkill );

hCcc

CccConnectToServer
IN

usAgentNo

IN

pusSkillNum

IN/OUT

pSkill

SKILL_STRUCT
OUT

01 (2007-12-30)

11-17

TopEng-
CTIAPI

11

ICD_OK

USHORT usSkillNum;
SKILL_STRUCT Skill[MAX_SKILL_NUM];
rc=CccQueryAgentSkills(m_usConnectID, usAgentNo, &usSkillNum, &Skill[0]);

11.17 CccQueryAgentSkillsEx

AGENT_SKILLS_EX

1.

CccApiInit

2.

USHORT __stdcall CccQueryAgentSkillsEx (USHORT hCcc, USHORT usAgentNo,


USHORT *pSkillNum, AGENT_SKILLS_EX *pAgentSkill );

hCcc

CccConnectToServer
IN

usAgentNo

IN

pSkillNum

IN/OUT

pAgentSkill

AGENT_SKILLS_EX
OUT

ICD_OK

USHORT usSkillNum;
AGENT_SKILLS_EX Skill[MAX_SKILL_NUM];
rc = CccQueryAgentSkillsEx(m_usConnectID, usAgentNo, &usSkillNum, &Skill
[0]);

11-18

01 (2007-12-30)

TopEng-
CTIAPI

11

11.18 CccQueryAgentSkillsWithVDN VDN

VDN

1.

CccApiInit

2.

USHORT __stdcall CccQueryAgentSkillsWithVDN (USHORT hCcc, USHORT


usAgentNo, VDNID usVdnId,PUSHORT pusSkillNum, SKILL_STRUCT *pSkill

);

hCcc

CccConnectToServer
IN

usAgentNo

IN

usVdnId

VDN IN/OUT

pusSkillNum

IN/OUT

pSkill

SKILL_STRUCT
OUT

ICD_OK

USHORT usSkillNum;
SKILL_STRUCT Skill[MAX_SKILL_NUM];
rc=CccQueryAgentSkillsWithVDN(m_usConnectID, usAgentNo, 1, &usSkillNum,
&Skill[0]);

01 (2007-12-30)

11-19

TopEng-
CTIAPI

11

11.19 CccRequestCloseSomeAgentSkills

1.

CccApiInit

2.

USHORT __stdcall CccRequestCloseSomeAgentSkills(USHORT hCcc, USHORT


usAgentNo, CHAR *pcSkills);

hCcc

CccConnectToServer
IN

usAgentNo

IN

pcSkills

Skill1Skill2Skilln

25KBIN
ASCII 13

ICD_OK

CHAR cSkill[255];
strcpy(cSkill, "180,Chinese");
usRc = CccRequestCloseSomeAgentSkills(m_usConnectID, usAgentNo, cSkill);

11-20

01 (2007-12-30)

TopEng-
CTIAPI

11

11.20 CccQueryAgentStatisticsInfo

Agent UIS

AGENT_STATISTICS_INFO

1.

CccApiInit

2.

SHORT __stdcall CccQueryAgentStatisticsInfo(USHORT hCcc, USHORT


usWorkNo, EVENT_TIME *pInfoDate, LPAGENT_STATISTICS_INFO pStatInfo);

hCcc

CccConnectToServer
IN

usWorkNo

IN

pInfoDate

IN

pStatInfo

AGENT_STATISTICS_INFO
OUT

ICD_OK

EVENT_TIME infoDate;
AGENT_STATISTICS_INFO status;
rc = CccQueryAgentStatisticsInfo(m_usConnectID, usAgentNo, &infoDate,
&status);

11.21 CccQueryAgentIPAddress IP

IP
01 (2007-12-30)

11-21

TopEng-
CTIAPI

11

1.

CccApiInit

2.

SHORT __stdcall CccQueryAgentIPAddress(USHORT hCcc, USHORT usWorkNo,


ULONG *pulIpAddress);

hCcc

CccConnectToServer IN

usWorkNo

IN

pulIpAddress

IP OUT

ICD_OK

ULONG ulIpAddress;
rc = CccQueryAgentIPAddress(m_usConnectID, usAgentNo, &ulIpAddress);

11.22 CccGetAgentScore

1.

CccApiInit

2.

USHORT __stdcall CccGetAgentScore (USHORT


AGENT_ANALY_INFO* pInfo);

11-22

hCcc, USHORT usWorkNo,

01 (2007-12-30)

TopEng-
CTIAPI

11

hCcc

CccConnectToServer
IN

usWorkNo

IN

pInfo

OUT

ICD_OK

CStringstrErrorInfo;
AGENT_ANALY_INFO * pInfo;
rc = CccGetAgentScore (m_usConnectID, m_usAgentNo, pInfo);
if (rc == ICD_OK)
{
strErrorInfo.Format(" (%d,%f),(%d,%f),(%d,%f),(%d,%f)",
(int) pInfo->usFirstAgentNo, pInfo->fFirstAgentScore,
(int) pInfo->usSecondAgentNo, pInfo->fSecondAgentScore,
(int) pInfo->usThirdAgentNo, pInfo->fThirdAgentScore,
pInfo->usSelfIndex,pInfo->fSelfScore);
AfxMessageBox(strErrorInfo, MB_OK);
}

11.23 CccNotifyBulletin

CCC_NOTIFY_BULLETIN_EVENT

1.

CccApiInit

2.

USHORT __stdcall CccNotifyBulletin(USHORT hCcc, UCHAR ucType, ULONG


ulParam, CHAR *pszParam);

01 (2007-12-30)

11-23

TopEng-
CTIAPI

11

hCcc

CccConnectToServer
IN

ucType

IN

ulParam

ULONG
CCC_NOTIFY_BULLETIN_ EVETN
0
IN

pszParam

\0 ucType
0 1
1KBIN

ICD_OK

CHAR cSkills[100];
strcpy(cSkills,"Chinese,180");
USHORT rc = CccNotifyBulletin(m_usConnectID, 1, strlen(cSkills),
cSkills);

CHAR cGroupName[100];
strcpy(cGroupName,"180 ");
USHORT rc = CccNotifyBulletin(m_usConnectID, 0, strlen(cGroupName),
cGroupName);

11.24 CccNotifyBulletinEx

CCC_NOTIFY_BULLETIN_EXPAND_EVENT

1.
11-24

CccApiInit

01 (2007-12-30)

TopEng-
CTIAPI

2.

11

SHORT __stdcall CccNotifyBulletinEx (USHORT hCcc, UCHAR ucType, CHAR


pszParam[1024], USHORT usSize, CHAR pcMsgBuff[]);

hCcc

CccConnectToServer
IN

ucType

IN
l

pszParam[1024]

\0 ucType
0 1
1KBIN

usSize

pcMsgBuff IN

pcMsgBuff

1024ByteIN

ICD_OK

11.25 CccSendMessage

1KB
CCC_MESSAGE_EVENT 1KB

1.

CccApiInit

2.

USHORT __stdcall CccSendMessage (USHORT hCcc, USHORT usWorkNo, USHORT


usSize, CHAR pcMsgBuff);

01 (2007-12-30)

11-25

TopEng-
CTIAPI

11

hCcc

CccConnectToServer IN

usWorkNo

IN

usSize

pcMsgBuff IN

pcMsgBuff

1024ByteIN

ICD_OK

CHARcMsg[1024];
strcpy(cMsg, "");
USHORT rc = CccSendMessage(m_usConnectID, usAgentNo, strlen(cMsg), cMsg);

11.26 CccSendMediaStream

1.

CccApiInit

2.

USHORT __stdcall CccSendMediaStream (USHORT hCcc,


usSize, CHAR *pMediaStreamInfo);

CALLID &callID, USHORT

hCcc

CccConnectToServer
IN

callID

IDIN

usSize

pMediaStreamInfo
IN

pMediaStreamInfo

11-26

IN

01 (2007-12-30)

TopEng-
CTIAPI

11

ICD_OK

CHAR cMsg[1024];
strcpy(cMsg, "");
USHORT usRc = CccSendMediaStream(m_usConnectID, callID, strlen(cMsg),
cMsg);

11.27 CccQueryTotalWorkGroup

1.

CccApiInit

2.

USHORT __stdcall CccQueryTotalWorkGroup (USHORT


*pusWorkGroupNum, WORKGROUP_INFO pcInfo[]);

hCcc,

USHORT

hCcc

CccConnectToServer
IN

pusWorkGroupNum

IN/OUT

pcInfo[]

OUT

ICD_OK

WORKGROUP_INFO Info[100];
USHORT usGroupNum;
USHORT usRc = CccQueryTotalWorkGroup(m_usConnectID, &usGroupNum, &Info
[0]);

01 (2007-12-30)

11-27

TopEng-
CTIAPI

11

11.28 CccQueryWorkGroupName

1.

CccApiInit

2.

USHORT __stdcall CccQueryWorkGroupName (USHORT hCcc, USHORT


usWorkGroupID, WORKGROUP_INFO *pcInfo);

hCcc

CccConnectToServer
IN

usWorkGroupID

IN

pcInfo

IN

ICD_OK

WORKGROUP_INFO Info;
USHORT rc = CccQueryWorkGroupName(m_usConnectID, usWorkGroupID, &Info);

11.29 CccQueryWorkGroupTree

11-28

1.

CccApiInit

2.

CccConnectToServer UIS

01 (2007-12-30)

TopEng-
CTIAPI

11

SHORT __stdcall CccQueryWorkGroupTree (USHORT hCcc, USHORT


*pusNodeCount,NODE_INFO *pdbWorkGroupTree);

hCcc

CccConnectToServer
IN

pusNodeCount

IN/
OUT

pdbWorkGroupTree

NODE_INFO
OUT

ICD_OK

MAX_NODE_NUM = 1500;
// CCC
NODE_INFO pdbWorkGroupTree[MAX_NODE_NUM];
USHORT usNodeCount 1000;
rc = CccQueryWorkGroupTree(m_usConnectID, & usNodeCount,
pdbWorkGroupTree);

11.30 CccQueryWorkGroupStatus

1.

CccApiInit

2.

USHORT __stdcall CccQueryWorkGroupStatus (USHORT hCcc, USHORT


usMonitorNo, USHORT*pusAgentNum, DBCCC_AGENT_WORKGROUP_INFO *pcInfo);

01 (2007-12-30)

11-29

TopEng-
CTIAPI

11

hCcc

CccConnectToServer
IN

usMonitorNo

IN

pusAgentNum

IN/OUT

pcInfo

OUT

ICD_OK

DBCCC_AGENT_WORKGROUP_INFO Info[100];
USHORT usAgentNum;
USHORT rc=CccQueryWorkGroupStatus(m_usConnectID, usMonitorNo,
&usAgentNum, &Info[0]);

11.31 CccQueryIsMonitor

1.

CccApiInit

2.

USHORT __stdcall CccQueryIsMonitor (USHORT hCcc, USHORT usWorkNo,


USHORT*pusIsMonitor);

11-30

hCcc

CccConnectToServer IN

usWorkNo

IN

01 (2007-12-30)

TopEng-
CTIAPI

11

pusIsMonitor

OUT
l

FALSE

TRUE

ICD_OK

11.32 CccSetMaxRestAgentNum

1.

CccApiInit

2.

SHORT __stdcall CccSetMaxRestAgentNum (USHORT hCcc, USHORT


usMaxRestAgentNum);

hCcc

CccConnectToServer IN

usMaxRestAgentNum

IN

ICD_OK

11.33 CccQueryMaxRestAgentNum

01 (2007-12-30)

11-31

TopEng-
CTIAPI

11

1.

CccApiInit

2.

USHORT __stdcall CccQueryMaxRestAgentNum (USHORT hCcc, USHORT


*pusMaxRestAgentNum);

hCcc

CccConnectToServer
IN

usMaxRestAgentNum

OUT

ICD_OK

11.34 CccQueryOnRestAgentNum

1.

CccApiInit

2.

USHORT __stdcall CccQueryOnRestAgentNum (USHORT hCcc, USHORT


*pusOnRestAgentNum);

11-32

hCcc

CccConnectToServer IN

pusOnRestAgent
Num

OUT

01 (2007-12-30)

TopEng-
CTIAPI

11

ICD_OK

11.35 CccQueryWaitRestAgentNum

1.

CccApiInit

2.

USHORT __stdcall CccQueryWaitRestAgentNum (USHORT hCcc, USHORT


*pusWaitRestAgentNum);

hCcc

CccConnectToServer
IN

pusWaitRestAgentNum

OUT

ICD_OK

11.36 CccQueryAllowRestAgentNum

1.

CccApiInit

2.

01 (2007-12-30)

11-33

TopEng-
CTIAPI

11

USHORT __stdcall CccQueryAllowRestAgentNum(USHORT hCcc, USHORT


*pusAllowRestAgentNum);

hCcc

CccConnectToServer
IN

pusAllowRestAgentNum

OUT

ICD_OK

11.37 CccSetAgentAutoEnterIdle

Idle
Work

CccAgentEnterIdle

1.

CccApiInit

2.

USHORT __stdcall CccSetAgentAutoEnterIdle (USHORT hCcc, USHORT usFlag);

11-34

hCcc

CccConnectToServer IN

01 (2007-12-30)

TopEng-
CTIAPI

11

usFlag

TRUE

FALSE

IN

ICD_OK

11.38 CccAgentEnterIdle

1.

CccApiInit

2.

3.

CccSetAgentAutoEnterIdle FALSE

4.

5.

CccAgentEnterIdle

USHORT __stdcall CccAgentEnterIdle (USHORT hCcc);

hCcc

CccConnectToServer
IN

ICD_OK

11.39 CccAgentEnterWork

01 (2007-12-30)

11-35

TopEng-
CTIAPI

11

1.

CccApiInit

2.

3.

CccSetAgentAutoEnterIdle True

4.

USHORT __stdcall CccAgentEnterWork (USHORT hCcc);

hCcc

CccConnectToServer
IN

ICD_OK

11.40 CccModifyUser

passwordsecurity level

1.

CccApiInit

2.

USHORT __stdcall
pdbUserRecord );

CccModifyUser ( USHORT hCcc, DBCCC_USER_ RECORD*

11-36

hCcc

CccConnectToServer IN

pdbUserRecord

DBCCC_USER_ RECORD
IN

01 (2007-12-30)

TopEng-
CTIAPI

11

ICD_OK

DBCCC_USER_RECORD User;
memset((VOID *) &User, 0x0, sizeof(DBCCC_USER_RECORD));
User.usWorkNo = m_usAgentNo;
strncpy(User.szPassword, m_strAgentPassword, DBCCC_MAXLEN_PASSWORD);
User.ulSecurity = m_dwSecurity;
WORD rc = CccModifyUser(m_usConnectID, &User);

11.41 CccQueryAgentRestInfo

1.

CccApiInit

2.

SHORT __stdcall CccQueryAgentRestInfo(USHORT hCcc, USHORT *pusMaxRestNum,


USHORT *pusOnRestNum, USHORT *pusWaitRestNum, USHORT *pusAllowRestNum);

hCcc

CccConnectToServer
IN

pusMaxRestNum

OUT

pusOnRestNum

OUT

pusWaitRestNum

OUT

pusAllowRestNum

OUT

ICD_OK

01 (2007-12-30)

11-37

TopEng-
CTIAPI

11

11.42 CccQueryAgentRestDetailedInfo

AGENT_REST_DETAIL

1.

CccApiInit

2.

SHORT __stdcall CccQueryAgentRestDetailedInfo(USHORT hCcc, VDNID usVdnId,


USHORT *pusOnRestNum, USHORT *pusAllowRestNum, USHORT *pusWaitRestNum,
USHORT* pusCount, AGENT_REST_DETAIL *pDetailInfo);

hCcc

CccConnectToServer
IN

usVdnId

VDNIDIN

pusOnRestNum

OUT

pusAllowRestNum

OUT

pusWaitRestNum

OUT

pusCount

OUT

pDetailInfo

AGENT_REST_DETAIL
OUT

ICD_OK

11-38

01 (2007-12-30)

TopEng-
CTIAPI

11

11.43 CccQueryMediaTypeOnAgent

1.

CccApiInit

2.

USHORT __stdcall CccQueryMediaTypeOnAgent(USHORT hCcc, USHORT usAgentNo,


USHORT *pusMediaNum, USHORT *pusMediaType);

hCcc

CccConnectToServer IN

usAgentNo

IDIN

pusMediaNum

IN/OUT

pusMediaType

OUT

ICD_OK

11.44 CccQueryMediaServerByMediaType

1.

CccApiInit

2.

01 (2007-12-30)

11-39

TopEng-
CTIAPI

11

USHORT __stdcall CccQueryMediaServerByMediaType(USHORT hCcc, USHORT


usMediaType, USHORT *pusServerNum, UCHAR *pucMediaServer);

hCcc

CccConnectToServer IN

usMediaType

IN

pusServerNum

OUT

pucMediaServer

OUT

ICD_OK

11.45 CccQueryAgentLoginMediaServer

1.

CccApiInit

2.

USHORT __stdcall CccQueryAgentLoginMediaServer(USHORT hCcc, USHORT


usWorkNo, USHORT &usServerNum, UCHAR *pLogin);

11-40

hCcc

CccConnectToServer
IN

usWorkNo

IN

usServerNum

IN/
OUT

01 (2007-12-30)

TopEng-
CTIAPI

11

pLogin

OUT
l

ICD_OK

11.46 CccQueryConfigAgentBySkillID

1.

CccApiInit

2.

USHORT __stdcall CccQueryConfigAgentBySkillID(USHORT hCcc, USHORT


usSkillID, USHORT &usNum, USHORT *pusWorkNo);

hCcc

CccConnectToServer IN

usSkillID

SKILLIDIN

usNum

OUT

pusWorkNo

OUT

ICD_OK

01 (2007-12-30)

11-41

TopEng-
CTIAPI

11

11.47 CccSetAgentSkillEx

1.

CccApiInit

2.

USHORT __stdcall CccSetAgentSkillEx(USHORT hCcc, USHORT usWorkNo, USHORT


&usSkillNum, SKILLID *pSkillID, UCHAR *pbIsLogined);

hCcc

CccConnectToServer IN

usWorkNo

IN

usSkillNum

IN/OUT

pSkillID

IN

pbIsLogined

0 1 OUT

ICD_OK

11.48 CccQueryAgentIPAddressEx IP

IP

11-42

1.

CccApiInit

2.

01 (2007-12-30)

TopEng-
CTIAPI

11

USHORT __stdcall CccQueryAgentIPAddressEx(USHORT hCcc, USHORT usAgentNum,


USHOR* pAgentIDs,ULONG* pIPs);

hCcc

CccConnectToServer IN

usAgentNum

IN/OUT

pAgentIDs

IN

pIPs

IP IP pAgentIDs
pIPs OUT

ICD_OK

11.49 CccQueryAgentRestInfoWithVDN VDN

VDN

1.

CccApiInit

2.

USHORT __stdcall CccQueryAgentRestInfoWithVDN(USHORT hCcc, VDNID


usVdnId,USHORT *pusMaxRestNum, USHORT *pusOnRestNum, USHORT
*pusWaitRestNum, USHORT *pusAllowRestNum)

hCcc

CccConnectToServer
IN

usVdnId

VDNIDIN

pusMaxRestNum

OUT

01 (2007-12-30)

11-43

TopEng-
CTIAPI

11

pusOnRestNum

OUT

pusWaitRestNum

OUT

pusAllowRestNum

OUT

ICD_OK

11.50 CccQueryAgentCfgInfo

1.

CccApiInit

2.

USHORT__stdcall CccQueryAgentCfgInfo(USHORT hCcc, USHORT usWorkNo,


USHORT &usSize, char *pCfgInfo);

hCcc

CccConnectToServer IN

usWorkNo

IN

usSize

IN/OUT

pCfgInfo

AGENT_CFG_INFO OUT

ICD_OK

11-44

01 (2007-12-30)

TopEng-
CTIAPI

11

11.51 CccQuerySelfCcInfo

ID VDNID

1.

CccApiInit

2.

SHORT __stdcall CccQuerySelfCcInfo (USHORT hCcc, USHORT *pusSize,


DBCCC_CUR_CC_INFO *pCcInfo);

hCcc

CccConnectToServer IN

pusSize

IN/OUT

pCcInfo

pInfo

struct DBCCC_CUR_CC_INFO
{
USHORTusSubCcNo; //
IDUSHORTusVdnId; // ID
};

ICD_OK
DBCCC_CUR_CC_INFO

ICD_OK_LESS_BUFFER_SIZE
pCcInfo ICD_OK

11.52 CccChangeAgentStatus

01 (2007-12-30)

11-45

TopEng-
CTIAPI

11

1.

CccApiInit

2.

SHORT __stdcall CccChangeAgentStatus(USHORT hCcc, USHORT


usStatusReq,UCHAR ucFlag,ULONG ulparam)

hCcc

CccConnectToServer
IN

usStatusReq

enum
CHANGE_AGENT_STATUS_REQ_STA
TE IN
enum CHANGE_AGENT_STATUS_REQ_STATE
{
STATUS_REQ_BUSY = 1,//,
STATUS_REQ_WORK = 2,//
STATUS_REQ_REST = 4,//
STATUS_REQ_STUDY= 8, //
};

ucFlag

IN
ulParam

usStatusReq = 4

usStatusReq = 2
enum
WORK_SUBSTATE

IN
Enum WORK_SUBSTATE
{
WORKSS_DEFAULT, //

WORKSS_ADJUST,
//
}

ICD_OK

11-46

01 (2007-12-30)

TopEng-
CTIAPI

11

11.53 CccRequestWriteFlowTrace

SHORT __stdcall CccRequestWriteFlowTrace(USHORT hCcc, LPFLOWTRACE_ITEM


pItem);

hCcc

CccConnectToServer IN

pItem

OUT

ICD_OK

11.54 CccQueryBatchAgentAbstract

API JTAPI API

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccQueryBatchAgentAbstract(USHORT hCcc, USHORT


usBeginAgentID, USHORT usEndAgentID,USHORT
*AgentNum,DBCCC_AGENT_ABSTRACT* lpAgentInfo );

01 (2007-12-30)

11-47

TopEng-
CTIAPI

11

hCcc

CccConnectToServer
IN

usBeginAgentID

IN

usEndAgentID

IN

AgentNum

OUT

lpAgentInfo

DBCCC_AGENT_ABSTRACT

OUT

ICD_OK

11.55 CccQueryUserEx

1.

CccApiInit

2.

SHORT __stdcall CccQueryUserEx (USHORT hCcc,DBCCC_USER_RECORD_EX *


pdbUserRecord )

11-48

hCcc

CccConnectToServer IN

pdbUserRecord

DBCCC_USER_RECORD usWorkNo
szPassword usSecurity IN/OUT

01 (2007-12-30)

TopEng-
CTIAPI

11

ICD_OK

11.56 CccLogonWithAccount

1.

CccApiInit

2.

SHORT __stdcall CccLogonWithAccount(USHORT hCcc, CHAR *pUserAccount, CHAR


*pAccountPwd, DBCCC_USER_RECORD_EX *pdbUserRecord, char* szErrorInfo,
PUSHORT pcLength);

hCcc

CccConnectToServer IN

pUserAccount

IN

pAccountPwd

IN

pdbUserRecord

DBCCC_USER_RECORD_EX
usWorkNo szPassword
IN/OUT

szErrorInfo

IN/OUT

pcLength

IN/OUT

ICD_OK

11.57 CccQueryAgentIdWithAccount

01 (2007-12-30)

11-49

TopEng-
CTIAPI

11

1.

CccApiInit

2.

SHORT __stdcall CccQueryAgentIdWithAccount(USHORT hCcc, CHAR


*pUserAccount, AGENTID &agentId);

hCcc

CccConnectToServer IN

pUserAccount

IN

agentId

OUT

ICD_OK

11.58 CccQueryAllUserWorkNoWithAccount

VDN

1.

CccApiInit

2.

SHORT __stdcall CccQueryAllUserWorkNoWithAccount(USHORT hCcc, VDNID


usVdnID, USHORT *usTotalUserNum, WORKNO_WITH_ACCOUNT* lpAgentAccount);

11-50

hCcc

CccConnectToServer IN

usVdnID

VDNIDIN

usTotalUserNum

IN/OUT

01 (2007-12-30)

TopEng-
CTIAPI

11

lpAgentAccount

IN/OUT

ICD_OK

11.59 CccQueryAgentStatusStatistic

1.

CccApiInit

2.

3.

SHORT __stdcall CccQueryAgentStatusStatistic(USHORT hCcc, USHORT


usAgentCount,USHORT *pAgentNo,USHORT usStatus,USHORT*
pusAgentNum,OP_STATISTIC_INFO *lpOpInfo);

hCcc

CccConnectToServer
IN

usAgentCount

2000 0
IN

pAgentNo

IN

01 (2007-12-30)

11-51

TopEng-
CTIAPI

11

usStatus

IN
enum AGENT_OP_STATUS
//

{
ops_null=0, //
ops_study, //
ops_idle, //
ops_busy, //
ops_active, //
ops_wait_answer,//

ops_wait_connect,//

ops_wait_alerting = 9,//

ops_tri_talk = 10,//
ops_hungup = 13,//

ops_work_begin = 14,
ops_adjust =
ops_work_begin, //
ops_work_end = 16,
ops_monitor_supervisor_other=2
0,
ops_playvoice = 22,//
ops_rest = 26, //(
)
ops_work,
///

ops_monitor_insert_call, //

ops_mute =29,
ops_hold,
OPS_END,
};

pusAgentNum

11-52

OUT

01 (2007-12-30)

TopEng-
CTIAPI

11

lpOpInfo

OUT

struct OP_STATISTIC_INFO
{
USHORT usWorkNo;
//
,
ULONG ulOpCount; //

ULONG ulTotalTime; //

ULONG ulCurrentTime; //

};

ICD_OK

11.60 CccAgentLoginQc

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

SHORT

__stdcall CccAgentLoginQc (USHORT hCcc, AGENTID AgentID)

hCcc

CccConnectToServer
IN

AgentID

Agent IDIN

01 (2007-12-30)

11-53

TopEng-
CTIAPI

11

ICD_OK

11.61 CccAgentLogoutQc

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccAgentLoginQc

SHORT

__stdcall CccAgentLogoutQc (USHORT hCcc, AGENTID AgentID)

hCcc

CccConnectToServer
IN

AgentID

Agent IDIN

ICD_OK

11-54

01 (2007-12-30)

TopEng-
CTIAPI

12

12

12.1 CccQueryCallIDOnAgent
12.2 CccQueryCallIDOnAgentEx
12.3 CccQueryCalls
12.4 CccGetCallSkillDescription
12.5 CccQueryCallInfo
12.6 CccQueryCallInfoEx
12.7 CccQueryCallInfoEx2
12.8 CccQueryCallInfoEx3
12.9 CccQueryCallStatisticsInfo
12.10 CccQueryCallStatisticsInfoExt
12.11 CccQueryCallStatisticsInfoEx2
12.12 CccQueryCallStatisticsInfoByMediaType
12.13 CccSetCallData
12.14 CccSetCallDataEx
12.15 CccQueryCallData
12.16 CccQueryCallDataEx
12.17 CccSetCallKeyID ID
12.18 CccSetCallKeyIDEx ID
12.19 CccSetUserHistoryData
12.20 CccQueryUserHistoryData
01 (2007-12-30)

12-1

TopEng-
CTIAPI

12

12.21 CccQueryUserClassName
12.22 CccQueryUserClassNameWithVDN
12.23 CccSetUserClass
12.24 CccSetUserClassEx
12.25 CccQueryUserInfo
12.26 CccQueryUserInfoEx
12.27 CccWriteUserInfo
12.28 CccWriteUserInfoEx
12.29 CccModifyUserInfo
12.30 CccModifyUserInfoEx
12.31 CccDeleteUserInfo
12.32 CccDeleteUserInfoEx
12.33 CccQueryCallTime
12.34 CccQueryPrivateCall
12.35 CccQueryPrivateKeepedCall
12.36 CccQueryVDNSummaryInfo VDN
12.37 CccQueryVdnInfo VDN
12.38 CccQueryUVIDOnAgent
12.39 CccSetVisitData
12.40 CccQueryVisitData
12.41 CccQueryCallIDByDeviceType
12.42 CccQueryUVIDByCallID CALLID UVID
12.43 CccQuerySysCallStatInfo VDN 24
12.44 CccSetCallParam
12.45 CccSetFuncUnitExit
12.46 CccQueryFuncUnitExit
12.47 CccQueryOriginalCalled
12.48 CccQueryBaseCallInfo
12.49 CccQueryCallStatByInno
12.50 CccQueryCallStatByInnoWithVDN VDN
12.51 CccQueryCallTrace
12.52 CccQueryQueueCallStatInfoEx
12-2

01 (2007-12-30)

TopEng-
CTIAPI

12

12.53 CccQueryCallStateEx
12.54 CccQueryCustomerGroupCallStateEx
12.55 CccAddOutBoundCampain
12.56 CccDelOutBoundCampain
12.57 CccPushCustomersToOutBound
12.58 CccDeleteCustomersToOutBound
12.59 CccSetOutBoundHoliday
12.60 CccDeleteOutBoundHoliday
12.61 CccQueryOutBoundResult
12.62 CccRequestOBSPauseTask
12.63 CccRequestOBSResumeTask
12.64 CccRequestPowerOutboundEx4
12.65 CccMessageEvent

01 (2007-12-30)

12-3

TopEng-
CTIAPI

12

12.1 CccQueryCallIDOnAgent

CCC_ANSWER_REQUEST_EVENT

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

WORD __stdcall
*pCallID );

CccQueryCallIDOnAgent (WORD hCcc,WORD AgentNo, CALLID

hCcc

CccConnectToServer
IN

AgentNo

IN

pCallID

OUT

rc = CccQueryCallIDOnAgent( m_usConnectID , usAgentNo, &m_CallID);

12.2 CccQueryCallIDOnAgentEx

CALLID
CCC_ANSWER_REQUEST_EVENT CCC_ANSWER_REQUEST_EX_EVENT

12-4

1.

CccApiInit

2.

01 (2007-12-30)

TopEng-
CTIAPI

12

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswerEx

USHORT __stdcall CccQueryCallIDOnAgentEx (USHORT hCcc, USHORT usWorkNo,


USHORT *pusCallNum, CALLID *pCallID );

hCcc

CccConnectToServer
IN

usWorkNo

IN

pusCallNum

OUT

pCallID

OUT

ICD_OK

12.3 CccQueryCalls

1.

CccApiInit

2.

CccConnectToServer UIS

short __stdcall CccQueryCalls(USHORT hCcc, USHORT &usNums, USHORT


*pusSize, DBCCC_BASE_CALL_INFO *pCallID);

hCcc

CccConnectToServer
IN

01 (2007-12-30)

12-5

TopEng-
CTIAPI

12

usNums

IN/OUT

pusSize

IN/OUT

pCallID

DBCCC_BASE_CALL_INFO
OUT

ICD_OK

12.4 CccGetCallSkillDescription

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccQueryCallIDOnAgent CallID

WORD __stdcall CccGetCallSkillDescription (WORD hCcc, CALLID *pCallID,


CHAR* pSkillDescription, WORD* psize );

12-6

hCcc

CccConnectToServer
IN

pCallID

IN

01 (2007-12-30)

TopEng-
CTIAPI

12

pSkillDescription

180,ChineseOUT

pSize

IN/OUT

CHAR cBuffer[MAX_SKILL_STRING_LENGTH + 1];


WORD usLength = MAX_SKILL_STRING_LENGTH;
rc = CccGetCallSkillDescription (m_usConnectID,&m_CallID, cBuffer,
&usLength);

CccQueryCallIDOnAgent

12.5 CccQueryCallInfo

ANI DNIS

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccQueryCallIDOnAgent CallID

7.

CccQueryCallInfo

WORD __stdcall CccQueryCallInfo (WORD hCcc, CALLID *pCallID,


DBCCC_CALL_INFO *pCallInfo);

hCcc

CccConnectToServer
IN

01 (2007-12-30)

12-7

TopEng-
CTIAPI

12

pCallID

CallID
CallID
CALLID_NO_USE
IN

pCallInfo

DBCCC_CALL_INFO
OUT

DBCCC_CALL_INFO

DBCCC_DEVICE_STRUCT

usPartyNum

30*1024MAX_MESSAGE_SIZE

CHAR cBuffer[32767];
rc = CccQueryCallInfo( m_usConnectID , &m_CallID, (DBCCC_CALL_INFO *)
&cBuffer[0]);
if(rc == CCS_OK)
{
DBCCC_CALL_INFO*pInfo = (DBCCC_CALL_INFO *) cBuffer;
}

CccQueryCallIDOnAgent

12.6 CccQueryCallInfoEx

ANI DNIS
DBCCC_CALL_INFO_EX

12-8

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccQueryCallIDOnAgent CallID

01 (2007-12-30)

TopEng-
CTIAPI

7.

12

CccQueryCallInfoEx

USHORT __stdcall CccQueryCallInfoEx (USHORT hCcc, CALLID *pcallID,


USHORT *pusSize, DBCCC_CALL_INFO_EX *pdbCallApp);

hCcc

CccConnectToServer
IN

pcallID

CallID
CallID
CALLID_NO_USE
IN

pusSize

IN/OUT

pdbCallApp

DBCCC_CALL_INFO_EX
OUT

ICD_OK

USHORT usSize;
CHAR cBuffer[32767];
rc = CccQueryCallInfoEx(m_usConnectID, &m_CallID, &usSize,
(DBCCC_CALL_INFO_EX *)&cBuffer[0]);
if(rc == ICD_OK)
{
DBCCC_CALL_INFO_EX*pInfo = (DBCCC_CALL_INFO_EX *) cBuffer;
// ...
}

12.7 CccQueryCallInfoEx2

1.

CccApiInit

2.

01 (2007-12-30)

12-9

TopEng-
CTIAPI

12

SHORT __stdcall CccQueryCallInfoEx2(USHORT hCcc, CALLID *pcallID, USHORT


*pusSize,DBCCC_CALL_INFO_EX2 *pdbCallApp)

hCcc

CccConnectToServer
IN

pcallID

CallID
CallID
CALLID_NO_USE
IN

pusSize

IN/OUT

pdbCallApp

DBCCC_CALL_INFO_EX2
OUT

ICD_OK

12.8 CccQueryCallInfoEx3

1.

CccApiInit

2.

SHORT __stdcall CccQueryCallInfoEx3 (USHORT hCcc, CALLID *pCallID, USHORT


*pusSize,DBCCC_CALL_INFO_EX3 *pdbCallApp);

12-10

01 (2007-12-30)

TopEng-
CTIAPI

12

hCcc

CccConnectToServer
IN

pCallID

CallID
CallID
CALLID_NO_USE
IN

pusSize

IN/OUT

pdbCallApp

DBCCC_CALL_INFO_EX3
OUT

ICD_OK

12.9 CccQueryCallStatisticsInfo

1.

CccApiInit

2.

USHORT __stdcall CccQueryCallStatisticsInfo (USHORT hCcc,


DBCCC_CALL_STATIC_INFO *pdbCallInfo)

hCcc

CccConnectToServer IN

pdbCallInfo

DBCCC_CALL_STATIC_INFO
OUT

01 (2007-12-30)

12-11

TopEng-
CTIAPI

12

ICD_OK

DBCCC_CALL_STATIC_INFOInfo;
USHORTrc = CccQueryCallStatisticsInfo(m_usConnectID,&Info);

12.10 CccQueryCallStatisticsInfoExt

1.

CccApiInit

2.

USHORT __stdcall CccQueryCallStatisticsInfoExt(USHORT hCcc, USHORT


usServiceNo, DBCCC_CALL_STATIC_INFO * pCallInfo);

hCcc

CccConnectToServer
IN

usServiceNo

IN

pCallInfo

DBCCC_CALL_STATIC_INFO
OUT

ICD_OK

DBCCC_CALL_STATIC_INFO Info;
USHORT rc = CccQueryCallStatisticsInfo(m_usConnectID, 1, &Info);

12-12

01 (2007-12-30)

TopEng-
CTIAPI

12

12.11 CccQueryCallStatisticsInfoEx2

24

1.

CccApiInit

2.

SHORT __stdcall CccQueryCallStatisticsInfoEx2(USHORT hCcc, USHORT


usServiceNo,
DBCCC_CALL_STATIC_INFO_EX *pCallInfo);

hCcc

CccConnectToServer
IN

usServiceNo

IN

pCallInfo

DBCCC_CALL_STATIC_INFO_EX
OUT

ICD_OK

DBCCC_CALL_STATIC_INFO_EX Info;
USHORT rc = CccQueryCallStatisticsInfoEx2 (m_usConnectID, 1, &Info);

12.12 CccQueryCallStatisticsInfoByMediaType

24

01 (2007-12-30)

12-13

TopEng-
CTIAPI

12

1.

CccApiInit

2.

USHORT __stdcall CccQueryCallStatisticsInfoByMediaType(USHORT hCcc,


USHORT usMediaType, USHORT *pusSize, UCHAR *pBuffer);

hCcc

CccConnectToServer IN

usMediaType

IN

pusSize

IN/OUT

pBuffer

DBCCC_CALL_STATIC_INFO
OUT

ICD_OK

DBCCC_CALL_STATIC_INFOInfo;
USHORTusRc = CccQueryCallStatisticsInfo(m_usConnectID, MEDIA_TYPE_CHAT,
sizeof(Info), &Info);

12.13 CccSetCallData

API IVR Agent IVR


API ACD
Agent Agent CccQueryCallData
MAX_CALLDATA_LEN

12-14

1.

CccApiInit

2.

01 (2007-12-30)

TopEng-
CTIAPI

12

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccQueryCallIDOnAgent CallID

WORD __stdcall CccSetCallData (WORD hCcc, CALLID CallID,


WORD usSize);

LPVOID lpData,

hCcc

CccConnectToServer
IN

CallID

CALLID
IN

lpData

OUT

usSize

IN/OUT
l

CHAR cBuffer[MAX_CALLDATA_LEN];
strcpy(cBuffer, );
WORD usLength = strlen(cBuffer);
WORD rc = CccSetCallData( m_usConnectID ,

m_CallID, cBuffer, usLength);

12.14 CccSetCallDataEx

API IVR Agent IVR


API ACD
Agent Agent CccQueryCallData
MAX_CALLDATA_LENCccSetCallData Ex CccSetCallData
CALLID

1.

CccApiInit

01 (2007-12-30)

12-15

TopEng-
CTIAPI

12

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccQuerySkillTree

5.

6.

CccRequestAnswer

7.

CccQueryCallIDOnAgent CallID

USHORT __stdcall CccSetCallDataEx (USHORT hCcc, CALLID *pCallID, LPVOID


lpData, USHORT usSize);

hCcc

CccConnectToServer
IN

pCallID

CALLID
IN

lpData

OUT

usSize

IN

ICD_OK

CHAR cBuffer[MAX_CALLDATA_LEN];
strcpy(cBuffer, );
USHORT usLength = strlen(cBuffer);
USHORT rc = CccSetCallDataEx( m_usConnectID ,
usLength);

pCallID, cBuffer,

12.15 CccQueryCallData

CccSetCallData

API IVR CccSetCallData


ACD Agent Agent
API
12-16

01 (2007-12-30)

TopEng-
CTIAPI

12

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccQuerySkillTree

5.

6.

CccRequestAnswer

7.

CccQueryCallIDOnAgent CallID

WORD __stdcall CccQueryCallData (WORD


lpData, WORD *usSize);

hCcc, CALLID CallID, LPVOID

hCcc

CccConnectToServer
IN

CallID

CALLID
IN

lpData
usSize

OUT
IN/OUT
l

CHAR cBuffer[MAX_CALLDATA_LEN + 1];


WORD usLength = MAX_CALLDATA_LEN;
WORD rc = CccQueryCallData( m_usConnectID ,
&usLength);

m_CallID, cBuffer,

12.16 CccQueryCallDataEx

CccSetCallData

API IVR CccSetCallData


ACD Agent Agent
API CccQueryCallDataEx CccQueryCallData
CALLID
01 (2007-12-30)

12-17

TopEng-
CTIAPI

12

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccQuerySkillTree

5.

6.

CccRequestAnswer

7.

CccQueryCallIDOnAgent CallID

USHORT __stdcall CccQueryCallDataEx (USHORT


LPVOID lpData, PUSHORT pcSize);

hCcc, CALLID *pCallID,

hCcc

CccConnectToServer IN

pCallID

CALLID IN

lpData

OUT

pcSize

IN/OUT
l

ICD_OK

CHARcBuffer[MAX_CALLDATA_LEN + 1];
USHORTusLength = MAX_CALLDATA_LEN;
USHORT rc = CccQueryCallDataEx( m_usConnectID ,
&usLength);

m_pCallID, cBuffer,

12.17 CccSetCallKeyID ID

API IVR Key API


Key Agent
Key Key
Key Key
12-18

01 (2007-12-30)

TopEng-
CTIAPI

12

Key

1.

CccApiInit

2.

WORD __stdcall CccSetCallKeyID (WORD

hCcc, CALLID CallID, CHAR *pcKey);

hCcc

CccConnectToServer IN

CallID

IN

pcKey

IN

CHAR cKey[255];
m_strKey = "11010869231490";
strcpy(cKey, m_strKey);
rc = CccSetCallKeyID( m_usConnectID ,

m_CallID, cKey);

12.18 CccSetCallKeyIDEx ID

API IVR Key API


Key Agent
Key Key
Key KeyCccSetCallKeyIDEx CccSetCallKeyID
CALLID
Key

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccQueryCallIDOnAgent CallID

01 (2007-12-30)

12-19

TopEng-
CTIAPI

12

USHORT __stdcall CccSetCallKeyIDEx (USHORT


*pKey);

hCcc, CALLID* pCallID, CHAR

hCcc

CccConnectToServer IN

pCallID

IN

pKey

IN

ICD_OK

CHAR cKey[255];
m_strKey = "11010869231490";
strcpy(cKey, m_strKey);
rc = CccSetCallKeyIDEx( m_usConnectID ,

m_pCallID, cKey);

12.19 CccSetUserHistoryData

API
Key Key
ID Key
MAXLEN_EXTEN

1.

CccApiInit

2.

WORD
__stdcall CccSetUserHistoryData (WORD
DBCCC_HISTORY_ITEM* pHistory );

hCcc, CHAR *pKey,

12-20

hCcc

CccConnectToServer IN

01 (2007-12-30)

TopEng-
CTIAPI

12

pKey

Key IN

pHistory

IN

CHARcKey[MAXLEN_EXTEN + 1];
strncpy(cKey, m_strKey, MAXLEN_EXTEN);
WORD rc = CccSetCallKeyID( m_usConnectID , m_CallID, cKey);
if(rc != CCS_OK)
return;
DBCCC_HISTORY_ITEM History;
History.usID = 114;
strncpy(History.pcData, "", MAX_HISTORY_LENGTH);
rc = CccSetUserHistoryData( m_usConnectID , cKey, &History);

12.20 CccQueryUserHistoryData

CccSetUserHistoryData

API CCS
Key Key ID
Key Key
MAXLEN_EXTEN

1.

CccApiInit

2.

WORD __stdcall CccQueryUserHistoryData (WORD hCcc, CHAR


usID,WORD* pusNum,DBCCC_HISTORY_ITEM* pHistory );

*pKey, WORD

hCcc

CccConnectToServer
IN

pKey

Key IN

usID

0xFFFF
usID IN

01 (2007-12-30)

12-21

TopEng-
CTIAPI

12

pusNum

OUT

pHistory

1024
NULL OUT

CHAR cKey[MAXLEN_EXTEN + 1];


strncpy(cKey, pKeyID->m_strKey, MAXLEN_EXTEN);
rc = CccSetCallKeyID( m_usConnectID , m_CallID, cKey);
if(rc != CCS_OK)
return;
DBCCC_HISTORY_ITEM History[MAX_HISTORY_ITEMS];
WORD usID = 114;
WORD usNum;
rc = CccQueryUserHistoryData(m_usConnectID, cKey, usID, &usNum, &History
[0]);

12.21 CccQueryUserClassName

1.

CccApiInit

2.

WORD__stdcall CccQueryUserClassName(WORD hCcc, WORD* pClassNum,


CLASS_STRUCT Class[]);

12-22

hCcc

CccConnectToServer
IN

pClassNum

IN/OUT

Class[]

OUT

01 (2007-12-30)

TopEng-
CTIAPI

12

WORD wClassNum;
CLASS_STRUCT Class[MAX_CLASS_NUM];
WORD rc = CccQueryUserClassName(m_usConnectID, &wClassNum, &Class[0]);

12.22 CccQueryUserClassNameWithVDN

VDN

1.

CccApiInit

2.

USHORT__stdcall CccQueryUserClassNameWithVDN (USHORT hCcc, VDNID


usVdnID, USHORT* pClassNum, CLASS_STRUCT pclsClass[]);

hCcc

CccConnectToServer
IN

usVdnID

VDN IN

pClassNum

IN/OUT

pclsClass[]

OUT

ICD_OK

USHORT wClassNum;
VDNID usVdnID = 1;
CLASS_STRUCT Class[MAX_CLASS_NUM];
USHORT rc = CccQueryUserClassNameWithVDN(m_usConnectID, &wClassNum, &Class
[0]);

01 (2007-12-30)

12-23

TopEng-
CTIAPI

12

12.23 CccSetUserClass

1.

CccApiInit

2.

USHORT __stdcall CccSetUserClass (USHORT


*pcKey, UCHAR ucClass);

hCcc, CALLID callId, CHAR

hCcc

CccConnectToServer IN

CallId

IN

pcKey

IN

ucClass

-10
IN

ICD_OK

12.24 CccSetUserClassEx

CccSetUserClassEx CccSetUserClass CALLID

12-24

1.

CccApiInit

2.

01 (2007-12-30)

TopEng-
CTIAPI

12

USHORT __stdcall CccSetUserClass (USHORT


*pcKey, UCHAR ucClass);

hCcc, CALLID* pCallId, CHAR

hCcc

CccConnectToServer IN

pCallId

IN

pcKey

IN

ucClass

-1
0 IN

ICD_OK

12.25 CccQueryUserInfo

1.

CccApiInit

2.

USHORT __stdcall CccQueryUserInfo (USHORT


CUSTOMER_INFO_STRUCT* pInfo);

hCcc, CHAR*pcANI,

hCcc

CccConnectToServer
IN

pcANI

IN

pInfo

01 (2007-12-30)

OUT

12-25

TopEng-
CTIAPI

12

ICD_OK

CUSTOMER_INFO_STRUCT User;
USHORT rc = CccQueryUserInfo(m_usConnectID, "6633828", &User);

12.26 CccQueryUserInfoEx

CUSTOMER_INFO_STRUCT_EX

1.

CccApiInit

2.

USHORT __stdcall CccQueryUserInfoEx(USHORT


CUSTOMER_INFO_STRUCT_EX* pInfo);

hCcc, CHAR*pcANI,

hCcc

CccConnectToServer
IN

pcANI

IN

pInfo

OUT

ICD_OK

CUSTOMER_INFO_STRUCT_EX User;
USHORT rc = CccQueryUserInfoEx(m_usConnectID, "6633828", &User);

12-26

01 (2007-12-30)

TopEng-
CTIAPI

12

12.27 CccWriteUserInfo

1.

CccApiInit

2.

USHORT__stdcall CccWriteUserInfo (USHORT hCcc, CUSTOMER_INFO_ STRUCT*


pInfo);

hCcc

CccConnectToServer IN

pInfo

IN

ICD_OK

strncpy(User.cKey,m_strKey, MAXLEN_EXTEN);
strncpy(User.cClass, m_strClass, MAX_CLASS_NAME_LENGTH);
strncpy(User.cName,m_strName,MAX_PEOPLE_NAME_LENGTH);
strncpy(User.cLanguage,m_strLanguage,MAX_LANGUAGE_LENGTH);
strncpy(User.cCompany,m_strCompany,MAX_COMPANY_LENGTH);
strncpy(User.cAddress,m_strAddress,MAX_ADDRESS_LENGTH);
strncpy(User.cArea,m_strArea,MAX_AREA_LENGTH);
strncpy(User.cDescription,m_strDescription,MAX_DESCRIPTION_LENGTH);
strncpy(User.cSerialNo,m_strFlowNo, MAX_SERIALNO_LENGTH);
strncpy(User.cSkills,m_strSkills,MAX_DESCRIPTION_LENGTH);
User.usWorkNo = m_usWorkNo;
rc = CccWriteUserInfo(m_usConnectID, &User);

12.28 CccWriteUserInfoEx

01 (2007-12-30)

12-27

TopEng-
CTIAPI

12

CUSTOMER_INFO_STRUCT_EX

1.

CccApiInit

2.

USHORT__stdcall CccWriteUserInfoEx (USHORT


CUSTOMER_INFO_STRUCT_EX* pInfo);

hCcc,

hCcc

CccConnectToServer
IN

pInfo

IN

ICD_OK

strncpy(User.cKey,m_strKey, MAXLEN_EXTEN);
strncpy(User.cClass, m_strClass, MAX_CLASS_NAME_LENGTH);
strncpy(User.cName,m_strName,MAX_PEOPLE_NAME_LENGTH);
strncpy(User.cLanguage,m_strLanguage,MAX_LANGUAGE_LENGTH);
strncpy(User.cCompany,m_strCompany,MAX_COMPANY_LENGTH);
strncpy(User.cAddress,m_strAddress,MAX_ADDRESS_LENGTH);
strncpy(User.cArea,m_strArea,MAX_AREA_LENGTH);
strncpy(User.cDescription,m_strDescription,MAX_DESCRIPTION_LENGTH);
strncpy(User.cSerialNo,m_strFlowNo, MAX_SERIALNO_LENGTH);
strncpy(User.cSkills,m_strSkills,MAX_DESCRIPTION_LENGTH);
User.usWorkNo = m_usWorkNo;
rc = CccWriteUserInfoEx(m_usConnectID, &User);

12.29 CccModifyUserInfo

12-28

1.

CccApiInit

2.

01 (2007-12-30)

TopEng-
CTIAPI

12

USHORT __stdcall CccModifyUserInfo (USHORT


pInfo);

hCcc, CUSTOMER_INFO_STRUCT*

hCcc

CccConnectToServer IN

pInfo

IN
NULL

ICD_OK

strncpy(User.cKey,m_strKey, MAXLEN_EXTEN);
strncpy(User.cClass, m_strClass,MAX_CLASS_NAME_LENGTH);
USHORT rc = CccModifyUserInfo(m_usConnectID, &User);

12.30 CccModifyUserInfoEx

CUSTOMER_INFO_STRUCT_EX

1.

CccApiInit

2.

USHORT __stdcall CccModifyUserInfoEx (USHORT


CUSTOMER_INFO_STRUCT_EX* pInfo);

hCcc,

hCcc

CccConnectToServer IN

pInfo

IN
NULL

01 (2007-12-30)

12-29

TopEng-
CTIAPI

12

ICD_OK

strncpy(User.cKey,m_strKey, MAXLEN_EXTEN);
strncpy(User.cClass, m_strClass,MAX_CLASS_NAME_LENGTH);
USHORT rc = CccModifyUserInfoEx(m_usConnectID, &User);

12.31 CccDeleteUserInfo

1.

CccApiInit

2.

USHORT __stdcall

CccDeleteUserInfo (USHORT

hCcc, CHAR *pcANI);

hCcc

CccConnectToServer
IN

pcANI

IN

ICD_OK

USHORT usRc = CccDeleteUserInfo(m_usConnectID, "6633828");

12.32 CccDeleteUserInfoEx

CUSTOMER_INFO_STRUCT_EX
12-30

01 (2007-12-30)

TopEng-
CTIAPI

12

1.

CccApiInit

2.

USHORT __stdcall

CccDeleteUserInfoEx (USHORT

hCcc, CHAR *pcANI);

hCcc

CccConnectToServer IN

pcANI

IN

ICD_OK

USHORT usRc = CccDeleteUserInfoEx(m_usConnectID, "6633828");

12.33 CccQueryCallTime

CCC_RESOURCES_UNAVAIL

1.

CccApiInit

2.

3.

USHORT __stdcall CccQueryCallTime( USHORT hCcc, CALLID* pCallID, CHAR


*pCallBeginTime, CHAR *pCallEndTime);

hCcc

CccConnectToServer IN

pCallID

IN

01 (2007-12-30)

12-31

TopEng-
CTIAPI

12

pCallBeginTime

YYYY-MM-DD HH:MM:SS
OUT

pCallEndTime

YYYY-MM-DD HH:MM:SS
OUT

ICD_OK

12.34 CccQueryPrivateCall

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccQueryPrivateCall

USHORT __stdcall CccQueryPrivateCall(USHORT hCcc, USHORT usWorkNo,


USHORT* pusCallNum, CALLID *pCallID );

hCcc

CccConnectToServer IN

usWorkNo

IN

pusCallNum

IN/OUT

pCallID

CALLID OUT

ICD_OK
12-32

01 (2007-12-30)

TopEng-
CTIAPI

12

USHORT usCallNum = 10;


CALLID callID[10];
USHORT usRc=CccQueryPrivateCall(m_usConnectID, m_usWorkNo, &usCallNum,
callID);

12.35 CccQueryPrivateKeepedCall

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

5.

CccRequestAnswer

6.

CccRequestHold

7.

CccQueryPrivateKeepedCall

USHORT __stdcall CccQueryPrivateKeepedCall (USHORT hCcc, USHORT usWorkNo,


USHORT* pusCallNum, KEEPINDEX *pIndexCall );

hCcc

CccConnectToServer
IN

usWorkNo

IN

pusCallNum

OUT

pIndexCall

KEEPINDEX
OUT

ICD_OK

USHORT CallNum;
KEEPINDEX KeepIndex;
USHORT usRc=CccQueryPrivateKeepedCall(m_usConnectID, m_usWorkNo,
&CallNum, KeepIndex);

01 (2007-12-30)

12-33

TopEng-
CTIAPI

12

12.36 CccQueryVDNSummaryInfo VDN

VDN VDN VDN


VDN VDN

1.

CccApiInit

2.

USHORT __stdcall CccQueryVDNSummaryInfo(USHORT hCcc, USHORT *pusVdnNum,


VDN_INFO *lpVdnInfo );

hCcc

CccConnectToServer IN

pusVdnNum

VDN IN/OUT

lpVdnInfo

OUT

ICD_OK

12.37 CccQueryVdnInfo VDN

VDN VDN VDN


VDN VDN

12-34

1.

CccApiInit

2.

01 (2007-12-30)

TopEng-
CTIAPI

12

USHORT __stdcall CccQueryVdnInfo(USHORT hCcc, USHORT *pusVdnNum, VDN_INFO


*lpVdnInfo );

hCcc

CccConnectToServer IN

pusVdnNum

VDN IN/OUT

lpVdnInfo

OUT

ICD_OK

12.38 CccQueryUVIDOnAgent

1.

CccApiInit

2.

USHORT __stdcall CccQueryUVIDOnAgent(USHORT hCcc, USHORT usAgentNo, UVID


*pVisitID );

hCcc

CccConnectToServer
IN

usAgentNo

IN

pVisitID

VisitID
OUT

ICD_OK
01 (2007-12-30)

12-35

TopEng-
CTIAPI

12

12.39 CccSetVisitData

API IVR Agent IVR


API ACD
Agent Agent CccQueryVisitData
MAX_VISIT_DATA_LEN

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccQuerySkillTree

5.

6.

CccRequestAnswerEx

7.

CccQueryUVIDOnAgent UVID

USHORT __stdcall CccSetVisitData(USHORT hCcc, UVID ulVisitID,


lpData, USHORT usSize );

LPVOID

hCcc

CccConnectToServer IN

ulVisitID

UVIDIN

lpData

IN

usSize

IN

ICD_OK

12-36

01 (2007-12-30)

TopEng-
CTIAPI

12

12.40 CccQueryVisitData

CccSetVisitData

API IVR CccSetVisitData


ACD
API

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

CccQuerySkillTree

5.

6.

CccRequestAnswerEx

7.

CccQueryVisitIDOnAgent UVID

USHORT __stdcall CccQueryVisitData(USHORT hCcc, UVID ulVisitID, LPVOID


lpData, USHORT *pusSize );

hCcc

CccConnectToServer
IN

ulVisitID

UVIDIN

lpData

OUT

pusSize

IN/OUT
l

ICD_OK
01 (2007-12-30)

12-37

TopEng-
CTIAPI

12

12.41 CccQueryCallIDByDeviceType

1.

CccApiInit

2.

SHORT __stdcall CccQueryCallIDByDeviceType(USHORT hCcc, int iDeviceType,


USHORT &usCallNum, LPCALLID pCallID);

hCcc

CccConnectToServer IN

iDeviceType

IN

usCallNum

OUT

pCallID

CALLID OUT

ICD_OK

12.42 CccQueryUVIDByCallID CALLID UVID

CALLID UVID

1.

CccApiInit

2.

SHORT __stdcall CccQueryUVIDByCallID (USHORT hCcc, CALLID callID, UVID


*pulUVID);

12-38

01 (2007-12-30)

TopEng-
CTIAPI

12

hCcc

CccConnectToServer
IN

callID

IN

pulUVID

OUT

ICD_OK

12.43 CccQuerySysCallStatInfo VDN 24

API VDN 24

1.

CccApiInit

2.

USHORT __stdcall CccQuerySysCallStatInfo(USHORT hCcc,


USHORT *pusCallStatNum, SYS_CALL_STAT *pSysCallStat);

VDNID usVdnID,

hCcc

CccConnectToServer IN

usVdnID

VDN IN

pusCallStatNum

IN/OUT

pSysCallStat

OUT

ICD_OK
01 (2007-12-30)

12-39

TopEng-
CTIAPI

12

12.44 CccSetCallParam

1.

CccApiInit

2.

SHORT __stdcall CccSetCallParam (USHORT hCcc, CALLID &callID, UCHAR


ucFlag, DBCCC_CALL_PARAM &stCallParam);

hCcc

CccConnectToServer IN

callID

IN

ucFlag

IN

stCallParam

DBCCC_CALL_PARAM OUT

ICD_OK

12.45 CccSetFuncUnitExit

1.

CccApiInit

2.

SHORT __stdcall CccSetFuncUnitExit(USHORT hCcc, CALLID &callID, USHORT


usExitValue);

12-40

01 (2007-12-30)

TopEng-
CTIAPI

12

hCcc

CccConnectToServer IN

callID

IN

usExitValue

IN

ICD_OK

12.46 CccQueryFuncUnitExit

1.

CccApiInit

2.

SHORT __stdcall CccQueryFuncUnitExit(USHORT hCcc, CALLID &callID, USHORT


*pusExitValue);

hCcc

CccConnectToServer IN

callID

IN

pusExitValue

OUT

ICD_OK

12.47 CccQueryOriginalCalled

01 (2007-12-30)

12-41

TopEng-
CTIAPI

12

1.

CccApiInit

2.

SHORT __stdcall CccQueryOriginalCalled(USHORT hCcc, CALLID callId, UCHAR


pOrgCalled[MAXLEN_EXTEN + 1])

hCcc

CccConnectToServer
IN

callId

IN

pOrgCalled

OUT

ICD_OK

12.48 CccQueryBaseCallInfo

1.

CccApiInit

2.

SHORT __stdcall CccQueryBaseCallInfo(USHORT hCcc,CALLID *pcallID, USHORT


*pusSize,DBCCC_BASE_CALL_INFO_EX *pdbCallApp)

12-42

hCcc

CccConnectToServer IN

callID

IN

01 (2007-12-30)

TopEng-
CTIAPI

12

pusSize

IN/OUT

pdbCallApp

OUT

ICD_OK

12.49 CccQueryCallStatByInno

1.

CccApiInit

2.

SHORT __stdcall CccQueryCallStatByInno (USHORT hCcc, USHORT usInnoNum,


USHORT *pusInnoID, INNO_CALL_STAT_INFO *pInnoStat);

hCcc

CccConnectToServer
IN

usInnoNum

IN
0

pusInnoID

IN

01 (2007-12-30)

12-43

TopEng-
CTIAPI

12

pInnoStat

OUT
struct INNO_CALL_STAT_INFO
{
ULONG ulAllCallCount;
//

ULONG ulIvrCallCount;
// IVR

ULONG ulAgentCallCount; //

ULONG ulQueueCallCount; //

ULONG ulLongestWaitTime //

ULONG ulPreserv[4];
//

};

ICD_OK

USHORT pDevID[3];
USHORT usDevNum = sizeof(pDevID) / sizeof(USHORT);
INNO_CALL_STAT_INFO pInnoStat = new INNO_CALL_STAT_INFO [usDevNum];

12.50 CccQueryCallStatByInnoWithVDN VDN

VDN

1.

CccApiInit

2.

SHORT __stdcall CccQueryCallStatByInnoWithVDN (USHORT hCcc, USHORT usVDN,


USHORT usInnoNum, USHORT *pusInnoID, INNO_CALL_STAT_INFO *pInnoStat);

12-44

01 (2007-12-30)

TopEng-
CTIAPI

12

hCcc

CccConnectToServer
IN

usVDN

VDN IN

usInnoNum

IN
0

pusInnoID

IN

pInnoStat

OUT
struct INNO_CALL_STAT_INFO
{
ULONG ulAllCallCount;
//

ULONG ulIvrCallCount;
// IVR

ULONG ulAgentCallCount; //

ULONG ulQueueCallCount; //

ULONG ulLongestWaitTime //

ULONG ulPreserv[4];
//

};

ICD_OK

12.51 CccQueryCallTrace

1.

CccApiInit

2.

SHORT __stdcall CccQueryCallTrace(USHORT hCcc, CALLID *pCallID, USHORT


*pusCount, CALL_DEVICE_TRACE *pCallTrace);

01 (2007-12-30)

12-45

TopEng-
CTIAPI

12

hCcc

CccConnectToServer IN

pCallID

IN

pusCount

IN/OUT

pCallTrace

CALL_DEVICE_TRACE OUT

ICD_OK

12.52 CccQueryQueueCallStatInfoEx

1.

CccApiInit

2.

SHORT __stdcall CccQueryQueueCallStatInfoEx(USHORT hCcc, USHORT


&usSkillNum, SKILLID *pSkillID, ULONG &ulStatStartTime,
DBCCC_QUEUE_CALL_STAT_INFO_EX *pdbQueueCallStatInfoEx);

12-46

hCcc

CccConnectToServer IN

usSkillNum

IN/OUT

pSkillID

IN

ulStatStartTim
e

IN

01 (2007-12-30)

TopEng-
CTIAPI

12

pdbQueueCall
StatInfoEx

IN/OUT

ICD_OK

12.53 CccQueryCallStateEx

1.

CccApiInit

2.

SHORT __stdcall CccQueryCallStateEx(USHORT hCcc, char* pStartTime, char*


pEndTime, USHORT &usSkillQueueID, CALLSTATE_EX_STRUCT*
pCallStateExStruct, USHORT* usCount, USHORT& usExpiredEAP, USHORT&
usLowExpiredEAP, USHORT& usRefWaitAnsTime);

hCcc

CccConnectToServer IN

pStartTime

IN

pEndTime

IN

usSkillQueueI
D

IN

pCallStateExSt
ruct

OUT

usCount

OUT

usExpiredEAP

OUT

usLowExpired
EAP

OUT

usRefWaitAns
Time

OUT

01 (2007-12-30)

12-47

TopEng-
CTIAPI

12

ICD_OK

12.54 CccQueryCustomerGroupCallStateEx

1.

CccApiInit

2.

SHORT __stdcall CccQueryCustomerGroupCallStateEx (USHORT hCcc, char


*pStartTime, char * pEndTime, USHORT usCustGroupID, CALLSTATE_EX_STRUCT*
pCallStateByCGStruct, USHORT *pusCount, USHORT *pusExpiredEAP, USHORT
*pusLowExpiredEAP, USHORT *pusRefWaitAnsTime);

hCcc

CccConnectToServer
IN

pStartTime

IN

pEndTime

IN

usCustGroupID

IN

pCallStateByCGStruct
pusCount

12-48

OUT

OUT

pusExpiredEAP

OUT

pusLowExpiredEAP

OUT

pusRefWaitAnsTime

OUT

01 (2007-12-30)

TopEng-
CTIAPI

12

ICD_OK

12.55 CccAddOutBoundCampain

1.

CccApiInit

2.

SHORT__stdcall CccAddOutBoundCampain(USHORT hccc, USHORT


usCampainNum,OUTBOUND_CAMPAIN_STRUCT * pCampain)

hCcc

CccConnectToServer
IN

usCampainNum

Campain
IN(
1
)

pCampain

campain

OUTBOUND_CAMPAIN_
STRUCT IN

ICD_OK

12.56 CccDelOutBoundCampain

01 (2007-12-30)

12-49

TopEng-
CTIAPI

12

1.

CccApiInit

2.

3.

CccAddOutBoundCampain

SHORT__stdcall CccDelOutBoundCampain(USHORT hCcc,UCHAR * pCampainID);

hCcc

CccConnectToServer
IN

pCampainID

campain ID
IN
31\0
(,
)

ICD_OK

12.57 CccPushCustomersToOutBound

1.

CccApiInit

2.

3.

CccAddOutBoundCampain

SHORT __stdcall CccPushCustomersToOutBound (USHORT hCcc, USHORT


&usCustomerNum,OUTBOUND_CUSTOMER_STRUCT * pData)

12-50

01 (2007-12-30)

TopEng-
CTIAPI

12

hCcc

CccConnectToServer
IN

usCustomerNum

IN/OUT

20
API
usCustomerNum

pData

OUTBOUND_CUSTOMER
_STRUCT
IN/OUT API
pData
API

usCustomerNum
pData

ICD_OK

12.58 CccDeleteCustomersToOutBound

1.

CccApiInit

2.

3.

CccAddOutBoundCampain

4.

CccPushCustomersToOutBound

SHORT __stdcall CccDeleteCustomersToOutBound (USHORT hccc, USHORT


&usCustomerNum, OUTBOUND_CUSTOMERID_STRUCT * pData);

01 (2007-12-30)

12-51

TopEng-
CTIAPI

12

hCcc

CccConnectToServer
IN

usCustomerNum

IN/out

20
API
usCustomerNum

pData

OUTBOUND_CUSTOMER
ID_STRUCT
IN/OUT
API
pData
API

usCustomerNumpData

ICD_OK

12.59 CccSetOutBoundHoliday

1.
12-52

CccApiInit

01 (2007-12-30)

TopEng-
CTIAPI

12

2.

3.

CccAddOutBoundCampain

SHORT__stdcall CccSetOutBoundHoliday (USHORT hccc, CHAR *pCampainID ,


CHAR*pHoliday)

hCcc

CccConnectToServer
IN

pCampainID

ID IN

pHoliday

yyyymmdd~yyyymmdd~yy
yymmdd.
~
200
1800

ICD_OK

12.60 CccDeleteOutBoundHoliday

1.

CccApiInit

2.

3.

CccAddOutBoundCampain

4.

CccSetOutBoundHoliday

SHORT__stdcall CccDeleteOutBoundHoliday (USHORT hccc, CHAR *pCampainID ,


CHAR* pHoliday)

01 (2007-12-30)

12-53

TopEng-
CTIAPI

12

hCcc

CccConnectToServer
IN

pCampainID

ID IN

Holiday

yyyymmdd~yyyymmdd~yy
yymmdd.
~
200

ICD_OK

12.61 CccQueryOutBoundResult

1.

CccApiInit

2.

3.

CccAddOutBoundCampain

4.

CccPushCustomersToOutBound

SHORT__stdcall CccQueryOutBoundResult (USHORT hccc, CHAR


*pCampainID ,CHAR * UniqueID ,ULONG &ulState ,ULONG &ulResult ,
PhoneNumber)

CHAR *

12-54

hCcc

CccConnectToServer
IN

pCampainID

ID IN

01 (2007-12-30)

TopEng-
CTIAPI

12

UniqueID

ID IN

ulState

ulResult

3 OUT

Out
ulState = 0 ,

PhoneNumber

(OUT)
25 \0

ICD_OK

12.62 CccRequestOBSPauseTask

CTI

1.

CccApiInit

2.

3.

CccAddOutBoundCampain

4.

CccPushCustomersToOutBound

SHORT __stdcall CccRequestOBSPauseTask(USHORT


*pcServiceID);

01 (2007-12-30)

hCcc, ULONG ulTaskID, CHAR

12-55

TopEng-
CTIAPI

12

hCcc

CccConnectToServer
IN

pCampainID

ID IN

ICD_OK

12.63 CccRequestOBSResumeTask

1.

CccApiInit

2.

3.

CccRequestOBSPauseTask

SHORT __stdcall CccRequestOBSResumeTask(USHORT hCcc, ULONG ulTaskID, CHAR


* pcServiceID);

hCcc

CccConnectToServer
IN

pCampainID

ID IN

ICD_OK

12-56

01 (2007-12-30)

TopEng-
CTIAPI

12

12.64 CccRequestPowerOutboundEx4

UIS CTI SERVER API


CccRequestPowerOutbound ,

1.

CccApiInit

2.

USHORT __stdcall CccRequestPowerOutboundEx4 (USHORT hCcc, ULONG ulTaskID,


POWER_OUTBOUND_STRUCT_EX4 *pOutbound);

hCcc

CccConnectToServer
IN

ulTaskID

IN

pOutbound

IN

ICD_OK

12.65 CccMessageEvent

1.

CccApiInit

2.

3.

CccAddOutBoundCampain

01 (2007-12-30)

12-57

TopEng-
CTIAPI

12

4.

CccPushCustomersToOutBound

sCampainID

UniqueID

ID IN

ulResult

PhoneNumber

25
\0

~\0

ICD_OK

12-58

01 (2007-12-30)

TopEng-
CTIAPI

13

13

13.1 CccQueryAbandonedCall
13.2 CccRegisterOutbound
13.3 CccRequestPreviewCallOut
13.4 CccRequestPowerOutbound
13.5 CccRequestPowerOutboundEx
13.6 CccRequestPowerOutboundEx2

01 (2007-12-30)

13-1

TopEng-
CTIAPI

13

13.1 CccQueryAbandonedCall

1.

CccApiInit

2.

USHORT __stdcall CccQueryAbandonedCall (USHORT hCcc,USHORTusAgentNo,


PRE_OUTBOUND_STRUCT *pOutbound);

hCcc

CccConnectToServer
IN

usAgentNo

IN

pOutbound

OUT

ICD_OK

PRE_OUTBOUND_STRUCT Outbound;
USHORT usRc = CccQueryAbandonedCall(m_usConnectID, m_usAgentNo,
&Outbound);

13.2 CccRegisterOutbound

13-2

1.

CccApiInit

2.

01 (2007-12-30)

TopEng-
CTIAPI

13

USHORT __stdcall
*pOutbound);

CccRegisterOutbound (USHORT hCcc,POWER_OUTBOUND_STRUCT

hCcc

CccConnectToServer
IN

pOutbound

OUT

ICD_OK

POWER_OUTBOUND_STRUCT Outbound;
USHORTrc = CccRegisterOutbound(m_usConnectID, &Outbound);

13.3 CccRequestPreviewCallOut

ICD_OK
CccGetEvent CCC_MAKECALL_RESPONSE_EVENT
API
API

1.

CccApiInit

2.

USHORT__stdcall
ulCtrlID);

CccRequestPreviewCallOut(USHORT hCcc,CHAR*pCLD,ULONG

hCcc

CccConnectToServer IN

pCLD

IN

01 (2007-12-30)

13-3

TopEng-
CTIAPI

13

ulCtrlID

ID CTI SERVER
ID CTI SERVER
IN

ICD_OK

13.4 CccRequestPowerOutbound

CCC_OUTBOUND_RESULT_EVENT

1.

CccApiInit

2.

USHORT __stdcall CccRequestPowerOutbound (USHORT hCcc, ULONG ulTaskID,


POWER_OUTBOUND_STRUCT *pOutbound);

hCcc

CccConnectToServer
IN

ulTaskID

IN

pOutbound

IN

ICD_OK

//
InstallEventCallBackProc(EventProc);

13-4

01 (2007-12-30)

TopEng-
CTIAPI

13

POWER_OUTBOUND_STRUCT Outbound;
ULONG ulTaskID = 0x12345678;
USHORT rc = CccRequestPowerOutbound(m_usConnectID,ulTaskID,&Outbound);
typedefstruct tagOUTBOUND_RESULT_STRUCT
DBCCC_EVENT_HEAD Head;
{
ULONG ulTaskID;
USHORT ucStatus;
POWER_OUTBOUND_STRUCTP ower;
}OUTBOUND_RESULT_STRUCT, *LPOUTBOUND_RESULT_STRUCT;
//
void __stdcall EventProc(SHORT usEventType, void *szEvent, USHORT usSize)
LPOUTBOUND_RESULT_STRUCT pResult = NULL;
switch(usEventType)
{
case CCC_OUTBOUND_RESULT_EVENT:
ASSERT(usSize == sizeof(OUTBOUND_RESULT_STRUCT));
if(usSize != sizeof(OUTBOUND_RESULT_STRUCT))
return;
pResult = (LPOUTBOUND_RESULT_STRUCT) szEvent;
if(pResult->ulTaskID == 0)
if(pResult->ucStatus == ICD_OK)
m_iBookSuccessNum ++;
else
m_iBookFailNum ++;
//....
}

13.5 CccRequestPowerOutboundEx

UIS CTI SERVER API


CccRequestPowerOutbound

1.

CccApiInit

2.

USHORT __stdcall CccRequestPowerOutboundEx (USHORT hCcc, ULONG ulTaskID,


ULONG ulIndex, POWER_OUTBOUND_STRUCT *pOutbound);

hCcc

CccConnectToServer
IN

ulTaskID

IN

ulIndex

IN

01 (2007-12-30)

13-5

TopEng-
CTIAPI

13

pOutbound

IN

ICD_OK

13.6 CccRequestPowerOutboundEx2

UIS CTI SERVER API


CccRequestPowerOutbound

1.

CccApiInit

2.

USHORT __stdcall CccRequestPowerOutboundEx2 (USHORT hCcc, ULONG ulTaskID,


POWER_OUTBOUND_STRUCT_EX2 *pOutbound);

hCcc

CccConnectToServer
IN

ulTaskID

IN

pOutbound

IN

ICD_OK

13-6

01 (2007-12-30)

TopEng-
CTIAPI

14 WECC

14

WECC

WECC
14.1 CccAgentStartConvoy
14.2 CccAgentStopConvoy
14.3 CccAgentPushPage
14.4 CccAgentStartChat
14.5 CccAgentStopChat
14.6 CccAgentSetOption
14.7 CccAgentGetOption
14.8 CccAgentSetData
14.9 CccAgentGetData
14.10 CccAgentSetCoopMsg
14.11 CccQueryConferenceInfo
14.12 CccQueryConferenceInfoEx
14.13 CccQueryBusyConferenceInfoEx
14.14 CccRequestConference
14.15 CccReleaseConference
14.16 CccAddDeviceToConference
14.17 CccRemoveDeviceFromConference
14.18 CccChangeDeviceModeInConference
14.19 CccProlongConference
14.20 CccPlayVoiceToConference
01 (2007-12-30)

14-1

TopEng-
CTIAPI

14 WECC

14.21 CccStopVoiceToConference

14-2

01 (2007-12-30)

TopEng-
CTIAPI

14 WECC

14.1 CccAgentStartConvoy

1.

CccApiInit

2.

3.

CccAgentStartConvoy

SHORT __stdcall CccAgentStartConvoy(USHORT hCcc, CALLID callId,


*pszTitle, char *pszPMSURL, char *pszURL);

char

hCcc

CccConnectToServer
IN

callId

IN

pszTitle

IN

pszPMSURL

IN

pszURL

URLIN

ICD_OK

14.2 CccAgentStopConvoy

1.

CccApiInit

2.

3.

CccAgentStartConvoy

01 (2007-12-30)

14-3

TopEng-
CTIAPI

14 WECC

SHORT __stdcall CccAgentStopConvoy(USHORT hCcc);

hCcc

CccConnectToServer
IN

ICD_OK

14.3 CccAgentPushPage

1.

CccApiInit

2.

3.

CccAgentStartConvoy

SHORT __stdcall

CccAgentPushPage(USHORT hCcc, char *pszURL);

hCcc

CccConnectToServer
IN

pszURL

URLIN

ICD_OK

14-4

01 (2007-12-30)

TopEng-
CTIAPI

14 WECC

14.4 CccAgentStartChat

1.

CccApiInit

2.

SHORT __stdcall CccAgentStartChat(USHORT hCcc, CALLID callId);

hCcc

CccConnectToServer
IN

callId

IN

ICD_OK

14.5 CccAgentStopChat

1.

CccApiInit

2.

3.

CccAgentStopChat

SHORT __stdcall CccAgentStopChat(USHORT hCcc);

01 (2007-12-30)

14-5

TopEng-
CTIAPI

14 WECC

hCcc

CccConnectToServer IN

ICD_OK

14.6 CccAgentSetOption

1.

CccApiInit

2.

SHORT __stdcall CccAgentSetOption(USHORT hCcc, WECC_OPTION &weccOption);

hCcc

CccConnectToServer
IN

weccOption

WECC IN
typedef struct tagWECC_OPTION{
USHORT usConvoyDirection; //
01
USHORT usConvoyMode;
//
01
USHORT usWFSMode; //0
12
USHORT usPMSMode; //0
1
}WECC_OPTION, *LPWECC_OPTION;//WECC

ICD_OK
14-6

01 (2007-12-30)

TopEng-
CTIAPI

14 WECC

14.7 CccAgentGetOption

1.

CccApiInit

2.

SHORT __stdcall CccAgentGetOption(USHORT hCcc, WECC_OPTION *pweccOption);

hCcc

CccConnectToServer IN

pweccOption

WECC IN
typedef struct tagWECC_OPTION{
USHORT usConvoyDirection; //0
1
USHORT usConvoyMode;
//0
1
USHORT usWFSMode; //01
2
USHORT usPMSMode; //01

}WECC_OPTION, *LPWECC_OPTION;//WECC

ICD_OK

14.8 CccAgentSetData

WVC

1.

CccApiInit

2.

01 (2007-12-30)

14-7

TopEng-
CTIAPI

14 WECC

USHORT __stdcall CccAgentSetData(USHORT hCcc,char *pszData);

hCcc

CccConnectToServer
IN

pszData

IN

ICD_OK

14.9 CccAgentGetData

1.

CccApiInit

2.

SHORT __stdcall CccAgentGetData(USHORT hCcc, BOOL bIsWFS, BOOL bIsPMS,


char *pszData);

hCcc

CccConnectToServer IN

bIsWFS

01IN

bIsPMS

01IN

pszData

OUT

ICD_OK
14-8

01 (2007-12-30)

TopEng-
CTIAPI

14 WECC

14.10 CccAgentSetCoopMsg

1.

CccApiInit

2.

SHORT __stdcall CccAgentSetCoopMsg(USHORT hCcc, char *pszMessage);

hCcc

CccConnectToServer
IN

pszMessage

IN

ICD_OK

14.11 CccQueryConferenceInfo

1.

CccApiInit

2.

USHORT __stdcall CccQueryConferenceInfo (USHORT hCcc, USHORT


usConferenceNo, DBCCC_CONFERENCE_INFO * pInfo);

01 (2007-12-30)

14-9

TopEng-
CTIAPI

14 WECC

hCcc

CccConnectToServer
IN

usConferenceNo

IN

pInfo

OUT

ICD_OK

14.12 CccQueryConferenceInfoEx

1.

CccApiInit

2.

USHORT __stdcall CccQueryConferenceInfoEx (USHORT hCcc, USHORT


usMediaType, USHORT usConferenceNo, USHORT *pusSize,
CONFERENCE_INFO_WITH_OBJ *pInfo);

hCcc

CccConnectToServer
IN

usMediaType

IN

usConferenceNo

IN

pusSize

IN/OUT

pInfo

14-10

OUT

01 (2007-12-30)

TopEng-
CTIAPI

14 WECC

ICD_OK

14.13 CccQueryBusyConferenceInfoEx

1.

CccApiInit

2.

USHORT _stdcall CccQueryBusyConferenceInfoEx(USHORT


usMediaType, DBCCC_BUSY_CONFERENCE_INFO *pInfo);

hCcc, USHORT

hCcc

CccConnectToServer
IN

usMediaType

IN

pInfo

OUT

ICD_OK

14.14 CccRequestConference

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

4.

01 (2007-12-30)

14-11

TopEng-
CTIAPI

14 WECC

SHORT __stdcall CccRequestConference(USHORT hCcc, USHORT usMediaType,


USHORT usNum, USHORT usTime,USHORT &usConfNo)

hCcc

CccConnectToServer
IN

usMediaType

IN

UsNum

IN

UsTime

IN

UsConfNo

OUT

ICD_OK

14.15 CccReleaseConference

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

SHORT

__stdcall

CccReleaseConference(USHORT hCcc)

14-12

hCcc

CccConnectToServer
IN

01 (2007-12-30)

TopEng-
CTIAPI

14 WECC

ICD_OK

14.16 CccAddDeviceToConference

1.

CccApiInit

2.

3.

CccAgentLogin CccAgentLoginEx

SHORT __stdcall CccAddDeviceToConference(USHORT hCcc,ADDRESSID addrID,


UCHAR ucConfMode, CHAR pFileName[MAX_FILENAME_LEN + 1])

hCcc

CccConnectToServer
IN

addrID

IN

ucConfMode

IN

pFileName

IN

ICD_OK

14.17 CccRemoveDeviceFromConference

01 (2007-12-30)

14-13

TopEng-
CTIAPI

14 WECC

1.

CccApiInit

2.

USHORT __stdcall
addrID);

CccRemoveDeviceFromConference(USHORT hCcc,

ADDRESSID

hCcc

CccConnectToServer
IN

addrID

IN

ICD_OK

14.18 CccChangeDeviceModeInConference

1.

CccApiInit

2.

USHORT__stdcall CccChangeDeviceModeInConference(USHORT hCcc,


addrID, UCHAR ucConfMode);

ADDRESSID

14-14

hCcc

CccConnectToServer
IN

addrID

IN

01 (2007-12-30)

TopEng-
CTIAPI

14 WECC

ucConfMode

IN
l

ICD_OK

14.19 CccProlongConference

1.

CccApiInit

2.

USHORT__stdcall

CccProlongConference(USHORT hCcc,

USHORT usTime);

hCcc

CccConnectToServer
IN

usTime

IN

ICD_OK

14.20 CccPlayVoiceToConference

01 (2007-12-30)

14-15

TopEng-
CTIAPI

14 WECC

1.

CccApiInit

2.

USHORT__stdcall CccPlayVoiceToConference(USHORT hCcc,


[MAX_FILENAME_LEN + 1]);

CHAR pFileName

hCcc

CccConnectToServer
IN

pFileName

IN

ICD_OK

14.21 CccStopVoiceToConference

1.

CccApiInit

2.

USHORT__stdcall

CccStopVoiceToConference(USHORT hCcc);

hCcc

CccConnectToServer
IN

ICD_OK
14-16

01 (2007-12-30)

TopEng-
CTIAPI

15 IVR

15

IVR

IVR
15.1 IvrInit
15.2 IvrExit
15.3 IvrSetINNO IVR
15.4 IvrGetEvent
15.5 IvrQueryCallData
15.6 IvrSetCallData
15.7 IvrRequestRouting
15.8 IvrRequestRerouting
15.9 IvrAlerting Alerting
15.10 IvrAnswer
15.11 IvrResourceConnect
15.12 IvrResourceDisconnect
15.13 IvrRedirect
15.14 IvrCallSetup
15.15 IvrDisconnect
15.16 CccIvrStateReportIVR
15.17 IVR

01 (2007-12-30)

15-1

TopEng-
CTIAPI

15 IVR

15.1 IvrInit

API

1.

ICDComm.exe

2.

Ctiapidll.dll Htcpapi.dll

USHORT __stdcall IvrInit(US usProgID, LPCTSTR pMainServerIP, LPCTSTR


pBackServerIP, LPCTSTR pAccessCode, US usThreadNum, UL ulVersion);

usProgID

IVR ProgIDIN

pMainServerIP

IP IN

pBackServerIP

IP IN

pAccessCode

IVR IN

usThreadNum

IVR IN

ulVersion

IVR IN

IVRDLL_OK

15.2 IvrExit

IvrInit

USHORT __stdcall IvrExit();

15-2

01 (2007-12-30)

TopEng-
CTIAPI

15 IVR

15.3 IvrSetINNO IVR

IVR CCS CCS IVR


IVR

IvrInit

USHORT __stdcall IvrSetINNO(LPCTSTR pAccessCode);

pAccessCode

IVR IN

15.4 IvrGetEvent

IVR
API

IvrInit

USHORT _stdcall IvrGetEvent (LPVOID lpEvent, US* pusSize, LONG lTimeout);

lpEvent

IN

pusSize

IN/OUT

01 (2007-12-30)

15-3

TopEng-
CTIAPI

15 IVR

lTimeout

IN

IVR IvrGetEvent
IVR
l

1 0 2047

2 2048 4095

usTrunkNo % MAXSLOTID_IN_SINGLE_MODULE + 1 =

usTrunkNo Mod MAXSLOTID_IN_SINGLE_MODULE =

Api_SP_Setup_Msg
Api_SP_CalledOffHook_Msg

15.5 IvrQueryCallData

IvrSetCallData
API IVR IvrSetCallData
ACD AgentAgent
API

1.

IvrInit

2.

IvrGetEvent

USHORT __stdcall IvrQueryCallData(LPVOID lpCallID, LPVOID


*pSize)

lpData, US

15-4

lpCallID

CALLIDIN

lpData

IN

pSize

IN/OUT

01 (2007-12-30)

TopEng-
CTIAPI

15 IVR

15.6 IvrSetCallData

API IVR Agent IVR


API ACD
AgentAgent CccQueryCallData
MAX_CALLDATA_LEN

1.

IvrInit

2.

IvrGetEvent

USHORT __stdcall IvrSetCallData(LPVOID lpCallID, LPVOID


usSize);

lpData, US

lpCallID

CALLIDIN

lpData

IN

usSize

IN

15.7 IvrRequestRouting

IVR
CccRequestRerouting

1.

IvrInit

2.

IvrGetEvent

USHORT __stdcall IvrRequestRouting(DWORD dwHandle, LPVOID lpCallID, UC


ucRoutingType, LPCTSTR lpDn, LPVOID lpDeviceID);

01 (2007-12-30)

15-5

TopEng-
CTIAPI

15 IVR

dwHandle

IN

lpCallID

CALLIDIN

ucRoutingType

enum REQUESTROUTING_TYPE
{
DIGIT_INFO = 1,//

USER_SKILL_NEED = 2, //

AGENT_NO = 3,//

OPR_HELP//
};

lpDn

IN

15-1

lpDeviceID

OUT

15-1

DIGIT_INFO

USER_SKILL_NEED

AGENT_NO

OPR_HELP

15.8 IvrRequestRerouting

15-6

1.

IvrInit

2.

IvrGetEvent

01 (2007-12-30)

TopEng-
CTIAPI

15 IVR

USHORT __stdcall IvrRequestRerouting(DWORD dwHandle, LPVOID lpCallID,


LPVOID lpDestDeviceID, UC ucMode,UL ulRqstTag);

dwHandle

IN

lpCallID

CALLID
IN

lpDestDeviceID

OUT

ucMode

IVR
IN

ulRqstTag

IN

15.9 IvrAlerting Alerting

Answer
CALLID NOTIFY

1.

IvrInit

2.

IvrGetEvent

USHORT __stdcall IvrAlerting(DWORD dwHandle, DWORD dwSSP, UC ucAudio,


LPVOID lpCallID );

dwHandle

IN

dwSSP

SSPIN

ucAudio

Alerting IN

01 (2007-12-30)

15-7

TopEng-
CTIAPI

15 IVR

lpCallID

CALLIDOUT

15.10 IvrAnswer

AnswerACK

1.

IvrInit

2.

IvrGetEvent

USHORT __stdcall IvrAnswer(DWORD dwHandle, DWORD dwSSP, UC ucChargeInd,


UC cExtDataLen, const char* csExtData);

dwHandle

IN

dwSSP

SSPIN

ucChargeInd

IN

cExtDataLen

Answer
IN

csExtData

IN

15.11 IvrResourceConnect

15-8

1.

IvrInit

2.

IvrGetEvent

01 (2007-12-30)

TopEng-
CTIAPI

15 IVR

USHORT __stdcall IvrResourceConnect(DWORD dwHandle, DWORD dwSSP, UC


ucConnPartyType, DWORD dwConnectpartySSP, UC ucDestPartyType, DWORD
dwDestPartySSP, UC ucConnMode, UC &ucIndication);

dwHandle

IN

dwSSP

SSPIN

ucConnPartyType

IN

dwConnectpartySSP

SSP()

ucDestPartyType

IN

dwDestPartySSP

SSPIN

ucConnMode

IN

ucIndication

OUT

15.12 IvrResourceDisconnect

1.

IvrInit

2.

IvrGetEvent

USHORT __stdcall IvrResourceDisconnect(DWORD dwHandle, DWORD dwSSP, UC


ucDisConnPartyType, DWORD dwDisConnectpartySSP,UC ucDestPartyType, DWORD
dwDestPartySSP, UC ucDisConnMode, UC &ucIndication)

dwHandle

IN

dwSSP

SSPIN

ucConnPartyType

IN

01 (2007-12-30)

15-9

TopEng-
CTIAPI

15 IVR

dwConnectpartySSP

SSP()

ucDestPartyType

IN

dwDestPartySSP

SSPIN

ucConnMode

IN

ucIndication

OUT

15.13 IvrRedirect

1.

IvrInit

2.

IvrGetEvent

USHORT __stdcall IvrRedirect(DWORD dwHandle, DWORD dwSSP, LPCTSTR pCLD,


UC ucExtDatalen, UC *pExtData);

dwHandle

IN

dwSSP

SSPIN

pCLD

IN

ucExtDatalen

IN

pExtData

IN

15.14 IvrCallSetup

15-10

01 (2007-12-30)

TopEng-
CTIAPI

15 IVR

IvrInit

IVRDLL_EXPORTS USHORT __stdcall IvrCallSetup(UC cCF, const char* szCLI,


const char* szCLD, const char *pAccessCode, UC cExtDataLen, char*
pExtData, DWORD &dwHandle, DWORD &dwSSP, UC &ucAudio, LPVOID lpCallID, UC
ucModelNo = 0xFF, UC cResType = 0xFF, US nResDsn = 0xFFFF);

cCF

IN

szCLI

IN

szCLD

IN

pAccessCode

IN

cExtDataLen

IN

pExtData

IN

dwHandle

OUT

dwSSP

SSPOUT

ucAudio

OUT

lpCallID

CALLIDOUT

ucModelNo

0xFF
IN

cResType

0xFF
IN

nResDsn

0xFFFF
IN

15.15 IvrDisconnect

1.

IvrInit

01 (2007-12-30)

15-11

TopEng-
CTIAPI

15 IVR

2.

IvrGetEvent

USHORT __stdcall IvrDisconnect(DWORD dwHandle, DWORD dwSSP, UC


ucDisconCause);

dwHandle

IN

dwSSP

SSPIN

ucDisconCause

IN

15.16 CccIvrStateReportIVR

IVR

1.

CccApiInit

2.

SHORT __stdcall CccIvrStateReport(USHORT hCcc, USHORT usMaxCallCount,


USHORT usCurCallCount);

hCcc

CccIvrStateReport
IN

usMaxCallCount

IVR IN

usCurCallCount

IVR IN

15.17 IVR
IVR
IVR
15-12

01 (2007-12-30)

TopEng-
CTIAPI

15 IVR

1.

IVR IP
IvrInit

2.

IVR IvrGetEvent CTI

3.

CTI IVRIVR
IVR IVR IvrGetEvent

IVR IvrAlerting

IVR IvrAnswer

IVR IvrDisconnect

IVR

01 (2007-12-30)

15-13

TopEng-
CTIAPI

16

16

16.1 CccQueryNetInfo
16.2 CccQueryNetInfoEx
16.3 CccQueryCcsCPUUseRate CCS
16.4 CccQueryServiceType
16.5 CccQueryServerTime
16.6 LongToTime
16.7 CharToInt
16.8 IntToChar
16.9 BCDToCharBCD
16.10 BCDToIntBCD
16.11 IntToBCD BCD
16.12 CharToBCD BCD
16.13 GetBCDLength
16.14 CccGetLastBuffer
16.15 CccGetLicense
16.16 CccUpdateLicense
16.17 CccSetWCCAProxy WCCA Proxy
16.18 CccQueryUIDBCfg VDN UIDB
16.19 CccQuerySysVersion
16.20 CccWatchSysState
01 (2007-12-30)

16-1

TopEng-
CTIAPI

16

16.21 CccMessageBridge
16.22 CccQueryCallState
16.23 CccRequestWriteInfoToDB
16.24 CccQuerySomeTotalInfo
16.25 CccQuerySomeTotalInfoWithVDN VDN
16.26 CccFetchConfig
16.27 CccPostConfig
16.28 CccQueryAllDiskInfo
16.29 CccQueryVDNDiskList
16.30 CccRequestSetBillInfo
16.31 CccRequestWriteServiceBill
16.32 CccResetAgentInternetIP Internet IP
16.33 CccAdjustDenyTalkRight
16.34 CccSendIrcProtocol
16.35 CccSendQCProtocol
16.36 CccSendSPPProtocol IVR
16.37 IcdSend
16.38 CccRequestSwitchSvrStatus

16-2

01 (2007-12-30)

TopEng-
CTIAPI

16

16.1 CccQueryNetInfo

UIS CTI ServerAplogicIVR

1.

CccApiInit

2.

USHORT __stdcall CccQueryNetInfo(USHORT hCcc , DBCCC_NET_INFO *pBuffer ,


USHORT *pusNum);

hCcc

CccConnectToServer
IN

pBuffer

IN/
OUT

pusNum

OUT

ICD_OK

16.2 CccQueryNetInfoEx

UIS CTI ServerAplogicIVR


CccQueryNetInfo

1.

CccApiInit

2.

01 (2007-12-30)

16-3

TopEng-
CTIAPI

16

USHORT__stdcall CccQueryNetInfoEx(USHORT hCcc, DBCCC_NET_INFO_EX


[], USHORT *pusNum);

pBuffer

hCcc

CccConnectToServer
IN

pBuffer

IN/
OUT

pusNum

OUT

ICD_OK

16.3 CccQueryCcsCPUUseRate CCS

CCS CPU %

1.

CccApiInit

2.

USHORT__stdcall CccQueryCcsCPUUseRate(USHORT hCcc, UCHAR *ucUseRate,


UCHAR *ucMemRate);

16-4

hCcc

CccConnectToServer
IN

ucUseRate

CCS CPU %OUT

ucMemRate

CCS %OUT

01 (2007-12-30)

TopEng-
CTIAPI

16

ICD_OK

16.4 CccQueryServiceType

1.

CccApiInit

2.

USHORT __stdcall CccQueryServiceType ( USHORT hCcc, USHORT* pServiceNum,


DBCCC_SERVICE_STRUCT *pdbService );

hCcc

CccConnectToServer
IN

pServiceNum

IN/OUT

pdbService

OUT

ICD_OK

USHORT wServiceNum;
DBCCC_SERVICE_STRUCT Service[MAX_SERVICE_NUM];
USHORT rc = CccQueryServiceType(m_usConnectID, &wServiceNum, &Service[0]);

16.5 CccQueryServerTime

UIS EVENT_TIME
UIS
ICD_ERR_INTERNAL_ERROR
01 (2007-12-30)

16-5

TopEng-
CTIAPI

16

1.

CccApiInit

2.

CccConnectToServer UIS

3.

UIS

SHORT__stdcall

CccQueryServerTime (USHORT hCcc, EVENT_TIME* pTime);

hCcc

CccConnectToServer
IN

pTime

EVENT_TIME

OUT

ICD_OK

16.6 LongToTime

C EVENT_TIME VBDELPHI

void __stdcall

LongToTime(LONG lTime, EVENT_TIME *pEvtTime)

lTime

1970 IN

pEvtTime

EVENT_TIME OUT

16.7 CharToInt

16-6

01 (2007-12-30)

TopEng-
CTIAPI

16

void __stdcall

CharToInt(const UCHAR *Str, ULONG *Num, UCHAR StrSize);

Str

IN

Num

OUT

StrSize

IN

16.8 IntToChar

void __stdcall

IntToChar(ULONG Num, UCHAR *Str, UCHAR StrSize);

Num

IN

Str

OUT

StrSize

IN

16.9 BCDToCharBCD

BCD

void __stdcall BCDToChar(const UCHAR *BCD_Str, UCHAR *Str, UCHAR BCDSize,


UCHAR StrSize);

BCD_Str

BCD IN

01 (2007-12-30)

16-7

TopEng-
CTIAPI

16

Str

OUT

BCDSize

BCD IN

StrSize

IN

16.10 BCDToIntBCD

BCD

void__stdcall

BCDToInt(const UCHAR *BCD_Str, ULONG *Num, UCHAR BCDSize);

BCD_Str

BCD IN

Num

OUT

BCDSize

BCD IN

16.11 IntToBCD BCD

BCD

void __stdcall IntToBCD(ULONG Num, const UCHAR *BCD_Str, UCHAR BCDSize);

16-8

Num

IN

BCD_Str

BCD OUT

BCDSize

IN

01 (2007-12-30)

TopEng-
CTIAPI

16

16.12 CharToBCD BCD

BCD

void __stdcall CharToBCD(const UCHAR *Str, UCHAR *BCD_Str, UCHAR


StrSize ,UCHAR BCDSize);

Str

IN

BCD_Str

BCD OUT

StrSize

IN

BCDSize

BCD IN

16.13 GetBCDLength

BCD

void __stdcall

GetBCDLength(UCHAR *BCD_Str);

BCD_Str

BCD IN

16.14 CccGetLastBuffer

API ICD_OK_LESS_BUFFER_SIZE
API
API

01 (2007-12-30)

16-9

TopEng-
CTIAPI

16

API CccGetLastBuffer
hCcc API

1.

CccApiInit

2.

3.

API ICD_OK_LESS_BUFFER_SIZE

SHORT CccGetLastBuffer(USHORT hCcc, ULONG *pulLen, CHAR *pBuffer);

hCcc

CccConnectToServer
IN

pulLen

pBuffer

IN/OUT

pBuffer

OUT

ICD_OK ICD_OK_LESS_BUFFER_SIZE
ICD_ERR_NO_LAST_BUFFER

16.15 CccGetLicense

API

1.

CccApiInit

2.

SHORT__stdcall
*pszLicense);

16-10

CccGetLicense(USHORT hCcc, USHORT *pusLen, CHAR

01 (2007-12-30)

TopEng-
CTIAPI

16

hCcc

CccConnectToServer
IN

pusLen

IN/OUT

pszLicense

OUT

ICD_OK

16.16 CccUpdateLicense

API

1.

CccApiInit

2.

SHORT __stdcall
*pszLicense);

CccUpdateLicense(USHORT hCcc, USHORT *pusLen, CHAR

hCcc

CccConnectToServer
IN

pusLen

IN

pszLicense

IN

ICD_OK

01 (2007-12-30)

16-11

TopEng-
CTIAPI

16

16.17 CccSetWCCAProxy WCCA Proxy

API WCCA Proxy

1.

CccApiInit

2.

SHORT__stdcall

CccSetWCCAProxy(WCCA_PROXY &stWccaProxy);

stWccaProxy

Proxy IN
struct WCCA_PROXY
{
ULONG http_Mode;
CHAR proxy_Address
[PROXY_MAXLEN_IP_ADDRESS];
CHAR proxy_Port
[PROXY_MAXLEN_PORT];
CHAR proxy_UserName
[PROXY_MAXLEN_USERNAME];
CHAR proxy_PassWord
[PROXY_MAXLEN_PASSWORD];
CHAR wmg_Url
[PROXY_MAXLEN_WMG_URL];
ULONG deskey_Len;
ULONG encrypt_Data;
};

ICD_OK

16.18 CccQueryUIDBCfg VDN UIDB

API VDN UIDB


16-12

01 (2007-12-30)

TopEng-
CTIAPI

16

1.

CccApiInit

2.

SHORT __stdcall
*pUIDBInfo);

CccQueryUIDBCfg(USHORT hCcc, UIDB_ACCESS_CFG_ INFO

hCcc

CccConnectToServer
IN

pUIDBInfo

VDN UIDB
OUT
struct UIDB_ACCESS_CFG_INFO
{
CHAR szDataSource
[DBCCC_MAXLEN_USERNAME + 1]; //

CHAR szQuanlifier
[DBCCC_MAXLEN_USERNAME + 1]; //

UCHAR pucPassWord
[DBCCC_MAXLEN_PASSWORD + 1]; //

};

ICD_OK

16.19 CccQuerySysVersion

API

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccQuerySysVersion(USHORT hCcc, CHAR * pBuff, ULONG *


pulLen, USHORT * usCount)

01 (2007-12-30)

16-13

TopEng-
CTIAPI

16

hCcc

CccConnectToServer
IN

pBuff

SYS_STATE_INFO

IN/OUT

pulLen

pBuff pBuff

IN/
OUT

usCount

pBuff
SYS_VERSION_INFO IN
struct SYS_VERSION_INFO
{
USHORT usConnect;//
USHORT usServerType;//
NODE_TYPEULONG ulConnectIP;//
IP
UCHAR ucVerInfo[MAX_VERSION_LEN +
1];//
};

ICD_OK

16.20 CccWatchSysState

API

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccWatchSysState(USHORT hCcc, USHORT


* pBuff, ULONG * pulLen, USHORT * usCount)

16-14

usServerType, CHAR

01 (2007-12-30)

TopEng-
CTIAPI

16

hCcc

CccConnectToServer
IN

usServerType

NODE_TYPEIN

pBuff

SYS_STATE_INFO

IN/OUT

pulLen

pBuff
pBuff

IN/OUT

usCount

pBuff
SYS_STATE_INFO
IN
struct SYS_STATE_INFO
{
USHORT usThreadNo;//
USHORT usLastError;//
UCHAR
pucErrorInfo[128];//
128
};

ICD_OK

16.21 CccMessageBridge

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccMessageBridge(USHORT hCcc, USHORT usWorkNo, USHORT


usMsgType, USHORT usSize, CHAR *pcMsgBuff )

01 (2007-12-30)

16-15

TopEng-
CTIAPI

16

hCcc

CccConnectToServer
IN

usWorkNo

IN

usMsgType

IN

usSize

pcMsgBuff
IN

pcMsgBuff

IN

ICD_OK

16.22 CccQueryCallState

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccQueryCallState(USHORT hCcc, char* pStartTime, char*


pEndTime, USHORT &usSkillQueueID, CALLSTATE_EX_STRUCT*
pCallStateExStruct, USHORT* usCount, USHORT& usExpiredEAP, USHORT&
usLowExpiredEAP)

hCcc

CccConnectToServer
IN

pStartTime

yyyymmddhhmmssIN

pEndTime

yyyymmddhhmmssIN

usSkillQueueID
16-16

IDIN

01 (2007-12-30)

TopEng-
CTIAPI

16

pCallStateExStruct

IN/
OUT

usCount

CALLSTATE_EX_STRUCT
OUT
struct CALLSTATE_EX_STRUCT
{
SKILLIDusSkillQueueID;//
IDULONG ulAC;//
ULONG
ulDC;//
ULONG
ulEAC;//

};

usExpiredEAP

OUT

usLowExpiredEAP

OUT

ICD_OK

16.23 CccRequestWriteInfoToDB

UIDB

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccRequestWriteInfoToDB(USHORT hCcc, USHORT usInfoType)

hCcc

CccConnectToServer
IN

01 (2007-12-30)

16-17

TopEng-
CTIAPI

16

usInfoType

WRITE_INFO_TYPEIN
enum WRITE_INFO_TYPE
{
AGENT_CONFIG_INFO,

SERVICETYPE_CONFIG_INFO,

WORKGROUP_CONFIG_INFO,

SKILL_CONFIG_INFO,

CUSTOMERLEVEL_CONFIG_INFO

};

//
//
//
//
//

ICD_OK

16.24 CccQuerySomeTotalInfo

API

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccQuerySomeTotalInfo(USHORT hCcc, UCHAR ucInfoType,


USHORT * pusNum ,UCHAR* pStruct)

16-18

hCcc

CccConnectToServer
IN

ucInfoType

IN

pusNum

pStruct
IN/OUT

01 (2007-12-30)

TopEng-
CTIAPI

16

pStruct

OUT
l

ucInfotype=1 pStruct
SKILL_INFO_BATCH

ucInfotype=2 pStruct
AGENT_INFO_BATCH

ucInfotype=3 pStruct
IVR_INNO_STRUCT_INFO_BATC
H

ucInfotype=4 pStruct
AGENT_DYNAMIC_INFO

ucInfotype=5 pStruct
SYSTEM_INNO_STRUCT

ICD_OK

16.25 CccQuerySomeTotalInfoWithVDN VDN

API VDN IVR

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccQuerySomeTotalInfoWithVDN(USHORT hCcc,VDNID


usVdnID,UCHAR ucInfoType, USHORT * pusNum ,UCHAR* pStruct);

hCcc

CccConnectToServer
IN

usVdnID

VDN IN

ucInfoType

IN

01 (2007-12-30)

16-19

TopEng-
CTIAPI

16

pusNum

pStruct

IN/OUT
pStruct

OUT
l

ucInfotype=1 pStruct
SKILL_INFO_BATCH

ucInfotype=2 pStruct
AGENT_INFO_BATCH

ucInfotype=3 pStruct
IVR_INNO_STRUCT_INFO_BATCH

ucInfotype=4 pStruct
AGENT_DYNAMIC_INFO

ucInfotype=5 pStruct
SYSTEM_INNO_STRUCT

ICD_OK

16.26 CccFetchConfig

UIS

1.

IvrInit

2.

ICD

SHORT __stdcall CccFetchConfig(USHORT hCcc, USHORT usFetchConfigMode,


ULONG ulItemLen, CHAR *pszConfigItem, ULONG *pulLen, CHAR *pBuffer);

16-20

hCcc

CccConnectToServer
IN

01 (2007-12-30)

TopEng-
CTIAPI

16

usFetchConfigMode

enum
NUM_FETCH_CONFIG_MODE
IN
enum ENUM_FETCH_CONFIG_MODE{
EFCM_NORMAL,
//

EFCM_BASE_CONFIG,
//
pszConfigItem pulLen
pBuffer
MODULE_INFO
}

ulItemLen

pszConfigItem IN

pszConfigItem

IN

pulLen

pBuffer

IN/OUT

pBuffer

OUT

ICD_OK pusErrLen
pErrInfo
ICD_OK_LESS_BUFFER_SIZE
pulLen pBuffer
CccGetLastBuffer(USHORT hCcc, ULONG *pulLen, CHAR
*pBuffer)

16.27 CccPostConfig

MAS

1.

CccApiInit

2.

ICD

USHORT __stdcall CccPostConfig(USHORT hCcc, ULONG ulLen, CHAR *pBuffer,


USHORT usPostConfigMode, USHORT *pusErrLen, CHAR *pErrInfo);

01 (2007-12-30)

16-21

TopEng-
CTIAPI

16

hCcc

CccConnectToServer
IN

ulLen

pBuffer IN

pBuffer

\0
IN

usPostConfigMode

enum ENUM_POST_CONFIG_MODE
IN
enum ENUM_POST_CONFIG_MODE{
EPCT_NORMAL,
};

CCC_NOTIFY_CONFIG_CHANGED_E
VENT

pusErrLen

pErrInfo
pErrInfo
IN/OUT

pErrInfo

OUT

ICD_OK pusErrLen
pErrInfo
ICD_OK_LESS_BUFFER_SIZE
pulLen pBuffer
CccGetLastBuffer(USHORT hCcc, ULONG *pulLen, CHAR
*pBuffer)

16.28 CccQueryAllDiskInfo

16-22

1.

CccApiInit

2.

CccConnectToServer UIS

01 (2007-12-30)

TopEng-
CTIAPI

16

SHORT __stdcall CccQueryAllDiskInfo (USHORT hCcc, USHORT *pusDiskCount,


DISK_BASE_INFO * lpDiskInfo );

hCcc

CccConnectToServer
IN

pusDiskCount

IN/OUT

lpDiskInfo

DISK_BASE_INFO OUT

ICD_OK

16.29 CccQueryVDNDiskList

VDNID

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccQueryVDNDiskList (USHORT hCcc, VDNID usVdnID, USHORT


*pusDiskCount, CHAR* lpcDiskName);

hCcc

CccConnectToServer
IN

usVdnID

IN

pusDiskCount

IN/OUT

lpcDiskName

OUT

01 (2007-12-30)

16-23

TopEng-
CTIAPI

16

ICD_OK

16.30 CccRequestSetBillInfo

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccRequestSetBillInfo(USHORT hCcc, CALLID *pCallID,


ULONG ulBillInfo);

hCcc

CccConnectToServer
IN

pCallID

IN

ulBillInfo

IN

ICD_OK

16.31 CccRequestWriteServiceBill

16-24

1.

CccApiInit

2.

CccConnectToServer UIS

01 (2007-12-30)

TopEng-
CTIAPI

16

short __stdcall CccRequestWriteServiceBill(USHORT hCcc, USHORT usBillID,


USHORT usBufLen, LPCTSTR pcBuff);

hCcc

CccConnectToServer
IN

usBillID

IDIN

usBufLen

pcBuff IN

pcBuff

IN

ICD_OK

16.32 CccResetAgentInternetIP Internet IP

Internet IP

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT

__stdcall

CccResetAgentInternetIP (USHORT hCcc, CHAR *pcIpStr)

hCcc

CccConnectToServer
IN

pcIpStr

Internet IPIN

ICD_OK
01 (2007-12-30)

16-25

TopEng-
CTIAPI

16

16.33 CccAdjustDenyTalkRight

1.

CccApiInit

2.

CccConnectToServer UIS

SHORT __stdcall CccAdjustDenyTalkRight(USHORT hCcc, UCHAR


ucDenyTalkType)

hCcc

CccConnectToServer
IN

ucDenyTalkType

DENY_TALK_TYPE
IN

ICD_OK

16.34 CccSendIrcProtocol

1.

CccApiInit

2.

SHORT __stdcall
lpIrcMsg);

16-26

CccSendIrcProtocol(USHORT hCcc,USHORT usLen, LPVOID

01 (2007-12-30)

TopEng-
CTIAPI

16

hCcc

CccConnectToServer
IN

usLen

IN

lpIrcMsg

IN

ICD_OK

16.35 CccSendQCProtocol

1.

CccApiInit

2.

SHORT __stdcall CccSendQCProtocol(USHORT


lpQcMessage);

hCcc, USHORT usLength, LPVOID

hCcc

CccConnectToServer
IN

usLength

IN

lpQcMessage

IN

ICD_OK

01 (2007-12-30)

16-27

TopEng-
CTIAPI

16

16.36 CccSendSPPProtocol IVR

IVR

1.

CccApiInit

2.

SHORT __stdcall CccSendSPPProtocol(USHORT hCcc, USHORT usLength,LPVOID


lpSPPMessage);

hCcc

CccConnectToServer
IN

usLength

IN

lpSPPMessage

IVR IN

ICD_OK

16.37 IcdSend

MCP

1.

CccApiInit

2.

SHORT __stdcall IcdSend(USHORT hCcc, ULONG ulDataLen, CHAR *pData, ULONG


*pulDataOutLen, CHAR *pDataOut);

16-28

01 (2007-12-30)

TopEng-
CTIAPI

16

hCcc

CccConnectToServer
IN

ulDataLen

IN

pData

IN

pulDataOutLen

OUT

pDataOut

OUT

ICD_OK

16.38 CccRequestSwitchSvrStatus

1.

CccApiInit

2.

SHORT __stdcall CccRequestSwitchSvrStatus(USHORT hCcc, USHORT


usSrvSwitchType, USHORT usSrvNodeType);

hCcc

CccConnectToServer
IN

usSrvSwitchType

IN

usSrvNodeType

IN

ICD_OK
01 (2007-12-30)

16-29

TopEng-
CTIAPI

17

17

17.1

17.2

17.3

01 (2007-12-30)

17-1

TopEng-
CTIAPI

17

17.1

CCC_ANSWER_REQUEST_EVENT

CccRequestAnswer

CCC_ANSWER_REQUEST_EX_EVENT

CccRequestAnswerEx
DBCCC_EVENT_HEAD
struct
{
CALLIDcallID;
ADDRESSIDaddrCaller;//
ADDRESSIDaddrCalled;//
USHORTusMediaType;//MEDIA_TYPE
};

CCC_RELEASE_REQUEST_EVENT
CccRequestRelease

CCC_RELEASE_REQUEST_EX_EVENT
CccRequestReleaseEx

DBCCC_EVENT_HEAD CALLID

CCC_LONGNOANSWER_EVENT

CCC_LONGNOANSWER_EX_EVENT

DBCCC_EVENT_HEAD CALLID

CCC_ANSWER_RESPONSE_EVENT
CccRequestAnswer
17-2

01 (2007-12-30)

TopEng-
CTIAPI

17

DBCCC_EVENT_HEAD USHORT ICD_OK


ICD_ERR_GENERAL_ERROR ICD_ERR_FAIL

CCC_REPORT_RESPONSE_EVENT
CccRequestReport
DBCCC_EVENT_HEAD USHORT ICD_OK
ICD_ERR_GENERAL_ERROR ICD_ERR_FAIL

CCC_MAKE_CALL_RESPONSE_EVENT_EX
CccRequestCallOutEx CccRequestInternalCallEx
DBCCC_EVENT_HEAD CALLID

CCC_MAKE_CALL_RESPONSE_EVENT
CccRequestCallOut CccRequestInternalCall
DBCCC_EVENT_HEAD USHORT ICD_OK
ICD_ERR_GENERAL_ERROR ICD_ERR_FAIL

CCC_TRANSFER_OUT_RESPONSE_EVENT
CccRequestTransferOut CccRequestInternalTransfer
DBCCC_EVENT_HEAD USHORT ICD_OK
ICD_ERR_GENERAL_ERROR ICD_ERR_FAIL

CCC_TRANSFER_OUT_RESPONSE_EX_EVENT
CccRequestTransferOutEx DBCCC_EVENT_HEAD
CALLID

CCC_LOGOUT_RESPONSE_EVENT

CCC_RELEASE_RESPONSE_EVENT

CCC_CALLED_TELNUM_EVENT
DBCCC_EVENT_HEAD
USHORT ICD_OK 1 8 BCD
01 (2007-12-30)

17-3

TopEng-
CTIAPI

17

CCC_CALLER_TELNUM_EVENT
DBCCC_EVENT_HEAD
USHORT ICD_OK 1 8 BCD

CCC_CALLER_CALLED_INFO_EVENT
DBCCC_EVENT_HEAD
struct
{
CALLIDcallId;
ADDRESSIDaddrCaller;//
ADDRESSIDaddrCalled;//
};

CCC_CONNECT_EVENT

CCC_CONNECT_EVENT_EX
DBCCC_EVENT_HEAD
CALLID

CCC_INTERNAL_HELP_RESPONSE_EVENT
CccRequestInternalHelp
DBCCC_EVENT_HEAD USHORT ICD_OK
ICD_ERR_GENERAL_ERROR

CCC_INTERNAL_HELP_RESPONSE_EVENT_EX
CccRequestInternalHelpEx DBCCC_EVENT_HEAD
CALLID

CCC_OUTBOUND_RESULT_EVENT
CccRequestPowerOutbound
DBCCC_EVENT_HEAD
l

ULONG CccRequestPowerOutbound

USHORTICD_OK

POWER_OUTBOUND_STRUCT

CCC_OUTBOUND_EX_RESULT_EVENT
CccRequestPowerOutboundEx
DBCCC_EVENT_HEAD
l

17-4

ULONG CccRequestPowerOutboundEx

01 (2007-12-30)

TopEng-
CTIAPI

17

USHORTICD_OK

POWER_OUTBOUND_STRUCT

CCC_OUTBOUND_RESULT_EX2_EVENT
CccRequestPowerOutbound
DBCCC_EVENT_HEAD
l

ULONG CccRequestPowerOutbound

USHORTICD_OK

POWER_OUTBOUND_STRUCT_EX2

CCC_BOOK_OUTBOUND_TIMEOUT_EVENT
CccRegisterPowerOutbound

CccSetEventMonitor

POWER_OUTBOUND_STRUCT

CCC_PRE_ROUTE_EVENT

DBCCC_EVENT_HEAD EVENT_RESPONSE_IDCALLID
DEVICEID
CccSendEventResponse

struct
{
UCHAR
DEVICEID
};

ucRerouteFlag;
newDeviceID;

ucRerouteFlag
l

0 newDeviceID

1 newDeviceID

CCC_PRE_DISCONNECT_EVENT

DBCCC_EVENT_HEAD EVENT_RESPONSE_ID CALLID


CccSendEventResponse

struct
{
UCHAR
ucRerouteFlag;
DEVICEID newDeviceID;
};

01 (2007-12-30)

17-5

TopEng-
CTIAPI

17

ucRerouteFlag
l

0 newDeviceID

1 newDeviceID

CCC_USER_DISCONNECT_EVENT

DBCCC_EVENT_HEAD EVENT_RESPONSE_ID CALLID


CccSendEventResponse

CCC_RELEASE_OVER_EVENT WECC
WECC DBCCC_EVENT_HEAD
CALLID

17.2

CCC_DO_NOT_DISTURB_RESPONSE_EVENT

CCC_IDLE_RESPONSE_EVENT

CCC_AGENT_RECORD_EVENT

DBCCC_EVENT_HEAD
l

ULONG CccAgentRequireRecord

USHORTICD_OK

USHORT

CCC_AGENT_STOP_RECORD_EVENT

TAgentStopRecordEvent = packed record


MessageHead: TDBCCC_EVENT_HEAD; //
ulTaskNo: ULONG;//
usResult: Word;// 0
ucCause: UCHAR;//
end;

17-6

01 (2007-12-30)

TopEng-
CTIAPI

17

CCC_AGENT_PLAY_EVENT

DBCCC_EVENT_HEAD
l

ULONG CccAgentStartPlayFile

USHORT ICD_OK

USHORT CCC_AGENT_PLAY_ENDED138

ICD_OK 138

ICD_OK

CCC_NOTIFY_BULLETIN_EVENT

DBCCC_EVENT_HEAD

CccSetEventMonitor

CCC_MESSAGE_EVENT

DBCCC_EVENT_HEAD CccSendMessage
CccSetEventMonitor

CCC_AGENT_REST_TIMEOUT_EVENT

CCC_AGENT_REST_START_EVENT
CccRequestRest

CCC_MEDIA_STREAM_EVENT

DBCCC_EVENT_HEAD
struct
{
CALLIDcallID;
USHORTusMediaType;
UCHARpData[ANY_SIZE];
};

WEBM pData
struct WEBM_MEDIA_STREAM
{

01 (2007-12-30)

17-7

TopEng-
CTIAPI

17
ADDRESSID addrSender;
USHORT
usDataLen;
CHAR
pcData[ANY_SIZE];
};

CCC_WVC_NOTIFY_AGENT_EVENTWVC
Internet Explorer
DBCCC_EVENT_HEAD
struct
{
USHORTusMsgID;//WVC ID
USHORTusMsgLength;//
UCHARpMsgComment[ANY_SIZE];//
};

usMsgID CCC_WVC_TRANSMIT_ MESSAGE_EVENT

CCC_WVC_TRANSMIT_MESSAGE_EVENTWVC
Internet Explorer
DBCCC_EVENT_HEAD
struct
{
USHORTusMsgLength;//
UCHARpMsgContent[ANY_SIZE];//
};

CCC_HAVE_PREVIEW_CALL_EVENT
DBCCC_EVENT_HEAD
struct
{
ULONG ulCtrlID;// ID
USHORTusSize;//pcCalleds
CHAR pcCalleds[ANY_SIZE];//
};

CCC_CALLINFO_NOTIFY_EVENT
DBCCC_EVENT_HEAD

struct
{
USHORT usCallInfoLen;//
CHAR
pcCallInfo[1]; // usCallInfoLen
};

CCC_AGENT_STATE_EVENT
DBCCC_EVENT_HEAD
17-8

01 (2007-12-30)

TopEng-
CTIAPI

17

struct
{
UCHARucAgentState;//enum AGENT_STATE
UCHARucSetBusyFlg;//TRUE FALSE
UCHARucRestFlg;//TRUE FALSE
};
//3.0
enum AGENT_STATE
{
AGENT_STATE_IDLE= 0 ,//
AGENT_STATE_BUSY,// TopEng- V2.0B
TALKING
AGENT_STATE_WORK,//
AGENT_STATE_NULL,//
AGENT_STATE_MAX//******
};

CCC_AGENT_BE_OCCUPYED
DBCCC_EVENT_HEAD
typedef struct tagE_CALL_INFO
{
CALLID
callID;
UCHAR
ucDirect;///enum CallFlag
UCHAR
ucModuleNo;//
USHORT
usTrunkNo;//
char
pszCaller[MAXLEN_EXTEN + 1]; //
char
pszCalled[MAXLEN_EXTEN + 1]; //
DEVICE_ID
deviceID;//
SHORT
callPartyNum;// CALL_PARTY_INFO
}E_CALL_INFO;
enum CALL_FEATURE_TYPE
{
CALL_FT_IN, // TopEng-V2.0CALL_IN
CALL_FT_OUT, // TopEng-V2.0CALL_OUT
IVR_OUT,
//IVR TopEng-V2.0
OUTBOUND_OUT, //outbound TopEng-V2.0
CALL_FOR_ROUTE,// TopEng-V2.0B
};
typedef struct
{
ULONG
cb;//
UCHAR
ucDeviceType;// enum ICD_DEVICETYPE
USHORT
usDeviceNo;//
CHAR
ucPilotNo[MAXLEN_PILOTNBR+1];//
UCHAR
ucTransferType;// enum TIMEOUT_PROCESS_STYLE
DEVICE_ID
TransferDevice;//
USHORT
usCallNum;// CALLID
} CALL_PARTY_INFO;//

CCC_AGENT_FORCEOUT_EVENT
DBCCC_EVENT_HEAD

01 (2007-12-30)

17-9

TopEng-
CTIAPI

17
struct
{
USHORT
USHORT
};

usSuccess;// ICD
usMediaType;//

CCC_SUCC_MODE_TRANSFER_RESULT_EVENT
DBCCC_EVENT_HEAD E_CALL_INFO
USHORT ICD_OK enum
ICD_ERROR_CODE

typedef struct tagE_CALL_INFO


{
CALLID
callID;
UCHAR
ucDirect;/// enum CallFlag
UCHAR
ucModuleNo;//
USHORT
usTrunkNo;//
char
pszCaller[ MAXLEN_EXTEN + 1 ]; //
char
pszCalled[ MAXLEN_EXTEN + 1 ]; //
DEVICE_ID
deviceID;//
USHORT
callPartyNum;// CALL_PARTY_INFO 0
}E_CALL_INFO;

CCC_AGENT_PHONE_STATUS_NOTIFY_EVENT
DBCCC_EVENT_HEAD

struct
{
CHAR
USHORT
USHORT
};

pcTelNo[MAXLEN_EXTEN + 1];
//
usStatus; //enum AGENT_PHONE_STATUS
usCause; //

enum AGENT_PHONE_STATUS
{
AGENT_PHONE_ALERTING, //
AGENT_PHONE_CALLEDOFFHOOK, //
AGENT_PHONE_RELEASE, //
};

CCC_HOLD_CALL_RELEASE_EVENT
DBCCC_EVENT_HEAD
struct
{
CALLID callID;
// ID
USHORT usCause; //enum HOLD_CALL_RELEASE_CAUSE
USHORT usWorkNo; //
};

17-10

01 (2007-12-30)

TopEng-
CTIAPI

17

enum HOLD_CALL_RELEASE_CAUSE
{
NORMAL_RELEASE, //
HAND_BRAKE,//
};

CCC_MEDIA_CALLBACK_RESULT_EVENT
DBCCC_EVENT_HEAD
struct
{
CALLID
ADDRESSID
UCHAR
};

callID;
dest;
ucState;

//
//
// enum MEDIA_PATH_STATE

enum MEDIA_PATH_STATE
{
PATH_ST_CONNECTED = 1, //
PATH_ST_RELEASE,
//
PATH_ST_WAIT_ANSWER,
//
PATH_ST_ALERTING,
//
PATH_ST_NO_SUCH_NUMBER,
//
PATH_ST_CALLED_BUSY,
//
PATH_ST_USER_NO_OFFHOOK,
//
PATH_ST_ACD_RESTART,
// ICD2.0B
PATH_ST_HOLD,
//
PATH_ST_BREAK,
//
PATH_ST_HANGUP,
//
PATH_ST_TRI_TALKING,
//
};

CCC_WEBM_CLIENT_CALL_STATE_EVENTWEB
WEB DBCCC_EVENT_HEAD
struct
{
CALLID
USHORT
ADDRESSID
USHORT
CHAR
};

callId;
//
callState;
//
deviceAddress;// AgentID
usCallDataLen;//
pcCallData[1];//

CCC_RELEASE_PREVIEW_CALL_OUT_EVENT
DBCCC_EVENT_HEAD CALLID

17.3

01 (2007-12-30)

17-11

TopEng-
CTIAPI

17

CCC_DESK_ALLBUSY_EVENT

CCC_DESK_ALLBUSY_EX_EVENT

DBCCC_EVENT_HEAD

CCC_WAIT_OUTBOUND_EVENT
DBCCC_EVENT_HEAD
CccQueryOutbound
CccSetEventMonitor

CCC_NO_OUTBOUND_EVENT

CCC_NO_OUTBOUND_EVENT

CccSetEventMonitor

CCC_CCS_DISCONNECTED_EVENT
UIS PROXY

API
ICD_ERR_TIMED_OUT

CCC_CCS_DISCONNECTED_EX_EVENT
PROXYUIS

DBCCC_EVENT_HEAD
USHORT PROGID
API
ICD_ERR_TIMED_OUT

CCC_MASTER_CHANGED_EX_EVENT
DBCCC_EVENT_HEAD
USHORT usServerType;

//PROG_ID_TYPE

17-12

01 (2007-12-30)

TopEng-
CTIAPI

17

CCC_HOLD_CALL_INCOMING_EVENT
DBCCC_EVENT_HEAD CALLID

01 (2007-12-30)

17-13

TopEng-
CTIAPI

18

18

CTIAPI
18.1
Apiuse.h
18.2

01 (2007-12-30)

18-1

TopEng-
CTIAPI

18

18.1
Apiuse.h

//
#defineRIGHT_BUSYIDLE
0x00000001
///
#defineRIGHT_MUTEONOFF
0x00000002
///
#defineRIGHT_HOLDFETCH
0x00000004
///
#defineRIGHT_CONNECTHOLD
0x00000008
//
#defineRIGHT_CALLOUT
0x00000010
//
#defineRIGHT_INTERCALL
0x00000020
//
#defineRIGHT_TRANSFER
0x00000040
//
#defineRIGHT_TRANSITTALK
0x00000080
//
#defineRIGHT_TRITALK
0x00000100
//
#defineRIGHT_TRANSITOUT
0x00000200
//
#defineRIGHT_SSPTRANSIVR
0x00000400
//
#defineRIGHT_DENYTALK
0x00000800
//
#defineRIGHT_SUPERVISEINSERT
0x00001000
///
#defineRIGHT_INTERCEPT
0x00002000
//
#defineRIGHT_FORCEOUTBUSYIDLE
0x00004000
////
#defineRIGHT_SPYRECORDPLAY
0x00008000
///
#defineRIGHT_SPYMONITOR
0x00010000
//
#defineRIGHT_ASSESSMANAGER
0x00020000
//
#defineRIGHT_ASSESS
0x00040000
//
#defineRIGHT_ALARM
0x00080000
//
#defineRIGHT_REPORT
0x00100000
//
#defineRIGHT_SERVICEEXPERT
0x00200000
//
#defineRIGHT_MONITOR
0x00400000
//
#defineRIGHT_SYSTEM
0x00800000
//
#defineRIGHT_REPORTMANAGER
0x01000000
//
#defineRIGHT_HOMECALLOUT
0x02000000
//
#defineRIGHT_ABOARDCALLOUT
0x04000000
//
#defineRIGHT_PILOTCALLOUT
0x08000000
//
#defineRIGHT_SCREENQC
0x10000000
//
#defineRIGHT_PICKUP
0x20000000
//

//Device m_ucDeviceType
enum
ICD_DEVICETYPE
{
NotKnowType = 0,
QueueType = 1,
AgentType,
IvrType,
ConferenceType,
CallPartyType,
AgentQueueType,
//ICD3.0
RouteType,
PhoneType, //
AgentPrivateQueueType, //DeviceNo
};

18-2

01 (2007-12-30)

TopEng-
CTIAPI

18

enum AGENT_TYPE
{
EXTENSION_TYPE = 0, //
USERLINE_TYPE,
//
AGENT_TYPE_1B1D,//1B+D TUA
AGENT_TYPE_SINGLE_PHONE,//
AGENT_TYPE_PC_PHONE,//PC+PHONE
AGENT_TYPE_ISDN_2BD,// 2B+D
AGENT_TYPE_ISDN_6BD,// 6B+D
};
enum AGENT_OP_STATUS
{
//
ops_null=0,
//
ops_login,
//
ops_idle,
//
ops_busy,
//
ops_active,
//
ops_wait_answer,
//
ops_wait_connect,
//

ops_release,
//
ops_disconnect,
//
ops_wait_alerting,
//
ops_tri_tlak = 10,
//
ops_fail,
//
ops_ok,
//
ops_hungup,
//
//
ops_supervise_insert,
//
ops_stop_supervise_insert,
//
//
ops_record_begin,
//
ops_record_stop,
//
//
ops_monitor,
//
ops_stop_monitor,
//
ops_monitor_supervisor_other = 20,
//
ops_stop_monitor_supervisor_other,
//
ops_playvoice,
//
ops_stop_playvoice,
//
ops_surveillant,
//
ops_stop_surveillant =25,
//
ops_rest,
//
ops_work,
//
ops_monitor_insert_call, //
//added 3.0
ops_play,
//
ops_stop_play,
//
ops_force_out,
//
ops_force_idle,
//
ops_force_busy
//
};

01 (2007-12-30)

18-3

TopEng-
CTIAPI

18

ROUTE_REQ_TYPE = (
ROUTE_REQ_TYPE_NORMAL,
//
ROUTE_REQ_TYPE_AGENT,
//
ROUTE_REQ_TYPE_LONG_DISTANCE,//
ROUTE_REQ_TYPE_NET_CALL,
//CTI
ROUTE_REQ_TYPE_SP_IDD,
//
MAX_REQ_TYPE
);

//
//0 200 CTI Server
enum Call_Feature_Type//
{
SP_CALL_NORMAL =0,
//
SP_CALL_SPECIAL,
//SPECIAL CALL , USED BY CONFERENCE CALL
KE11_CALL,
//KE=11, USED BY VMS CALL--GET VOICE
INFORMATION
KE15_CALL,
//KE=15, USED BY VMS CALL--DELETE VOICE
INFORMATION
BP_CALL ,
//BP,USED BY VMS CALL--SEND INFORMATION TO BP
SP_CALL_LONG,
//
INTER_CALL,
//
SP_CALL_OUT,
//
OP_CALL_OUT,
// SIP 6
OP_PRI_OUT,
//PRI
IVR_CALL_OUT,
//IVR
OUTBOUND_CALL_OUT, //
//OPS::begin
ICD_SP_OPS_AIDERCALL,
//
ICD_SP_OPS_INCALL,
//
ICD_SP_OPS_PASSCALL,
//
ICD_SP_OPS_GIVECALL,
//
ICD_SP_OPS_INCALL_OUT, //
ICD_SP_OPS_PASSCALL_OUT,
//
ICD_SP_OPS_TEL_CALL_OUT,
//
//OPS::end
//
//VCP::begin
ICD_SP_VCP_ISDNCALL_IN,
//
ICD_SP_VCP_ISDNCALL_OUT,//
ICD_SP_VCP_VIRTUALCALL_IN_2BD, // 2B+D 2

ICD_SP_VCP_VIRTUALCALL_IN_6BD, // 6B+D 6

ICD_SP_VCP_VIRTUALCALL_OUT_2BD, // 2B+D CCS


ICD_SP_VCP_VIRTUALCALL_OUT_6BD,// 6B+D CCS
//VCP::end
//
//OUTBOUND::begin
ICD_SP_OUTBOUND_PRE_OCCUPY,//
ICD_SP_OUTBOUND_PRE_CONNECT,//
ICD_SP_OUTBOUND_VIRTUAL_CALLIN,//
ICD_SP_OUTBOUND_PREVIEW,//
ICD_SP_OUTBOUND_CALLBACK,//
//OUTBOUND::end

18-4

01 (2007-12-30)

TopEng-
CTIAPI

18

//0 200 CTI Server


};

enum RELOCATION_DIRECTION
{
SEEK_FORWARD,
//0
SEEK_BACKWARD
//1
};
enum RELOCATION_SEEK_FROM
{
SEEK_FROM_HEAD=0, //
SEEK_FROM_CURRENT,//
SEEK_FROM_TAIL
//
};

enumTRANSFER_STYLE
{
CANCEL_TRANSFER = 0,
FORWARD_TRANSFER, //
BUSY_TRANSFER
//
};

enum voice_resource//
{
SPT_RESOURCE=0,//SPT
VP_RESOURCE,//VP
SIG_RESOURCE,//SIG
NO_VOICE//
};
enum Play_Type//
{
PLAY_NOTE=0,//
PLAY_LOCAL_FILE,// A TopEng
PLAY_SPEC_FILE,//
PLAY_TEM_FILE,//
PLAY_COMBINE,//
PLAY_QC_FILE//
};

enum MI_TYPE
{
MI_TRUNKNO = 0,//
MI_CALLER,//
MI_CALLED//
};

enum CONNECT_BY_TYPE //
{

01 (2007-12-30)

18-5

TopEng-
CTIAPI

18
BY_DIRECT = 0,//
BY_CONFERENCE//
};

enum CALL_DIRECT_MODE//
{
NORMAL_DIRECT = 0 ,//
KEEP_DIRECT,//
WAIT_DIRECT,//
RELEASE_DIRECT//
};

enum
{

ACD_TRUNK_TYPE
INBOUND_TRUNK = 0,//
OUTBOUND_TRUNK,//
BIDIRECT_TRUNK//

};

enum CONNECT_BY_TYPE
{
BY_DIRECT = 1,//
BY_CONFERENCE =2,//
};

enum REQUESTROUTINGTYPE
{
DIGIT_INFO = 1, //
USER_SKILL_NEED = 2,//
AGENT_NO = 3,//
OPR_HELP//
};

enum CONNECT_TYPE
{
LISTEN_ONLY,
//
SPEAK_ONLY,
//
LISTEN_SPEAK,
//
DISCONNECT_LISTEN,//
DISCONNECT_SPEAK,
//
DISCONNECT_ALL,
//
};

enum
IVR_DISCONNECT_CAUSE
{
SHAKE_HANDS_TIMEOUT= 0x3f, //
};

18-6

01 (2007-12-30)

TopEng-
CTIAPI

18

enum API_ENUM_MSG_TYPE
{
SP_SETUP = 1,
//
SP_DISCONNECT = 8, //
};

18.2
Apiuse.h

DBCCC_USER_RECORD
#define RESERVED_SIZE
9
typedef struct tagDBCCC_USER_RECORD
{
WORD usWorkNo;//
CHAR szUserName[ DBCCC_MAXLEN_USERNAME + 1 ];//
CHAR szPassword[ DBCCC_MAXLEN_PASSWORD + 1 ];//
ULONG ulSecurity; //
UCHAR ucReserved[RESERVED_SIZE];//
}DBCCC_USER_RECORD, *LPDBCCC_USER_RECORD;//

DBCCC_USER_RECORD_EX
Const
USHORT
MAX_RIGHT_BYTE_LEN = 32; //
struct DBCCC_USER_RECORD_EX : public DBCCC_USER_RECORD
{
VDNID
usVDN;
//VDN
UCHAR
ucRight[MAX_RIGHT_BYTE_LEN];
//
};

DEVICE_ID
typedef
struct tagDEVICE_ID
{
UCHARucDeviceType;// enum ICD_DEVICETYPE
USHORT
usDeviceNo;//
friend int operator==(const struct tagDEVICE_ID & id1, const struct
tagDEVICE_ID& id2 )
{
return (id1.ucDeviceType == id2.ucDeviceType && id1.usDeviceNo
== id2.usDeviceNo);
}
friend int operator!=(const struct tagDEVICE_ID& id1, const struct
tagDEVICE_ID& id2 )
{
return (id1.ucDeviceType != id2.ucDeviceType || id1.usDeviceNo !
= id2.usDeviceNo);
}DEVICE_ID, *LPDEVICE_ID;//

CALLID
struct CALLID
{
ULONG ulTime;
USHORT usDsn;

01 (2007-12-30)

//
//

18-7

TopEng-
CTIAPI

18

UCHAR ucHandle;//
UCHAR ucServer;//
inline friend int operator!=(const CALLID& id1, const CALLID& id2 );
inline friend int operator==(const CALLID& id1, const CALLID& id2 );
};//
typedef CALLID *LPCALLID;
inline int operator!=(const CALLID& id1, const CALLID& id2 )
{ return memcmp(&id1, &id2, sizeof(CALLID)); }
inline int operator==(const CALLID& id1, const CALLID& id2 )
{ return !memcmp(&id1, &id2, sizeof(CALLID)); }
const CALLID CALLID_NO_USE = { 0xffffffff, 0xffff, 0xff, 0xff };

EVENT_TIME

typedef struct tagEVENT_TIME


{
USHORT wYear;
UCHAR wMonth;
UCHAR wDayOfWeek; //Specifies the current day of the week;
//Sunday = 0, Monday = 1, and so on.
UCHAR wDay;
UCHAR wHour;
UCHAR wMinute;
UCHAR wSecond;
USHORT wMilliseconds; //Specifies the current millisecond
}EVENT_TIME, *LPEVENT_TIME;

DBCCC_EVENT_HEAD
typedef struct tagDBCCC_EVENT_HEAD
{
EVENT_TIME ulTime;
//
USHORT
usEventType; //enum CCC_EVENT
USHORT
usSize;
//
}DBCCC_EVENT_HEAD, *LPDBCCC_EVENT_HEAD;

DBCCC_DEVICE_STRUCT
DBCCC_DEVICE_STRUCT
typedef
struct tagDBCCC_DEVICE_STRUCT
{
ULONG
ulWaitBeginTime;//
ULONG
ulWaitEndTime; //
ULONG
ulAnswerBeginTime;//
ULONG
ulAnswerEndTime;//
ULONG
ulTalkBeginTime;//
ULONG
ulTalkEndTime; //
USHORT usDeviceNo;
//
UCHAR
ucDeviceType;
// enum ICD_DEVICETYPE
UCHAR
ucDoFuction;
// enum CALL_DIRECT_MODE
UCHAR
ucLeaveReason; // enum CALL_DIRECT_MODE
}DBCCC_DEVICE_STRUCT, *LPDBCCC_DEVICE_STRUCT;

DBCCC_DEVICE_STRUCT_EX
typedef
{

18-8

struct tagDBCCC_DEVICE_STRUCT_EX

01 (2007-12-30)

TopEng-
CTIAPI

18

ULONG
ulWaitBeginTime;
//
ULONG
ulWaitEndTime;
//
ULONG
ulAnswerBeginTime;
//
ULONG
ulAnswerEndTime;
//
ULONG
ulTalkBeginTime;
//
ULONG
ulTalkEndTime;
//
USHORT usDeviceNo;
//
UCHAR
ucDeviceType;
// enum ICD_DEVICETYPE
UCHAR
ucDoFuction;
// enum CALL_DIRECT_MODE
UCHAR
ucEnterReason;
//
UCHAR
ucLeaveReason;
//
}DBCCC_DEVICE_STRUCT_EX, *LPDBCCC_DEVICE_STRUCT_EX;

CALL_DIRECT_MODE
enum CALL_DIRECT_MODE
{
NORMAL_DIRECT = 0 , //
KEEP_DIRECT,
//
WAIT_DIRECT,
//
RELEASE_DIRECT
//
};

DBCCC_CALL_INFO
typedef struct tagDBCCC_CALL_INFO
{
ULONG
cb;
//
CALLID callID;
//
CHAR
cKeyID[ MAXLEN_EXTEN + 1];
//
CHAR
cANI[ MAXLEN_EXTEN + 1];
//
CHAR
cDialedNumber[ MAXLEN_EXTEN + 1 ]; //
CHAR
ucMid;
//
USHORT usTrunkNo;
//
UCHAR
ucPriority;
//
DEVICE_ID CurrentDevice ;
//
UCHAR
pucCallData[ MAX_CALLDATA_LEN ];
//
USHORT CallDataLen;
//
CHAR
pcCallSkill[ MAX_SKILL_STRING_LENGTH ]; //180
Chinese
USHORT usPartyNum;
//
UCHAR
ucCallFeature;
//, enum Call_Feature_Type
CHAR
cOrgCalledNo[ MAXLEN_EXTEN + 1 ];
//
} DBCCC_CALL_INFO, *LPDBCCC_CALL_INFO;
//

DBCCC_CALL_INFO_EX
typedef struct tagDBCCC_CALL_INFO_EX
{
ULONG
cb;
CALLID callID;
CHAR
cKeyID[ MAXLEN_EXTEN + 1];
CHAR
cANI[ MAXLEN_EXTEN + 1];
CHAR
cDialedNumber[ MAXLEN_EXTEN + 1 ];
CHAR
ucMid;
USHORT usTrunkNo;
UCHAR
ucPriority;
DEVICE_ID
CurrentDevice ;

01 (2007-12-30)

//
//
//
//
//
//
//
//
//

18-9

TopEng-
CTIAPI

18

UCHAR
pucCallData[ MAX_CALLDATA_LEN ];
//
USHORT usCallDataLen;
//
CHAR
pcCallSkill[ MAX_SKILL_STRING_LENGTH ]; //
USHORT usPartyNum;
//
UCHARucCallFeature;
//, enum Call_Feature_Type
CHAR
cOrgCalledNo[ MAXLEN_EXTEN + 1 ];
//
USHORT usMediaType;
//
USHORT usPlace;
//

ULONG
ulWaitTime;
//
ULONG
ulTotalTalkingTimes;
//
ULONG
ulLogonTimes;
//
} DBCCC_CALL_INFO_EX, *LPDBCCC_CALL_INFO_EX; //

DBCCC_CALL_INFO_EX2
typedef struct tagDBCCC_CALL_INFO_EX2
{
ULONG cb;
//
CALLID callID;//
CHAR
cKeyID[MAXLEN_EXTEN+1];
//
CHAR
cANI[MAXLEN_EXTEN+1];
//
CHAR
cDialedNumber[ MAXLEN_EXTEN+1];//
CHAR
ucMid;
//
USHORT usTrunkNo;
//
UCHAR ucPriority;
//
DEVICE_ID
CurrentDevice; //
CHAR
pcCallSkill[MAX_SKILL_STRING_LENGTH];//
USHORT usPartyNum;
//
UCHAR
ucCallFeature;
// enum Call_Feature_Type
CHAR
cOrgCalledNo[MAXLEN_EXTEN+1];
//
USHORT
usMediaType;
//
USHORT
usPlace;
//
ULONG
ulWaitTime;
//
ULONG
ulTotalTalkingTimes;//
ULONG
ulLogonTimes;
//
USHORT
usServiceType;
//
USHORT usCallDataLen;
//
UCHAR pucCallData[ANY_SIZE];
//
} DBCCC_CALL_INFO_EX2, *LPDBCCC_CALL_INFO_EX2;//

DBCCC_CALL_INFO_EX3
typedef struct tagDBCCC_CALL_INFO_EX3
{
ULONG
cb;
//
CALLID
callID;
//
CHAR
cKeyID[MAXLEN_EXTEN+1];
// UVID
CHAR
cANI[MAXLEN_EXTEN+1];
//
CHAR
cDialedNumber[MAXLEN_EXTEN+1];
//
CHAR
ucMid;
//
USHORT
usTrunkNo;
//
UCHAR
ucPriority;
//
DEVICE_ID
CurrentDevice ; //
CHAR
pcCallSkill[MAX_SKILL_NAME_LENGTH];//
USHORT
usPartyNum; //
UCHAR
ucCallFeature;//, enum Call_Feature_Type
CHAR
cOrgCalledNo[ MAXLEN_EXTEN + 1 ];
//

18-10

01 (2007-12-30)

TopEng-
CTIAPI

18

USHORT
usMediaType;//
USHORT
usPlace;//
ULONG
ulWaitTime;//
ULONG
ulTotalTalkingTimes;//
ULONG
ulLogonTimes;
//
USHORT
usServiceType;
//
USHORT
usCallInCause;//
USHORT
usCallDataLen; //
UCHAR
pucCallData[ ANY_SIZE ];//
}DBCCC_CALL_INFO_EX3, *LPDBCCC_CALL_INFO_EX3;

DBCCC_BASE_CALL_INFO
typedef struct tagDBCCC_BASE_CALL_INFO
{
CALLID callID;
//
UCHAR ucCallFeature;// enum Call_Feature_Type
CHAR
cANI[MAXLEN_EXTEN+1];//
CHAR
cDialedNumber[MAXLEN_EXTEN+1];//
}DBCCC_BASE_CALL_INFO, *LPDBCCC_BASE_CALL_INFO;

DBCCC_BASE_CALL_INFO_EX

typedef struct tagDBCCC_BASE_CALL_INFO_EX


{
ULONG cb;
CALLID callID;//
CHAR
cKeyID[MAXLEN_EXTEN+1];//
CHAR
cANI[MAXLEN_EXTEN+1];//
CHAR
cDialedNumber[MAXLEN_EXTEN+1];//
CHAR
ucMid;
//
USHORT usTrunkNo;
//
UCHAR ucPriority;
//
DEVICE_ID
CurrentDevice; //
CHAR
pcCallSkill[ MAX_SKILL_STRING_LENGTH ];//,
180,Chinese
USHORT usPartyNum;
//
UCHAR ucCallFeature; // enum Call_Feature_Type
CHAR
cOrgCalledNo[MAXLEN_EXTEN+1]; //
USHORT usMediaType; //
USHORT usPlace;
//
ULONG ulWaitTime;
//
ULONG ulTotalTalkingTimes; //
ULONG ulLogonTimes;
//
USHORT usServiceType;
//
}DBCCC_BASE_CALL_INFO_EX, *LPDBCCC_BASE_CALL_INFO_EX;

SKILL_STRUCT
typedef struct
tagSKILL_STRUCT
{
USHORT
usID;
// ID
CHAR
cName[MAX_SKILLL_UNIT_NAME_LENGTH+1];//
}SKILL_STRUCT, *LPSKILL_STRUCT;

01 (2007-12-30)

18-11

TopEng-
CTIAPI

18

SKILL_STRUCT_EX
ID ICD3.0
typedef structtagSKILL_STRUCT_EX
{
USHORT
usID;// ID
VDNID
vdnId;// VDN
USHORT
usMediaType;//
USHORT
usServiceType;//
CHAR
cName[MAX_SKILL_NAME_LENGTH + 1];/
}SKILL_STRUCT_EX, *LPSKILL_STRUCT_EX;

NODE_STRUCT

typedef
struct
tagNODE_STRUCT
{
USHORT
usParentNo;//
USHORT
usChildNo;//
USHORT
usSkillID;//
USHORT
usServiceNo;//
}NODE_STRUCT, *LPNODE_STRUCT;

NODE_STRUCT_EX

typedef
struct
tagNODE_STRUCT_EX
{
USHORT
usParentNo;//
USHORT
usChildNo;//
USHORT
usSkillID;//
USHORT
usServiceNo;//
USHORT
usMediaType;//
}NODE_STRUCT_EX, *LPNODE_STRUCT_EX;

CLASS_STRUCT
TopEng-V2.0
typedef
struct
tagCLASS_STRUCT
{
USHORT
usID;//
CHAR
cName[MAX_CLASS_NAME_LENGTH + 1];//
}CLASS_STRUCT, LPCLASS_STRUCT;

CLASS_STRUCT_EX

typedefstructtagCLASS_STRUCT_EX
{
USHORT
vdnID;
USHORT
usID;//
CHAR
cName[MAX_CLASS_NAME_LENGTH + 1];//
}CLASS_STRUCT_EX, LPCLASS_STRUCT_EX;//

18-12

01 (2007-12-30)

TopEng-
CTIAPI

18

AGENT_STRUCT
TopEng- V2.0
typedef struct
tagAGENT_STRUCT
{
USHORT
usNo;//
CHAR
cName[AGENT_NAME_LENGTH + 1];//
ULONG
ulRights;//
USHORT
usSkillGroupID;// ID
USHORT
usWorkGroupID;//
}AGENT_STRUCT, *LPAGENT_STRUCT;
//

AGENT_STRUCT_EX
TopEng- V3.0
typedef struct
tagAGENT_STRUCT_EX
{
USHORT
usWorkNo;//
CHAR
cName[AGENT_NAME_LENGTH + 1];//
USHORT
usSkillGroupID;// ID
USHORT
usGroupId;//
VDNID
vdnId;// VDN
UCHAR
ucAgentType;//
ULONG
ulRights[MAX_NUM_RIGHT];// TopEng-
V2.0
UCHAR
ucPrivateQueueMode;//
enumPRIVATE_QUEUE_MODE
}AGENT_STRUCT_EX, *LPAGENT_STRUCT_EX;

AGENT_SKILLS_EX
typedef struct _Agent_Skills_Ex
{
USHORT
SkillID;//;
BOOL
IsConfig;//
BOOL
IsLogin;//
}AGENT_SKILLS_EX;

AGENT_CFG_INFO
//
const
USHORT
EMAIL_MAX_SERVER_LEN= 128;
const
USHORT
EMAIL_MAX_ADDRESS_LEN= 128;
const
USHORT
EMAIL_MAX_USERNAME_LEN= 20;
const
USHORT
EMAIL_MAX_PASSWORD_LEN= 20;
MAX_URL_LEN= 512;
struct AGENT_CFG_INFO
{
//Email
char pPOP3Server[EMAIL_MAX_SERVER_LEN];//POP3
char pSMTPServer[EMAIL_MAX_SERVER_LEN];//SMTP
//char pCallerEmailAddr[EMAIL_MAX_ADDRESS_LEN];//
char pRecvEmailAddr[EMAIL_MAX_ADDRESS_LEN];//
char pSendEmailAddr[EMAIL_MAX_ADDRESS_LEN];//
char pEmailUserName[EMAIL_MAX_USERNAME_LEN];//
char pEmailPassword[EMAIL_MAX_PASSWORD_LEN];//
//

01 (2007-12-30)

18-13

TopEng-
CTIAPI

18
char pPMSURL[WECC_MAX_URL_LEN];//
URLchar pConvoyDefURL[WECC_MAX_URL_LEN];// URL
};

WORKGROUP_INFO
TopEng- V2.0
typedef
struct
tagWORKGROUP_INFO
{
USHORT
usID;//
USHORT
usMonitorNo;//
CHAR
cMonitorName[AGENT_NAME_LENGTH + 1];//
CHAR
cGroupName[MAX_WORKGROUP_NAME_LENGTH + 1];//
}WORKGROUP_INFO, *LPWORKGROUP_INFO;

WORKGROUP_INFO_EX
TopEng- V3.0
typedef
struct
tagWORKGROUP_INFO_EX
{
USHORT
usID;//
VDNID
vdnId;// VDN
USHORT
usMonitorNo;//
CHAR
cMonitorName[AGENT_NAME_LENGTH + 1];//
CHAR
cGroupName[MAX_WORKGROUP_NAME_LENGTH + 1];//
}WORKGROUP_INFO_EX, *LPWORKGROUP_INFO_EX;

CUSTOMER_INFO_STRUCT
typedef
struct tagCUSTOMER_INFO_STRUCT
{
CHAR
cKeyID[MAXLEN_EXTEN+1];//
CHAR
cClass[MAX_CLASS_NAME_LENGTH+1];//
CHAR
cName[MAX_PEOPLE_NAME_LENGTH+1];//
CHAR
cLanguage[MAX_LANGUAGE_LENGTH+1];//
CHAR
cCompany[MAX_COMPANY_LENGTH+1];//
CHAR
cAddress[MAX_ADDRESS_LENGTH+1];//
CHAR
cArea[MAX_AREA_LENGTH+1];//
CHAR
cDescription[MAX_DESCRIPTION_LENGTH+1];//
CHAR
cSerialNo[MAX_SERIALNO_LENGTH+1];//
CHAR
cSkills[MAX_DESCRIPTION_LENGTH+1];//
USHORT
usWorkNo;//
}CUSTOMER_INFO_STRUCT, *LPCUSTOMER_INFO_STRUCT;

CUSTOMER_INFO_STRUCT_EX
typedef
{
CHAR
CHAR
CHAR
CHAR
CHAR
CHAR
CHAR
CHAR

18-14

struct tagCUSTOMER_INFO_STRUCT_EX
cKeyID[MAXLEN_EXTEN+1];//
cClass[MAX_CLASS_NAME_LENGTH+1];//
cName[MAX_PEOPLE_NAME_LENGTH+1];//
cLanguage[MAX_LANGUAGE_LENGTH+1];//
cCompany[MAX_COMPANY_LENGTH+1];//
cAddress[MAX_ADDRESS_LENGTH+1];//
cArea[MAX_AREA_LENGTH+1];//
cDescription[MAX_DESCRIPTION_LENGTH+1];//

01 (2007-12-30)

TopEng-
CTIAPI

18

CHAR
cSerialNo[MAX_SERIALNO_LENGTH+1];//
CHAR
cSkills[MAX_DESCRIPTION_LENGTH+1];//
CHAR
pEmailAddress[MAX_DESCRIPTION_LENGTH+1];// E-mail
CHAR
pURLAddress[MAX_DESCRIPTION_LENGTH+1];//
USHORT
usWorkNo;//
}CUSTOMER_INFO_STRUCT_EX, *LPCUSTOMER_INFO_STRUCT_EX;
//

DBCCC_SERVICE_STRUCT
typedef struct tagDBCCC_SERVICE_STRUCT
{
USHORT
usNo;//
CHAR
strDescription[MAX_SERVICE_DESCRIPTION_LEN + 1];//
}DBCCC_SERVICE_STRUCT, *LPDBCCC_SERVICE_STRUCT;

DBCCC_HISTORY_ITEM
typedef
struct
tagDBCCC_HISTORY_ITEM
{
USHORT
usID;//
CHAR
pcData[MAX_HISTORY_LENGTH + 1];//
}DBCCC_HISTORY_ITEM, *LPDBCCC_HISTORY_ITEM;

DBCCC_CALL_STATIC_INFO 24
typedef struct tagDBCCC_CALL_STATIC_INFO
{
ULONG
ulCallNumsInHour[24];//
ULONG
ulCallAbandonNumsInHour[24];//
} DBCCC_CALL_STATIC_INFO, *LPDBCCC_CALL_STATIC_INFO;

DBCCC_CALL_STATIC_INFO_EX 24
typedef struct tagDBCCC_CALL_STATIC_INFO_EX
{
ULONG
ulCallNumsInHour[24]; //
ULONG
ulCallAbandonNumsInHour[24];//
ULONG
ulCallConnectNumsInHour[24];//
} DBCCC_CALL_STATIC_INFO_EX; // 24

PRE_OUTBOUND_STRUCT
typedef struct tagPRE_OUTBOUND_STRUCT
{
CHAR
cANI[MAX_ANI_LENGTH + 1];//
ULONG
ulTime;
//
DEVICE_ID
Device;//
CHAR
cUserInfo[MAX_DESCRIPTION_LENGTH + 1];//
}PRE_OUTBOUND_STRUCT, *LPPRE_OUTBOUND_STRUCT;

CCS_TIMESTRUCT
typedef struct
{
UCHAR ucYear;//Current Year minus 1900 2155 roll over
UCHAR ucMonth;// 112
UCHAR ucDay;
// 131
UCHAR ucHour;// 023

01 (2007-12-30)

18-15

TopEng-
CTIAPI

18
UCHAR ucMinute;
UCHAR ucSecond;
}CCS_TIMESTRUCT;

// 059
// 059

POWER_OUTBOUND_STRUCT
struct POWER_OUTBOUND_STRUCT
{
CHAR
cCli[MAXLEN_EXTEN + 1]; //
CHAR
cANI[MAX_ANI_LENGTH + 1];//
CHAR
cCustomerName[MAX_PEOPLE_NAME_LENGTH + 1];//
CHAR
cDescription[MAX_DESCRIPTION_LENGTH + 1];//
UCHAR
ucDeviceType;// enum ICD_DEVICETYPE
CHAR
cSkills[MAX_SKILL_STRING_LENGTH + 1];
CCS_TIMESTRUCT
bookTime;//
CCS_TIMESTRUCT
reCallTime;//
CCS_TIMESTRUCT
endTime;//
};
enum ICD_PRE_OUTBOUND_TYPE
{
IOBT_PRE_OCCUPY= 1,//
IOBT_VIRTUAL_CALLIN,//
IOBT_PRE_CONNECT,//
IOBT_PREVIEW,
//
IOBT_AUTO_CALLOUT = 100, //
IOBT_CALLBACK,//
};

POWER_OUTBOUND_STRUCT_EX2
struct POWER_OUTBOUND_STRUCT_EX2 :public
POWER_OUTBOUND_STRUCT
{
UCHAR
ucOutboundType;// enum ICD_PRE_OUTBOUND_TYPE

ULONG
ulIndex;//
USHORT
usTimeOut;//
VDNID
vdnId;// VDN
};

DBCCC_SYSTEM_INFOCCS
typedef structtag
DBCCC_SYSTEM_INFO
{
CHAR
VersionInfo[MAX_VERSION_LEN+1];// CCS
USHORT
usCallNum;//
USHORT
usCallInQueueNum;//
USHORT
usTalkingNum;//
USHORT
usTotalLoginAgent;//
USHORT
usBusyAgent;//
USHORT
usIdleAgent;//
USHORT
usSkillNum;//
USHORT
usConnectNum;//
}DBCCC_SYSTEM_INFO, *LPDBCCC_SYSTEM_INFO;

AGENTSTATUS
typedef struct tagAGENTSTATUS
{

18-16

01 (2007-12-30)

TopEng-
CTIAPI

18

UCHAR
ucStatus : 5;
//enum AGENT_OP_STATUS 5 bits
UCHAR
ucRecord : 1;
//1:01 bit
UCHAR
ucSuper : 1;
//1:01 bit
UCHAR
ucMonitor: 1;
//1:01 bit
} AGENTSTATUS, *LPAGENTSTATUS;

DBCCC_AGENT_ABSTRACT
typedef struct tagDBCCC_AGENT_ABSTRACT
{
USHORT
usAgentDSN;//
UCHAR
ucAgentType;// enum AGENT_TYPE
USHORT
usAgentWorkNo;//
USHORT
usWorkGroupID;//
AGENTSTATUS
ucAgentStatus;// AGENT_OP_STATUS
}DBCCC_AGENT_ABSTRACT, *LPDBCCC_AGENT_ABSTRACT;

SKILL_ID ID
typedefstructtagSKILL_ID
{
USHORT
usSkillID;
// ID
UCHAR
ucSkillLevel;//
}SKILL_ID, *LPSKILL_ID;

DBCCC_SKILL_GROUP_STRUCT
// CccQuerySkillsBaseGroupID
typedef
struct tagDBCCC_SKILL_GROUP_STRUCT
{
USHORT
usID;//
USHORT
usSkillNum;//
USHORT
usDescriptionSize;//
}DBCCC_SKILL_GROUP_STRUCT, *LPDBCCC_SKILL_GROUP_STRUCT;
// SKILL_ID usSkillNum ;
// usDescriptionSize
//SKILL_IDSkill[];//
//UCHARDescription[];//

DBCCC_ACD_INFO ACD
typedef struct tagDBCCC_ACD_INFO
{
ULONG
cb; //
UCHAR
szPilotNbr[MAXLEN_PILOTNBR + 1]; //ACD pilot number
USHORT
usDeviceNo;
//ACD
USHORT
usQueueSize;
//
ULONG
ulQueueTime; //
USHORT
usLoadFactor;
//
ULONG
ulEstWaitTime; //Agent
USHORT
usLoggedOnAgents; // ACD Agent
USHORT
usAvailAgents; // ACD Agent
UCHAR
ucTransferFlg; // enum TIMEOUT_PROCESS_STYLE
DEVICE_ID TransferDevice;
//
CHAR
pSkillDescrip[ MAX_SKILL_STRING_LENGTH + 1];//
} DBCCC_ACD_INFO, *LPDBCCC_ACD_INFO;

01 (2007-12-30)

18-17

TopEng-
CTIAPI

18

enum
{

TIMEOUT_PROCESS_STYLE

//Timeout or Transfer Type

RELEASE_STYLE = 0,
TRANSFER_STYLE,
};

DBCCC_ACD_INFO_EX ACD
struct DBCCC_ACD_INFO_EX
{
ULONG
cb;//
UCHAR
szPilotNbr[MAXLEN_PILOTNBR + 1];//ACD pilot number
USHORT
usDeviceNo;
//ACD
USHORT
usQueueSize;
//
ULONG
ulQueueTime;//
USHORT
usLoadFactor;
//
ULONG
ulEstWaitTime; //Agent
USHORT
usLoggedOnAgents; // ACD Agent
USHORT
usAvailAgents; // ACD Agent
UCHAR
ucTransferFlg;// enum IMEOUT_PROCESS_STYLE
DEVICE_ID
TransferDevice; //
CHAR pSkillDescrip[ MAX_SKILL_STRING_LENGTH + 1];//
// DBCCC_ACD_INFO
USHORT
usResourceIdleRate; //
/

USHORT
usServiceLevel;
//
/

};

DBCCC_ACD_INFO_EX2
typedef struct tagDBCCC_ACD_INFO_EX2
{
ULONG
ulTalkTimes; //
ULONG
ulWaitTimes; //
ULONG
ulQueueTime; //(
ULONG
ulProcessingCallNums; //
ULONG
ulTotalCallNums;
//
USHORT
usQueueSize;
//
USHORT
usTalkingCallNums;
//
USHORT
usTalkingAgentNums; //
USHORT
usIdleAgents;
//
USHORT
usBusyAgents;
// ACD Agent
USHORT
usRestedAgents;
//
USHORT
usLoggedOnAgents; //
CHAR
pSkillDescrip[ MAX_SKILL_STRING_LENGTH + 1];//
} DBCCC_ACD_INFO_EX2, *LPDBCCC_ACD_INFO_EX2;

DBCCC_ACD_INFO_EX3
typedef struct tagDBCCC_ACD_INFO_EX3
{
ULONG
cb; //
UCHAR
szPilotNbr[MAXLEN_PILOTNBR + 1]; //ACD pilot number
USHORT
usDeviceNo;
//ACD
USHORT
usQueueSize; //

18-18

01 (2007-12-30)

TopEng-
CTIAPI

18

ULONG
ulQueueTime; //(
USHORT
usLoadFactor; //
ULONG
ulEstWaitTime; //Agent
USHORT
usLoggedOnAgents; // ACD Agent
USHORT
usAvailAgents; // ACD Agent
UCHAR
ucTransferFlg; // enum TIMEOUT_PROCESS_STYLE
DEVICE_ID
TransferDevice;//
CHAR
pSkillDescrip[MAX_SKILL_STRING_LENGTH+1];//
// DBCCC_ACD_INFO
USHORT
usResourceIdleRate; //
USHORT
usServiceLevel;
//
// DBCCC_ACD_INFO_EX
CALLID
OldestCall;
// ID
USHORT
usMaxQueueSize;
//
}DBCCC_ACD_INFO_EX3, *LPDBCCC_ACD_INFO_EX3;

AGENT_STRUCT
TopEng- V2.0
typedef struct
tagAGENT_STRUCT
{
USHORT
usNo;//
CHAR
cName[AGENT_NAME_LENGTH + 1];//
ULONG
ulRights;//
USHORT
usSkillGroupID;// ID
USHORT
usWorkGroupID;//
}AGENT_STRUCT, *LPAGENT_STRUCT;//

DBCCC_AGENT_INFO
TopEng- V2.0
typedef struct tagDBCCC_AGENT_INFO
{
ULONG
cb;
AGENT_STRUCT Agent;//
USHORT
szDeviceNo;
//Agent
UCHAR
szPilotNbr[MAXLEN_PILOTNBR + 1];//Agent
USHORT
usPrevState; // enum AGENT_STATE_20
ULONG
ulPrevStateTime;//
USHORT
usCurrentState; // enum AGENT_STATE_20
ULONG
ulCurrentStateTime;//
ULONG
ulLogonTime; //
USHORT
usKeepNums;//
USHORT
usAnswerNums;//
USHORT
usConferenceNums;
//
USHORT
usCallOutNums;//
USHORT
usTransferNums;//
USHORT
usTransferOutNums;//
USHORT
usRedirectNums;//
USHORT
usInterCallNums;//
USHORT
usNoAnswerNums;//
USHORT
usBusyNums;//
USHORT
usIdleTime;//
USHORT
usRestNums;
//
USHORT
usRestOutNums; //
ULONG
ulRestTime;
//

01 (2007-12-30)

18-19

TopEng-
CTIAPI

18
ULONG
ulRestOutTime; //
USHORT
usAgentRelease;//
ULONG
ulTotalTalkIngTimes;//
CALLID
callID[2];//
UCHAR
ucTransferFlg;
//
//enum
TIMEOUT_PROCESS_STYLE
DEVICE_ID
TransferDevice;
} DBCCC_AGENT_INFO, *LPDBCCC_AGENT_INFO;//

//

DBCCC_AGENT_INFO_EX
TopEng- V3.0
typedef struct tagDBCCC_AGENT_INFO_EX
{
ULONG
cb;
AGENT_STRUCT_EX Agent;
//
USHORT
szDeviceNo;
//Agent
UCHAR
szPilotNbr[MAXLEN_PILOTNBR + 1];//Agent
USHORT
usPrevState;
// enum AGENT_STATE_20
ULONG
ulPrevStateTime;
//
USHORT
usCurrentState;
// enum AGENT_STATE_20
ULONG
ulCurrentStateTime;
//
ULONG
ulLogonTime;
//
USHORT
usKeepNums;
//
USHORT
usAnswerNums;
//
USHORT
usConferenceNums;
//
USHORT
usCallOutNums;
//
USHORT
usTransferNums;
//
USHORT
usTransferOutNums;
//
USHORT
usRedirectNums;
//
USHORT
usInterCallNums;
//
USHORT
usNoAnswerNums;
//
USHORT
usBusyNums;
//
USHORT
usIdleTime;
//
USHORT
usRestNums;
//
USHORT
usRestOutNums;
//
ULONG
ulRestTime;
//
ULONG
ulRestOutTime;
//
USHORT
usAgentRelease;
//
ULONG
ulTotalTalkIngTimes;
//
CALLID
callID[2];
//
UCHAR
ucTransferFlg; // enum TIMEOUT_PROCESS_STYLE
DEVICE_ID
TransferDevice;
//
} DBCCC_AGENT_INFO_EX, *LPDBCCC_AGENT_INFO_EX;
// ICD V2.0 ICD V3.0
enum AGENT_STATE_20
{
NOT_LOGINED ,
//
IDLE
,
//
PREOCCUPY
,
//
OCCUPY
,
//
ANSWERING
,
//
TALKING
,
//
WORKING
,
//
SETBUSY
,
//
SETFREE
,
//

18-20

01 (2007-12-30)

TopEng-
CTIAPI

18
STUDING,
//
WORK_ADJUST //

CALL_PARTY_INFO
typedef struct
{
ULONG
cb;//
UCHAR
ucDeviceType;// enum ICD_DEVICETYPE
USHORT
usDeviceNo;//
CHAR
ucPilotNo[ MAXLEN_PILOTNBR + 1];//
UCHAR
ucTransferType;// enum TIMEOUT_PROCESS_STYLE
DEVICE_ID
TransferDevice;//
USHORT
usCallNum; // CALLID
} CALL_PARTY_INFO;

DBCCC_AGENT_WORKGROUP_INFO
typedef
struct tagDBCCC_AGENT_WORKGROUP_INFO
{
USHORT
usAgentNo;//
USHORT
usAgentDsn;//
UCHAR
ucAgentStatus; // struct AGENTSTATUS
}DBCCC_AGENT_WORKGROUP_INFO, *LPDBCCC_AGENT_WORKGROUP_INFO;

DBCCC_INNO_STRUCTIVR
typedef struct
tagDBCCC_INNO_STRUCT
{
USHORT
usID;//
USHORT
usServiceNo;//
LONG
lHelpFlag;//
CHAR
pcInNo[MAX_IVR_INNO_LENGTH+1];//
CHAR
pcDescription[MAX_INNO_INFO_LEN+1];
//
}DBCCC_INNO_STRUCT, *LPDBCCC_INNO_STRUCT;

AGENT_ANALY_INFO
typedef struct
{
USHORT
usFirstAgentNo;//
Double
fFirstAgentScore;//
USHORT
usSecondAgentNo;//
Double
fSecondAgentScore;//
USHORT
usThirdAgentNo;
//
Double
fThirdAgentScore;//
USHORT
usSelfIndex;//
Double
fSelfScore;//
} AGENT_ANALY_INFO;//

DBCCC_TRUNK_STRUCT
typedefstructtagDBCCC_TRUNK_STRUCT
{
UCHAR
ucModuleNo;//
UCHAR
ucGroupNo;//
UCHAR
ucDirection;// enum ACD_TRUNK_TYPE

01 (2007-12-30)

18-21

TopEng-
CTIAPI

18

USHORT
usTrunkNo;//
UCHAR
ucStatus;// 1 0
}DBCCC_TRUNK_STRUCT, *LPDBCCC_TRUNK_STRUCT;//

PLAY_DRV_STRUCTIVR
typedef struct tagPLAY_DRV_STRUCT
{
CHAR
IvrNo[ MAXLEN_EXTEN + 1 ];//
UCHAR
flag;// enum PLAY_COLLECT
PLAY_DRV
play_drv;
}PLAY_DRV_STRUCT;
typedef union tagPLAY_DRV
{
VMS_SPT_PLAYvp_spt_play;// VPSPT
DRV_RESULT_STRUdrv_result;//
}PLAY_DRV;
typedef struct tagVMS_SPT_PLAY
{
UCHAR
voice_resource;// enum voice_resource
// 0: SPT, 1: VP , 2: SIG 3: NO_VOICE
UCHAR
play_type;// , enum Play_Type
UCHAR
filename[MAX_FILENAME_LEN + 1];
}VMS_SPT_PLAY;

DRV_RESULT_STRUCT
typedef struct tagDRV_RESULT_STRUCT
{
UCHAR
user_info[DRV_MAX_GET_NUM];//
}DRV_RESULT_STRU;

KEEPINDEX
typedef struct
{
CALLID
ULONG
} KEEPINDEX;

callId;
Index;

EVENT_RESPONSE_ID
CCS
struct EVENT_RESPONSE_ID
{
UCHAR
ucReceiveTaskCount;
USHORT
usReceiveTaskDsn;
};

CONN_OBJ_INFO
typedef
struct tagCONN_OBJ_INFO
{
UCHAR
ucConnNodeNum;//
UCHAR
ucConf;// enum CONNECT_BY_TYPE
CONN_NODE_INFO pNodeInfo[ANY_SIZE];//CONN_NODE_INFO
}CONN_OBJ_INFO, *LPCONN_OBJ_INFO;//

18-22

01 (2007-12-30)

TopEng-
CTIAPI

18

enum CONNECT_BY_TYPE
{
BY_DIRECT = 0,
BY_CONFERENCE,
};

CONN_NODE_INFO
struct CONN_NODE_INFO
{
USHORT
usSourceDsn;//
UCHAR
ucSourceType;//
UCHAR
ucSourceMid;//
USHORT
usDestDsn;//
UCHAR
ucDestType;//
UCHAR
ucDestMid;//
UCHAR
ucMode;//
UCHAR
ucConf;//enum CONNECT_BY_TYPE
};

NODE_INFO
struct NODE_INFO
{
USHORT
usNodeID;
//
USHORT
usNodeLevel;
//
USHORT
usNodeParentID;
// ID
USHORT
usWorkGroupID;
// ID
CHAR
cNodeName[MAX_WORKGROUP_NAME_LENGTH + 1];
};

//

DBCCC_CONFERENCE_INFO
typedef struct tagDBCCC_CONFERENCE_INFO
{
USHORT
usConferenceNum;//
UCHAR
ucMaxJionNum;//
UCHAR
ucMaxAuditNum;//
UCHAR
ucVmsNum;//
UCHAR
ucJionCallNum;//
UCHAR
ucAuditCallNum;//
UCHAR
ucJionAgentNum;//
UCHAR
ucAuditAgentNum;//
} DBCCC_CONFERENCE_INFO, *LPDBCCC_CONFERENCE_INFO;
CALLID CALLID Agent Agent

DBCCC_BUSY_CONFERENCE_INF
typedef struct tagDBCCC_BUSY_CONFERENCE_INFO
{
USHORT usConferenceNums;//
USHORT pusConferenceNo[ANY_SIZE];//
}DBCCC_BUSY_CONFERENCE_INFO, *LPDBCCC_BUSY_CONFERENCE_INFO;

DBCCC_NET_INFOICD
typedef
{

01 (2007-12-30)

struct tagDBCCC_NET_INFO

18-23

TopEng-
CTIAPI

18

USHORT
usConnectID;
//
UCHAR
ucType;
// 0 CCS1 CCS2
3 IVR4 FEP
ULONG
ulMsgIPAddr;
// IP CCC
IP ActualIPAddr
ULONG
ulMsgProcID;
// CCC
ActualProcID
ULONG
ulActualIPAddr; // IP
ULONG
ulActualProcID; // ID
}DBCCC_NET_INFO, *LPDBCCC_NET_INFO;

DBCCC_NET_INFO_EXICD
typedef struct tagDBCCC_NET_INFO_EX : public DBCCC_NET_INFO
{
UCHAR
ucStatus;//10 szVersion
CHAR
szVersion[MAX_VERSION_DESC_LEN];
}DBCCC_NET_INFO_EX, *LPDBCCC_NET_INFO_EX;

ADDRESSID
IP

struct ADDRESSID //
USHORT usType;//,//enum ADDRESS_TYPE
union
{
AGENTID agentId;//
ULONG ulId; //
ULONGulIp; //IP
CHAR pcDN[ MAXLEN_EXTEN + 1 ]; //'\0'
IVR
};
inline friend BOOL operator == (const struct ADDRESSID &id1, const struct
ADDRESSID &id2);
inline friend BOOL operator != (const struct ADDRESSID &id1, const struct
ADDRESSID &id2);

DISK_BASE_INFO
struct DISK_BASE_INFO
{
CHAR cDiskName;//
ULONG ulVoiceDiskCapcity; //
ULONG ulVoiceDiskFreeCapcity ;//
ULONG ulAverageUseSpeed ;//
};

CUSTOMER_GROUP_BASE_INFO
Struct CUSTOMER_GROUP_BASE_INFO
{
USHORT
usCGID;// ID
CHAR
cCGName[MAX_CUSTOMER_GROUP_NAME_LEN+1];//
};

18-24

01 (2007-12-30)

TopEng-
CTIAPI

18

CALLSTATE_EX_STRUCT
struct CALLSTATE_EX_STRUCT
{
SKILLID
usSkillQueueID;// ID
ULONG
ulAC;//
ULONG
ulDC;//
ULONG
ulEAC;//
};

INNO_CALL_STAT_INFO
typedef struct INNO_CALL_STAT_INFO
{
ULONG
ulAllCallCount;//
ULONG
ulIvrCallCount;// IVR
ULONG
ulAgentCallCount;//
ULONG
ulQueueCallCount;//
ULONG ulLongestWaitTime;//
USHORT
usIdleAgentCount;//
USHORT
usBusyAgentCount;//
ULONG
ulPreserv[3];//
}INNO_CALL_STAT_INFO,*LPINNO_CALL_STAT_INFO;

CALL_STAT_BILL_INFO
struct CALL_STAT_BILL_INFO
{
ULONG ulStartTime;
//
ULONG ulAllCallCount;
// 5
ULONG ulCnnedCallCount;
// 5
ULONG ulAbanCallCount;
// 5
ULONG ulCallEndCount;
// 5
ULONG ulTalkTimeOnIvr;
//ivr

ULONG ulSmpleInCallCount;
// 1
ULONG ulSmpleInCallCount;
// 1
ULONG ulCnnedIn20sCallCount; // 5 20S
ULONG ulClearupCallCount; // 5
ULONG ulClearupTime;
// 5
UlONG ulPreserv[4];
//
};

AGENT_REST_DETAIL
typedef struct
{
USHORT usWorkNo;//
USHORT usCantRestCause;//
USHORT usSkillId;// ID usCantRestCause =
REST_SKILL_FULL
ULONG
ulBeginTime;//(
)
ULONG
ulReqRestDura;//
CHAR
cName[AGENT_NAME_LENGTH + 1];//
}AGENT_REST_DETAIL;

01 (2007-12-30)

18-25

TopEng-
CTIAPI

18

CALL_DEVICE_TRACE
struct CALL_DEVICE_TRACE
{
USHORT
usDevID;// ID
UCHAR
ucDevType;//
CHAR
DeviceIn[26];//
ULONG
ulDevInTime;//
USHORT
usDevInRes;//
};

CCC_AGENT_PHONE
struct CCC_AGENT_PHONE
{
AGENTID AgentId; //
CHAR pcDN[MAXLEN_EXTEN + 1];//'\0'
};

DBCCC_SKILLS_STATISTIC
struct DBCCC_SKILLS_STATISTIC
{
SKILL_20S_CONNECTED
CALL_COUNT_FOR_SKILL
AGENT_COUNT_FOR_SKILL_EX
};

skill20SConnected;
callCount;
agentCount;

SKILL_20S_CONNECTEDCALL_COUNT_FOR_SKILL
AGENT_COUNT_FOR_SKILL_EX

DBCCC_SKILLS_STATISTIC_EX
struct DBCCC_SKILLS_STATISTIC_EX
{
SKILL_20S_CONNECTED skill20SConnected;
CALL_COUNT_FOR_SKILL callCount;
AGENT_COUNT_FOR_SKILL_EX2 agentCount;
};

SKILL_20S_CONNECTED20
struct SKILL_20S_CONNECTED
{
ULONG
usConnectedCallNumIn20;//20
ULONG
usAllCallNum;//
};

AGENT_COUNT_FOR_SKILL_EX
typedef struct //
{
ULONG ulAgentLoginNums;//
ULONG ulAgentTalkingNums;//
ULONG ulAgentIdleNums;//
ULONG ulAgentAvailableNums;//(
)
ULONG ulAgentSetBusyNums;//
ULONG ulAgentRestNums;//
ULONG ulAgentMaxIdleTime;//5

18-26

01 (2007-12-30)

TopEng-
CTIAPI

18

ULONG ulAgentWorkNums; //
} AGENT_COUNT_FOR_SKILL_EX;

AGENT_COUNT_FOR_SKILL_EX2
struct AGENT_COUNT_FOR_SKILL_EX2 : public AGENT_COUNT_FOR_SKILL_EX
{
ULONG ulAgentStudyNums; //
ULONG ulAgentOccupyNums; //
ULONG ulAgentPreOccupyNums; //
};

CALL_COUNT_FOR_SKILL
typedef struct //
{
ULONG ulTotalCallNums;//5
ULONG ulProcessingCallNums;//
ULONG ulMaxCallWaitTimes;//5
ULONG ulCallWaitNums;//
ULONG ulEvenCallTime;//5
ULONG ulEvenWaitTime;//5
}CALL_COUNT_FOR_SKILL;

SKILL_INFO_BATCH
struct SKILL_INFO_BATCH
{
USHORT
usID;// ID
USHORT
usMediaType;//
USHORT
usServiceType;//
UCHAR
ucRealFlag;
// 01
CHAR
cName[MAX_SKILL_NAME_LENGTH + 1];// ()

MAX_SKILL_NAME_LENGTH = 100

AGENT_INFO_BATCH
struct AGENT_INFO_BATCH
{
USHORT
usWorkNo;//
USHORT
usGroupId;//
ULONG
ulRights;//
USHORT
usSkillGroupID;// ID
UCHAR
ucAgentType;//
UCHAR
ucRealFlag;
//01
UCHAR
ucPrivateQueueMode;
//enum PRIVATE_QUEUE_MODE
CHAR
cName[AGENT_NAME_LENGTH + 1];//
};
AGENT_NAME_LENGTH = 20

IVR_INNO_STRUCT_INFO_BATCH
typedef struct IVR_INNO_STRUCT_INFO_BATCH
{
USHORT
usID;
//()
USHORT
usServiceNo;
//
UCHAR
ucRealFlag;
//01

01 (2007-12-30)

18-27

TopEng-
CTIAPI

18
CHAR
CHAR

pcInNo[MAX_IVR_INNO_LENGTH+1];
pcDescription[MAX_INNO_INFO_LEN+1];

//
//

} ;

MAX_IVR_INNO_LENGTH = 24

AGENT_DYNAMIC_INFO
struct AGENT_DYNAMIC_INFO
{
USHORT
usWorkNo;//
USHORT
usCurrentState;// enum AGENT_STATE_20
};

SYSTEM_INNO_STRUCT
typedef struct
tagSYSTEM_INNO_STRUCT
{
USHORT
usID;// ID
USHORT
usVdnID;// VdnId
USHORT
usMediaType;//
CHAR
pcInNo[ MAXLEN_EXTEN + 1];//
CHAR
pcDescription[MAX_SYSTEMINNO_LEN + 1];//

}SYSTEM_INNO_STRUCT, *LPSYSTEM_INNO_STRUCT;

MAX_SYSTEMINNO_INFO_LEN = 100

CApiMessageHead

struct CApiMessageHead
{
US usMsgLen;//
US usMsgType;//
DWORD dwHandle;// handle
DWORD dwSSP; //
};

API_CALLID
API IVR CALLID
struct API_CALLID
{
ULONG
ulTime;//
USHORT
usDsn;//
UCHAR
ucHandle;//
UCHAR
ucServer;//
};

API_DEVICE_ID
API ID
struct API_DEVICE_ID
{

18-28

01 (2007-12-30)

TopEng-
CTIAPI

18
UCHAR
USHORT

ucDeviceType; //
usDeviceNo; //

};

tagAGENT_COUNT_FOR_SKILL_WITHID

typedef struct tagAGENT_COUNT_FOR_SKILL_WITHID


{
SKILLID SkillID; // ID
AGENT_COUNT_FOR_SKILL AgentStatInfo;
} AGENT_COUNT_FOR_SKILL_WITHID;

DBCCC_CP_CONFERENCE_INFO_EX

struct DBCCC_CP_CONFERENCE_INFO_EX
{
UCHAR
ucMid;//
USHORT
usConfDsn;//
USHORT
usConferenceNo;//
USHORT
usPartyNum;//
UCHAR
ucRecordFlag;// 0: 1:
UCHAR
ucRecordVolume;// 0-15
UCHAR
ucPlayFlag;
// 0: 1:
UCHAR
ucPlayVolume; // 0-15
UCHAR
ucChannelNum;//, chanInfo
CHAN_INFO_EX
chanInfo[ANY_SIZE];//,
};

CHAN_INFO_EX

struct CHAN_INFO_EX
{
USHORT
usChannelNo;//
UCHAR
ucChannelAttrib; //(ICD

UCHAR
ucDrvFlag; // 0 1
UCHAR
ucPlayVolume; //
UCHAR
ucRecVolume; //
CHAN_DEVICE_INFO c_device_info;//
};

DENY_TALK_TYPE
enum DENY_TALK_TYPE
{
SET_AS_DENY_TALK = 0,//
SET_AS_ALLOW_TALK,//
SET_AS_COUNT,
};

01 (2007-12-30)

18-29

TopEng-
CTIAPI

18

CmessageHead
CTI IVR
struct CMessageHead
{
UC sender_node; //
UC sender_port; //
UC receiver_node; //
UC receiver_port; // IVR PORT 4
UC msg_type;//
// Dsn
UC sender_handle;//
US sender_dsn;// Dsn
UC receiver_handle; //
US receiver_dsn; // Dsn
};

CTI IVR
struct
{
UC
UC
UC
UC
US
UC
UC
};

Api_SP_Setup_Msg:public CApiMessageHead
ucCallType;// 0
pszCLI[25];//
pszCLD[25];//
pszAccessCode[25];//
usTrunkNO;//
pszOrgCLI[25];//
Buf[1];//'\0'

CTI IVR
struct Api_SP_Disconnect_Msg:public CApiMessageHead
{
UC usCause;//
};

CccQueryCallInfoEx4
typedef struct tagDBCCC_CALL_INFO_EX4
{
ULONG
cb;
CALLID
callID;
//
CHAR
cKeyID[ MAXLEN_EXTEN + 1];
//,in other
words,user visit id(UVID).
CHAR
cANI[ MAXLEN_EXTEN + 1];
//
CHAR
cDialedNumber[ MAXLEN_EXTEN + 1 ];
//
CHAR
ucMid;
//
USHORT
usTrunkNo;
// usMediaType
UCHAR
ucPriority;
//
DEVICE_ID
CurrentDevice ;
//
CHAR
pcCallSkill[ MAX_SKILL_NAME_LENGTH ]; //,
"180,Chines
USHORT
usPartyNum;
//

18-30

01 (2007-12-30)

TopEng-
CTIAPI

18

UCHAR
CHAR

ucCallFeature;
//, enum Call_Feature_Type
cOrgCalledNo[ MAXLEN_EXTEN + 1 ];
//
//newly added:pjy
USHORT
usMediaType;
//
USHORT
usPlace;
//
ULONG
ulWaitTime;
//
ULONG
ulTotalTalkingTimes;//
ULONG
ulLogonTimes;
//
USHORT
usServiceType;
//
USHORT
usCallInCause;
//
USHORT
usSubMediaType;
//
"X-ICD-SubMediaType"
USHORT
usCallDataLen;
//
UCHAR
pucCallData[ ANY_SIZE ];
//
}
DBCCC_CALL_INFO_EX4, *LPDBCCC_CALL_INFO_EX4;

CccRequestVerifyMailBox
struct MAILBOX_INFO
{
//Email
char pPOP3Server[EMAIL_MAX_SERVER_LEN];
char pSMTPServer[EMAIL_MAX_SERVER_LEN];
char pEmailAddr[EMAIL_MAX_ADDRESS_LEN];
char pEmailUserName[EMAIL_MAX_USERNAME_LEN];
char pEmailPassword[EMAIL_MAX_PASSWORD_LEN];
}

01 (2007-12-30)

//POP3
//SMTP
//
//
//

18-31

TopEng-
CTIAPI

19

19

19.1

19.2

01 (2007-12-30)

19-1

TopEng-
CTIAPI

19

19.1

19-1

19-2

0 100

V2.0 ,101

101 300

200

401 500

CTIAPI100

501 1000

CCS500

1001 1500

CTIServer500

1501 1600

PG100

1601 1700

MDS100

701 18001

BPS100

1801 2000

WMG200

2001 2200

NIRC200

2201 2400

UIS200

2501 2600

INTESSLINK100

2701 2900

DBPROXY200

2901 3100

CNPROXY200

3101 3200

ALARM100

3201 3300

CCP100

3301 3800

WEBM500

3801 4300

CHATM500

4301 4800

MAILM500

5801 6300

WBM500

6301 6500

WVC200

6501 6700

ICU200

6701~ 6900

WCCA200

6901~ 7100

CCU200

7101~ 7600

IVR500

01 (2007-12-30)

TopEng-
CTIAPI

19

19.2

ICD_OK = 0, //
ICD_ERR_ADJUST_DENY_TALK_RIGHT_NEED_LOGIN_MEDIA, //

ICD_ERR_ADJUST_DENY_TALK_RIGHT_NEED_ALLREADY_HAVE_RIGHT, //

ICD_ERR_GENERAL_ERROR ,//
ICD_ERR_INIFILE_NOT_EXIST ,//CCS.INI
ICD_ERR_INIFILE_HAVE_PROBLEM ,//
ICD_ERR_ADD_QUEUE_ERROR ,
ICD_ERR_CANT_FIND_QUEUE_OBJECT = 5,
ICD_ERR_ADD_IVR_ERROR ,
ICD_ERR_CANT_FIND_IVR_OBJECT ,
ICD_ERR_ADD_AGENT_ERROR
,
ICD_ERR_CANT_FIND_AGENT_OBJECT,
ICD_ERR_DELETE_AGENT_ERROR = 10,
ICD_ERR_NO_THIS_DNISDN , //
ICD_ERR_CANT_FIND_QUEUE,
ICD_ERR_CALLOUT_FAIL, //
ICD_ERR_NO_THIS_ANI, //
ICD_ERR_CBK_ERROR = 15,
ICD_ERR_DEVICEID_NOT_EXIST , //DEVICE_ID
ICD_ERR_CALLID_NOT_EXIST , //CALLID
ICD_ERR_NO_PRECALL , //
ICD_ERR_NO_THIS_NODE , //
ICD_ERR_ROUTINGTOJOIN = 20,
ICD_ERR_DISCONNECT , //
ICD_ERR_NOPROXY ,
//
ICD_ERR_CALLOUT_ROUTED ,
ICD_ERR_APCNOTINIT = 99, //APC
ICD_ERR_INTERNAL_ERROR = 100, //
ICD_ERR_INVALID_PARAMETER , //
ICD_ERR_LINK_UNAVAIL , //
ICD_ERR_RESOURCES_UNAVAIL , //
ICD_ERR_TIMED_OUT , //API
ICD_ERR_USERLIST_NULL = 105, //
ICD_ERR_TOO_MUCH_THREAD , // 50 API
ICD_ERR_INSUFFICIENT_SPACE ,
//
ICD_ERR_FAIL , //
ICD_ERR_LINK_DISCONNECT , //
ICD_ERR_NOT_LOGIN = 110, // CCS 110
ICD_ERR_AUTHORITY_FAIL , //
ICD_ERR_USERPROFILEERROR , //
ICD_ERR_USERPROFILENOTFOUND , //
ICD_ERR_USERNUMBERFULL , //
ICD_ERR_USERALREADYEXIST = 115, //
ICD_ERR_USERNOTFOUND , //
ICD_ERR_FILEOPENERROR , //
ICD_ERR_CK_STATE_FAULT , //
ICD_ERR_CK_HANDLE_NOT_MATCH , // HANDLE
ICD_ERR_AGENT_FAULT = 120, // 120
ICD_ERR_CALL_FAULT , //

01 (2007-12-30)

19-3

TopEng-
CTIAPI

19

ICD_ERR_SKILL_FAULT , //
ICD_ERR_AGENT_STATE_FAULT , //
ICD_ERR_CONNECT_FAIL , //
ICD_ERR_GET_HOLD_FAIL = 125, //
ICD_ERR_HOLD_FAIL , //
ICD_ERR_TIMEOUT , //
ICD_ERR_OCCUPY_FAIL , //
ICD_ERR_POINT_NULL , //
ICD_ERR_SPY_WAIT_TIMEROUT = 130, // SCP OC 130
ICD_ERR_ALREADY_LOGIN , // SPY
ICD_ERR_PASSWORD_ERROR , //
ICD_ERR_RECEIVING_DATA , //CCS , CCS.INI
ICD_ERR_INI_IS_LOCKED , //
ICD_ERR_PACKET_ERROR = 135, //
ICD_ERR_MEMORY_EXCEPTION , //
ICD_ERR_AGENT_RECORD_ENDED , // 137
ICD_ERR_AGENT_PLAY_ENDED , // 138
ICD_ERR_USER_DISCONNECT , //
ICD_ERR_NO_CONFERENCE = 140, //
ICD_ERR_ICD_ACCESS_CODE , // ICD
ICD_ERR_PROXY_EXEC_SQL_FAIL , //
ICD_ERR_NO_SUCH_DNIS, //
ICD_ERR_CALLED_BUSY, //
ICD_ERR_CALLED_NO_ANSWER, //(CCS ,)
ICD_RELEASE_INSTANT_TRANSOUT, //
//401 500CTIAPI
ICD_ERR_NOT_LOGON = 401,
ICD_ERR_ALREADY_LOGON,
ICD_ERR_RETURN_NULL , //
ICD_ERR_FUNC_DISCARD, //
ICD_ERR_WORKNO_NOT_MATCH, //
ICD_ERR_API_NOT_INITIALIZED,//API
ICD_ERR_WEBM_NOT_ENABLE, //WEBM
ICD_ERR_COM_INTERFACE, //WVC COM
ICD_ERR_WECC_REQUESTID, //WECC
ICD_ERR_BRT_INIT_FAIL = 421,//BRT
ICD_ERR_BRT_SEND_FAIL, //BRT
ICD_ERR_BRT_RECV_FAIL, //BRT
ICD_OK_LESS_BUFFER_SIZE, //
ICD_ERR_NO_LAST_BUFFER, //
ICD_ERR_NO_SUPPORT,
//
IVR
IVRDLL_OK= 0,
//
IVRDLL_INIT_ERROR= 11000,//
IVRDLL_NOTINIT,//
IVRDLL_SCP_NULL,//SCP
IVRDLL_TCPIP_NULL,//TCPIP
IVRDLL_LESS_BUFFER_SIZE,//
IVRDLL_CANNOT_FINDCI,// CI
IVRDLL_SENDALERT_FAIL,// Alerting
IVRDLL_SENDANSWER_FAIL,// Answer
IVRDLL_SENDCONNECTRES_FAIL,//
IVRDLL_SENDDISCONNECT_FAIL,//
IVRDLL_SENDREDIRECT_FAIL,//
IVRDLL_CALLID_NULL,//CALLID
IVRDLL_DN_NULL,//DN
IVRDLL_DEVICEID_NULL,//

19-4

01 (2007-12-30)

TopEng-
CTIAPI

19

IVRDLL_INNO_NULL,//INNO
IVRDLL_OPR_FAILURE,//
IVRDLL_ROUTING_FAILURE,//
IVRDLL_TRANSFERCALL_FAILURE,//
IVRDLL_USER_HOOK,//
IVRDLL_OPR_NOTIFY,//
IVRDLL_QUERYDEVICE_FAILURE,//
IVRDLL_DEVICE_NOTINIT,
//
IVRDLL_QUERYACDSTATUS_FAILURE,//

01 (2007-12-30)

19-5

TopEng-
CTIAPI

CccQueryServerList

CccNotifyConfigChanged

CccStopServer

CccSetCallTrunkMonitor

CccStopCallTrunkMonitor

CccAddUser

CccDelUser

CccQueryBackupTotalUser

CccQueryBackupUser

CccAddINIItem

CccDelINIItem

CccModifyINIItem

CccQueryINIItem

CccCancelINI

CccQuerySkillGroupIDINI

CccQuerySkillGroupStructINI

CccGetINI

CccPutINI

CccModifyCallTrace

CccReLoadBaseINI

CccReLoadSkillQueueINI

CccRequestEnqueue

CccRequestEnqueueEx

CccRequestRedirect

CccQueryCCSName

CccSetUserParam

01 (2007-12-30)

A-1

TopEng-
CTIAPI

A-2

CccQueryUserParam

CccQueryIsCallAlive

CccMonitorCall

CccQueryResourceConnectInfo

CccQueryBusyConferenceInfo

CccIVRSetupCall

CccSetMaxRestAgentInSkillQueue

01 (2007-12-30)

TopEng-
CTIAPI

A
ACD

Automatic Call Distributor

ADP

Voice Mailbox Interface Card

API

Application Program Interface

ASCII

American Standard Code for


Information Interchange

Binary Coded Decimal

CAD

Computer Aided Design

CCP

Common Communication Proxy

CCS

Call Center Server

CID

Call Instance Data

COM

Component Object Model

COUNT

Call History Parameter

CTI Server

Computer&Telephony Integration
Server

DB

Database

DCOM

Distributed Component Object Model

B
BCD

01 (2007-12-30)

B-1

TopEng-
CTIAPI

DLL

Data Link Layer

DRV

Dual Tone Number Receiving & Drive


Board

FAX

Facsimile

FP

Fax Peripheral

GSL

Global Service Logic

GUI

Graphic User Interface

ICD

Intelligent Call Distribution

ID

Identity

INT

Integration

INtess

Intelligent Service System

IP

Intelligent Peripherals

IRC

ISDN

Integrated Services Digital Network

IVR

Interactive Voice Response

Network Terminal

ODBC

Open Database Connectivity

OPS

Operator Service

Personal Computer

N
NT

P
PC

B-2

01 (2007-12-30)

TopEng-
CTIAPI

S
SCE

Service Creation Environment

SIB

Service Independent Block

SIG

Signal Tone Board

SM

Switching Module

SMSC

Short Message Service Center

SMTP

Simple Mail Transfer Protocol

SPT

Special Tone Board

SQL

Structured Query Language

SSD

Service Support Data

SSP

Service Switching Point

Text To Speech

UDHI

User Data Head Indicator

UDP

User Datagram Protocol

UL

Uplink

Voice Peripheral

T
TTS

V
VP

01 (2007-12-30)

B-3

You might also like