| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*************************************************************************
- 【文件名】 IvrCore.h
- 【功能模块和目的】 IVR系统核心控制类头文件
- 【开发者及日期】 郑石诺 2015/01/29
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- #include "FlowTemplateMgr.h"
- #include "IvrFlowMgr.h"
- /*************************************************************************
- 【类名】 CIvrCore
- 【功能】
- 【接口说明】 IVR系统核心控制类
- 【开发者及日期】 郑石诺 2015/01/29
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CIvrCore
- {
- SINGLETON_DECLARE(CIvrCore)
- public:
- ~CIvrCore(void);
- bool stage1Start(void); // IVR1阶段启动
- bool stage2Start(void); // IVR2阶段启动
- void exit(void); // IVR系统退出
- void procPdu(CPduEntity* pPduEntity); // 处理PDU
- void onNetLinkUpdated(bool IsConnect); // 网络连接状态改变的处理函数
- CFlowTemplateMgr& flowTemplateMgr(void) { return m_TemplateMgr; }
- CIvrFlowMgr& ivrFLowMgr(void) { return m_FlowMgr; }
- int GetCurrPos(CIvrFlow* pFlow) {return m_FlowMgr.GetCurrIvrPos(pFlow);}
- private:
- CIvrCore(void);
- bool __setupFlowEnvironment(void); // 设置流程环境
- void __procMsgCtiCallIn(CPduEntity* pPduEntity); // CTI通知IVR外线来电
- void __procMsgCtiPredictiveCall(CPduEntity* pPduEntity);// CTI通知IVR自动外呼
- void __procMsgCtiTurnIvr(CPduEntity* pPduEntity); // CTI通知IVR转IVR
- void __procMsgCtiHangup(CPduEntity* pPduEntity); // CTI通知IVR外线挂机
- private:
- CFlowTemplateMgr m_TemplateMgr;
- CIvrFlowMgr m_FlowMgr;
- };
|