/************************************************************************* 【文件名】 LineOpExec.h 【功能模块和目的】 TAPI操作执行类头文件 【开发者及日期】 郑石诺 2016/03/25 【版本】 V1.0.0 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once class CTapiOpBase; class CTapiLine; /************************************************************************* 【类名】 CLineOpExec 【功能】 【接口说明】 TAPI操作执行类 【开发者及日期】 郑石诺 2016/03/25 【版本】 V1.0.0 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CLineOpExec { SINGLETON_DECLARE(CLineOpExec) public: ~CLineOpExec(void); // 线路操作 bool procLineOp(LONG Instance, LINE_OP OpType, ULONG ResID, LineOpParam* pParam); // 处理操作请求 void onTapiOpResult(long Instance, CTapiOpBase* pTapiOp, bool IsSucceed, LPCTSTR pInfo = NULL); // 操作结果返回 // 设备直接操作启动 void onDevDirectOpBegin(UINT OpType, CTapiLine* pHostLine, DevLinkInfoS* pInfo); // 设备直接操作启动 private: CLineOpExec(void); // 线路操作中的子操作 CTapiLine* __getTapiLine(ULONG ResID); // 得到关联线路 bool __execOp(CTapiOpBase* pTapiOp, LineOpParam* pParam); // 执行OP bool __doVsOperation(long Instance, UINT OpType, ULONG ResID, LineOpParam* pParam); // 线路操作分类处理 bool __procOpMakeCall(long Instance, ULONG ResID, LineOpParam* pParam); // 外呼 bool __procOpAutoCall(long Instance, ULONG ResID, LineOpParam* pParam); // 自动外呼 bool __procOpAnswerCall(long Instance, ULONG ResID, LineOpParam* pParam); // 应答 bool __procOpHangUp(long Instance, ULONG ResID, LineOpParam* pParam); // 挂机 bool __procOpTransfer(long Instance, ULONG ResID, LineOpParam* pParam); // 呼叫转移 bool __procOpTurnAgent(long Instance, ULONG ResID, LineOpParam* pParam); // 外线来电转座席 bool __procOpTurnOut(long Instance, ULONG ResID, LineOpParam* pParam); // 外线来电转外线 bool __procOpTurnIvr(long Instance, ULONG ResID, LineOpParam* pParam); // 呼叫转IVR bool __procOpMeeting(long Instance, ULONG ResID, LineOpParam* pParam); // 单步会议 bool __procOpHold(long Instance, ULONG ResID, LineOpParam* pParam); // 通话保持 bool __procOpTakeBack(long Instance, ULONG ResID, LineOpParam* pParam); // 通话接回 bool __procOpReset(long Instance, ULONG ResID, LineOpParam* pParam); // 重置 bool __procOpListen(long Instance, ULONG ResID, LineOpParam* pParam); // 监听 bool __procOpInsert(long Instance, ULONG ResID, LineOpParam* pParam); // 强插 bool __procOpInstead(long Instance, ULONG ResID, LineOpParam* pParam); // 代接 bool __procOpIntercept(long Instance, ULONG ResID, LineOpParam* pParam); // 强截 bool __procOpInfoTransaction(long Instance, ULONG ResID, LineOpParam* pParam); // 数据交互 bool __procOpConsultCallBegin(long Instance, ULONG ResID, LineOpParam* pParam); // 协商呼叫启动 bool __procOpConsultCallConfirm(long Instance, ULONG ResID, LineOpParam* pParam); // 协商呼叫确认 bool __procOpIvrFaxTransfer(long Instance, ULONG ResID, LineOpParam* pParam); // IVR发起的传真任务而产生的转移 };