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

ReqBase.cpp 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include "StdAfx.h"
  2. #include "ReqBase.h"
  3. #include "Config.h"
  4. #include "ProxyShell.h"
  5. #include "ProxyExten.h"
  6. #include "ProxyDti.h"
  7. CReqBase::CReqBase(CProxyShell* pParent, CPduEntity& ReqPdu) : m_pParent(pParent), m_pHostLine(NULL), m_InstanceCancel(0),
  8. m_ReqPdu(ReqPdu)
  9. {
  10. ASSERT(m_pParent != NULL);
  11. m_InstanceCall = ReqPdu.GetDataLong(0);
  12. }
  13. /*****************************************************************
  14. **【函数名称】 _notifyOpProcess
  15. **【函数功能】 通知操作进展事件
  16. **【参数】 HostLine 主控线路ID
  17. AssoLine 关联线路ID
  18. AssoLineType 关联线路类型
  19. lpCallerNum 主叫号码
  20. lpCalleeNum 被叫号码
  21. **【返回值】
  22. ****************************************************************/
  23. void CReqBase::_notifyOpProcess( UINT HostLine, UINT AssoLine, DEV_RES_TYPE AssoLineType, LPCTSTR lpCallerNum, LPCTSTR lpCalleeNum )
  24. {
  25. m_pParent->notifyReqProcess(*this, HostLine, AssoLine, AssoLineType, lpCallerNum, lpCalleeNum);
  26. }
  27. /*****************************************************************
  28. **【函数名称】 attachHostLine
  29. **【函数功能】 关联操作与主控线路
  30. **【参数】 pLine 主控线路指针
  31. **【返回值】
  32. ****************************************************************/
  33. void CReqBase::attachHostLine( CVirtualProxy* pLine )
  34. {
  35. m_pHostLine = pLine;
  36. pLine->currLineReq() = this;
  37. }
  38. /*****************************************************************
  39. **【函数名称】 DetachHostLine
  40. **【函数功能】 取消操作与线路的关联
  41. **【参数】
  42. **【返回值】
  43. ****************************************************************/
  44. void CReqBase::detachHostLine()
  45. {
  46. if(m_pHostLine != NULL)
  47. {
  48. m_pHostLine->currLineReq() = NULL;
  49. m_pHostLine = NULL;
  50. }
  51. }