多数据源中间件标准版1.0

TapiOpConsult.h 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*************************************************************************
  2. 【文件名】 TapiOpConsult.h
  3. 【功能模块和目的】 TAPI操作【协商呼叫】类头文件
  4. 【开发者及日期】 郑石诺 2016/03/28
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "tapiopbase.h"
  11. /*************************************************************************
  12. 【类名】 CTapiOpConsult
  13. 【功能】
  14. 【接口说明】
  15. 【开发者及日期】 郑石诺 2016/03/28
  16. 【版本】 V1.0.0
  17. 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
  18. 【更改记录】
  19. *************************************************************************/
  20. class CTapiOpConsult : public CTapiOpBase
  21. {
  22. public:
  23. CTapiOpConsult(LONG Instance);
  24. virtual ~CTapiOpConsult(void);
  25. // 操作主控方法
  26. virtual bool start(LineOpParam* pParam); // 操作启动(命令方式)
  27. virtual bool cancel(LONG InstanceCancel); // 取消当前操作
  28. virtual void end(bool IsSucceed); // 操作完成
  29. virtual bool resume(long Instance); // 当前操作继续执行
  30. // 线路交互事件
  31. virtual void onReply(CTapiLine* pEventLine, LONG RequestID, HRESULT Result); // 线路操作异步响应事件
  32. virtual void onCallState(CTapiLine* pEventLine, HCALL CallId, DWORD CallState, DWORD CallStateDetail); // 呼叫状态事件
  33. // DevLink关联事件
  34. virtual void onDevLinkEventS(CTapiLine* pEventLine, DevLinkInfoS* pInfoS); // DevLink中S事件
  35. virtual void onDevLinkEventD(CTapiLine* pEventLine, int DevLinkCallId); // DevLink中D事件
  36. virtual void onDevLinkEventA(CTapiLine* pEventLine, int DevLinkCallId); // DevLink中A事件
  37. private:
  38. void __pause(bool IsSucceed); // 当前操作阶段性完成,操作暂停并返回
  39. private:
  40. CString m_DestNum; // 转移的目标号码
  41. HCALL m_TransferCall; // 请求转移的呼叫
  42. HCALL m_HeldCall; // 转移过程中被保持的呼叫
  43. int m_Step; // 转移操作执行的阶段(0 - 未启动、1 - 正在建立转移、2 - 正在呼叫、3 - 被叫已接通,等待确认、4 - 正在完成转移)
  44. bool m_HasSendOpProcess; // 是否已发送过呼叫进展事件
  45. };