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

📄 apiuse.h

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

#define _CALL_DEBUG		"话务统计"	

#include "msgtype.h"
#pragma pack(push,1)

#ifndef	 US
#define  US   USHORT
#endif

#ifndef  UC
#define  UC   UCHAR
#endif

#ifndef	 UL
#define  UL   ULONG
#endif

#define  UC_NO_USE  0xFF
#define  US_NO_USE  0xFFFF
#define  UL_NO_USE  0xFFFFFFFF

#define  UC_ERROR   0xFF
#define  US_ERROR   0xFFFF
#define  UL_ERROR   0xFFFFFFFF

//变量名: ulSecurity     
//定义系统用户的权限
#define	RIGHT_BUSYIDLE			0x00000001			//  示忙/示闲
#define	RIGHT_MUTEONOFF			0x00000002			//	静音/非静音
#define	RIGHT_HOLDFETCH			0x00000004			//	保持/取保持
#define	RIGHT_CONNECTHOLD		0x00000008			//	连接保持

#define	RIGHT_CALLOUT			0x00000010			//	普通呼出
#define	RIGHT_INTERCALL			0x00000020			//	内部呼叫
#define	RIGHT_TRANSFER			0x00000040			//	内部转移
#define	RIGHT_TRANSITTALK		0x00000080			//	接转接来话

#define	RIGHT_TRITALK			0x00000100			//	三方通话
#define	RIGHT_TRANSITOUT		0x00000200			//	转出
#define	RIGHT_SSPTRANSIVR		0x00000400			//	人工转移自动
#define	RIGHT_DENYTALK			0x00000800			//	不接来话

#define	RIGHT_SUPERVISEINSERT	0x00001000			//	监听/监听插入
#define	RIGHT_INTERCEPT			0x00002000			//	拦截
#define	RIGHT_FORCEOUTBUSYIDLE	0x00004000			//	强制签出/强制示忙/强制示闲
#define	RIGHT_SPYRECORDPLAY		0x00008000			//	质检录音/质检放音

#define	RIGHT_SPYMONITOR		0x00010000			//	质检监视
#define	RIGHT_ASSESSMANAGER		0x00020000			//	考评管理员
#define	RIGHT_ASSESS			0x00040000			//	普通考评员
#define	RIGHT_ALARM				0x00080000			//	告警台

#define	RIGHT_REPORT			0x00100000			//	报表处理员
#define	RIGHT_SERVICEEXPERT		0x00200000			//	话务专家员
#define	RIGHT_MONITOR			0x00400000			//	监控台
#define	RIGHT_SYSTEM			0x00800000			//	数管员

#define	RIGHT_REPORTMANAGER		0x01000000			//	报表管理员
#define	RIGHT_HOMECALLOUT		0x02000000			//	国内长途呼出
#define	RIGHT_ABOARDCALLOUT		0x04000000			//	国际长途呼出

const  SHORT		DBCCC_MAXLEN_USERNAME	=  20;	//最大用户名长度
const  SHORT		DBCCC_MAXLEN_PASSWORD   =  8;	//最大口令长度
const	UCHAR		MAX_FILENAME_LEN        = 40;	//文件名长度
const	CHAR		MAX_VERSION_LEN         = 20;	//版本信息长度
const	UCHAR	    MAXLEN_EXTEN			= 24;	//最大电话号码长度
const	UCHAR		MAX_PILOT_LEN			= MAXLEN_EXTEN;	//导引号码长度
const	SHORT		MAX_PEOPLE_NAME_LENGTH	= 20;		//代理人姓名长度
const	SHORT		AGENT_NAME_LENGTH		= MAX_PEOPLE_NAME_LENGTH;		//代理人姓名长度
const	SHORT		MAX_SKILL_NAME_LENGTH	= 20;		//技能名称长度
const	SHORT		MAX_DN_LENGTH			= 2*MAXLEN_EXTEN;	//DN最大长度
const	SHORT		MAX_IVR_INNO_LENGTH		= MAXLEN_EXTEN;	//最大接入码长度
const	SHORT		MAX_SYSINNO_NUM			= 200;		//系统接入码数目
const	SHORT		MAX_VALUE_LENGTH		= 1024;		//配置项目长度
const	SHORT		MAX_WORKGROUP_NAME_LENGTH = 100;	//班组名称长度
const	SHORT		ERROR_NOTE_LENGTH		= 200;		//系统错误说明长度
const   SHORT       MAX_SKILL_STRING_LENGTH = 200;		//技能队列描述长度
const	SHORT		MAX_SKILLINFO_LEN		= MAX_SKILL_STRING_LENGTH;		//技能队列描述长度
const	SHORT		MAX_INNO_INFO_LEN		= 200;		//接入码对应功能描述长度
const   SHORT		MAX_SERVICE_DESCRIPTION_LEN = 100;  //业务描述字符
const	SHORT		MAX_HISTORY_ITEMS		= 5;		//一次取得的最大历史记录条数
const	SHORT		MAX_HISTORY_LENGTH		= 1024;		//一条历史记录长度
const	SHORT		MAX_CLASS_NAME_LENGTH	= 20;		//级别名称长度
const	SHORT		MAX_SERIALNO_LENGTH		= 20;		//最大流水号码长度
const	SHORT		MAX_ANI_LENGTH			= MAXLEN_EXTEN;	//呼叫主叫长度
const	SHORT		MAX_DNIS_LENGTH			= MAXLEN_EXTEN;	//呼叫被叫长度
const	SHORT		MAX_SECTIONNAME_LENGTH 	= 32;			//Section长度
const	SHORT		MAX_KEYNAME_LENGTH		= 32;			//Key长度
const	SHORT		MAX_VALUENAME_LENGTH	= 1024;			//Value缺省长度
const	SHORT		MAX_CUSTOMER_ID_LENGTH	= 15;	//用户标识长度
const	SHORT		MAX_COMPANY_LENGTH		= 40;	//公司名字长度
const	SHORT		MAX_ADDRESS_LENGTH		= 40;	//地址名字长度
const	SHORT		MAX_AREA_LENGTH			= 20;	//专业
const	SHORT		MAX_LANGUAGE_LENGTH		= 10;	//语言
const	SHORT		MAX_DESCRIPTION_LENGTH	= 100;	//用户简要介绍
const	USHORT		MAX_CALLDATA_LEN		= 1024;	//呼叫数据长度
const	UCHAR		MAXLEN_PILOTNBR         = MAXLEN_EXTEN;
const	SHORT		MAX_PACKET_LEN			= 1024*5;	//一个包最大长度
const	UCHAR		MAX_COMPUTER_NAME_SIZE	= 30;
const   USHORT      MAX_AGENT_KEEPCALL_NUMS  = 100;  //一个话务员最大的保持呼叫数
const				MAX_CCC_DATA            = 36000;

const	SHORT		MAX_SKILL_NUM			= 300;		//最大的技能项目
const	SHORT		MAX_NODE_NUM			= 1000;		//最大的节点数目
const	SHORT		MAX_TREE_NUM			= 500;		//最大技能树个数
const	SHORT		MAX_SERVICE_NUM			= 300;		//最大的业务类型
const	SHORT		MAX_LEAF_NUM			= 1000;		//最大的叶子节点数目
const	SHORT		MAX_WORKGROUP_NUM		= 500;		//最大工作组数目
const	SHORT		MAX_SKILL_GROUP			= 300;		//最大的技能分组
const	SHORT		MAX_DN_NUM				= 500;		//最大的DN数目
const	SHORT		MAX_PROXY_NUM			= 100;		//最大的代理服务器数目
const   SHORT		MAX_CCC_NUM				= 1500;		//最大的CCC数目
const	SHORT		MAX_NODES_COUNT			= MAX_PROXY_NUM + MAX_CCC_NUM;
const	SHORT		MAX_IVR_SERVICE_NUM		= 500;		//最大IVR业务流程数目
const	SHORT		MAX_IVR_INNO_NUM		= 500;		//最大IVR接入码数目
const	SHORT		MAX_DNIS_NUM			= 300;		//最大被叫数目
const	SHORT		MAX_SECT_NUM			= 5;		//一天中的最大分段数
const	SHORT		MAX_HOLIDAY_NUM			= 50;		//最大假期数目
const	SHORT		MAX_ACCESS_NUM			= 16;		//接入码个数
const	SHORT		MAX_CONFERENCE_NUM	    = 1000;
const	SHORT		WORKGROUP_AGENT_NUM		= 100;
const	SHORT		MAX_USER_CLASS_NUM		= 15;
const	SHORT		MAX_OUTBOUND_NUM		= 100;	//一次取回的呼出呼叫数目
const	USHORT		MAX_CBK_NUM				= 4096;	
const	USHORT		MAX_ANI_NUM_ONE_PACKAGE = 500;	//数据库一次返回的最大主叫号码数目
const	UCHAR       DRV_MAX_GET_NUM         = 24;  //最大收号长度

const	UCHAR		MAX_START_DIGIT_BCD_LEN	=	9 ;
const	UCHAR		MAX_STOP_DIGIT_BCD_LEN	=	9 ;
const	UCHAR		E1_MAX_FILENAME_LEN		=	40;
const	UCHAR		MAX_E1_SENTENCE_LENGTH	=	215;
const	USHORT		MAX_REPORT_BUFF_SIZE	= 2000;	//最大报音缓冲区
const   USHORT		MAX_QC_SKILL_GROUP_SIZE   = 50;//最大质检员能处理的技能组个数
const   USHORT		MAX_QC_CALLQUEUE_SIZE     = 50;//最大质检员能处理的呼叫队列个数


enum ACK_cause
{
    AGENT_FAULT=0,        //无效话务员
	CALL_FAULT,           //无效的呼叫
	STATE_FAULT,          //状态错误
	CONNECT_FAIL,         //连接错误
	GET_HOLD_FAIL,        //取保持错误
	HOLD_FAIL,            //保持错误
	TIMEOUT,              //超时
	OCCUPY_FAIL,          //占用话务员错误
	USER_DISCONNECT ,     //用户挂机
	NO_CONF,              //申请不到会场
	NO_RIGHT,             //没有权限
	ICD_ACCESS_CODE,      //ICD系统接入码
	RESOURCE_UNAVAIL,     //资源不可用
    NO_SUCH_NUMBER,       //空号
    CALLED_BUSY           //被叫忙
};

//呼出类型
enum CCC_CALL_OUT_MODE
{
	NORMAL_CALL_OUT,		//普通呼出
	FORCE_INSERT_CALL_OUT,	//强插
    PRI_CALL_OUT            //PRI呼出
};

enum CCC_REPORT_VOICE_TYPE
{
	SECRET_NUMBER_VOICE = 10,	//保密电话
	NULL_NUMBER_VOICE	= 11,	//空号
};

//设置监视的类型
enum MI_TYPE
{
	MI_TRUNKNO = 0,			//按中继监视
	MI_CALLER,				//按主叫监视
	MI_CALLED				//按被叫监视
};

//所有设备类型定义
enum	ICD_DEVICETYPE
{
	NotKnowType = 0,
	QueueType = 1,
	AgentType,
	IvrType,
	ConferenceType,
	CallPartyType,
	AgentQueueType
};

enum CONNECT_BY_TYPE
{
	BY_DIRECT = 0,
	BY_CONFERENCE
};

enum CALL_DIRECT_MODE	//离开设备原因
{
	NORMAL_DIRECT = 0 ,	//正常离开
	KEEP_DIRECT,		//保持
	WAIT_DIRECT,		//等待
	RELEASE_DIRECT		//释放
};

//*******************************************
//CccNotifyConfigChaned ucType
//*******************************************
enum CONFIG_NOTIFY_TYPE
{
	NOTIFY_IVR			= 0,
	NOTIFY_PROXY		   ,
	NOTIFY_LOGDBSERVER	   ,
	NOTIFY_ROTINGDBSERVER  ,
	NOTIFY_OUTBOUNDDBSERVER
};

enum	MONITOR_TALK_FLAG
{	
	NOT_ALLOWED_TALK = 0,
	ALLOWED_TALK	 = 1
};

enum RELOCATION_DIRECTION
{
	SEEK_FORWARD,   //  0: ---->  向前
	SEEK_BACKWARD   //  1: <----  向后
};

enum RELOCATION_SEEK_FROM
{
   SEEK_FROM_HEAD=0,	//文件头
   SEEK_FROM_CURRENT,	//文件当前位置
   SEEK_FROM_TAIL		//文件尾
};

enum CallFlag
{
	CALL_IN =0	,		//呼入
    CALL_OUT			//呼出
} ;

enum ACD_Call_Feature_Type	//排队机呼叫特征
{
	ACD_SP_CALL_NORMAL =0,	//  普通呼叫
	ACD_SP_CALL_SPECIAL	,	//  SPECIAL CALL , USED BY CONFERENCE CALL
	ACD_KE11_CALL,			//  KE=11, USED BY  VMS CALL--GET VOICE INFORMATION
	ACD_KE15_CALL,			//  KE=15, USED BY  VMS CALL--DELETE VOICE INFORMATION
	ACD_BP_CALL	,			//  BP,USED BY VMS CALL--SEND INFORMATION TO BP 
	ACD_SP_CALL_LONG,		//长途呼叫
	ACD_OP_CALL_OUT,		//=6座席呼出类型
};


enum Call_Feature_Type	//CCS内部呼叫特征,目前与排队机呼叫特征不一致的是OP_CALL_OUT
{
	SP_CALL_NORMAL =0,	//  普通呼叫
	SP_CALL_SPECIAL	,	//  SPECIAL CALL , USED BY CONFERENCE CALL
	KE11_CALL,			//  KE=11, USED BY  VMS CALL--GET VOICE INFORMATION
	KE15_CALL,			//  KE=15, USED BY  VMS CALL--DELETE VOICE INFORMATION
	BP_CALL	,			//  BP,USED BY VMS CALL--SEND INFORMATION TO BP 
	SP_CALL_LONG,		//长途呼叫
	INTER_CALL,			//内部呼叫
	SP_CALL_OUT,         //呼出
	OP_CALL_OUT,		 //座席呼出类型,可以支持强插在发送到SIP模块后要转换成6
						 //而在呼叫对象中转换为用SP_CALL_OUT
} ;


enum AGENT_TYPE		//座席类型
{
	EXTENSION_TYPE = 0,	//分机类型
	USERLINE_TYPE,		//用户线类型
	BDAGENT_TYPE		//1B+1D座席类型
};

enum AGENT_STATE	//座席状态
{
	NOT_LOGINED = 0,	//未签入
	IDLE        ,		//空闲状态
	PREOCCUPY   ,		//预占用状态
	OCCUPY      ,		//占用状态
	ANSWERING ,			//应答状态
	TALKING   ,			//通话状态
	WORKING,			//工作状态
	SETBUSY				//忙状态
};

enum IVR_TYPE {
   IVR_RCP,
   IVR_SPP, 
};
enum AGENT_OP_STATUS	//座席状态
{
//话务员主要状态的变化	
	ops_null=0, //坐席签出
	ops_login, //坐席签入
	ops_idle, //空闲
	ops_busy, //示忙
	ops_active, //通话态
	ops_wait_answer,//给话务员分来话后等话务员应答
	ops_wait_connect,//话务员应答或话务员呼出成功后等待连接成功的消息 
	ops_release,    //话务员拆线
	ops_disconnect, //请求释放
	ops_wait_alerting,//呼出时等被叫振铃
	ops_tri_tlak = 10,//三方通话

    ops_fail, //坐席通道坏或坐席死机
    ops_ok  , //坐席通道或坐席已恢复
	ops_hungup ,//人工转自动,话务员处于挂起状态

//话务员是否被监听或插入
	ops_supervise_insert, //被监听或插入
	ops_stop_supervise_insert, //停止被监听或插入

//话务员是否被录音
	ops_record_begin,//被录音
    ops_record_stop ,//停止被录音

//话务员是否被监视
	ops_monitor,//被监视
    ops_stop_monitor,//停止被监视

///////////////
	ops_monitor_supervisor_other = 20,//监听或插入
    ops_stop_monitor_supervisor_other,//停止监听或插入

	ops_playvoice,//放音
    ops_stop_playvoice,//停止放音

	ops_surveillant,//监视
    ops_stop_surveillant =25 ,//停止监视
	ops_rest,			//座席休假(休息)
	ops_work,		//工作状态
	ops_monitor_insert_call //监听插入呼叫
};

enum	TIMEOUT_PROCESS_STYLE	//Timeout or Transfer Type

⌨️ 快捷键说明

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