📄 apiuse.h
字号:
UCHAR pucCallData[ MAX_CALLDATA_LEN ]; //呼叫数据
USHORT CallDataLen; //呼叫数据的有效长度
CHAR pcCallSkill[ MAX_SKILL_STRING_LENGTH ];//呼叫技能描述,类似“180,Chinese”
USHORT usPartyNum; //呼叫轨迹经过的设备数目
UCHAR ucCallFeature; //呼叫特征, enum Call_Feature_Type
CHAR cOrgCalledNo[ MAXLEN_EXTEN + 1 ]; //原始被叫
} DBCCC_CALL_INFO, *LPDBCCC_CALL_INFO; //呼叫信息
/*****************************************************
此结构后是呼叫轨迹,用多个DBCCC_DEVICE_STRUCT表示
*****************************************************/
typedef struct
{
ULONG cb; //结构字节数目
UCHAR ucDeviceType; //设备类型 enum ICD_DEVICETYPE
USHORT usDeviceNo; //设备编号
CHAR ucPilotNo[ MAXLEN_PILOTNBR + 1];//设备引导号
UCHAR ucTransferType; //转移标志 enum TIMEOUT_PROCESS_STYLE
DEVICE_ID TransferDevice; //转移设备
USHORT usCallNum; //后面跟随的CALLID的数目(该设备)
} CALL_PARTY_INFO;
//呼叫一方信息(设备)
typedef struct tagDBCCC_DEVICE_STRUCT
{
ULONG ulWaitBeginTime; //等待开始时间
ULONG ulWaitEndTime; //等待结束时间
ULONG ulAnswerBeginTime; //应答开始时间
ULONG ulAnswerEndTime; //应答结束时间
ULONG ulTalkBeginTime; //谈话开始时间
ULONG ulTalkEndTime; //谈话结束时间
USHORT usDeviceNo; //设备编号
UCHAR ucDeviceType; //设备类型 enum ICD_DEVICETYPE
UCHAR ucDoFuction; //此设备的处理方式,enum CALL_DIRECT_MODE
UCHAR ucLeaveReason; //离开此设备原因, enum CALL_DIRECT_MODE
}DBCCC_DEVICE_STRUCT, *LPDBCCC_DEVICE_STRUCT;
#define RESERVED_SIZE 9
typedef struct tagDBCCC_USER_RECORD
{
USHORT usWorkNo; //用户工号
CHAR szUserName[ DBCCC_MAXLEN_USERNAME + 1 ];//用户姓名
CHAR szPassword[ DBCCC_MAXLEN_PASSWORD + 1 ];//用户口令
ULONG ulSecurity; //用户权限
UCHAR ucReserved[RESERVED_SIZE]; //保留未用的区域
}DBCCC_USER_RECORD, *LPDBCCC_USER_RECORD; //用户描述结构
/*
typedef struct tagDBCCC_CALL_STATUS
{
DBCCC_CALLID CallID; //呼叫标识
CHAR CallerNo[ MAXLEN_EXTEN + 1 ]; //主叫号码
CHAR CalledNo[ MAXLEN_EXTEN + 1 ]; //被叫号码
UCHAR ucCallType; //呼叫类型 //enum CallFlag
USHORT usTrunkNo; //中继号码
USHORT usDid; //交换设备号
} DBCCC_CALL_STATUS, *LPDBCCC_CALL_STATUS;
*/
typedef struct tagDBCCC_AGENT_WORKGROUP_INFO
{
USHORT usAgentNo; //座席工号
USHORT usAgentDsn; //座席电路号
UCHAR ucAgentStatus; //座席状态 //struct AGENTSTATUS
}DBCCC_AGENT_WORKGROUP_INFO, *LPDBCCC_AGENT_WORKGROUP_INFO;
typedef struct tagDBCCC_INNO_STRUCT
{
USHORT usID; //接入码标识(内部编号)
USHORT usServiceNo; //业务类型
BOOL bHelpFlag; //求助标志
CHAR pcInNo[ MAX_IVR_INNO_LENGTH + 1]; //接入码
CHAR pcDescription[MAX_INNO_INFO_LEN + 1];//对此接入码的功能性描述
}DBCCC_INNO_STRUCT, *LPDBCCC_INNO_STRUCT; //说明: IVR接入码结构
typedef struct tagDBCCC_ALARM_DATA
{
CHAR pcDeviceType[10]; //设备类型名称
CHAR pcDeviceNo[10]; //设备标识号
USHORT usAlarmType; //告警类型 // enum ALARM_TYPE
USHORT usAlarmLevel; //告警级别 // enum ALARM_LEVEL
CHAR pcAlarmInfo[200]; //告警信息
UCHAR ucAlarmFlag; //告警标志 1:Alarm, 0: NoAlarm
}DBCCC_ALARM_DATA, *LPDBCCC_ALARM_DATA;
enum PACKET_STATUS
{
PACKET_DATA,
PACKET_END
};
typedef struct tagSFTP_PACKET
{
UCHAR SerialNo; //文件块包的序号
UCHAR EndFlag; //是否文件结束标志
USHORT PacketLen; //数据区数据的长度
CHAR Packet[ MAX_PACKET_LEN ]; //数据区
}SFTP_PACKET, *LPSFTP_PACKET;
typedef struct tagCONN_OBJ_INFO
{
UCHAR ConnNodeNum; //包含连接数目
UCHAR byConf; //是否通过会议电话enum CONNECT_BY_TYPE
}CONN_OBJ_INFO, *LPCONN_OBJ_INFO;
typedef struct tagCONN_NODE_INFO
{
USHORT source_dsn; //发起方
UCHAR source_type; //发起方类型
UCHAR source_mid; //发起方模块号
USHORT dest_dsn; //目标方
UCHAR dest_type; //目标方类型
UCHAR dest_mid; //目标方模块号
UCHAR mode; //
UCHAR byConf; //enum CONNECT_BY_TYPE
}CONN_NODE_INFO, *LPCONN_NODE_INFO;
typedef struct
{
USHORT usFirstAgentNo; //排名第一工号
double fFirstAgentScore; //排名第一分数
USHORT usSecondAgentNo; //排名第二工号
double fSecondAgentScore; //排名第二分数
USHORT usThirdAgentNo; //排名第三工号
double fThirdAgentScore; //排名第三分数
USHORT usSelfIndex; //自己排名
double fSelfScore; //自己分数
} AGENT_ANALY_INFO; //座席考评排行榜结构
typedef struct tagDBCCC_TRUNK_STRUCT
{
UCHAR ucModuleNo; //该中继所属模块号, 用于区分排队机模块
UCHAR ucGroupNo; //该中继所属中继群号,用于区分该模块下的中继群
UCHAR ucDirection; //该中继的群向,是入中继还是出中继,enum ACD_TRUNK_TYPE
USHORT usTrunkNo; //该中继编号,在该模块中的编号
UCHAR ucStatus; //是可用中继还是不可用中继, 1: 可用,0:不可用
}DBCCC_TRUNK_STRUCT, *LPDBCCC_TRUNK_STRUCT; //每个中继续
typedef struct tagVMS_SPT_PLAY
{
UCHAR voice_resource; // 放音资源类型 enum voice_resource
UCHAR play_type; // 放音类型, enum Play_Type
UCHAR filename[MAX_FILENAME_LEN];
}VMS_SPT_PLAY;
typedef struct tagDRV_RESULT_STRUCT
{
UCHAR user_info[DRV_MAX_GET_NUM]; //收号结果
}DRV_RESULT_STRU;
typedef union tagPLAY_DRV
{
VMS_SPT_PLAY vp_spt_play; // VP , SPT放音
DRV_RESULT_STRU drv_result; // 收号结果
}PLAY_DRV;
typedef struct tagPLAY_DRV_STRUCT
{
CHAR IvrNo[ MAXLEN_EXTEN + 1 ]; //相应的流程接入码
UCHAR flag; //放音还是收号 enum PLAY_COLLECT
PLAY_DRV play_drv;
}PLAY_DRV_STRUCT;
typedef struct
{
CALLID CallId;
ULONG Index;
} KEEPINDEX;
typedef struct tagEVENT_RESPONSE_ID
{
UCHAR ucReceiveTaskCount;
USHORT usReceiveTaskDsn;
}EVENT_RESPONSE_ID;
#define TRACE_DESCRIPTION_LEN 50
typedef struct tagFLOWTRACE_ITEM
{
CHAR cCallerNo[MAXLEN_EXTEN + 1]; //主叫号码
CALLID CallID; //呼叫标识
CHAR cTraceDes[TRACE_DESCRIPTION_LEN + 1];//轨迹分支描述
}FLOWTRACE_ITEM, *LPFLOWTRACE_ITEM;
typedef struct
{
USHORT usLoginNums; //上班次数
ULONG ulWorkTime; //工作时长
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; //请假时长
USHORT usAgentRelease; //话务员主动收线次数
ULONG ulRestOutTime; //超假时长
ULONG ulTotalTalkIngTimes;//总的通话时长
ULONG ulBusyTime; //示忙时长
USHORT usSuperInsertNums; //监听次数
ULONG ulSuperInsertTime; //监听时长
USHORT usSwitchInsertNums; //
USHORT usInterceptNums; //拦截次数
USHORT usTransIVRNums; //人工转移自动次数
USHORT usSuperTrunkNums; //监听中继次数
ULONG ulSuperTrunkTime; //监听中继时长
USHORT usInterHelpNums; //内部求助次数
USHORT usForceOutNums; //强制签出别人次数
USHORT usForceIdleNums; //强制示闲别人次数
USHORT usForceBusyNums; //强制示忙别人次数
ULONG ulWorkStatusTime; //工作状态时长
}STATISTICS_INFO;
typedef struct tagAGENT_STATISTICS_INFO
{
AGENT_STRUCT Agent; //座席结构
STATISTICS_INFO StatInfo; //统计信息
}AGENT_STATISTICS_INFO, *LPAGENT_STATISTICS_INFO;
typedef struct tag_CMessageHead
{
UCHAR sender_node; //发送方节点号
UCHAR sender_port; //发送方端口号
UCHAR receiver_node; //接收方节点号
UCHAR receiver_port; //接收方端口号如IVR的PORT号为4等
UCHAR msg_type;//消息类型
//一个字节句柄以及两个字节的dsn唯一标识一个呼叫控制块
UCHAR sender_handle;// 发送方句柄
USHORT sender_dsn;// 发送方Dsn
UCHAR receiver_handle; // 接收方方句柄
USHORT receiver_dsn; // 接收方Dsn
}CMessageHead, *LPCMessageHead;
//呼入请求(排队机呼叫进入IVR的启动数据包)
typedef struct tag_SP_Setup_Msg:public CMessageHead
{
UCHAR call_feature;//呼叫特征,分为普通呼叫、特殊呼叫、
//设置摘机通知、取消摘机通知、自动寻呼机通知。枚举值分别为0,1,2,3,4
UCHAR CLI_BCD[13];//主叫的BCD码
UCHAR CLD_BCD[13];//被叫的BCD码
UCHAR DID;//
USHORT trunk_dsn;//中继号
UCHAR Ext_Data[25];//呼叫附加信息
}SP_Setup_Msg, *LPSP_Setup_Msg;
//IVR发给排队机的呼入请求应答包
typedef struct tag_SP_SetupAck_Msg:public CMessageHead
{
UC noteno;//IVR业务流程的节点号
} SP_SetupAck_Msg, *LPSP_SetupAck_Msg;
//IVR发振铃消息
typedef struct tag_SP_Alerting_Msg:public CMessageHead
{
UC audio; //一般填255
} SP_Alerting_Msg, *LPSP_Alerting_Msg;
//ivr应答
typedef struct tag_SP_Answer_Msg:public CMessageHead
{
UC audio;//一般填255
} SP_Answer_Msg , *LPSP_Answer_Msg;
//定时握手消息
typedef struct tag_SP_ResetTimer_Msg:public CMessageHead
{
UC timer_id; //一般填255
} SP_ResetTimer_Msg, *LPSP_ResetTimer_Msg;
//服务器发的CALLID
typedef struct tag_IVR_CallID_Msg:public CMessageHead
{
CALLID callID; //呼叫标识结构
} IVR_CallID_Msg, *LPIVR_CallID_Msg;
//IVR主动拆线
typedef struct tag_SP_Disconnect_Msg:public CMessageHead
{
UC discon_cause; //拆线原因,分为:正常拆线、无资源拆线、超时拆线、呼出失败、挂机、空号、邮箱已满。枚举值分别为0,1,2,3,4,5,6。
} SP_Disconnect_Msg, *LPSP_Disconnect_Msg;
//BCD码转换为字符串
void decodeBCD(const char* pSource, int len, char* str);
//INT 向BCD转换
int int2bcd(int i);
//IVR发给ACD的呼叫释放消息
typedef struct tag_SP_Release_Msg:public CMessageHead
{
UC release_cause; //拆线原因,分为:正常拆线、无资源拆线、超时拆线、呼出失败、挂机、
//空号、邮箱已满,一般为挂机。枚举值分别为0,1,2,3,4,5,6。
UC ext_data[100];//呼叫附加信息
} SP_Release_Msg, *LPSP_Release_Msg;
//IVR发给排队机的呼叫重定向消息
typedef struct tag_SP_Redirect_Msg:public CMessageHead // SSP <=== SCP,重定向
{
UC CLD[MAXLEN_EXTEN] ; //重定向的目标号码
UC ext_data[100]; //呼叫附加信息
}SP_Redirect_Msg, *LPSP_Redirect_Msg;
//二次收号结果消息
typedef struct tag_SP_DRV_RESULT_Msg:public CMessageHead
{
UCHAR user_info[24]; //收号结果
}SP_DRV_RESULT_Msg, *LPSP_DRV_RESULT_Msg;
//IVR发给排队机的资源连接消息
typedef struct tag_SP_ResourceConnect_Msg:public CMessageHead
{
UC connect_party_type; // 连接方类型,分为: 呼叫方、连net板的VP台、用户电路、会议电话、连中继的VP台、人工台。枚举值分别为0,1,2,3,4,7。
US connect_party_dsn; /* 连接方Dsn。对于连接方为:
呼叫方:Dsn填排队机的控制块的Dsn;
会议电话:Dsn填申请到的会场号;
连中继的VP台:排队机配置的中继电路号+模块号*2048。*/
UC dest_party_type; //目标方类型,分为: 呼叫方、连net板的VP台、用户电路、会议电话、连中继的VP台、人工台。
US dest_party_dsn; //目标方Dsn
UC connect_mode; //连接类型,分为:只听、只说、双向。枚举值分别为1,2,3。
} SP_ResourceConnect_Msg, *LPSP_ResourceConnect_Msg;
#pragma pack(pop)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -