/************************************************************************* 【文件名】 ConsultCallReq.h 【功能模块和目的】 线路请求协商呼叫类头文件 【开发者及日期】 郑石诺 2015/03/26 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once #include "ReqBase.h" /************************************************************************* 【类名】 CConsultCallReq 【功能】 【接口说明】 线路请求协商呼叫类 【开发者及日期】 郑石诺 2015/03/26 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CConsultCallReq : public CReqBase { public: CConsultCallReq(CProxyShell* pParent, CPduEntity& ReqPdu); virtual ~CConsultCallReq(void); // 操作主控方法 bool request(void); bool request(LPCTSTR lpContent) { return false; } bool cancel(long InstanceCancel) { return false; } bool hangUp(long InstanceHangUp); bool resume(long InstanceResume, int Data); void end(bool IsSucceed, LPCTSTR lpData); // 事件响应接口 void onDevChEvent(CVirtualProxy* pEventLine, DEV_CH_EVT_TYPE EvtType, LPCTSTR lpContent); void onLineStateChanged(CVirtualProxy* pEventLine, VIRTUAL_LINE_STATE LineState, long Call, long SubCall, LPCTSTR lpCallerNum, LPCTSTR lpCalleeNum); private: void __pause(bool IsSucceed); // 当前操作阶段性完成,操作暂停并返回 private: CString m_CalleeNum; // 转移的目标号码 CVirtualProxy* m_pAssoLine; // 呼叫的对端线路 long m_PendingCallId; // 当前待处理呼叫 DEV_RES_TYPE m_PeerLineType; // 对端线路类型 UINT m_Step; // 当前操作所在的步骤 int m_SipAccountId; // sip账户ID };