中间件标准版5.1git,去除基础模块

TaskDevCallIn.cpp 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include "stdafx.h"
  2. #include "TaskDevCallIn.h"
  3. #include "IvrFlowHolder.h"
  4. #include "IvrFlow.h"
  5. #include "SessionHolder.h"
  6. #include "CallSession.h"
  7. #include "LogicLine.h"
  8. #include "StatisticsMgr.h"
  9. CTaskDevCallIn::CTaskDevCallIn(EventDevOperation &DevOpInfo): CTask(DevOpInfo)
  10. {
  11. }
  12. CTaskDevCallIn::~CTaskDevCallIn(void)
  13. {
  14. }
  15. /*****************************************************************
  16. **【函数名称】 DoTask
  17. **【函数功能】 Task处理
  18. **【参数】
  19. **【返回值】 void
  20. ****************************************************************/
  21. BOOL CTaskDevCallIn::DoTask()
  22. {
  23. // 校验
  24. if(m_pCurrLine == NULL)
  25. {
  26. ILogger::getInstance().log(LOG_CLASS_BUSI, LOG_LEVEL_WARNING, _T("{Task}: 线路[%d]执行设备外线来电任务失败:无法获取对应线路"), m_CurrDevOp.nLineId);
  27. return FALSE;
  28. }
  29. // 创建会话
  30. if(m_pCurrLine->callId() == 0)
  31. CSessionHolder::GetInstance().createSession(m_pCurrLine);
  32. else
  33. ILogger::getInstance().log(LOG_CLASS_BUSI, LOG_LEVEL_WARNING, _T("{Task}: 线路[%d]执行设备外线来电任务时已关联CallID"), m_CurrDevOp.nLineId);
  34. // 统计
  35. T_EvtTrunkCallIn repInfo;
  36. memset(&repInfo, 0, sizeof(repInfo));
  37. lstrcpy(repInfo.szCallerNum, m_CurrDevOp.szCallerNum);
  38. lstrcpy(repInfo.szCalleeNum, m_CurrDevOp.szCalleeNum);
  39. CStatisticsMgr::GetInstance().onCallDetail(m_pCurrLine->callId(), REP_EVENT_TRUNK_CALL_IN, m_pCurrLine->lineId(), &repInfo);
  40. _freeLogicLine();
  41. ILogger::getInstance().log(LOG_CLASS_BUSI, LOG_LEVEL_WARNING, _T("{Task}: 线路[%d]执行设备外线来电,DevOp,caller=%s,callee=%s"), m_CurrDevOp.nLineId, m_CurrDevOp.szCallerNum, m_CurrDevOp.szCalleeNum);
  42. // 通知IVR外线来电
  43. CIvrFlowHolder::GetInstance().onDevMessage(m_CurrDevOp);
  44. return FALSE;
  45. }
  46. /*****************************************************************
  47. **【函数名称】 OnDevOpResult
  48. **【函数功能】 底层线路操作结果
  49. **【参数】 EvtType 消息事件类型;lpContent 消息内容
  50. **【返回值】 BOOL
  51. ****************************************************************/
  52. BOOL CTaskDevCallIn::OnDevOpResult(EventOpResult &EvtInfo)
  53. {
  54. return TRUE;
  55. }