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

📄 apiuse.h

📁 基于dialogic语音卡的IVR系统源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
};


//***************************************************************************************
//事件CCC_MASTER_CHANGED_EVENT
// ______________________________
// | MESSAGE_HEAD				|
// |----------------------------|
// | DBCCC_EVENT_HEAD			|
// |----------------------------|
// | ULONG						|
// |____________________________|

//事件CCC_NOTIFY_CONFIG_CHANGED_EVENT
// ______________________________
// | MESSAGE_HEAD				|
// |----------------------------|
// | DBCCC_EVENT_HEAD			|
// |----------------------------|
// | USHORT						|
// |____________________________|

//事件CCC_CALL_ENTER_EVENT
//事件CCC_REQUEST_ROUTE_EVENT
// ______________________________
// | MESSAGE_HEAD				|
// |----------------------------|
// | DBCCC_EVENT_HEAD			|
// |----------------------------|
// | E_CALL_INFO				|
// |____________________________|

//事件CCC_CONNECT_EVENT
//事件CCC_ALERTING_EVENT
//事件CCC_ADD_CALL_CONFERENCE_EVENT
//事件CCC_DEL_CALL_CONFERENCE_EVENT
//事件CCC_HOLD_EVENT
//事件CCC_ROUTED_EVENT
// ______________________________
// | MESSAGE_HEAD				|
// |----------------------------|
// | DBCCC_EVENT_HEAD			|
// |----------------------------|
// | E_CALL_INFO				|
// |----------------------------|
// | CALL_PARTY_INFO[]			|
// |____________________________|

//事件CCC_ALL_BUSY_EVENT
//事件CCC_WAIT_OUTBOUND_EVENT
//事件CCC_CONFIG_RELOAD_EVENT
// ______________________________
// | MESSAGE_HEAD				|
// |----------------------------|
// | DBCCC_EVENT_HEAD			|
// |____________________________|

//事件CCC_ABANDONED_EVENT
//事件CCC_RELEASE_EVENT
//事件CCC_CALLID_DISCONNECTED_EVENT
//事件CCC_DISCONNECTED_EVENT
//事件CCC_REJECTED_EVENT
//事件CCC_REQUEST_ROUTE_EVENT
//事件CCC_ROUTE_FAIL_EVENT
// ______________________________
// | MESSAGE_HEAD				|
// |----------------------------|
// | DBCCC_EVENT_HEAD			|
// |----------------------------|
// | E_CALL_INFO				|
// |____________________________|

//事件CCC_ADD_DEVICE_CONFERENCE_EVENT
//事件CCC_DEL_DEVICE_CONFERENCE_EVENT
//事件CCC_MUTEON_EVENT
//事件CCC_MUTEOFF_EVENT
//事件CCC_BUSY_EVENT
//事件CCC_IDLE_EVENT
// ______________________________
// | MESSAGE_HEAD				|
// |----------------------------|
// | DBCCC_EVENT_HEAD			|
// |----------------------------|
// | E_DEVICE_INFO				|
// |----------------------------|
// | CALL_PARTY_INFO[]			|
// |____________________________|
//##########################################################################
//增加新的事件必须保持取值的连续性1,2,3,...,100,101,102
//##########################################################################
#define EVENT_BASE		0
enum CCC_EVENT
{
	//************************************************************************
	//				系统事件,系统队列的顺序不得改变
	//************************************************************************
	CCC_SYSTEM_EVENT = EVENT_BASE,
	CCC_CONFIG_RELOAD_EVENT,					//CCS系统配置重新加载事件
	CCC_MASTER_CHANGED_EVENT,					//主备倒换事件
	CCC_NOTIFY_CONFIG_CHANGED_EVENT,			//配置改变事件
	CCC_ALARM_EVENT,							//告警事件

	//************************************************************************
	//				协议事件
	//************************************************************************
	CCC_IVR_PROTOCOL_EVENT,						//IVR协议事件( IVR->UIM )
	CCC_QC_PROTOCOL_EVENT,						//质检台协议事件( QC->UIM )

	//*****************************
	//与接续相关的事件
	//*****************************
	CCC_SSPBEGIN_EVENT,
	CCC_STATIONLOGIN_EVENT,
	CCC_STATIONLOGINACK_EVENT,
	CCC_SETUP_EVENT				= 10,	
	CCC_SETUPACK_EVENT,
	CCC_ALERTING_EVENT,
	CCC_SSPNOTIFY_EVENT        ,
	CCC_ANSWER_EVENT	,
	CCC_ANSWERACK_EVENT	,
	CCC_CALLEDOFFHOOK_EVENT	   	,
	CCC_DISCONNECT_EVENT	,
	CCC_DISCONNECT_ACK_EVENT,
	CCC_REDIRECT_EVENT      ,
	CCC_COMBINE_EVENT       = 20,

	//*******************************
	//资源控制事件消息
	//******************************
	CCC_RESOURCE_CONNECT_EVENT,
	CCC_RESOURCE_CONNECT_RESULT_EVENT	  ,
	CCC_RESOURCE_DISCONNECT_EVENT,
	CCC_COLLECTDIGIT_EVENT	,
	CCC_USERINFORMATION_EVENT,
	CCC_PLAY_DRV_EVENT,
	CCC_RECORD_EVENT   ,
	CCC_PLAY_RECORD_RESULT_EVENT   ,
	CCC_STOP_PLAY_RECORD_EVENT	  ,
	CCC_STOP_PLAY_RECORD_ACK_EVENT = 30,
	CCC_FIND_VOICE_FILE_EVENT     ,
	CCC_FIND_RESULT_EVENT        ,
	CCC_RENAME_VOICE_FILE_EVENT  ,
	CCC_RENAME_FILE_EVENT        ,
	CCC_DEL_VOICE_FILE_EVENT     ,
	CCC_DEL_RESULT_EVENT          ,
	CCC_GET_FILE_INFO_EVENT      ,
	CCC_GET_FILE_INFORMATION_RESULT_EVENT  ,
	CCC_FORE_FAST_PLAY_EVENT    ,
	CCC_BACK_FAST_PLAY_EVENT   = 40,
	CCC_PAUSE_EVENT,
	CCC_CONTINUE_EVENT    , 
	CCC_RELOCATION_EVENT  , 
	CCC_VP_TS_REQUEST_EVENT,
	CCC_VP_RELEASE_EVENT , 
	CCC_VP_TS_RESULT_EVENT,
	CCC_VP_PLAY_EVENT,
	CCC_VP_RECORD_EVENT,
	CCC_PLAY_RECORD_ACK_EVENT,
	CCC_SEND_FAX_EVENT	= 50,
	CCC_RECEIVE_FAX_EVENT,  
	CCC_BEGIN_SEND_RECEIVER_FAX_ACK_EVENT,
	CCC_SEND_RECEIVE_FAX_RESULT_EVENT,
	CCC_STOP_SEND_RECEIVE_FAX_EVENT,  
	CCC_STOP_SEND_RECEIVE_FAX_ACK_EVENT,
	CCC_SEND_EVENT_TO_VP_EVENT ,   
	CCC_VP_SEND_EVENT_TO_QC_EVENT,  

	//************************************************************************
	//呼叫轨迹事件
	//************************************************************************
	CCC_IN_CALL_EVENT,				 //呼叫进入CCS
    CCC_OUT_CALL_EVENT  ,			 //呼出
	CCC_END_CALL_EVENT = 60,		 //呼叫终止
	CCC_CONNECT_EVENT	,			 //通话开始
	CCC_ABANDONED_EVENT	,			 //排队或给AGENT alerting时断连 
	CCC_TALERTING_EVENT	,			 //呼出时被叫振铃
	CCC_CALLID_DISCONNECTED_EVENT,   //用户先挂机    
	CCC_DISCONNECTED_EVENT,			 //话务员先挂机
	CCC_REJECTED_EVENT	,			 //呼叫转移到某话务员上时工号非法或忙,被驳回
    CCC_ROUTED_EVENT	,			 //呼叫路由到某设备上
	CCC_EXCEPTION_RELEASE_EVENT	,	 // 意外情况拆呼叫(如超时等)  
	CCC_IVR_DISCONNECT_EVENT,		 //IVR->UIM
	CCC_ROUTE_SUCCESS_EVENT	= 70 ,	 //路由成功事件
	CCC_REQUEST_ROUTE_EVENT,		 //请求路由事件
	CCC_ROUTE_FAIL_EVENT,			 //路由失败事件
	CCC_WAIT_OUTBOUND_EVENT,		 //等待取呼出事件

	//***********************************************
	//会议电话事件
	//************************************************
	CCC_ADD_DEVICE_CONFERENCE_EVENT,			//会场中加入一设备事件
	CCC_DEL_DEVICE_CONFERENCE_EVENT,			//会场中减少一设备事件
	CCC_ADD_CALL_CONFERENCE_EVENT,				//会场中加入一呼叫事件
	CCC_DEL_CALL_CONFERENCE_EVENT,				//会场中减少一呼叫事件

	//********************************
	//与呼叫相关的人工接续事件
	//********************************
	CCC_AGENT_RECORD_EVENT ,
	CCC_AGENT_PLAY_EVENT,
	CCC_MUTEON_EVENT  = 80,
	CCC_MUTEOFF_EVENT  ,
	CCC_OP_ANSWER_EVENT    ,
	CCC_RELEASE_EVENT    ,                
	CCC_HOLD_EVENT,
	CCC_REPORT_EVENT,
	CCC_TRANSFER_EVENT ,
	CCC_TRANSIT_OUT_EVENT ,
	CCC_OP_REDIRECT_EVENT ,

	//***************************
	//其它事件
	//***************************
	CCC_ALL_BUSY_EVENT,					//表示全忙
	CCC_MONITOR_ALARM_EVENT = 90,		//系统告警事件
	CCC_MSG_SSP_SCP_RESUM_EVENT,		//呼叫控制从挂起态恢复
	CCC_MSG_SSP_SCP_CALLID_INFO_EVENT,  //ivr->SCP
	CCC_REQUEST_RESPONSE_EVENT,			//保留未用
	CCC_ANSWERREQUEST_EVENT,			//请求应答

	CCS_NULL_EVENT,

	//*****************************************************************************
	//CCC_REQUEST_RESPONSE_EVENT响应事件的子事件
	//*****************************************************************************
	CCC_DO_NOT_DISTURB_RESPONSE_EVENT,   //示忙返回
	CCC_IDLE_RESPONSE_EVENT ,            //示闲返回 
	CCC_MUTE_OFF_RESPONSE_EVENT,         //静音返回
	CCC_MUTE_ON_RESPONSE_EVENT,          //关掉静音返回 
	CCC_ANSWER_RESPONSE_EVENT = 100,     //应答返回,  成功表示开始通话,失败不返回 
	CCC_REDIRECT_RESPONSE_EVENT,         //保留未用
	CCC_CONF_JOIN_RESPONSE_EVENT,        //三方电话返回事件
	CCC_REPORT_RESPONSE_EVENT,           //报音返回事件
	CCC_INSERT_RESPONSE_EVENT,           //插入返回事件
	CCC_SUPERVISE_RESPONSE_EVENT,        //监听返回事件
	CCC_TRANSFER_OUT_RESPONSE_EVENT,     //转出和内部转移都返回该事件
  	CCC_MAKE_CALL_RESPONSE_EVENT ,       //呼叫返回事件 呼出和内部呼叫返回该事件
	CCC_CALL_OUT_RESPONSE_EVENT,         //保留未用
	CCC_RETRIEVE_RESPONSE_EVENT,         //取保持返回 事件
	CCC_HOLD_RESPONSE_EVENT = 110,       //保持返回事件 
	CCC_RELEASE_RESPONSE_EVENT,          //释放返回事件 对应CCC_RELEASE_REQUEST_EVENT
	CCC_CONNECT_HOLD_RESPONSE_EVENT,     //连接保持来话返回事件
	CCC_INTERCEPT_RESPONSE_EVENT,        //拦截返回事件 
	CCC_INTERNAL_TRANSFER_RESPONSE_EVENT,//此事件保留未用    
	CCC_LOGIN_RESPONSE_EVENT,			 //签入返回事件
	CCC_LOGOUT_RESPONSE_EVENT,           //签出返回事件
    CCC_AGENT_FORCEOUT_EVENT,            //强制签出返回事件
	CCC_AGENT_FORCEIDLE_EVENT,			 //强制示闲返回事件
	CCC_AGENT_FORCEBUSY_EVENT,           //强制示忙返回事件
	
	CCC_CCS_DISCONNECTED = 120,
	CCC_NO_OUTBOUND_EVENT,
	CCC_NOTIFY_BULLETIN_EVENT,
	CCC_MESSAGE_EVENT,
    
	CCC_TRANSIVR_RESPONSE_EVENT,	//人工转自动返回事件
	CCC_LONGNOANSWER_EVENT,			//久不应答事件,当坐席分配一来话超时不应答,收
	                                //到此事件,同时坐席被示忙。
	CCC_CALLER_DISCONNECTED_EVENT,  //用户挂机     
	CCC_RELEASE_REQUEST_EVENT,      //请求释放事件
	CCC_DESK_ALLBUSY_EVENT,			//表示全忙,给每个话务员发 1B+1D事件
	CCC_ANSWER_REQUEST_EVENT,		//请求应答

	CCC_OUTBOUND_RESULT_EVENT,
	CCC_CALLER_TELNUM_EVENT,
	CCC_CALLED_TELNUM_EVENT,
	CCC_BOOK_OUTBOUND_TIMEOUT_EVENT,	//呼出超时事件
	CCC_INTERNAL_HELP_RESPONSE_EVENT,   //内部求助返回事件
	CCC_PRE_ROUTE_EVENT,                //路由前事件
	CCC_PRE_DISCONNECT_EVENT,           //释放前事件
	CCC_USER_DISCONNECT_EVENT,          //呼叫释放事件
	CCC_AGENT_REST_TIMEOUT_EVENT,       //座席休息时间到事件
	CCC_AGENT_REST_START_EVENT,			//座席休息开始事件
	CCC_AGENT_SET_BUSY_START_EVENT,		//座席示忙开始事件
	//###########################################################################
	//对事件的定义都在上面
	CCC_END_OF_EVENT							//Just for count number of event
	//对事件的定义都在上面
	//###########################################################################
};

#define MAX_EVENT_NUM  ( CCC_END_OF_EVENT - EVENT_BASE )

typedef	struct tagCALLID
{
    ULONG        ulTime;		//	呼叫进入时间
	USHORT       usDsn;			//	呼叫进入的任务号
	UCHAR        ucHandle;		//	呼叫进入一个任务的次数
	UCHAR        ucServer;		//	唯一标识一个服务器的标识
	friend int operator==( tagCALLID& id1, tagCALLID& id2 );
}CALLID, *LPCALLID;				//呼叫标识

const CALLID CALLID_NO_USE = { 0xffffffff, 0xffff, 0xff, 0xff };

typedef CALLID  DBCCC_CALLID;

typedef	struct tagDEVICE_ID
{
	UCHAR	 ucDeviceType;		//	设备类型	enum ICD_DEVICETYPE
	USHORT   usDeviceNo;		//	设备号码
	friend int operator==( tagDEVICE_ID& Id1, tagDEVICE_ID& Id2 );
}DEVICE_ID, *LPDEVICE_ID;			//设备标识
const	DEVICE_ID	DEVICE_ID_NO_USE		= { 0xff, 0xffff };

typedef struct
{
	USHORT		usSend;			
	USHORT		usReceive;		
	USHORT		ucMsgType;	//	消息类型	enum ICDCCS_MSGTYPE
	UCHAR       ucMid;
}MESSAGE_HEAD;


//*********************************************************
//   API的事件消息结构如下:
//	______________________
//  |    MESSAGE_HEAD    |
//  |--------------------|
//  | DBCCC_EVENT_HEAD   |
//  |--------------------|
//  |    (EVENT_DATA)    |
//  |____________________|
//**********************************************************    

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;		//事件时间结构,指示发生此事件的时间

typedef struct tagDBCCC_EVENT_HEAD
{
    EVENT_TIME            ulTime;		//事件产生时间

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -