⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctiapi.h

📁 基于dialogic语音卡的IVR系统源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
#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 + -