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

ProxyExten.h 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*************************************************************************
  2. 【文件名】 LineExten.h
  3. 【功能模块和目的】 分机内线代理类头文件
  4. 【开发者及日期】 郑石诺 2015/03/24
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "VirtualProxy.h"
  11. /*************************************************************************
  12. 【类名】 CLineExten
  13. 【功能】
  14. 【接口说明】 分机内线代理类
  15. 【开发者及日期】 郑石诺 2015/03/24
  16. 【版本】 V1.0.0
  17. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  18. 【更改记录】
  19. *************************************************************************/
  20. class CProxyExten : public CVirtualProxy
  21. {
  22. public:
  23. CProxyExten(CProxyShell* pParent, CRDRID DevId);
  24. virtual ~CProxyExten(void);
  25. bool isVoipExten(void) const { return true; }
  26. bool isNull(void) const { return m_DevId == m_RealDevId; }
  27. bool isFree(void) const;
  28. bool holdOn(void);
  29. bool takeBack(void);
  30. void getAssoExtenNo(CString& ExtenNo) { ExtenNo.Format(_T("%lu"), m_ExtNum); }
  31. ////////////////////////////////////////////////////////////////////////////////
  32. //继承自CVirtualProxy
  33. UINT lineId(void) const { return m_ExtNum; }
  34. DEV_RES_TYPE type(void) const { return DEV_RES_TYPE_EXT; }
  35. void wrap(CVirtualProxy* pWrapper) { m_DevId = pWrapper->devId(); }
  36. void notifyLineInfo(void) const;
  37. void notifyLineInfo(PDU_DEV_TYPE DestType, int DestId) const;
  38. void onLineStateChanged(long Call, long SubCall, VIRTUAL_LINE_STATE State, LPCTSTR lpCallerNum, LPCTSTR lpCalleeNum);
  39. protected:
  40. ////////////////////////////////////////////////////////////////////////////////
  41. //继承自CVirtualLine
  42. void _procLineState(long Call, long SubCall, VIRTUAL_LINE_STATE State, LPCTSTR lpCallerNum, LPCTSTR lpCalleeNum);
  43. void _notifyLineState(void);
  44. private:
  45. // 私有成员
  46. UINT __transVirtualState2OuterState(VIRTUAL_LINE_STATE State) const; // 映设代理线路状态到外部识别的状态
  47. private:
  48. UINT m_ExtNum; // 内线分机号
  49. bool m_IsHoldOn;
  50. const DEV_RES_ID m_RealDevId;
  51. };