| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #include "stdafx.h"
- #include "TaskDevCallIn.h"
- #include "IvrFlowHolder.h"
- #include "IvrFlow.h"
- #include "SessionHolder.h"
- #include "CallSession.h"
- #include "LogicLine.h"
- #include "StatisticsMgr.h"
- CTaskDevCallIn::CTaskDevCallIn(EventDevOperation &DevOpInfo): CTask(DevOpInfo)
- {
- }
- CTaskDevCallIn::~CTaskDevCallIn(void)
- {
- }
- /*****************************************************************
- **【函数名称】 DoTask
- **【函数功能】 Task处理
- **【参数】
- **【返回值】 void
- ****************************************************************/
- BOOL CTaskDevCallIn::DoTask()
- {
- // 校验
- if(m_pCurrLine == NULL)
- {
- ILogger::getInstance().log(LOG_CLASS_BUSI, LOG_LEVEL_WARNING, _T("{Task}: 线路[%d]执行设备外线来电任务失败:无法获取对应线路"), m_CurrDevOp.nLineId);
- return FALSE;
- }
- // 创建会话
- if(m_pCurrLine->callId() == 0)
- CSessionHolder::GetInstance().createSession(m_pCurrLine);
- else
- ILogger::getInstance().log(LOG_CLASS_BUSI, LOG_LEVEL_WARNING, _T("{Task}: 线路[%d]执行设备外线来电任务时已关联CallID"), m_CurrDevOp.nLineId);
- // 统计
- T_EvtTrunkCallIn repInfo;
- memset(&repInfo, 0, sizeof(repInfo));
- lstrcpy(repInfo.szCallerNum, m_CurrDevOp.szCallerNum);
- lstrcpy(repInfo.szCalleeNum, m_CurrDevOp.szCalleeNum);
- CStatisticsMgr::GetInstance().onCallDetail(m_pCurrLine->callId(), REP_EVENT_TRUNK_CALL_IN, m_pCurrLine->lineId(), &repInfo);
-
- _freeLogicLine();
- 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);
- // 通知IVR外线来电
- CIvrFlowHolder::GetInstance().onDevMessage(m_CurrDevOp);
- return FALSE;
- }
- /*****************************************************************
- **【函数名称】 OnDevOpResult
- **【函数功能】 底层线路操作结果
- **【参数】 EvtType 消息事件类型;lpContent 消息内容
- **【返回值】 BOOL
- ****************************************************************/
- BOOL CTaskDevCallIn::OnDevOpResult(EventOpResult &EvtInfo)
- {
- return TRUE;
- }
|