📄 apiuse.h
字号:
USHORT usEventType; //事件类型。enum CCC_EVENT
USHORT usSize; //与事件相关的数据长度
}DBCCC_EVENT_HEAD, *LPDBCCC_EVENT_HEAD; //事件头
typedef struct tagE_CALL_INFO
{
CALLID CallID;
UCHAR ucDirect; //呼入/呼出标志, enum CallFlag
UCHAR ucModuleNo; //
USHORT usTrunkNo; //呼叫中继号
char Caller[ MAXLEN_EXTEN + 1 ]; //主叫号码
char Called[ MAXLEN_EXTEN + 1 ]; //被叫号码
DEVICE_ID DeviceID; //与呼叫相关的设备的标识
USHORT CallPartyNum; //该结构后面跟的CALL_PARTY_INFO结构个数
}E_CALL_INFO;
typedef struct tagE_DEVICE_INFO
{
DEVICE_ID SrcDeviceID; //产生事件的设备ID
DEVICE_ID DestDeviceID; //与此相关的设备ID
USHORT CallPartyNum; //该结构后面跟的CALL_PARTY_INFO结构个数。
}E_DEVICE_INFO;
typedef struct
{
MESSAGE_HEAD MsgHead;
DBCCC_EVENT_HEAD Event;
E_CALL_INFO CallInfo;
}EVENT_CALL_INFO_MSG;
typedef struct
{
MESSAGE_HEAD MsgHead;
DBCCC_EVENT_HEAD Event;
E_DEVICE_INFO DeviceInfo;
}EVENT_DEVICE_INFO_MSG;
typedef struct
{
MESSAGE_HEAD MsgHead;
DBCCC_EVENT_HEAD Event;
ULONG ulTaskID;
USHORT usResult; //结果
UCHAR ucCause; //原因
}EVENT_SPY_RESULT_MSG;
typedef struct tagSKILL_ID
{
USHORT usSkillID; //技能的ID编号
UCHAR ucSkillLevel; //对应的技能的水平需求
}SKILL_ID, *LPSKILL_ID; //技能ID
typedef struct tagSKILL_STRUCT
{
USHORT usID; //技能ID
CHAR cName[MAX_SKILL_NAME_LENGTH + 1]; //具体技能表示
}SKILL_STRUCT, *LPSKILL_STRUCT; //每一个技能的描述结构
//说明: 存放每一个技能的名称及其内部编号
typedef struct tagNODE_STRUCT
{
USHORT usParentNo; //父节点编号
USHORT usChildNo; //本节点编号
USHORT usSkillID; //技能标识
USHORT usServiceNo; //业务类型号
}NODE_STRUCT, *LPNODE_STRUCT;
//说明: 技能树结构每个节点结构, 用于存储技能树
typedef struct tagCLASS_STRUCT
{
USHORT usID; //级别标识
CHAR cName[MAX_CLASS_NAME_LENGTH + 1]; //级别名称
}CLASS_STRUCT, LPCLASS_STRUCT; //用户级别
//系统定义了的用户级别名称
typedef struct tagAGENT_STRUCT
{
USHORT usNo; //代理人工号
CHAR cName[AGENT_NAME_LENGTH + 1]; //代理人姓名
ULONG ulRights; //权限
USHORT usSkillGroupID; //技能组ID
USHORT usWorkGroupID; //所属班组号
}AGENT_STRUCT, *LPAGENT_STRUCT; //描述每一个代理人的结构
//说明:存放每个座席的基本情况的一个结构
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;
//*****************************************************************
//用户信息结构
//*****************************************************************
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; //一个特殊用户的信息结构
//此结构暂时不支持
typedef struct tagCUSTOMER_SKILL_STRUCT
{
CHAR cANI[MAX_ANI_LENGTH + 1]; //主叫号码
CHAR cSkillName1[MAX_SKILL_NAME_LENGTH +1]; //具体技能需求1
CHAR cSkillName2[MAX_SKILL_NAME_LENGTH +1]; //具体技能需求2
CHAR cSkillName3[MAX_SKILL_NAME_LENGTH + 1]; //具体技能需求3
CHAR cSkillName4[MAX_SKILL_NAME_LENGTH + 1]; //具体技能需求4
CHAR cSkillName5[MAX_SKILL_NAME_LENGTH + 1]; //具体技能需求5
USHORT usAgentNo1; //具体座席工号1
USHORT usAgentNo2; //具体座席工号2
USHORT usAgentNo3; //具体座席工号3
USHORT usAgentNo4; //具体座席工号4
}CUSTOMER_SKILL_STRUCT, *LPCUSTOMER_SKILL_STRUCT; //一个特殊用户的技能需求结构
typedef struct tagDBCCC_SERVICE_STRUCT
{
USHORT usNo; //业务类型号
CHAR strDescription[MAX_SERVICE_DESCRIPTION_LEN + 1];//业务描述
}DBCCC_SERVICE_STRUCT, *LPDBCCC_SERVICE_STRUCT; //业务类型结构
typedef struct tagDBCCC_HISTORY_ITEM
{
USHORT usID; //业务标识
CHAR pcData[MAX_HISTORY_LENGTH + 1]; //访问数据
}DBCCC_HISTORY_ITEM, *LPDBCCC_HISTORY_ITEM; //一项历史记录结构
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设备号组
***************************************************************/
typedef struct tagDBCCC_CALL_STATIC_INFO
{
ULONG ulCallNumsInHour[24]; //统计在每小时中的呼叫数目
ULONG ulCallAbandonNumsInHour[24]; //统计在每小时中的呼损数目
} DBCCC_CALL_STATIC_INFO, *LPDBCCC_CALL_STATIC_INFO; //呼叫在一天24小时内的话务统计数据
typedef struct tagDBCCC_BUSY_CONFERENCE_INFO
{
USHORT usConferenceNums; //占用会场数
USHORT pusConferenceNo[1]; //会场号
} DBCCC_BUSY_CONFERENCE_INFO, *LPDBCCC_BUSY_CONFERENCE_INFO;//占用会场情况
//********************************************************
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; //一个待呼出呼叫的信息结构
/******************************* OUTBOUND CALL ******************************/
typedef struct
{
UCHAR ucYear; //年,Current Year minus 1900, 2155 roll over
UCHAR ucMonth; //月 1-12
UCHAR ucDay; //日 1-31
UCHAR ucHour; //时 0-23
UCHAR ucMinute; //分 0-59
UCHAR ucSecond; //秒 0-59
}CCS_TIMESTRUCT;
typedef struct tagPOWER_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];
//如果ucDeviceType为QueueType, 则是技能组合; 技能用,隔开, 如"180,Chinese"
//如果ucDeviceType为IvrType, 则为接入码; 如"1681234"
//如果ucDeviceType为AgentType, 则为座席工号;工号用,隔开, 如"2,4:2"。其中, 前面的2,4表示预约的
// 坐席工号, :后面的2为业务类型。
//重要说明:使用AgentType类型时,呼叫被分配给座席后,如果座席是多技能的,则他不知道该呼叫
//是希望得到什么服务, 因此需要指定业务类型。
CCS_TIMESTRUCT BookTime; //预约时间
CCS_TIMESTRUCT ReCallTime; //期望回呼时间
CCS_TIMESTRUCT EndTime; //期望回呼结束时间
}POWER_OUTBOUND_STRUCT, *LPPOWER_OUTBOUND_STRUCT; //一个预约呼出呼叫的信息结构
typedef struct tagDBCCC_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; //CCS系统信息结构
typedef struct tagAGENTSTATUS
{
UCHAR ucStatus : 5; // enum AGENT_OP_STATUS 5 bits
UCHAR ucRecord : 1; // 1:被录音 , 0: 1 bit
UCHAR ucSuper : 1; // 1:被监听 , 0: 1 bit
UCHAR ucMonitor: 1; // 1:被监视 , 0: 1 bit
} AGENTSTATUS, *LPAGENTSTATUS;
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; //关于AGENT的摘要信息
//****************************************************************************
//ICD网络中一个节点的信息
//****************************************************************************
typedef struct tagDBCCC_NET_INFO
{
USHORT usConnectID; //节点的网络连接号
UCHAR ucType; //节点的类型 0 为主CCS,1为副CCS,2为代理,3为IVR,4为Fep
ULONG MsgIPAddr; //该节点的接收消息的IP地址,对于CCC该值往往为代理的IP地址,其它均与ActualIPAddr相等.
ULONG MsgProcID; //该节点的接收消息的进程号,对于CCC该值往为代理的进程号,其它均与ActualProcID相等.
ULONG ActualIPAddr; //该节点真正的IP地址
ULONG ActualProcID; //该节点真正的进程ID
}DBCCC_NET_INFO, *LPDBCCC_NET_INFO;
//********************************************************************
//用于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_ID Skill[]; //具体技能标识
// UCHAR Description[]; //技能描述
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];//技能描述, 类似“180,Chinese”
} DBCCC_ACD_INFO, *LPDBCCC_ACD_INFO;
typedef struct tagACD_SKILL_DESCRIPTION
{
USHORT usAcdID; //队列标识
CString strDescription;//技能描述, 类似“180,Chinese”
} ACD_SKILL_DESCRIPTION, *LPACD_SKILL_DESCRIPTION;
typedef struct tagDBCCC_AGENT_INFO
{
ULONG cb;
AGENT_STRUCT Agent; //座席结构
USHORT szDeviceNo; //Agent的设备号
UCHAR szPilotNbr[MAXLEN_PILOTNBR + 1];//Agent的引导号
USHORT usPrevState; //前一个状态 enum AGENT_STATE
ULONG ulPrevStateTime; //前一个状态的时间
USHORT usCurrentState; //当前状态 enum AGENT_STATE
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, *LPDBCCC_AGENT_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 ; //正在处理的设备信息
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -