| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- #pragma once
- #include <string>
- // 线路控制操作类型
- typedef enum tagLINE_OP
- {
- LINE_OP_UNKNOWN = 0, // 未知操作
- LINE_OP_MAKE_CALL = 1, // 呼出
- LINE_OP_ANSWER_CALL = 2, // 应答呼叫
- LINE_OP_RESET = 3, // 线路重置
- LINE_OP_HANG_UP = 4, // 挂机
- LINE_OP_HOLD = 5, // 保持
- LINE_OP_TAKEBACK = 6, // 接回
- LINE_OP_TRANSFER = 7, // 转移
- LINE_OP_CONFERENCE = 8, // 单步会议
- LINE_OP_LISTEN = 9, // 监听
- LINE_OP_INSERT = 10, // 强插
- LINE_OP_INSTEAD = 11, // 代接
- LINE_OP_GRAB = 12, // 强截
- LINE_OP_FORCELOGOUT = 13, // 强制签出
- LINE_OP_LEAVEWORD = 14, // 留言录音
- LINE_OP_PLAY_VOICE = 15, // 开始放音
- LINE_OP_FAX = 16, // 传真
- LINE_OP_TURNAGENT = 17, // 转坐席
- LINE_OP_RECORD = 18, // 录音
- LINE_OP_PREDICTION_CALL = 19, // 预测外呼
- LINE_OP_TURNOUT = 20, // 转外线
- LINE_OP_TURNIVR = 21, // 转IVR
- LINE_OP_TRANSFER_INFO = 22, // 上层通知底层信息
- LINE_OP_CONSULT_CALL_BEGIN = 23, // 协商呼叫启动
- LINE_OP_CONSULT_CALL_CONFIRM = 24, // 协商呼叫确认
- LINE_OP_MUTE_BEGIN = 25, // 静音启动
- LINE_OP_MUTE_END = 26, // 静音结束
- LINE_OP_SELF_CHECK = 27, // 线路自检
- LINE_OP_IVRFAX_TRANSFER = 28, // IVR发起传真转移
- LINE_OP_AUTO_CALL = 29, // 自动外呼
- LINE_OP_ONDUTY_PHONE = 30 // 转值班电话
- } LINE_OP;
- // 设备资源类型常量
- typedef enum tagDEV_RES_TYPE
- {
- DEV_RES_TYPE_UNKNOWN = 0x00, // 未知设备
- DEV_RES_TYPE_EXT = 0x01, // 内线分机
- DEV_RES_TYPE_TRUNK = 0x02, // 外线
- DEV_RES_TYPE_IVR = 0x03, // IVR线路
- DEV_RES_TYPE_CONFERENCE = 0x04, // 会议资源
- DEV_RES_TYPE_FAX = 0x05, // 传真资源
- DEV_RES_TYPE_VOICE = 0x06, // 语音资源
- DEV_RES_TYPE_VOIP = 0x07, // VoIP资源
- DEV_RES_TYPE_DSP = 0x08, // DSP资源
- DEV_RES_TYPE_IPM = 0x09, // IPM资源
- DEV_RES_TYPE_VIDEO = 0x0A, // 视频资源
- DEV_RES_TYPE_MB = 0x0B // 主板
- } DEV_RES_TYPE;
- // 外线资源状态
- typedef enum tagTRUNK_STATE
- {
- TRUNK_STATE_DISABLED = 0x10, // 不可用
- TRUNK_STATE_FREE = 0x11, // 空闲
- TRUNK_STATE_DIALING = 0x12, // 拨号
- TRUNK_STATE_RING_BACK = 0x13, // 呼出振铃
- TRUNK_STATE_ALERTING = 0x14, // 来电振铃
- TRUNK_STATE_TALKING = 0x15, // 通话中
- TRUNK_STATE_GET_DTMF = 0x16, // 取号状态
- TRUNK_STATE_FAX = 0x17, // 收发传真中
- TRUNK_STATE_BUSY = 0x18, // 资源释放过程中(也称占用状态)
- TRUNK_STATE_UNKNOWN = 0x19
- } TRUNK_STATE;
- // 内线分机资源状态
- typedef enum tagINNER_STATE
- {
- INNER_STATE_DISABLED = 0x00, // 分机不可用
- INNER_STATE_FREE = 0x01, // 空闲
- INNER_STATE_INIT = 0x02, // 摘机等待拨号
- INNER_STATE_DIALING = 0x03, // 正在拨号
- INNER_STATE_RING_BACK = 0x04, // 呼出振铃
- INNER_STATE_ALERTING = 0x05, // 来电振铃
- INNER_STATE_TALKING = 0x06, // 通话中
- INNER_STATE_PLAY_BUSYTONE = 0x07, // 播放忙音中
- INNER_STATE_REMOVE = 0x08, // 移除IP分机
- INNER_STATE_HELD = 0x0100 // 通话保持中
- } INNER_STATE;
- typedef struct tagLineOpParam /* 线路控制参数信息 */
- {
- //int nParam1; // 录音时此参数为录音类型 转IVR时:0转IvrLine 1 转FaxLine
- std::string nParam1;
- int nParam2; // 外呼、转移、会议时标识被叫线路类型(参考“设备资源类型常量”); // 传真时,0:IVR自动收发传真,1:坐席收发传真
- int nParam3;
- int nParam4;
- int nParam5;
- int nParam6;
- int nParam7;
- int nParam8;
- int nParam9;
- std::string szParam1; // 主叫号码 / 留言录音结束符
- std::string szParam2; // 被叫号码
- // 班长操作: 被操作的分机号
- std::string szParam3; // 继续排队命令: 放音文件 /录音文件名
- } LineOpParam;
- #define HELD_STATE_MASK 0x0100
- #define HELD_STATE_FILTER_MASK 0x00FF
- #define HELD_STATE_IND_MASK 0xFF00
- // 呼叫失败原因
- typedef enum tagCallFailedCause
- {
- CALL_FAILED_CAUSE_SUCCESS = 0, // 呼叫成功
- CALL_FAILED_CAUSE_USER_HANGUP = 1, // 用户挂断
- CALL_FAILED_CAUSE_USER_BUSY = 2, // 占线
- CALL_FAILED_CAUSE_NO_ANSWER = 3, // 无人接听
- CALL_FAILED_CAUSE_NUM_INVALID = 4, // 无效号码
- CALL_FAILED_CAUSE_DST_OFF = 5, // 被叫关机
- CALL_FAILED_CAUSE_NETWORK_ERR = 6 // 网络问题
- } CallFailedCause;
- // 放音收号类型
- typedef enum tagPlayVoiceMode
- {
- PVM_PLAY_WAIT_DIGIT = 1, // 放音收号
- PVM_PLAY_ONLY = 2, // 只放音
- PVM_WAIT_DIGIT = 3, // 只收号
- PVM_STOP_PLAY = 4 // 停止放音
- } PlayVoiceMode;
- // 会议资源状态
- typedef enum tagMEETING_STATE
- {
- MEETING_STATE_DISABLED = 0, // 不可用
- MEETING_STATE_FREE = 1, // 空闲
- MEETING_STATE_BUSY = 2, // 占用
- } MEETING_STATE;
- // 传真资源状态
- typedef enum tagFAX_STATE
- {
- FAX_STATE_DISABLED = 0, // 不可用
- FAX_STATE_FREE = 1, // 空闲
- FAX_STATE_BUSY = 2, // 占用状态
- } FAX_STATE;
- // 语音资源状态
- typedef enum tagVOICE_STATE
- {
- VOICE_STATE_DISABLED = 0, // 不可用
- VOICE_STATE_FREE = 1, // 空闲
- VOICE_STATE_BUSY = 2, // 占用
- } VOICE_STATE;
- typedef enum tagLINE_TYPE
- {
- LINE_EXTEN = 0, // 分机线路
- LINE_TRUNK = 1, // 数字中继线路
- LINE_VOIP = 2, // VOIP线路
- LINE_IVR = 3, // IVR线路
- LINE_NULL = 4 // 未知类型
- } LINE_TYPE;
- // 录音类型
- typedef enum tagRECORD_TYPE
- {
- RECORD_TYPE_TRUNK = 0, // 中继录音
- RECORD_TYPE_EXTEN = 1 // 并线录音
- } RECORD_TYPE;
- // 录音格式
- typedef enum tagRECORD_FORMAT
- {
- RECORD_FORMAT_MP3 = 0,
- RECORD_FORMAT_WAV = 1
- } RECORD_FORMAT;
- // 设备主动操作类型
- typedef enum tagDEV_OP
- {
- DEV_OP_UNKNOWN = 0, // 未知操作
- DEV_OP_PICK_UP = 1, // 线路摘机
- DEV_OP_CALL_IN = 2, // 线路来电
- DEV_OP_CALL_OUT = 3, // 线路呼出
- DEV_OP_HANG_UP = 4, // 线路挂机
- DEV_OP_TRANSFER = 5, // 按键转移
- DEV_OP_INSTEAD = 6, // 按键代接
- DEV_OP_CONFERENCE = 7, // 按键三方
- } DEV_OP;
- typedef enum tagAUTO_CALL_TYPE
- {
- VOICE_CALL = 1, // 语音外呼
- AGENT_CALL = 2, // 指定坐席外呼
- AUTO_CALL = 3 // 系统自动分配坐席外呼
- }AUTO_CALL_TYPE;
|