/************************************************************************* 【文件名】 Exten.h 【功能模块和目的】 座席分机控制类头文件 【开发者及日期】 郑石诺 2015/01/21 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once /************************************************************************* 【类名】 CExten 【功能】 【接口说明】 座席分机控制类 【开发者及日期】 郑石诺 2015/01/21 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CExten { public: CExten(UINT a_ExtId); ~CExten(void); void release(void); // 释放资源 // 属性读定 UINT id(void) const { return m_ID; } UINT assoAgent(void) const { return m_AssoAgent; } INNER_STATE state(void) const { return m_State; } void setState(CPduEntity* a_pCmd, BOOL bReportState = TRUE); // 设置分机状态 void setAssoAgent(UINT a_AgentId); // 设置关联的座席 void onReportExtenState(UINT AgentState); // ych 2018.5.17 UINT& GetID(); INNER_STATE& GetState(); UINT& GetAssoAgent(); ULONG& GetCallId(); CHAR* GetCallerNum(); CHAR* GetCalleeNum(); CHAR* GetDataBind(); UINT& GetPeerLineType(); UINT& GetFinalExt(); UINT& GetOpType(); UINT& GetInfoEx(); private: void __reportStatus(void); // 通知分机状态 private: // 基础信息 UINT m_ID; // 分机号 INNER_STATE m_State; // 分机当前状态 UINT m_AssoAgent; // 关联的座席 // 附加信息 ULONG m_CallId; // CallID CHAR m_CallerNum[PHONE_NUM_LEN]; // 主叫号码 CHAR m_CalleeNum[PHONE_NUM_LEN]; // 被叫号码 CHAR m_DataBind[MAX_DATA_BUF_LEN]; // 随路数据 UINT m_PeerLineType; // 对端线路类型 UINT m_FinalExt; // 最终应答坐席 UINT m_OpType; // 线路当前操作类型 UINT m_InfoEx; // 扩展信息(电销系统表示呼叫任务ID) };