www.pudn.com > dialogic_IVR.rar > ctiapi.h
#ifndef CTIAPI
#define CTIAPI
#pragma pack(push,1)
#include"apiuse.h"
//===================================================================================
//使用注意:
//1. 本API支持多线程,但同时调用API的线程数有限,通常为50,超过返回CCC_TOO_MUCH_THREAD.
//2. 以pdb开始的参数指针所指向的缓冲区一般将接收返回数据,该缓冲区很可能要求大于
// 指针所指向的类型,请注意给出足够大的缓冲区。
//3. pcSize传入时为缓冲区大小,返回时更新为实际的大小。
//4. 对于每一次API调用,如果该API没有指明等待时间,都将等待缺省等待时间,
// 这段时间内入收到CCS应答将立即返回,未收到应答将返回相应错误代码CCC_TIMED_OUT。
//=====================================================================================
const SHORT MAX_AGENT_NUM = 1024;
typedef void ( __stdcall * EVENTPROC )( SHORT EventType , void* pEventData , USHORT usDataSize );
void __stdcall WriteLog(UCHAR *str,SHORT len);
void __stdcall WriteLogFile(UCHAR *str,SHORT len);
SHORT __stdcall CtiApiInit(
ULONG MyId,
int (__stdcall * tcprecv) ( unsigned long SrcIP, unsigned long SrcID, char * data, unsigned long datalen));
SHORT __stdcall CccApiInit(ULONG MyId,
int (__stdcall * tcprev) ( unsigned long SrcIP, unsigned long SrcID, char * data, unsigned long datalen));
CHAR __stdcall CccApcInit(CHAR whoinit, SHORT cardver);
void __stdcall CtiApiExit();
void __stdcall CccApcExit();
//GENERAL
SHORT __stdcall CccConnectToServer (USHORT * phCcc, CHAR *ipstr[2] ,ULONG module);
SHORT __stdcall CccDisconnectFromServer (USHORT hCcc );
SHORT __stdcall CccGetEvent ( USHORT hCcc ,PUCHAR pdbEvent,PUSHORT pcSize, PSHORT pusEventType,LONG lTimeout);
SHORT __stdcall CccQueryServerList (PUCHAR pszServerList, PUSHORT pcSize );
SHORT __stdcall CccQuerySysStatus ( USHORT hCcc, DBCCC_SYSTEM_INFO* pdbSystemInfo );
SHORT __stdcall CccSetEventMonitor ( USHORT hCcc,USHORT usEventType,DEVICE_ID *pDeviceID, CHAR lStart);
SHORT __stdcall CccSetSysMonitor (USHORT hCcc, UCHAR fStart);
SHORT __stdcall CccQueryResourceConnectInfo(USHORT hCcc,char * buffer,USHORT* pSize);
SHORT __stdcall CccSetCallTrunkMonitor ( USHORT hCcc, LONG TraceNo ,CHAR *CallNo ,UCHAR ucType ,USHORT* pusID );
SHORT __stdcall CccStopCallTrunkMonitor ( USHORT hCcc, SHORT usID );
SHORT __stdcall CccNotifyConfigChanged ( USHORT hCcc,UCHAR ucType );
SHORT __stdcall CccQueryNetInfo ( USHORT hCcc , DBCCC_NET_INFO* pBuffer , USHORT *usNum );
SHORT __stdcall CccStopServer( USHORT hCcc);
//INI MANAGER
SHORT __stdcall CccAddINIItem (USHORT hCcc,PCSTR pszSection,PCSTR pszKey,PCSTR pszValue );
SHORT __stdcall CccDelINIItem (USHORT hCcc,PCSTR pszSection,PCSTR pszKey,PCSTR pszValue );
SHORT __stdcall CccModifyINIItem (USHORT hCcc,PCSTR pszSection,PCSTR pszKey,PCSTR pszValue);
SHORT __stdcall CccQueryINIItem (USHORT hCcc,PCSTR pszSection,PCSTR pszKey,PSTR pszValue );
SHORT __stdcall CccCancelINI ( USHORT hCcc);
SHORT __stdcall CccReLoadBaseINI ( USHORT hCcc,PCSTR pszSection,PCSTR pszKey,PSTR pszValue);
SHORT __stdcall CccReLoadSkillQueueINI ( USHORT hCcc,PCSTR pszSection,PCSTR pszKey,PSTR pszValue);
SHORT __stdcall CccQuerySkillGroupIDINI(USHORT hCcc,USHORT *pusNum,USHORT *pSkillGroupID);
SHORT __stdcall CccQuerySkillGroupStructINI(USHORT hCcc,
USHORT uslSkillGroupID,
DBCCC_SKILL_GROUP_STRUCT *lpSkill);
//USER MANAGER
SHORT __stdcall CccAddUser (USHORT hCcc,DBCCC_USER_RECORD * pdbUserRecord );
SHORT __stdcall CccDelUser (USHORT hCcc,USHORT usWorkNo );
SHORT __stdcall CccLogoff (USHORT hCcc );
SHORT __stdcall CccLogon (USHORT hCcc, DBCCC_USER_RECORD * pdbUserRecord );
SHORT __stdcall CccModifyUser (USHORT hCcc,DBCCC_USER_RECORD * pdbUserRecord );
SHORT __stdcall CccQueryCurrentUser ( USHORT hCcc,DBCCC_USER_RECORD * pdbUserRecord );
SHORT __stdcall CccQueryUser (USHORT hCcc,DBCCC_USER_RECORD * pdbUserRecord );
SHORT __stdcall CccQueryBackupUser (USHORT hCcc,DBCCC_USER_RECORD * pdbUserRecord );
SHORT __stdcall CccQueryTotalUser ( USHORT hCcc,USHORT *pUserNum ,USHORT *pWorkNo);
SHORT __stdcall CccQueryBackupTotalUser ( USHORT hCcc,USHORT *pUserNum ,USHORT *pWorkNo);
//CALL CONTROL AND MONITOR
SHORT __stdcall CccQueryDeviceStatus(USHORT hCcc,DEVICE_ID * pDeviceID,UCHAR *pStatus, PUSHORT pcSize);
SHORT __stdcall CccQueryCallIDOnAgent (USHORT hCcc,USHORT AgnetNo,DBCCC_CALLID * pCallID);
SHORT __stdcall CccGetCallSkillDescription (USHORT hCcc,DBCCC_CALLID * pCallID,CHAR* pSkillDescription,USHORT* psize );
SHORT __stdcall CccQueryCallInfo (USHORT hCcc,DBCCC_CALLID * pCallID,DBCCC_CALL_INFO * pdbCallApp);
SHORT __stdcall CccQueryCallStatisticsInfo (USHORT hCcc,DBCCC_CALL_STATIC_INFO * pdbCallInfo);
SHORT __stdcall CccRequestSetTransfer (USHORT hCcc, DEVICE_ID * pSrcDeviceID, DEVICE_ID * pDestDeviceID,UCHAR ucMode);
SHORT __stdcall CccAgentLogin (USHORT hCcc,USHORT usworkno,SHORT anstype, SHORT deskno);
SHORT __stdcall CccAgentLogout (USHORT hCcc );
SHORT __stdcall CccRequestDoNotDisturb (USHORT hCcc);
SHORT __stdcall CccRequestIdle (USHORT hCcc);
SHORT __stdcall CccRequestMuteOn (USHORT hCcc);
SHORT __stdcall CccRequestMuteOff(USHORT hCcc);
SHORT __stdcall CccRequestAnswer (USHORT hCcc);
SHORT __stdcall CccRequestRelease(USHORT hCcc);
SHORT __stdcall CccRequestHold (USHORT hCcc,CHAR * pcIndex,UCHAR ucFlag);
SHORT __stdcall CccRequestFetchHold(USHORT hCcc,CHAR * pcIndex,UCHAR ucFlag);
SHORT __stdcall CccRequestConnectHold(USHORT hCcc,CHAR *pcIndex,UCHAR ucFlag);
SHORT __stdcall CccRequestReport(USHORT hCcc,UCHAR ucType,UCHAR ucCode,CHAR *pTelNum);
SHORT __stdcall CccRequestCallOut(USHORT hCcc,PSTR pCLD);
SHORT __stdcall CccRequestInternalCall(USHORT hCcc,DEVICE_ID *pDestID, SHORT deskno);
SHORT __stdcall CccRequestInternaltransfer(USHORT hCcc,DEVICE_ID *pDestID ,USHORT DeskNo);
SHORT __stdcall CccRequestTransferOut (USHORT hCcc,CHAR * pCLD,CHAR ucFlag);
SHORT __stdcall CccRequestRedirect (USHORT hCcc,CHAR * pCLD);
SHORT __stdcall CccRequestSuperviseInsert(USHORT hCcc,USHORT deskno, USHORT workno, UCHAR type);
SHORT __stdcall CccRequestSwitchInsert(USHORT hCcc);
SHORT __stdcall CccRequestTriConf (USHORT hCcc,CHAR * pcIndex,CHAR ucFlag);
SHORT __stdcall CccRequestIntercept (USHORT hCcc,DEVICE_ID * pDeviceID ,USHORT deskno);
SHORT __stdcall CccRequestTransIvr(USHORT hCcc, CHAR * pcIvrNo);
SHORT __stdcall CccRequestInternalCall( USHORT hCcc, USHORT deskno,
USHORT workno, UCHAR mode );
SHORT __stdcall CccAgentForceOut (USHORT hCcc ,USHORT WorkNo ,USHORT usDeskno);
SHORT __stdcall CccAgentForceBusy (USHORT hCcc ,USHORT WorkNo ,USHORT usDeskno);
SHORT __stdcall CccAgentForceIdle (USHORT hCcc ,USHORT WorkNo ,USHORT usDeskno);
SHORT __stdcall CccRequestRerouting
(USHORT hCcc,DBCCC_CALLID * pCallID,
DEVICE_ID *pDestDeviceID,UCHAR ucMode,ULONG ulRqstTag);
SHORT __stdcall CccAgentStopRecord (USHORT hCcc , ULONG Task );
SHORT __stdcall CccAgentRequireRecord (USHORT hCcc ,UCHAR ucRecordMode, char FileName[MAX_FILENAME_LEN] , ULONG *pTask );
SHORT __stdcall CccAgentStartPlayFile (USHORT hCcc , USHORT usRecordFileWorkNo , char *FileName ,ULONG Position , UCHAR mode, ULONG* pTask );
SHORT __stdcall CccAgentStopPlayFile (USHORT hCcc , ULONG Task );
SHORT __stdcall CccAgentForeFastPlay (USHORT hCcc , ULONG Task, USHORT fore_len);
SHORT __stdcall CccAgentBackFastPlay (USHORT hCcc , ULONG Task , USHORT back_len );
SHORT __stdcall CccAgentPausePlay (USHORT hCcc , ULONG Task );
SHORT __stdcall CccAgentContinuePlay (USHORT hCcc , ULONG Task );
SHORT __stdcall CccAgentPlayRelocation (USHORT hCcc , ULONG Task ,UCHAR seek_direction,
USHORT seek_seconds,UCHAR seek_position);
//ACD QUEUE
SHORT __stdcall CccQuerySkillGroupID (USHORT hCcc,USHORT *pusNum,USHORT *pSkillGroupID);
SHORT __stdcall CccQueryACDID(USHORT hCcc, USHORT * pusNum, USHORT * pAcdID);
SHORT __stdcall CccQueryACDSkillDescription (USHORT hCcc,USHORT usACDID, USHORT *pusLength, CHAR *pAcdSkillDescription);
SHORT __stdcall CccQueryACDStatus (USHORT hCcc,
USHORT usACDID,
LPVOID lpACDStatus,
PUSHORT pcSize );
SHORT __stdcall CccQueryTotalAgentAbstract(USHORT hCcc,USHORT *AgentNum,DBCCC_AGENT_ABSTRACT* lpAgentInfo );
SHORT __stdcall CccQueryAgentStatus(USHORT hCcc, USHORT usAgentID, DBCCC_AGENT_INFO * lpAgentData );
SHORT __stdcall CccQueryAgentSkills (USHORT hCcc,
USHORT usAgentID,
PUSHORT pusSkillNum,
SKILL_STRUCT * lpSkill);
SHORT __stdcall CccQueryTotalSkills (USHORT hCcc,
PUSHORT pusotalSkillNum,
SKILL_STRUCT *lpSkill);
SHORT __stdcall CccQuerySkillsBaseGroupID ( USHORT hCcc,
USHORT uslSkillGroupID,
DBCCC_SKILL_GROUP_STRUCT *lpSkill);
SHORT __stdcall CccRequestCloseSomeAgentSkills (USHORT hCcc,
USHORT usAgentNo,
CHAR *pcSkills);
SHORT __stdcall CccQueryWorkGroupStatus (USHORT hCcc,
USHORT usMonitorNo,
USHORT *usAgentNum,
DBCCC_AGENT_WORKGROUP_INFO *pcInfo);
SHORT __stdcall CccQueryTotalWorkGroup (USHORT hCcc,
USHORT *usWorkGroupNum,
WORKGROUP_INFO pcInfo[]);
SHORT __stdcall CccQueryWorkGroupName (USHORT hCcc,
USHORT usWorkGroupID,
WORKGROUP_INFO *pcInfo);
SHORT __stdcall CccRequestRouting (USHORT hCcc,
DBCCC_CALLID CallID,
LPCTSTR lpDn,
DEVICE_ID *DestTDevice);
SHORT __stdcall CccRequestRoutingByNode ( USHORT hCcc,
DBCCC_CALLID *pCallID,
USHORT NodeNo,
DEVICE_ID* pDeviceID );
SHORT __stdcall CccRequestHelpRouting (USHORT hCcc,DBCCC_CALLID *pCallID,LPCTSTR lpInNo,DEVICE_ID *DestTDevice);
SHORT __stdcall CccRequestRoutingByAccessCode ( USHORT hCcc,CALLID* pCallID,LPCTSTR lpAccessCode,DEVICE_ID * pDeviceID );
SHORT __stdcall CccQuerySkillTree (USHORT hCcc,USHORT * pNodeNum,NODE_STRUCT *Node);
SHORT __stdcall CccQueryIVRID (USHORT hCcc, USHORT * pusNum,DEVICE_ID *pIvrID);
SHORT __stdcall CccQueryIVRDescriptionByID ( USHORT hCcc,
DEVICE_ID IvrID,
DBCCC_INNO_STRUCT *lpInNo);
SHORT __stdcall CccQueryServiceType ( USHORT hCcc,USHORT* pServiceNum,DBCCC_SERVICE_STRUCT *Service);
SHORT __stdcall CccRequestEnqueue ( USHORT hCcc,
DBCCC_CALLID CallID,
DEVICE_ID Device);
//CALL DATA FUNCTION
SHORT __stdcall CccQueryCallData (USHORT hCcc,
DBCCC_CALLID CallID,
LPVOID lpData,
PUSHORT pcSize);
SHORT __stdcall CccSetCallData ( USHORT hCcc,
DBCCC_CALLID CallID,
LPVOID lpData,
USHORT usSize);
SHORT __stdcall CccSetCallKeyID ( USHORT hCcc,DBCCC_CALLID CallID,CHAR *pKey);
SHORT __stdcall CccSetUserHistoryData (USHORT hCcc,CHAR *pKey, DBCCC_HISTORY_ITEM * pHistory );
SHORT __stdcall CccQueryUserHistoryData (USHORT hCcc, CHAR *pKey,
USHORT usID, USHORT* pusNum,
DBCCC_HISTORY_ITEM* pHistory );
/*
SHORT __stdcall CccQueryExtensionData (USHORT hCcc,
USHORT lpExtension,
LPVOID lpData,
PUSHORT pcSize);
SHORT __stdcall CccSetExtensionData (USHORT hCcc,
USHORT lpExtension,
LPVOID lpData,
PUSHORT pcSize);
SHORT __stdcall CccQueryCustomerInfo (USHORT hCcc,
DBCCC_CALLID CallID,
LPVOID lpData,
PUSHORT pcSize);
SHORT __stdcall CccSetCustomerInfo (USHORT hCcc,
DBCCC_CALLID CallID,
LPVOID lpData,
PUSHORT pcSize);
*/
SHORT __stdcall CccQueryUserInfo(USHORT hCcc,
CHAR *cANI,
CUSTOMER_INFO_STRUCT* pInfo);
SHORT __stdcall CccModifyUserInfo (USHORT hCcc,CUSTOMER_INFO_STRUCT* pInfo);
SHORT __stdcall CccWriteUserInfo (USHORT hCcc,CUSTOMER_INFO_STRUCT* pInfo);
SHORT __stdcall CccDeleteUserInfo (USHORT hCcc,CHAR * pcANI);
SHORT __stdcall CccWriteUserSkill(USHORT hCcc,CUSTOMER_SKILL_STRUCT * pInfo);
SHORT __stdcall CccQueryUserSkill(USHORT hCcc,CHAR * pcANI ,CUSTOMER_SKILL_STRUCT * pInfo);
SHORT __stdcall CccDeleteUserSkill(USHORT hCcc,CHAR * pcANI );
SHORT __stdcall CccQueryBusyConferenceInfo (USHORT hCcc,DBCCC_BUSY_CONFERENCE_INFO * pInfo);
SHORT __stdcall CccQueryConferenceInfo(USHORT hCcc, USHORT usConferenceNo,DBCCC_CONFERENCE_INFO * pInfo);
SHORT __stdcall CccQueryAbandonedCall(USHORT hCcc,USHORT AgnetNo ,PRE_OUTBOUND_STRUCT *Outbound);
SHORT __stdcall CccSendQCProtocol(USHORT hCcc,USHORT usLength,LPVOID lpQcMessage);
/*
SHORT __stdcall CccRequestOutbound ( SHORT hCcc,
CHAR *lpANI,
DEVICE_ID Device);
*/
SHORT __stdcall CccSendSPPProtocol( USHORT hCcc,
USHORT usLength,
LPVOID lpSPPMessage);
SHORT __stdcall CccLoginIVRType(
USHORT hCcc,UCHAR IVRType,UCHAR ucPort,UCHAR ucNode ,ULONG ulWaitTime);
SHORT __stdcall CccLogoutIVRType( USHORT hCcc);
int __stdcall tcpsend(unsigned long TargetIP, unsigned long TargetprocID, char * data, unsigned long datalen, unsigned long timeout);
//struct tm {
// int tm_sec; /* seconds after the minute - [0,59] */
// int tm_min; /* minutes after the hour - [0,59] */
// int tm_hour; /* hours since midnight - [0,23] */
// int tm_mday; /* day of the month - [1,31] */
// int tm_mon; /* months since January - [0,11] */
// int tm_year; /* years since 1900 */
// int tm_wday; /* days since Sunday - [0,6] */
// int tm_yday; /* days since January 1 - [0,365] */
// int tm_isdst; /* daylight savings time flag */
// };
void __stdcall SetWaitTime(long time );
void __stdcall LongToTime(long time ,EVENT_TIME * tmvalue);
SHORT __stdcall CccQueryCcsCPUUseRate(USHORT hCcc, UCHAR *ucUseRate,
UCHAR *ucMemRate);
void __stdcall CharToInt(const UCHAR *Str, ULONG *Num, UCHAR StrSize); /****** Op2_Str ==> Op1_Num ****/
void __stdcall BCDToInt(const UCHAR *BCD_Str, ULONG *Num, UCHAR BCDSize); /***** Op2_Str ==> Op1_Num ******/
void __stdcall IntToChar(ULONG Num, UCHAR *Str, UCHAR StrSize); /**** Op2_Num ==> Op1_Str *****/
void __stdcall BCDToChar(const UCHAR *BCD_Str, UCHAR *Str, UCHAR BCDSize, UCHAR StrSize); /**** Op2_Str ==> Op1_Str ***/
void __stdcall IntToBCD(ULONG Num, UCHAR *BCD_Str, UCHAR BCDSize); /**** Op2_Num ==> Op1_Str *****/
void __stdcall CharToBCD(const UCHAR *Str, UCHAR *BCD_Str, UCHAR StrSize, UCHAR BCDSize); /*** Op2_Str ==> Op1_Str ***/
UCHAR __stdcall GetBCDLength( UCHAR *BCD_Str );
SHORT __stdcall CccPutINI(USHORT hCcc, CHAR *INIFileName);
SHORT __stdcall CccGetINI(USHORT hCcc, CHAR *INIFile);
SHORT __stdcall CccQueryCCSName (CHAR *ipstr ,ULONG ccsid ,char *Masterflag ,char *Name);
SHORT __stdcall CccGetAgentScore(USHORT hCcc,USHORT WorkNo ,AGENT_ANALY_INFO *Score);
/* not include in apc function*/
SHORT __stdcall CccNotifyBulletin(USHORT hCcc, UCHAR ucType,ULONG ulParam, CHAR * szParam );
SHORT __stdcall CccSendMessage (USHORT hCcc, USHORT usWorkNo, USHORT usSize,CHAR *MsgBuff );
SHORT __stdcall CccIVRSetINNO( USHORT hCcc , USHORT usSize , CHAR* szInno );
SHORT __stdcall CccQueryServerTime( USHORT hCcc , EVENT_TIME* pTime );
SHORT __stdcall CccQueryUserClassName( USHORT hCcc, USHORT* pClassNum, CLASS_STRUCT Class[] );
SHORT __stdcall CccIVRSetupCall( USHORT hCcc, const CHAR pCode[MAXLEN_EXTEN+1] , USHORT dataLen , const CHAR* pdata );
SHORT __stdcall CccSetUserClass (USHORT hCcc, CALLID CallId, CHAR *pcKey, UCHAR ucClass);
SHORT __stdcall CccRegisterOutbound (USHORT hCcc, POWER_OUTBOUND_STRUCT *Outbound);
SHORT __stdcall CccRequestPowerOutbound (USHORT hCcc, ULONG ulTaskID, POWER_OUTBOUND_STRUCT *Outbound);
SHORT __stdcall CccCancelRest(USHORT hCcc);
SHORT __stdcall CccRequestRest(USHORT hCcc, ULONG Time);
SHORT __stdcall CccQueryIVRStepInfo(USHORT hCcc,CALLID* pCallID,
USHORT* pStepNum , PLAY_DRV_STRUCT* pInfo );
SHORT __stdcall CccQueryTrunkTable(USHORT hCcc, USHORT* pusTrunkNum , DBCCC_TRUNK_STRUCT* pTrunkTable );
SHORT __stdcall CccRequestSuperviseTrunk(USHORT hCcc, UCHAR ucMid , USHORT usTrunkNo );
SHORT __stdcall CccModifyUserExtendInfo (USHORT hCcc, USHORT WorkNo, UCHAR Info[RESERVED_SIZE]);
SHORT __stdcall CccQueryUserExtendInfo (USHORT hCcc, USHORT WorkNo, UCHAR Info[RESERVED_SIZE]);
SHORT __stdcall CccQueryIsMonitor( USHORT hCcc, USHORT WorkNo, USHORT *pusIsMonitor );
SHORT __stdcall CccQueryAgentInfoByACDID ( USHORT hCcc ,
USHORT AcdID,
USHORT *pusAgentNum,
USHORT *pAgentInfo );
SHORT __stdcall CccQueryPrivateKeepedCall( USHORT hCcc ,
USHORT usWorkNo,
USHORT *pusCallNum,
KEEPINDEX *pIndexCall );
SHORT __stdcall CccRequestInternalHelp (USHORT hCcc, USHORT deskno,
USHORT workno, UCHAR mode );
SHORT __stdcall CccSendEventResponse( USHORT hCcc, EVENT_RESPONSE_ID* pID,
USHORT usEventType, USHORT usParamSize,
char* pParamData );
SHORT __stdcall CccSetMonitorCall( USHORT hCcc, CALLID* pCallID,
USHORT usWorkNo, USHORT usFlag );
SHORT __stdcall CccMonitorCall( USHORT hCcc, CALLID* pCallID ,
USHORT usWorkNo , USHORT usFlag );
SHORT __stdcall CccModifyCallTrace( USHORT hCcc, CALLID* pCallID ,
USHORT usIndex,
DBCCC_DEVICE_STRUCT* pNewTraceInfo );
SHORT __stdcall CccQueryLoginAgentInSkillQueue( USHORT hCcc,
USHORT usQueueID,
USHORT* pLoginAgentNum );
SHORT __stdcall CccSetMaxRestAgentInSkillQueue( USHORT hCcc,
USHORT usQueueID,
USHORT usMaxNum);
SHORT __stdcall CccQueryIdleAgentInSkillQueue( USHORT hCcc,
char *cSkills,
SHORT sLength,
USHORT *pusIdleAgentNum );
SHORT __stdcall CccQueryCallTime ( USHORT hCcc,
CALLID* pCallID,
char* pCallBeginTime,
char* pCallEndTime );
SHORT __stdcall CccDisconnectCall( USHORT hCcc ,
CALLID *pCallID);
SHORT __stdcall CccAgentSendDTMF( USHORT hCcc , char DTMFDigits[MAXLEN_EXTEN+1] );
//查询指定的设备是否可用,即当前设备是否空闲。
SHORT __stdcall CccIsDeviceAvailable(USHORT hCcc, DEVICE_ID *pDeviceID, WORD* bAvailable);
//根据用户提供的技能描述返回符合该技能的设备的标识。
SHORT __stdcall CccGetDeviceBySkills(USHORT hCcc,
CHAR szSkills[MAX_DESCRIPTION_LENGTH + 1], DEVICE_ID* pDeviceID);
//设置最大的话务员休息人数。
SHORT __stdcall CccSetMaxRestAgentNum( USHORT hCcc, USHORT usMaxRestAgentNum);
//得到最大的话务员休息人数。
SHORT __stdcall CccQueryMaxRestAgentNum( USHORT hCcc, USHORT * pusMaxRestAgentNum);
//得到正在休息的话务员人数。
SHORT __stdcall CccQueryOnRestAgentNum( USHORT hCcc, USHORT * pusOnRestAgentNum);
//得到等待休息的话务员人数。
SHORT __stdcall CccQueryWaitRestAgentNum( USHORT hCcc, USHORT * pusWaitRestAgentNum);
//得到已经批准休息,但是还未开始休息的人数
SHORT __stdcall CccQueryAllowRestAgentNum( USHORT hCcc, USHORT * pusWaitRestAgentNum);
SHORT __stdcall CccRequestWriteFlowTrace(USHORT hCcc, LPFLOWTRACE_ITEM pItem);
//座席调用该函数设置是否自动进入空闲状态状态标志。
SHORT __stdcall CccSetAgentAutoEnterIdle( USHORT hCcc, USHORT bFlag );
//座席调用该函数从工作状态进入空闲态,进入空闲态才给座席分配来话
SHORT __stdcall CccAgentEnterIdle( USHORT hCcc );
//座席调用该函数保持指定的呼叫
SHORT __stdcall CccAgentHoldCall( USHORT hCcc , CALLID* pCallID );
//座席调用该函数取被保持的呼叫
SHORT __stdcall CccAgentFetchHoldCall( USHORT hCcc , CALLID* pCallID );
//如果座席当前在监听呼叫则座席调用该函数将监听呼叫转换为插入通话。
SHORT __stdcall CccAgentSwitchInsert( USHORT hCcc , CALLID * pCallID );
//座席调用该函数连接正在通话的呼叫和被保持的呼叫
SHORT __stdcall CccAgentConnectHoldCall( USHORT hCcc , CALLID* pCallID );
//座席调用该函数从空闲状态进入工作态
SHORT __stdcall CccAgentEnterWork( USHORT hCcc );
EVENTPROC __stdcall InstallEventCallBackProc( EVENTPROC evProc );
EVENTPROC __stdcall UninstallEventCallBackProc();
// 增加:参数为结构类型的改为指针类型
SHORT __stdcall CccRequestRoutingEx (USHORT hCcc,
DBCCC_CALLID* pCallID,
LPCTSTR lpDn,
DEVICE_ID *DestTDevice);
SHORT __stdcall CccRequestEnqueueEx ( USHORT hCcc,
DBCCC_CALLID* pCallID,
DEVICE_ID* pDevice);
SHORT __stdcall CccQueryCallDataEx (USHORT hCcc,
DBCCC_CALLID* pCallID,
LPVOID lpData,
PUSHORT pcSize);
SHORT __stdcall CccSetCallDataEx ( USHORT hCcc,
DBCCC_CALLID* pCallID,
LPVOID lpData,
USHORT usSize);
SHORT __stdcall CccSetCallKeyIDEx ( USHORT hCcc,DBCCC_CALLID* pCallID,
CHAR *pKey);
SHORT __stdcall CccSetUserClassEx (USHORT hCcc, CALLID* pCallId,
CHAR *pcKey, UCHAR ucClass);
SHORT __stdcall CccQueryIVRDescriptionByIDEx ( USHORT hCcc,
DEVICE_ID* pIvrID,
DBCCC_INNO_STRUCT *lpInNo);
SHORT __stdcall CccDirectToIdleAgent( USHORT hCcc, CALLID *pCallID, DEVICE_ID *pDevice, UCHAR mode );
SHORT __stdcall CccQueryAgentStatisticsInfo(USHORT hCcc, USHORT usWorkNO, EVENT_TIME *pInfoDate, LPAGENT_STATISTICS_INFO pStatInfo);
SHORT __stdcall CccQueryAcdIDByAgentID(USHORT hCcc, USHORT usWorkNo, USHORT *pusAcdNum, USHORT *pusAcdID);
SHORT __stdcall CccRequestCallOutEx( USHORT hCcc, char *pANI, char *pDNIS, UCHAR mode, char *pPilot );
SHORT __stdcall CccRequestReportEx(USHORT hCcc, UCHAR ucReportType,
UCHAR ucVoicetype, UCHAR *ucParam, USHORT usSize);
#pragma pack(pop)
#endif