📄 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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -