/************************************************************************* 【文件名】 TapiOpIntercept.h 【功能模块和目的】 TAPI操作【强截】类头文件 【开发者及日期】 郑石诺 2016/03/30 【版本】 V1.0.0 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once #include "tapiopbase.h" /************************************************************************* 【类名】 CTapiOpIntercept 【功能】 【接口说明】 TAPI操作【强截】类 【开发者及日期】 郑石诺 2016/03/30 【版本】 V1.0.0 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CTapiOpIntercept : public CTapiOpBase { public: CTapiOpIntercept(LONG Instance); virtual ~CTapiOpIntercept(void); virtual bool start(LineOpParam* pParam); // 操作启动(命令方式) virtual bool cancel(LONG InstanceCancel); // 取消当前操作 virtual void end(bool IsSucceed); // 操作完成 // 线路交互事件 virtual void onReply(CTapiLine* pEventLine, LONG RequestID, HRESULT Result); // 线路操作异步响应事件 virtual void onCallState(CTapiLine* pEventLine, HCALL CallId, DWORD CallState, DWORD CallStateDetail); // 呼叫状态事件 // DevLink关联事件 virtual void onDevLinkEventS(CTapiLine* pEventLine, DevLinkInfoS* pInfoS); // DevLink中S事件 virtual void onDevLinkEventD(CTapiLine* pEventLine, int DevLinkCallId); // DevLink中D事件 virtual void onDevLinkEventA(CTapiLine* pEventLine, int DevLinkCallId); // DevLink中A事件 private: HCALL m_PendingCall; // 将要被强截的呼叫 int m_Step; // 强截操作执行的阶段(0 - 未启动、1 - Park、2 - UnPark) };