04ctiapi接口参考 常量及数据结构doc.docx
《04ctiapi接口参考 常量及数据结构doc.docx》由会员分享,可在线阅读,更多相关《04ctiapi接口参考 常量及数据结构doc.docx(46页珍藏版)》请在冰豆网上搜索。
04ctiapi接口参考常量及数据结构doc
第1章常量定义
本章要点:
本章介绍了CTIAPI涉及的常量,供二次开发人员参考。
&说明:
对于常量和数据结构,在Apiuse.h中均有定义,开发人员可直接查看。
1.1员工权限
//定义系统用户的权限
#defineRIGHT_BUSYIDLE0x00000001//示忙/示闲
#defineRIGHT_MUTEONOFF0x00000002//静音/非静音
#defineRIGHT_HOLDFETCH0x00000004//保持/取保持
#defineRIGHT_CONNECTHOLD0x00000008//连接保持
#defineRIGHT_CALLOUT0x00000010//普通呼出
#defineRIGHT_INTERCALL0x00000020//内部呼叫
#defineRIGHT_TRANSFER0x00000040//内部转移
#defineRIGHT_TRANSITTALK0x00000080//接转接来话
#defineRIGHT_TRITALK0x00000100//三方通话
#defineRIGHT_TRANSITOUT0x00000200//转出
#defineRIGHT_SSPTRANSIVR0x00000400//人工转移自动
#defineRIGHT_DENYTALK0x00000800//不接来话
#defineRIGHT_SUPERVISEINSERT0x00001000//监听/监听插入
#defineRIGHT_INTERCEPT0x00002000//拦截
#defineRIGHT_FORCEOUTBUSYIDLE0x00004000//强制签出/强制示忙/强制示闲
#defineRIGHT_SPYRECORDPLAY0x00008000//质检录音/质检放音
#defineRIGHT_SPYMONITOR0x00010000//质检监视
#defineRIGHT_ASSESSMANAGER0x00020000//考评管理员
#defineRIGHT_ASSESS0x00040000//普通考评员
#defineRIGHT_ALARM0x00080000//告警台
#defineRIGHT_REPORT0x00100000//报表处理员
#defineRIGHT_SERVICEEXPERT0x00200000//话务专家员
#defineRIGHT_MONITOR0x00400000//监控系统
#defineRIGHT_SYSTEM0x00800000//数管员
#defineRIGHT_REPORTMANAGER0x01000000//报表管理员
#defineRIGHT_HOMECALLOUT0x02000000//国内长途呼出
#defineRIGHT_ABOARDCALLOUT0x04000000//国际长途呼出
#defineRIGHT_PILOTCALLOUT0x08000000//本呼叫中心接入码呼出
#defineRIGHT_SCREENQC0x10000000//全屏质检
#defineRIGHT_PICKUP0x20000000//同组代答
1.2设备类型
//Device设备的m_ucDeviceType是该枚举,其他都用地址中的类型来表示
enumICD_DEVICETYPE
{
NotKnowType=0,
QueueType=1,
AgentType,
IvrType,
ConferenceType,
CallPartyType,
AgentQueueType,
//ICD3.0扩展
RouteType,
PhoneType,//普通电话类型(一般市话、分机和外接分台等)
AgentPrivateQueueType,//业务代表私有队列类型,DeviceNo就使用工号
};
1.3座席类型与状态
enumAGENT_TYPE
{
EXTENSION_TYPE=0,//分机类型
USERLINE_TYPE,//用户线类型(增加兼容类型)
AGENT_TYPE_1B1D,//1B+D座席(包括TUA长通电话座席)
AGENT_TYPE_SINGLE_PHONE,//单非长通电话座席
AGENT_TYPE_PC_PHONE,//PC+PHONE座席
AGENT_TYPE_ISDN_2BD,//视频座席2B+D座席
AGENT_TYPE_ISDN_6BD,//视频座席6B+D座席
};
enumAGENT_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,//监听插入呼叫
//added3.0
ops_play,//放音
ops_stop_play,//停止放音
ops_force_out,//强制签出
ops_force_idle,//强制示闲
ops_force_busy//强制示忙
};
1.4呼叫特征
//呼叫中心系统呼叫特征,用于写话单目的
//0~200为CTIServer保留
enumCall_Feature_Type//呼叫中心系统呼叫特征
{
SP_CALL_NORMAL=0,//普通呼入
SP_CALL_SPECIAL,//SPECIALCALL,USEDBYCONFERENCECALL
KE11_CALL,//KE=11,USEDBYVMSCALL--GETVOICEINFORMATION
KE15_CALL,//KE=15,USEDBYVMSCALL--DELETEVOICEINFORMATION
BP_CALL,//BP,USEDBYVMSCALL--SENDINFORMATIONTOBP
SP_CALL_LONG,//长途呼入呼叫
INTER_CALL,//内部呼叫
SP_CALL_OUT,//普通呼出
OP_CALL_OUT,//座席呼出类型,可以支持强插在发送到SIP模块后要转换成6。
OP_PRI_OUT,//PRI呼出
IVR_CALL_OUT,//IVR呼出
OUTBOUND_CALL_OUT,//预约呼出
//OPS:
:
begin
ICD_SP_OPS_AIDERCALL,//辅助呼叫
ICD_SP_OPS_INCALL,//来话呼叫(国际业务代表)
ICD_SP_OPS_PASSCALL,//去话呼叫(国际业务代表)
ICD_SP_OPS_GIVECALL,//递延呼叫
ICD_SP_OPS_INCALL_OUT,//来话呼出呼叫
ICD_SP_OPS_PASSCALL_OUT,//递延呼出呼叫
ICD_SP_OPS_TEL_CALL_OUT,//电话呼出
//OPS:
:
end
//以下为专为视频呼叫新增的呼叫特征
//VCP:
:
begin
ICD_SP_VCP_ISDNCALL_IN,//视频呼入实际呼叫(排队机发起)
ICD_SP_VCP_ISDNCALL_OUT,//视频呼出实际呼叫(到排队机)
ICD_SP_VCP_VIRTUALCALL_IN_2BD,//视频呼入2B+D虚呼叫(2路呼叫整合成的一路呼叫)
ICD_SP_VCP_VIRTUALCALL_IN_6BD,//视频呼入6B+D虚呼叫(6路呼叫整合成的一路呼叫)
ICD_SP_VCP_VIRTUALCALL_OUT_2BD,//视频呼出2B+D虚呼叫(CCS发起)
ICD_SP_VCP_VIRTUALCALL_OUT_6BD,//视频呼出6B+D虚呼叫(CCS发起)
//VCP:
:
end
//以下为自动呼出的呼叫特征
//OUTBOUND:
:
begin
ICD_SP_OUTBOUND_PRE_OCCUPY,//预占用呼出
ICD_SP_OUTBOUND_PRE_CONNECT,//预连接呼出
ICD_SP_OUTBOUND_VIRTUAL_CALLIN,//虚呼入呼出
ICD_SP_OUTBOUND_PREVIEW,//预览呼出
ICD_SP_OUTBOUND_CALLBACK,//回呼请求
//OUTBOUND:
:
end
//0~200为CTIServer保留
};
1.5录放音常量
enumRELOCATION_DIRECTION
{
SEEK_FORWARD,//0:
向前
SEEK_BACKWARD//1:
向后
};
enumRELOCATION_SEEK_FROM
{
SEEK_FROM_HEAD=0,//文件头
SEEK_FROM_CURRENT,//文件当前位置
SEEK_FROM_TAIL//文件尾
};
1.6呼叫转移方式
enumTRANSFER_STYLE
{
CANCEL_TRANSFER=0,
FORWARD_TRANSFER,//前转
BUSY_TRANSFER//忙转
};
1.7
语音类型
enumvoice_resource//放音资源类型
{
SPT_RESOURCE=0,//SPT放音
VP_RESOURCE,//VP放音
SIG_RESOURCE,//SIG信号音
NO_VOICE//没有语音
};
enumPlay_Type//放音类型
{
PLAY_NOTE=0,//放提示音
PLAY_LOCAL_FILE,//没用,仅为与A型排队机TopEng业务兼容。
PLAY_SPEC_FILE,//放指定文件
PLAY_TEM_FILE,//放临时文件
PLAY_COMBINE,//放合成音
PLAY_QC_FILE//播放质检录音
};
1.8监视类型
enumMI_TYPE
{
MI_TRUNKNO=0,//按中继监视
MI_CALLER,//按主叫监视
MI_CALLED//按被叫监视
};
1.9内部求助类型
enumCONNECT_BY_TYPE//内部求助连接类型
{
BY_DIRECT=0,//两方求助
BY_CONFERENCE//三方求助
};
1.10呼叫离开设备原因
enumCALL_DIRECT_MODE//离开设备原因
{
NORMAL_DIRECT=0,//正常离开
KEEP_DIRECT,//保持
WAIT_DIRECT,//等待
RELEASE_DIRECT//释放
};
1.11中继类型
enumACD_TRUNK_TYPE
{
INBOUND_TRUNK=0,//入中继
OUTBOUND_TRUNK,//出中继
BIDIRECT_TRUNK//双向中继
};
1.12
资源连接类型
enumCONNECT_BY_TYPE
{
BY_DIRECT=0,//搭线直接连接
BY_CONFERENCE//会场连接
};
第2章数据结构定义
本章要点:
本章介绍了本API涉及的数据结构,供二次开发人员参考。
&说明:
对于常量和数据结构,在Apiuse.h中均有定义,开发人员可直接查看。
2.1DBCCC_USER_RECORD(座席登录信息)
#defineRESERVED_SIZE9
typedefstructtagDBCCC_USER_RECORD
{
WORDusWorkNo;//用户工号
CHARszUserName[DBCCC_MAXLEN_USERNAME+1];//用户姓名
CHARszPassword[DBCCC_MAXLEN_PASSWORD+1];//用户口令
ULONGulSecurity;//用户权限
UCHARucReserved[RESERVED_SIZE];//保留未用的区域
}DBCCC_USER_RECORD,*LPDBCCC_USER_RECORD;//
2.2DBCCC_USER_RECORD_EX(扩展的座席登录信息)
ConstUSHORTMAX_RIGHT_BYTE_LEN=32;//最大权限字符长度
structDBCCC_USER_RECORD_EX:
publicDBCCC_USER_RECORD
{
VDNIDusVDN;//VDN号
UCHARucRight[MAX_RIGHT_BYTE_LEN];//权限
};
2.3DEVICE_ID(设备标识)
typedefstructtagDEVICE_ID
{
UCHARucDeviceType;//设备类enumICD_DEVICETYPE
USHORTusDeviceNo;//设备号码
friendintoperator==(conststructtagDEVICE_ID&id1,conststructtagDEVICE_ID&id2)
{
return(id1.ucDeviceType==id2.ucDeviceType
&&id1.usDeviceNo==id2.usDeviceNo);
}
friendintoperator!
=(conststructtagDEVICE_ID&id1,conststructtagDEVICE_ID&id2)
{
return(id1.ucDeviceType!
=id2.ucDeviceType
||id1.usDeviceNo!
=id2.usDeviceNo);
}
}DEVICE_ID,*LPDEVICE_ID;//设备标识
2.4CALLID(呼叫标识)
structCALLID
{
ULONGulTime;//呼叫进入时间
USHORTusDsn;//呼叫进入的任务号
UCHARucHandle;//呼叫进入一个任务的次数
UCHARucServer;//唯一标识一个服务器的标识
inlinefriendintoperator!
=(constCALLID&id1,constCALLID&id2);
inlinefriendintoperator==(constCALLID&id1,constCALLID&id2);
};//呼叫标识
typedefCALLID*LPCALLID;
inlineintoperator!
=(constCALLID&id1,constCALLID&id2)
{returnmemcmp(&id1,&id2,sizeof(CALLID));}
inlineintoperator==(constCALLID&id1,constCALLID&id2)
{return!
memcmp(&id1,&id2,sizeof(CALLID));}
constCALLIDCALLID_NO_USE={0xffffffff,0xffff,0xff,0xff};
2.5EVENT_TIME(事件时间结构)
事件时间结构,指示发生此事件的时间。
typedefstructtagEVENT_TIME
{
USHORTwYear;
UCHARwMonth;
UCHARwDayOfWeek;//Specifiesthecurrentdayoftheweek;
//Sunday=0,Monday=1,andsoon.
UCHARwDay;
UCHARwHour;
UCHARwMinute;
UCHARwSecond;
USHORTwMilliseconds;//Specifiesthecurrentmillisecond
}EVENT_TIME,*LPEVENT_TIME;
2.6DBCCC_EVENT_HEAD(事件头)
typedefstructtagDBCCC_EVENT_HEAD
{
EVENT_TIMEulTime;//事件产生时间
USHORTusEventType;//事件类型。
enumCCC_EVENT
USHORTusSize;//与事件相关的数据长度
}DBCCC_EVENT_HEAD,*LPDBCCC_EVENT_HEAD;
2.7DBCCC_DEVICE_STRUCT(业务类型结构)
此结构后是呼叫轨迹,用多个DBCCC_DEVICE_STRUCT表示。
typedefstructtagDBCCC_DEVICE_STRUCT
{
ULONGulWaitBeginTime;//等待开始时间
ULONGulWaitEndTime;//等待结束时间
ULONGulAnswerBeginTime;//应答开始时间
ULONGulAnswerEndTime;//应答结束时间
ULONGulTalkBeginTime;//谈话开始时间
ULONGulTalkEndTime;//谈话结束时间
USHORTusDeviceNo;//设备编号
UCHARucDeviceType;//设备类型enumICD_DEVICETYPE
UCHARucDoFuction;//此设备的处理方式,enumCALL_DIRECT_MODE
UCHARucLeaveReason;//离开此设备原因,enumCALL_DIRECT_MODE
}DBCCC_DEVICE_STRUCT,*LPDBCCC_DEVICE_STRUCT;
2.8DBCCC_DEVICE_STRUCT_EX(扩展呼叫轨迹)
typedefstructtagDBCCC_DEVICE_STRUCT_EX
{
ULONGulWaitBeginTime;//等待开始时间
ULONGulWaitEndTime;//等待结束时间
ULONGulAnswerBeginTime;//应答开始时间
ULONGulAnswerEndTime;//应答结束时间
ULONGulTalkBeginTime;//谈话开始时间
ULONGulTalkEndTime;//谈话结束时间
USHORTusDeviceNo;//设备编号
UCHARucDeviceType;//设备类型enumICD_DEVICETYPE
UCHARucDoFuction;//此设备的处理方式enumCALL_DIRECT_MODE
UCHARucEnterReason;//进入此设备原因
UCHARucLeaveReason;//离开此设备原因
}DBCCC_DEVICE_STRUCT_EX,*LPDBCCC_DEVICE_STRUCT_EX;
2.9CALL_DIRECT_MODE(离开设备原因)
enumCALL_DIRECT_MODE
{
NORMAL_DIRECT=0,//正常离开
KEEP_DIRECT,//保持
WAIT_DIRECT,//等待
RELEASE_DIRECT//释放
};
2.10DBCCC_CALL_INFO(呼叫信息)
typedefstructtagDBCCC_CALL_INFO
{
ULONGcb;结构长度
CALLIDcallID;//呼叫标识
CHARcKeyID[MAXLEN_EXTEN+1];//呼叫的唯一标识
CHARcANI[MAXLEN_EXTEN+1];//主叫
CHARcDialedNumber[MAXLEN_EXTEN+1];//被叫
CHARucMid;//模块号
USHORTusTrunkNo;//中继号
UCHARucPriority;//用户级别
DEVICE