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

SubSession.h 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*************************************************************************
  2. 【文件名】 SubSession.h
  3. 【功能模块和目的】 子会话处理类基类头文件
  4. 【开发者及日期】 郑石诺 2015/03/31
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. class CCallSession;
  11. /*************************************************************************
  12. 【类名】 CSubSession
  13. 【功能】
  14. 【接口说明】 子会话处理类基类
  15. 【开发者及日期】 郑石诺 2015/03/31
  16. 【版本】 V1.0.0
  17. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  18. 【更改记录】
  19. *************************************************************************/
  20. class CSubSession
  21. {
  22. public:
  23. CSubSession(CCallSession* pParent, long SubId, PendingCallInfo* pInfo);
  24. virtual ~CSubSession(void);
  25. // 操作处理
  26. virtual bool begin(CALL_PARTY_TYPE HostLineParty); // 操作启动
  27. virtual bool resume(UINT Type) { return false; } // 操作暂停后继续处理
  28. virtual bool replace(CRDRID HostLine, CRDRID PeerLine, UINT ExtNum); // 被叫线路替换
  29. virtual void onHostLineStateFree(void) {}
  30. virtual void onPeerLineStateFree(void) {}
  31. // 待处理线路状态变化
  32. void onPendingLineState(VIRTUAL_LINE_STATE LineState);
  33. // 获取子呼叫的关联线路
  34. CRDRID getSubPeerLine(void) { return m_pInfo->nAssoLine; }
  35. // 获取子呼叫的主控线路
  36. CRDRID getSubHostLine(void) { return m_pInfo->nHostLine; }
  37. protected:
  38. // 重载方法
  39. virtual void _onDialOK(void) = 0; // 呼叫成功处理
  40. virtual void _onDialCancel(void) = 0; // 呼叫取消处理
  41. virtual void _onDialRing(void) = 0; // 呼叫振铃处理
  42. virtual void _onDialProgressing(void) {} // 呼叫进展处理
  43. protected:
  44. // 基础属性
  45. CCallSession* m_pParent; // 当前呼叫所属的主呼叫
  46. const long m_Id; // 当前呼叫的ID
  47. CALL_PARTY_TYPE m_HostLineParty; // 主控线路在上级会话中的职责
  48. // 逻辑属性
  49. PendingCallInfo* m_pInfo; // 呼叫信息
  50. };