Browse Source

Z991239-4157 #comment mod_counterconnector启动优化

80274480 2 years ago
parent
commit
15a3997963

File diff suppressed because it is too large
+ 335 - 218
Module/mod_counterconnector/ConnectorFSM.cpp


+ 41 - 56
Module/mod_counterconnector/ConnectorFSM.h

@@ -7,6 +7,7 @@
 
 #include "Event.h"
 #include "callrouter.h"
+#include "../include/EventCode.h"
 
 #ifdef _WIN32
 #include "resource.h"
@@ -36,10 +37,6 @@ using namespace CounterConnector;
 #include "../mod_interactioncontext/InteractionContext_def_g.h"
 using namespace InteractionContext;
 
-#include "../mod_livenessdetection/LivenessDetection_client_g.h"
-#include "../mod_livenessdetection/LivenessDetection_msg_g.h"
-using namespace LivenessDetection;
-
 #include <vector>
 #include <string>
 
@@ -267,6 +264,17 @@ public:
 		FSM_RULE_ENTRY_ANY(s62, s63, USER_EVT_SIP_STATE_IDLE)
 		FSM_RULE_ENTRY_ANY(s62, s63, USER_EVT_JMP_FAIL)
 		FSM_RULE_ENTRY_ANY(s63, s0, EVT_TIMER)
+		//assitchannel重启后,状态跳转到Offline
+		FSM_RULE_ENTRY_ANY(s3, s0, USER_EVT_ASSISTCHAN_IDEL)
+		FSM_RULE_ENTRY_ANY(s4, s0, USER_EVT_ASSISTCHAN_IDEL)
+		FSM_RULE_ENTRY_ANY(s50, s0, USER_EVT_ASSISTCHAN_IDEL)
+		FSM_RULE_ENTRY_ANY(s51, s0, USER_EVT_ASSISTCHAN_IDEL)
+		FSM_RULE_ENTRY_ANY(s52, s0, USER_EVT_ASSISTCHAN_IDEL)
+		FSM_RULE_ENTRY_ANY(s53, s0, USER_EVT_ASSISTCHAN_IDEL)
+		FSM_RULE_ENTRY_ANY(s60, s0, USER_EVT_ASSISTCHAN_IDEL)
+		FSM_RULE_ENTRY_ANY(s61, s0, USER_EVT_ASSISTCHAN_IDEL)
+		FSM_RULE_ENTRY_ANY(s62, s0, USER_EVT_ASSISTCHAN_IDEL)
+		FSM_RULE_ENTRY_ANY(s63, s0, USER_EVT_ASSISTCHAN_IDEL)
 		//sipphone重启后,所有状态跳转到Offline
 		FSM_RULE_ENTRY_ANY(s8, s0, USER_EVT_SIPPHONE_IDEL)
 		FSM_RULE_ENTRY_ANY(s10, s0, USER_EVT_SIPPHONE_IDEL)
@@ -383,14 +391,19 @@ public:
 	void s63_on_entry();
 	void s63_on_exit();
 	unsigned int s63_on_event(FSMEvent* event);
+
 	BOOL m_bHangup;
 	//sip呼叫失败次数,连续10次SIP呼叫失败触发自检重启SIPPHONE
 	unsigned int m_nSipErrorNum;
 	unsigned int m_nLiveDetctionTime;
 
+	BOOL ReConnectionAssistchan();
+	BOOL ReConnectionSipphone();
+	BOOL ReConnectionSyncService();
+
 	ErrorCodeEnum StartVideo(const char *param)
 	{
-		Dbg("Start Video");
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Start Video");
 		if (!m_pPhoneClient)
 			return Error_NetBroken;
 		PhoneService_StartVideo_Info Info;
@@ -400,22 +413,22 @@ public:
 			Info.remote_view_x, Info.remote_view_y, Info.remote_view_cx, Info.remote_view_cy);
 			Info.local_hwd_move = 0;
 			Info.remote_hwd_move = 1;
-		Dbg("start video, remote width:%d, remote height:%d, local(%d,%d,%d,%d),remote(%d,%d,%d,%d), remote_fps:%d", 
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start video, remote width:%d, remote height:%d, local(%d,%d,%d,%d),remote(%d,%d,%d,%d), remote_fps:%d", 
 			Info.remote_width, Info.remote_height,
 			Info.local_view_x, Info.local_view_y, Info.local_view_cx, Info.local_view_cy,
-			Info.remote_view_x, Info.remote_view_y, Info.remote_view_cx, Info.remote_view_cy,Info.remote_fps);
+			Info.remote_view_x, Info.remote_view_y, Info.remote_view_cx, Info.remote_view_cy, Info.remote_fps);
 		if (Error == Error_Succeed) {
 			Error = m_pPhoneClient->StartVideo(Info);
 		} 
 		else {
-			Dbg("parse video desc failed!");
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("parse video desc failed!");
 		}
 		return Error;
 	}
 
 	ErrorCodeEnum StopVideo()
 	{
-		Dbg("Stop Video");
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Stop Video");
 		if (!m_pPhoneClient)
 			return Error_NetBroken;
 		return m_pPhoneClient->StopVideo();
@@ -454,7 +467,7 @@ public:
 
 	ErrorCodeEnum RealSipErrorCheck()
 	{
-		Dbg("Sip connect Fail 6 times,RealSipErrorCheck!");
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Sip connect Fail 6 times,RealSipErrorCheck!");
 		if (!m_pPhoneClient)
 			return Error_NetBroken;
 		return m_pPhoneClient->RealErrorCheck();
@@ -465,7 +478,7 @@ public:
 		if (!m_pPhoneClient)
 			return Error_NetBroken;
 
-		Dbg("SetCallingType = %d.", eType);
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SetCallingType = %d.", eType);
 
 		PhoneService_SetCallingParam_Info info;
 		info.CallType = eType;
@@ -483,11 +496,11 @@ public:
 		}
 		else
 		{
-			Dbg("MSClient connected success!");
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("MSClient connected success!");
 			rc = pMSClient->StopSpeakerRender();
-			Dbg("pMSClient->StopSpeakerRender rc:0x%08x",rc);
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("pMSClient StopSpeakerRender rc:0x%08x",rc);
 			if(rc != Error_Succeed){
-				Dbg("Stop Speaker Render failed return 0x%08x", rc);
+				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Stop Speaker Render failed return 0x%08x", rc);
 			}
 
 			pMSClient->GetFunction()->CloseSession();
@@ -496,34 +509,6 @@ public:
 		return rc;
 	}
 
-	ErrorCodeEnum GetLivenessDetectionStatus()
-	{
-		ErrorCodeEnum rc = Error_InvalidState;
-		LivenessDetectionService_ClientBase* pLDClient = new LivenessDetectionService_ClientBase(m_pEntity);
-		if(pLDClient->Connect() != Error_Succeed)
-		{
-			pLDClient->SafeDelete();
-			pLDClient = NULL;
-		}
-		else{
-			rc = Error_Succeed;
-			Dbg("connect liveness detection entity success!");
-			pLDClient->GetFunction()->CloseSession();
-			pLDClient = NULL;
-		}
-		return rc;
-	}
-
-
-	ErrorCodeEnum StopLivenessDetection()
-	{
-		Dbg("stop liveness detection.");
-		LogEvent(Severity_Middle,LOG_EVT_STOPLIVEDETECTNOTICEDISPLAY,"stop live detection notice display.");
-		LogEvent(Severity_Middle,LOG_EVT_STOPLIVEDETECTDISPLAY,"stop live detection");
-		PostEventFIFO(new FSMEvent(USER_EVT_STOPVIDEODISPLAY));
-		return Error_Succeed;
-	}
-
 private:
 
 	int TranslateState(int innerState);
@@ -554,7 +539,7 @@ private:
 	ErrorCodeEnum GetLocalIP(char *buff, size_t ulen)
 	{
 #ifdef RVC_OS_WIN
-		char tmp[256];
+		char tmp[MAX_PATH] = {0};
 		gethostname(tmp, sizeof(tmp));
 		hostent *ent = gethostbyname(tmp);
 		if (ent) {
@@ -567,7 +552,7 @@ private:
 						if(strstr(p,"198.168.") == NULL)
 						{
 							strcpy(buff, p);
-							Dbg("local ip == %s", buff);
+							DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("local ip == %s", buff);
 							return Error_Succeed;
 						}
 					}
@@ -671,7 +656,7 @@ private:
 		info.connect_ip = callingparam.connect_ip;
 		info.connect_port = callingparam.connect_port;
 	    m_pPhoneClient->SetCallingParam(info);
-		Dbg("Make Distribute Call CallType = %d, to_uri:%s", info.CallType, Req.to_uri.GetData());
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Make Distribute Call CallType = %d, to_uri:%s", info.CallType, Req.to_uri.GetData());
 
 		ErrorCodeEnum Error = m_pPhoneClient->MakeCall(Req, Ans, 10000);
 		return Error;
@@ -700,7 +685,7 @@ private:
 		}
 		m_pPhoneClient->SetCallingParam(info);
 
-		Dbg("before make call, call type is %d, to_uri:%s", info.CallType, Req.to_uri.GetData());
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("before make call, call type is %d, to_uri:%s", info.CallType, Req.to_uri.GetData());
 		ErrorCodeEnum Error = m_pPhoneClient->MakeCall(Req, Ans, 10000);
 		return Error;
 	}
@@ -724,7 +709,7 @@ private:
 		info.connect_ip = callingparam.connect_ip;
 		info.connect_port = callingparam.connect_port;
 		m_pPhoneClient->SetCallingParam(info);
-		Dbg("before make call, call type is %d, to_uri:%s, from_uri:%s, call_id:%s", info.CallType, to_uri, from_uri, call_id);
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("before make call, call type is %d, to_uri:%s, from_uri:%s, call_id:%s", info.CallType, to_uri, from_uri, call_id);
 
 		ErrorCodeEnum Error = m_pPhoneClient->MakeCall(Req, Ans, 10000);
 		return Error;
@@ -732,7 +717,7 @@ private:
 
 	ErrorCodeEnum HangupCall()
 	{
-		Dbg("Hangup Call!");
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Hangup Call!");
 		if (!m_pPhoneClient)
 			return Error_NetBroken;
 		PhoneService_HangupCall_Req Req;
@@ -740,12 +725,12 @@ private:
 		if (!m_SessionParam.connect_session.IsNullOrEmpty())
 		{
 			Req.session_num = m_SessionParam.connect_session;
-			Dbg("Hangup Call connect_session = %s", m_SessionParam.connect_session.GetData());
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Hangup Call connect_session = %s", m_SessionParam.connect_session.GetData());
 		}
 		if (!m_SessionParam.connect_ip.IsNullOrEmpty())
 		{
 			Req.branch_server_ip = m_SessionParam.connect_ip;
-			Dbg("Hangup Call connect_ip = %s", m_SessionParam.connect_ip.GetData());
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Hangup Call connect_ip = %s", m_SessionParam.connect_ip.GetData());
 		}
 		if (m_SessionParam.event_port)
 		{
@@ -773,7 +758,6 @@ private:
 		{
 			return Error_Param;
 		}
-		Dbg("nChanServer = %d, ChanProxyIP[%s], ChanCallNum[%s], ChanProxyPort[%d]", nChanServer, m_strChanProxyIP[nChanServer].GetData(), m_strChanCallNum[nChanServer].GetData(), m_iChanProxyPort[nChanServer]);
 		ChannelService_Connect_Req Req;
 		ChannelService_Connect_Ans Ans;
 		Req.callno = m_strChanCallNum[nChanServer];
@@ -842,7 +826,7 @@ private:
 
 	ErrorCodeEnum StopChannel()
 	{
-		Dbg("stop channel");
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("stop channel");
 		if (!m_pPhoneClient)
 			return Error_NetBroken;
 
@@ -931,7 +915,7 @@ private:
 			return Error_Succeed;
 		}
 		else {
-			Dbg("play sound failed!%d", GetLastError());
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("play sound failed!%d", GetLastError());
 			return Error_Unexpect;
 		}
 	#else 
@@ -977,13 +961,11 @@ private:
 		return FALSE;
 	}
 
-	BOOL ReConnectionAssistchan();
-	BOOL ReConnectionSipphone();
 	int GetDelayTime();
 	void SetDelayTime();
 	int ParseDefaultServer(const char* strServer);
 	int GetFailedErrorCode(int iSrcState);
-
+	int LogFailedWarns(int iFailedCode, const char* strmsg);
 public:
 	BOOL m_bHandFree;
 	//坐席控制话筒的当前状态
@@ -1001,6 +983,9 @@ public:
 	SessionParam m_SessionParam;
 	int m_nSysCallType;//0:普通模式,1:p2p模式
 	int m_iFailedLastState;
+	BOOL m_bIsPadDevice;
+	BOOL m_bConAssist;
+	BOOL m_bConSipphone;
 
 private:
 	DWORD m_nStarttime;

+ 7 - 3
Module/mod_counterconnector/Event.h

@@ -37,12 +37,16 @@
 #define EVENT_MOD_CONNECT_AGENT_PICKUP_HANDFREE		0x10303053	//坐席控制话筒转免提
 #define EVENT_MOD_CONNECT_SLV_PICKUPCALL_HAS_CMD	0x10303054	//界面拨号,带有指令信息
 
-#define LOG_EVT_SELFCHECK_ASSISTANTCHANNEL_IDLE		0x50500001  //协助通道重启
-#define LOG_EVT_SELFCHECK_SIPPHONE_IDLE				0x50500002  //sip话机重启
-
 #define EVENT_MOD_CONNECT_STOP_RECORD_BROADCAST		0x10303060	//结束双录语音播报
 #define EVENT_MOD_CONNECT_BEGAIN_RECORD_CALL		0x10303061	//开始双录呼叫
 
+
+#define LOG_WARN_COUNTERCONNECT_FAILED_SIPPHONE_LOST				0x30460601	 //sip phone lost
+#define LOG_WARN_COUNTERCONNECT_FAILED_ASSISTCHANNEL_LOST			0x30460602	 //assistant channel lost
+#define LOG_WARN_COUNTERCONNECT_FAILED_USER_HANGUP					0x30460603	 //user hangup
+#define LOG_WARN_COUNTERCONNECT_FAILED_AGENT_BUSY					0x30460604	 //agent busy
+#define LOG_WARN_COUNTERCONNECT_FAILED_NETWORK_FAILURE				0x30460605	 //network failure
+
 #define SYSVAR_CALLTYPE	"CallType"
 #define CALLTYPE_NORMAL "N" // 呼叫类型,普通模式
 #define CALLTYPE_MOBILE	"M" // 呼叫类型,手机模式

File diff suppressed because it is too large
+ 480 - 347
Module/mod_counterconnector/mod_counterconnector.cpp


+ 18 - 98
Module/mod_counterconnector/mod_counterconnector.h

@@ -46,10 +46,10 @@ private:
 };
 
 
-class CCounterConnectorEntity : public CEntityBase, public ILogListener, public IBroadcastListener, public ISysVarListener 
+class CCounterConnectorEntity : public CEntityBase, public ILogListener, public ISysVarListener, public ITimerListener
 {
 public:
-	CCounterConnectorEntity() : m_fsm() {}
+	CCounterConnectorEntity() : m_fsm(), m_pCounterConnectorChannel(NULL), m_bConnectAssist(FALSE), m_bConnectSipphone(FALSE){}
 	virtual ~CCounterConnectorEntity() {}
 	virtual const char *GetEntityName() const { return "CounterConnector"; }
 	const char* GetEntityVersion() const { return MODULE_VERSION_FULL; }
@@ -60,126 +60,46 @@ public:
 	virtual CServerSessionBase *OnNewSession(const char* /*pszRemoteEntityName*/, const char * /*pszClass*/);
 	ErrorCodeEnum __OnStart(ErrorCodeEnum preOperationError);
 	ErrorCodeEnum __OnClose(ErrorCodeEnum preOperationError);
+	virtual void OnStarted();
 	virtual void OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLogID,const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
 		const DWORD dwSysError,const DWORD dwUserCode,const DWORD dwEntityInstanceID, const WORD wEntityDevelID, 
-		const CAutoArray<DWORD> &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage, const linkContext& pLinkInfo);
-	virtual void OnSysVarEvent(const char* pszKey, const char* pszValue, const char* pszOldValue, const char* pszEntityName);
+		const CAutoArray<DWORD> &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage, const linkContext &pLinkInfo);
+	virtual void OnSysVarEvent(const char *pszKey,  const char *pszValue,const char *pszOldValue,const char *pszEntityName);
+
+	ErrorCodeEnum ConnectAssistChannel();
 	//change audio device message
 	void OnReceivePkt(int type, int sub_type, const char *buffer, int size);
 	//send cur audio device to agent 
 	void SendCurAudioDevice();
+	CSimpleStringA BuildVideoDesc(int local_view_x, int local_view_y, int local_view_cx, int local_view_cy);
+
 	void SetCallType(CallingTypeEnum eType);
+	CSimpleStringA BuildDoubleVideoDesc(int local_view_x, int local_view_y, int local_view_cx, int local_view_cy, int remote_view_x, int remote_view_y, int remote_view_cx, int remote_view_cy);
+	CSimpleStringA ConstructVideoParam(CSimpleStringA strMsg, bool bDoubleVideo);
 
 	void Handle_StartRecord(const char* pszMessage);
 	void Handle_StartRemoteRecord(const char* pszMessage);
 	void StopRemoteRecordSpeakerAudioCapture();
 	void Handle_StartRecordPreview(const char* pszMessage);
+	DeviceTypeEnum RvcGetDeviceType();
 
 	virtual bool IsService()const;
+	virtual void OnTimeout(DWORD dwTimerID);
 	ACMCallFSM m_fsm;
 	BOOL m_bIsSalesRecord;
-	BOOL m_bIsRemoteRecord;						//add by clp 20191112
-	BOOL m_bIsRemoteRecordStopSpeakerCapture;	//add by clp 20200324
+	BOOL m_bIsRemoteRecord;						
+	BOOL m_bIsRemoteRecordStopSpeakerCapture;	
 	BOOL m_bHasLaunched;
 	CServerSessionBase *m_pCurrentSession;
 
-	SP_BEGIN_MSG_DISPATCH_MAP(CCounterConnectorEntity)
-		SP_BEGIN_ENTITY_MSG("LivenessDetection")
-#ifdef RVC_OS_WIN
-		SP_MSG_HANDLE_NS(LivenessDetection, ActiveDetectionStarted, OnLivenessDetectionStarted)
-		SP_MSG_HANDLE_NS(LivenessDetection, ActiveDetectionStopped, OnLivenessDetectionStopped)
-		SP_MSG_HANDLE_NS(LivenessDetection, ActiveDetectionDone, OnActiveDetectionDone)
-		SP_MSG_HANDLE_NS(LivenessDetection, AutoSnapshotRemind, OnAutoSnapshotRemind)
-		SP_MSG_HANDLE_NS(LivenessDetection, LivenessDetectionHeartBeat, OnLivenessDetectionHeartBeat)
-		SP_MSG_HANDLE_NS(LivenessDetection, DetectionStopUnExpected, OnDetectionStopUnExpected)
-#else
-		case eMsg_ActiveDetectionStarted:\
-			if (eMsgSig_ActiveDetectionStarted == dwMessageSignature) {\
-				LivenessDetection::ActiveDetectionStarted t;\
-				ErrorCodeEnum Error = SpBuffer2Object(Buffer, t);\
-				if (Error == Error_Succeed)\
-					OnLivenessDetectionStarted(pszEntityName, dwMessageId, dwMessageSignature, t);\
-			}\
-			else {\
-				LOG_TRACE("%s signature mismatched!", "ActiveDetectionStarted");\
-			}\
-			break;
-
-		case eMsg_ActiveDetectionStopped:\
-			if (eMsgSig_ActiveDetectionStopped == dwMessageSignature) {\
-				LivenessDetection::ActiveDetectionStopped t; \
-				ErrorCodeEnum Error = SpBuffer2Object(Buffer, t); \
-				if (Error == Error_Succeed)\
-					OnLivenessDetectionStopped(pszEntityName, dwMessageId, dwMessageSignature, t); \
-			}\
-			else {\
-				LOG_TRACE("%s signature mismatched!", "ActiveDetectionStopped"); \
-			}\
-			break;
-
-		case eMsg_ActiveDetectionDone:\
-			if (eMsgSig_ActiveDetectionDone == dwMessageSignature) {\
-				LivenessDetection::ActiveDetectionDone t; \
-				ErrorCodeEnum Error = SpBuffer2Object(Buffer, t); \
-				if (Error == Error_Succeed)\
-					OnActiveDetectionDone(pszEntityName, dwMessageId, dwMessageSignature, t); \
-			}\
-			else {\
-				LOG_TRACE("%s signature mismatched!", "ActiveDetectionDone"); \
-			}\
-			break;
-
-		case eMsg_AutoSnapshotRemind:\
-			if (eMsgSig_AutoSnapshotRemind == dwMessageSignature) {\
-				LivenessDetection::AutoSnapshotRemind t; \
-				ErrorCodeEnum Error = SpBuffer2Object(Buffer, t); \
-				if (Error == Error_Succeed)\
-					OnAutoSnapshotRemind(pszEntityName, dwMessageId, dwMessageSignature, t); \
-			}\
-			else {\
-				LOG_TRACE("%s signature mismatched!", "AutoSnapshotRemind"); \
-			}\
-			break;
-
-		case eMsg_LivenessDetectionHeartBeat:\
-			if (eMsgSig_LivenessDetectionHeartBeat == dwMessageSignature) {	\
-				LivenessDetection::LivenessDetectionHeartBeat t; \
-				ErrorCodeEnum Error = SpBuffer2Object(Buffer, t); \
-				if (Error == Error_Succeed)\
-					OnLivenessDetectionHeartBeat(pszEntityName, dwMessageId, dwMessageSignature, t); \
-			}\
-			else {\
-				LOG_TRACE("%s signature mismatched!", "LivenessDetectionHeartBeat"); \
-			}\
-			break;
-
-		case eMsg_DetectionStopUnExpected:\
-			if (eMsgSig_DetectionStopUnExpected == dwMessageSignature) {\
-				LivenessDetection::DetectionStopUnExpected t; \
-				ErrorCodeEnum Error = SpBuffer2Object(Buffer, t); \
-				if (Error == Error_Succeed)\
-					OnDetectionStopUnExpected(pszEntityName, dwMessageId, dwMessageSignature, t); \
-			}\
-			else {\
-				LOG_TRACE("%s signature mismatched!", "DetectionStopUnExpected"); \
-			}\
-			break;
-
-#endif // _WIN32
-		SP_END_ENTITY_MSG()
-	SP_END_MSG_DISPATCH_MAP()
-
 private:
-	void OnLivenessDetectionStarted(const char *pszEntityName, DWORD dwMessageId, DWORD dwMessageSignature, LivenessDetection::ActiveDetectionStarted &evt);
-	void OnLivenessDetectionStopped(const char *pszEntityName, DWORD dwMessageId, DWORD dwMessageSignature, LivenessDetection::ActiveDetectionStopped &evt);
-	void OnActiveDetectionDone(const char *pszEntityName, DWORD dwMessageId, DWORD dwMessageSignature, LivenessDetection::ActiveDetectionDone &evt);
-	void OnAutoSnapshotRemind(const char *pszEntityName, DWORD dwMessageId, DWORD dwMessageSignature, LivenessDetection::AutoSnapshotRemind &evt);
-	void OnLivenessDetectionHeartBeat(const char *pszEntityName, DWORD dwMessageId, DWORD dwMessageSignature, LivenessDetection::LivenessDetectionHeartBeat &evt);
-	void OnDetectionStopUnExpected(const char *pszEntityName, DWORD dwMessageId, DWORD dwMessageSignature, LivenessDetection::DetectionStopUnExpected &evt);
 	BOOL m_bIsPadType;
 	BOOL m_IsStand2SType;
 	ChannelCounterConnectorClient*m_pCounterConnectorChannel;
 	CAutoArray<CUUID> m_arrListener;
 	CUUID m_uidlivenessListener;
+	BOOL m_bConnectAssist;
+	BOOL m_bConnectSipphone;
 };
+
 #endif

Some files were not shown because too many files changed in this diff