修改三方通话功能,在发起三方通话时,先保持住主叫,然后再拉回主叫到会议

MakeCallReq.h 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*************************************************************************
  2. 【文件名】 MakeCallReq.h
  3. 【功能模块和目的】 线路请求呼叫类头文件
  4. 【开发者及日期】 郑石诺 2015/03/28
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "ReqBase.h"
  11. /*************************************************************************
  12. 【类名】 CMakeCallReq
  13. 【功能】
  14. 【接口说明】 线路请求呼叫类
  15. 【开发者及日期】 郑石诺 2015/03/28
  16. 【版本】 V1.0.0
  17. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  18. 【更改记录】
  19. *************************************************************************/
  20. class CMakeCallReq : public CReqBase
  21. {
  22. public:
  23. CMakeCallReq(CProxyShell* pParent, CPduEntity& ReqPdu);
  24. virtual ~CMakeCallReq(void);
  25. // 操作主控方法
  26. bool request(void);
  27. bool request(LPCTSTR lpContent);
  28. bool cancel(long InstanceCancel) { return false; }
  29. bool hangUp(long InstanceHangUp);
  30. void end(bool IsSucceed, LPCTSTR lpData);
  31. void setAssoInfo(CPduEntity& a_Req);
  32. // 事件响应接口
  33. void onDevChEvent(CVirtualProxy* pEventLine, DEV_CH_EVT_TYPE EvtType, LPCTSTR lpContent);
  34. void onLineStateChanged(CVirtualProxy* pEventLine, VIRTUAL_LINE_STATE LineState, long Call, long SubCall, LPCTSTR lpCallerNum, LPCTSTR lpCalleeNum);
  35. private:
  36. CString m_CallerNum; // 主叫号码
  37. CString m_CalleeNum; // 被叫号码
  38. CVirtualProxy* m_pAssoLine; // 呼叫的对端线路
  39. long m_PendingCallId; // 当前待处理呼叫
  40. DEV_RES_TYPE m_PeerLineType; // 对端线路类型
  41. UINT m_Step; // 外呼操作的执行步骤(0 -> 等待摘机,1 -> 正在呼叫)
  42. int m_SipAccountId; // sip账户ID
  43. };