Explorar o código

!10180 合并音视频项目分支
Merge pull request !10180 from 80274480/compile_upgrade_0402

陈礼鹏80274480 hai 1 ano
pai
achega
2abdefab2b

+ 3 - 4
Module/mod_evtconverter/mod_evtconverter.cpp

@@ -40,12 +40,11 @@ public:
 		CAutoArray<CSimpleStringA> ConfigFiles;
 		ConfigFiles.Init(3);
 		const int num = 3;
-		ConfigFiles[0] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "SipphoneEvent.xml", (LPCSTR)strConfigDir);
-		ConfigFiles[2] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "DeviceNetworkEvent.xml", (LPCSTR)strConfigDir);
+		ConfigFiles[0] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "SipphoneEvent.xml", strConfigDir.GetData());
 		 if (eCardStore == m_eDeviceType) {
-			ConfigFiles[1] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "CustomerApproachEventDesk2s.xml", (LPCSTR)strConfigDir);
+			ConfigFiles[1] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "CustomerApproachEventCardStore.xml", strConfigDir.GetData());
 		} else {
-			ConfigFiles[1] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "CustomerApproachEvent.xml", (LPCSTR)strConfigDir);
+			ConfigFiles[1] = CSimpleStringA::Format("%s" SPLIT_SLASH_STR "CustomerApproachEvent.xml", strConfigDir.GetData());
 		}
 
 		CSmartPointer<IConfigInfo> spConfigCenterSetting;

+ 13 - 4
Module/mod_mediacontroller/mod_mediacontroller.cpp

@@ -943,8 +943,7 @@ ErrorCodeEnum CMediaControllerEntity::StopAllCameras()
 
 ErrorCodeEnum CMediaControllerEntity::StopCamerasAndRecord()
 {
-	LogEvent(Severity_Middle, EVENT_MOD_PAUSE_RECORD, "pause record.");
-
+	LogTransactionRecordCtrEvt(0);
 	ErrorCodeEnum CamRet = StopAllCameras(); 
 
 	return CamRet;
@@ -953,8 +952,7 @@ ErrorCodeEnum CMediaControllerEntity::StopCamerasAndRecord()
 ErrorCodeEnum CMediaControllerEntity::StartCamerasAndRecord()
 {
 	ErrorCodeEnum CamRet = StartAllCameras();
-	
-	LogEvent(Severity_Middle, EVENT_MOD_CONTINUE_RECORD, "continue record.");
+	LogTransactionRecordCtrEvt(1);
 
 	return CamRet;
 }
@@ -1854,6 +1852,16 @@ void CMediaControllerEntity::OnCameraStopped()
 }
 
 
+void CMediaControllerEntity::LogTransactionRecordCtrEvt(int iEvtType)
+{
+	if (0 == iEvtType) {
+		LogEvent(Severity_Middle, EVENT_MOD_PAUSE_RECORD, "pause record.");
+	}
+	else {
+		LogEvent(Severity_Middle, EVENT_MOD_CONTINUE_RECORD, "continue record.");
+	}
+}
+
 ChannelMediaControllerClient::ChannelMediaControllerClient( CMediaControllerEntity *pEntity ) : ChannelService_ClientBase(pEntity)
 {
 
@@ -2034,6 +2042,7 @@ void MediaServiceSession::Handle_ManipulateCameras(SpReqAnsContext<MediaService_
 			Sleep(200);
 		}
 		else {
+			m_pEntity->LogTransactionRecordCtrEvt(0);
 			Error = Error_Succeed;
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("current is not on business, camera is not on.");
 		}

+ 1 - 0
Module/mod_mediacontroller/mod_mediacontroller.h

@@ -122,6 +122,7 @@ public:
 	virtual CServerSessionBase* OnNewSession(const char* pszRemoteEntityName, const char* pszClass);
 	void OnTimeCameraStatusCheck();
 	ErrorCodeEnum ConnectAssistChannel();
+	void LogTransactionRecordCtrEvt(int iEvtType);
 
 public:
 	bool m_bSendCameraError;

+ 23 - 34
Module/mod_recorder/mod_recorder.cpp

@@ -24,10 +24,6 @@ using namespace Recorder;
 #define RVC_FILEENC_STR "enc_"
 #endif
 
-#ifndef MAX_LOGFILE_SIZE
-#define MAX_LOGFILE_SIZE 20*1024*1024
-#endif
-
 #ifndef MAX_LOG_LEN
 #define MAX_LOG_LEN 512
 #endif
@@ -36,26 +32,6 @@ using namespace Recorder;
 #define RVC_TRANSATCION_RECORD_SUFFIX "B_"
 #endif // !RVC_TRANSATCION_RECORD_SUFFIX
 
-static struct {
-	DeviceTypeEnum device_type;
-	int type_hex;
-} g_device_value[] = {
-	{eStand2sType, 0x1000}
-};
-
-static int GetDeviceTypeValue(DeviceTypeEnum eType)
-{
-	int iRet = 0;
-	for (int i = 0; i < sizeof(g_device_value)/sizeof(g_device_value[0]); i++){
-		if (g_device_value[i].device_type == eType) {
-			iRet = g_device_value[i].type_hex;
-			break;
-		}
-	}
-
-	return iRet;
-}
-
 static unsigned long GetFileSize(const char* pfilename)
 {
 #ifdef RVC_OS_WIN
@@ -99,7 +75,7 @@ void rvcDbg(const char* fmt, ...)
 	va_list arg;
 	va_start(arg, fmt);
 
-	int n = _vscprintf(fmt, arg);
+	int n = vsnprintf(NULL, 0, fmt, arg);
 	if (n >= MAX_LOG_LEN) {
 		char* buf = (char*)malloc((size_t)(n + 1));
 		vsnprintf(buf, n + 1, fmt, arg);
@@ -146,6 +122,7 @@ void RecordServiceSession::Handle_StartTransactionRecord(SpReqAnsContext<Recorde
 	ctx->Answer(Error_Succeed);
 }
 
+
 void RecordServiceSession::Handle_StopTransactionRecord(SpReqAnsContext<RecorderSerVice_StopTransactionRecord_Req, RecorderSerVice_StopTransactionRecord_Ans>::Pointer ctx)
 {
 	DbgToBeidou(ctx->link, __FUNCTION__)();
@@ -534,7 +511,7 @@ void CRecorderEntity::OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLogID,
 		break;
 
 	case EVENT_MOD_CONTINUE_RECORD:
-			m_pRecorder->ContinueRecord();
+		m_pRecorder->ContinueRecord();
 		break;
 
 	case LOG_EVT_RECORDER_SECTION_FINISHED:
@@ -660,10 +637,10 @@ DeviceTypeEnum CRecorderEntity::RvcGetDeviceType()
 	CSmartPointer<IEntityFunction> spFunction = GetFunction();
 	CSystemStaticInfo stStaticinfo;
 	spFunction->GetSystemStaticInfo(stStaticinfo);
-	if (_stricmp(stStaticinfo.strMachineType, "RVC.Stand1SPlus") == 0) {
+	if (_stricmp(stStaticinfo.strMachineType.GetData(), "RVC.Stand1SPlus") == 0) {
 		eType = eStand1SPlusType;
 	}
-	else if (stricmp(stStaticinfo.strMachineType, "RVC.CardStore") == 0 || stricmp(stStaticinfo.strMachineType, "RVC.CardPrinter") == 0) {
+	else if (_stricmp(stStaticinfo.strMachineType.GetData(), "RVC.CardStore") == 0 || _stricmp(stStaticinfo.strMachineType.GetData(), "RVC.CardPrinter") == 0) {
 		eType = eCardStore;
 	}
 	else {
@@ -696,25 +673,33 @@ int CRecorderEntity::HandleFinishedVideoRecord(const char* videofilename)
 		return iRet;
 	}
 
-	CSimpleStringA srcfile = CSimpleStringA::Format("%s%s_%d_end.%s",(LPCTSTR)m_TempDir,(LPCTSTR)strSession, iSeriesNum, strFormat);
-	CSimpleStringA dstfile = CSimpleStringA::Format("%s%s_%d_end.%s",(LPCTSTR)m_RecordSaveDir,(LPCTSTR)strSession, iSeriesNum, strFormat);
+	CSimpleStringA srcfile = CSimpleStringA::Format("%s%s_%d_end.%s", m_TempDir.GetData(), strSession, iSeriesNum, strFormat);
+	CSimpleStringA dstfile = CSimpleStringA::Format("%s%s_%d_end.%s", m_RecordSaveDir.GetData(), strSession, iSeriesNum, strFormat);
 	bool bRet = false;
 	if (ExistsFile(srcfile.GetData())){
 		bRet = rvcMoveFile(srcfile.GetData(), dstfile.GetData());
 		if(!bRet) {
+#ifdef RVC_OS_WIN
 			LogWarn(Severity_Low, Error_Debug, LOG_EVT_RECORDER_MOVE_FAILED, CSimpleStringA::Format("Error Code %u while move %s ", GetLastError(), srcfile.GetData()).GetData());
+#else
+			LogWarn(Severity_Low, Error_Debug, LOG_EVT_RECORDER_MOVE_FAILED, CSimpleStringA::Format("%s(%d) while move %s ", strerror(errno), errno, srcfile.GetData()).GetData());
+#endif // RVC_OS_WIN
 		}
 		else {
 			AddToVideoRecordList(dstfile.GetData());
 		}
 	}
 
-	srcfile = CSimpleStringA::Format("%s%s_%d.%s",(LPCTSTR)m_TempDir,(LPCTSTR)strSession, iSeriesNum-1, strFormat);
-	dstfile = CSimpleStringA::Format("%s%s_%d.%s",(LPCTSTR)m_RecordSaveDir,(LPCTSTR)strSession, iSeriesNum-1, strFormat);
+	srcfile = CSimpleStringA::Format("%s%s_%d.%s",m_TempDir.GetData(), strSession, iSeriesNum-1, strFormat);
+	dstfile = CSimpleStringA::Format("%s%s_%d.%s",m_RecordSaveDir.GetData(), strSession, iSeriesNum-1, strFormat);
 	if (ExistsFile(srcfile.GetData())){
 		bRet = rvcMoveFile(srcfile.GetData(), dstfile.GetData());
 		if(!bRet) {
+#ifdef RVC_OS_WIN
 			LogWarn(Severity_Low, Error_Debug, LOG_EVT_RECORDER_MOVE_FAILED, CSimpleStringA::Format("Error Code %u while move %s ", GetLastError(), srcfile.GetData()).GetData());
+#else
+			LogWarn(Severity_Low, Error_Debug, LOG_EVT_RECORDER_MOVE_FAILED, CSimpleStringA::Format("%s(%d) while move %s ", strerror(errno), errno, srcfile.GetData()).GetData());
+#endif // RVC_OS_WIN
 		}
 		else {
 			AddToVideoRecordList(dstfile.GetData());
@@ -788,12 +773,16 @@ int CRecorderEntity::HandleSaveVideoRecord(const char* videofilename)
 		return iRet;
 	}
 
-	CSimpleStringA srcfile = CSimpleStringA::Format("%s%s_%d.%s", (LPCTSTR)m_TempDir, (LPCTSTR)strSession, iSeriesNum, strFormat);
-	CSimpleStringA dstfile = CSimpleStringA::Format("%s%s_%d.%s", (LPCTSTR)m_RecordSaveDir, (LPCTSTR)strSession, iSeriesNum, strFormat);
+	CSimpleStringA srcfile = CSimpleStringA::Format("%s%s_%d.%s", m_TempDir.GetData(), strSession, iSeriesNum, strFormat);
+	CSimpleStringA dstfile = CSimpleStringA::Format("%s%s_%d.%s", m_RecordSaveDir.GetData(), strSession, iSeriesNum, strFormat);
 	if (ExistsFile(srcfile.GetData())) {
 		bool bRet = rvcMoveFile(srcfile.GetData(), dstfile.GetData());
 		if (!bRet) {
+#ifdef RVC_OS_WIN
 			LogWarn(Severity_Low, Error_Debug, LOG_EVT_RECORDER_MOVE_FAILED, CSimpleStringA::Format("Error Code %u while move %s ", GetLastError(), srcfile.GetData()));
+#else
+			LogWarn(Severity_Low, Error_Debug, LOG_EVT_RECORDER_MOVE_FAILED, CSimpleStringA::Format("%s(%d) while move %s ", strerror(errno), errno, srcfile.GetData()));
+#endif // RVC_OS_WIN
 		}
 		else {
 			AddToVideoRecordList(dstfile.GetData());

+ 0 - 291
Module/mod_sipphone/rvcturn.cpp

@@ -1,291 +0,0 @@
-// rvcturn.cpp : 定义 DLL 应用程序的导出函数。
-//
-
-#include "stdafx.h"
-#include "rvcturn.h"
-
-static struct global
-{
-	pj_caching_pool	 cp;
-	pj_pool_t		*pool;
-	pj_stun_config	 stun_config;
-	pj_thread_t		*thread;
-	pj_bool_t		 quit;
-	rvc_peer_t		 peer[RVC_TURN_PORT_NUM];
-} g_param;
-
-
-static void rvc_stun_callback(rvc_turn_callback_t* pcallback, int* ioption, void* pstuninfo, void* pdata)
-{
-	if (NULL != pcallback) {
-		if (NULL != pcallback->status_callback) {
-			pcallback->status_callback(pcallback->user_data, ioption, pstuninfo, pdata);
-		}
-	}
-}
-
-
-static void rvc_log(rvc_turn_callback_t* pcallback, const char* fmt, ...)
-{
-	if (NULL != pcallback) {
-		if (NULL != pcallback->debug) {
-			va_list arg;
-			va_start(arg, fmt);
-			pcallback->debug(pcallback->user_data, fmt, arg);
-			va_end(arg);
-		}
-	}
-}
-
-
-static void rvcturn_log(rvc_turn_callback_t* pCallback, const char *title, pj_status_t status)
-{
-	char errmsg[PJ_ERR_MSG_SIZE] = {0};
-	pj_strerror(status, errmsg, sizeof(errmsg));
-	rvc_log(pCallback, "%s: %s", title, errmsg);
-}
-
-static int worker_thread(void *usr_data)
-{
-	rvc_turn_callback_t* pcallback = (rvc_turn_callback_t*)usr_data;
-
-	while (!g_param.quit) {
-		const pj_time_val delay = { 0, 10 };
-
-		/* Poll ioqueue for the TURN client */
-		pj_ioqueue_poll(g_param.stun_config.ioqueue, &delay);
-
-		/* Poll the timer heap */
-		pj_timer_heap_poll(g_param.stun_config.timer_heap, NULL);
-	}
-	
-	rvc_log(pcallback, "%s", "worker_thread exit!");
-
-	return 0;
-}
-
-
-static pj_bool_t stun_sock_on_status(pj_stun_sock *stun_sock,
-	pj_stun_sock_op op,
-	pj_status_t status)
-{
-	rvc_peer_t *peer = (rvc_peer_t*)pj_stun_sock_get_user_data(stun_sock);
-
-	if (status == PJ_SUCCESS) {
-		rvc_log(&peer->stun_status_cb, "peer%d: %s(%d) success", peer - g_param.peer, pj_stun_sock_op_name(op), op);
-	}
-	else {
-		char errmsg[PJ_ERR_MSG_SIZE] = { 0 };
-		pj_strerror(status, errmsg, sizeof(errmsg));
-		rvc_log(&peer->stun_status_cb, "peer%d: %s error: %s", peer - g_param.peer, pj_stun_sock_op_name(op), errmsg);
-		return PJ_FALSE;
-	}
-
-	if (op == PJ_STUN_SOCK_BINDING_OP || op == PJ_STUN_SOCK_KEEP_ALIVE_OP) {
-		pj_stun_sock_info info;
-		int cmp;
-
-		pj_stun_sock_get_info(stun_sock, &info);
-		cmp = pj_sockaddr_cmp(&info.mapped_addr, &peer->mapped_addr);
-
-		if (cmp) {
-			rvc_stun_info_t tinfo = { 0 };
-			pj_sockaddr_cp(&peer->mapped_addr, &info.mapped_addr);
-			pj_sockaddr_print(&peer->mapped_addr, tinfo.strmappedip, sizeof(tinfo.strmappedip), 2);
-			tinfo.imappedport = pj_sockaddr_get_port(&peer->mapped_addr);
-			
-			pj_sockaddr_cp(&peer->bound_addr, &info.bound_addr);
-			pj_sockaddr_print(&peer->bound_addr, tinfo.strboundip, sizeof(tinfo.strboundip), 2);
-			tinfo.iboundport = pj_sockaddr_get_port(&peer->bound_addr);
-			
-			pj_sockaddr_cp(&peer->srv_addr, &info.srv_addr);
-			pj_sockaddr_print(&peer->srv_addr, tinfo.strservip, sizeof(tinfo.strservip), 2);
-			tinfo.iservport = pj_sockaddr_get_port(&peer->srv_addr);
-
-			int ioption = op;
-			rvc_stun_callback(&peer->stun_status_cb, &ioption, &tinfo, NULL);
-		}
-	}
-
-	return PJ_TRUE;
-}
-
-
-static pj_bool_t stun_sock_on_rx_data(pj_stun_sock *stun_sock,
-	void *pkt,
-	unsigned pkt_len,
-	const pj_sockaddr_t *src_addr,
-	unsigned addr_len)
-{
-	rvc_peer_t *peer = (rvc_peer_t*)pj_stun_sock_get_user_data(stun_sock);
-	char straddr[PJ_INET6_ADDRSTRLEN + 10];
-
-	((char*)pkt)[pkt_len] = '\0';
-
-	pj_sockaddr_print(src_addr, straddr, sizeof(straddr), 3);
-	rvc_log(&peer->stun_status_cb, "peer%d: received %d bytes data from %s: %s", peer - g_param.peer, pkt_len, straddr, (char*)pkt);
-
-	return PJ_TRUE;
-}
-
-
-#define RVC_CHECK(expr)	status=expr; \
-			if (status!=PJ_SUCCESS) { \
-			    rvcturn_log(pcallback, #expr, status); \
-			    return status; \
-			}
-
-
-static int init(rvc_turn_param_t* pparam, rvc_turn_callback_t* pcallback)
-{
-	pj_status_t status = PJ_EINVAL;
-	if (NULL == pparam || NULL == pcallback) {
-		return status;
-	}
-
-	RVC_CHECK(pj_init());
-	RVC_CHECK(pjlib_util_init());
-	RVC_CHECK(pjnath_init());
-
-	/* Check that server is specified */
-	if (!pparam->pstrserv && !pparam->pdefaultserv) {
-		rvc_log(pcallback, "%s", "Error: server must be specified.");
-		return PJ_EINVAL;
-	}
-
-	pj_caching_pool_init(&g_param.cp, &pj_pool_factory_default_policy, 0);
-
-	g_param.quit = 0;
-	g_param.pool = pj_pool_create(&g_param.cp.factory, "main", 1000, 1000, NULL);
-
-	/* Init global STUN config */
-	pj_stun_config_init(&g_param.stun_config, &g_param.cp.factory, 0, NULL, NULL);
-
-	/* Create global timer heap */
-	RVC_CHECK(pj_timer_heap_create(g_param.pool, 1000, &g_param.stun_config.timer_heap));
-
-	/* Create global ioqueue */
-	RVC_CHECK(pj_ioqueue_create(g_param.pool, 16, &g_param.stun_config.ioqueue));
-
-	/*
-	* Create peers
-	*/
-	for (int i = 0; i<(int)PJ_ARRAY_SIZE(g_param.peer); ++i) {
-		pj_stun_sock_cb stun_sock_cb;
-		char name[] = "rvcpeer0";
-		pj_uint16_t port;
-		pj_stun_sock_cfg ss_cfg;
-		pj_str_t server;
-
-		pj_bzero(&stun_sock_cb, sizeof(stun_sock_cb));
-		stun_sock_cb.on_rx_data = &stun_sock_on_rx_data;
-		stun_sock_cb.on_status = &stun_sock_on_status;
-
-		//g_param.peer[i].mapped_addr.addr.sa_family = pj_AF_INET();
-		pj_sockaddr_init(pj_AF_INET(), &g_param.peer[i].mapped_addr, NULL, 0);
-		memcpy(&g_param.peer[i].stun_status_cb, pcallback, sizeof(rvc_turn_callback_t));
-
-		pj_stun_sock_cfg_default(&ss_cfg);
-		pj_sockaddr_init(pj_AF_INET(), &ss_cfg.bound_addr, NULL, pparam->ilocalport[i]);
-
-		if (pparam->bkeepalive) {
-			/* make reading the log easier */
-			ss_cfg.ka_interval = pparam->ikainterval;
-		}
-
-		name[strlen(name) - 1] = '0' + i;
-		status = pj_stun_sock_create(&g_param.stun_config, name, pj_AF_INET(),
-			&stun_sock_cb, &ss_cfg,
-			&g_param.peer[i], &g_param.peer[i].stun_sock);
-		if (status != PJ_SUCCESS) {
-			rvcturn_log(pcallback, "pj_stun_sock_create()", status);
-			return status;
-		}
-
-		if (pparam->pstrserv) {
-			server = pj_str(pparam->pstrserv);
-			port = (pj_uint16_t)(pparam->pserport ? atoi(pparam->pserport) : PJ_STUN_PORT);
-		}
-		else {
-			server = pj_str(pparam->pdefaultserv);
-			port = PJ_STUN_PORT;
-		}
-		status = pj_stun_sock_start(g_param.peer[i].stun_sock, &server, port, NULL);
-		rvcturn_log(pcallback, "pj_stun_sock_start()", status);
-		if (status != PJ_SUCCESS) {
-			return status;
-		}
-	}
-
-	/* Start the worker thread */
-	RVC_CHECK(pj_thread_create(g_param.pool, "stun", &worker_thread, pcallback, 0, 0, &g_param.thread));
-
-	return PJ_SUCCESS;
-}
-
-
-static int client_shutdown()
-{
-	if (g_param.thread) {
-		g_param.quit = 1;
-		pj_thread_join(g_param.thread);
-		pj_thread_destroy(g_param.thread);
-		g_param.thread = NULL;
-	}
-
-	rvc_log(&g_param.peer[0].stun_status_cb, "%s", "pj_thread_join success!");
-
-	for (unsigned i = 0; i<PJ_ARRAY_SIZE(g_param.peer); ++i) {
-		if (g_param.peer[i].stun_sock) {
-			pj_stun_sock_destroy(g_param.peer[i].stun_sock);
-			g_param.peer[i].stun_sock = NULL;
-		}
-	}
-
-	rvc_log(&g_param.peer[0].stun_status_cb, "%s", "pj_stun_sock_destroy success!");
-
-	if (g_param.stun_config.timer_heap) {
-		pj_timer_heap_destroy(g_param.stun_config.timer_heap);
-		g_param.stun_config.timer_heap = NULL;
-	}
-
-	rvc_log(&g_param.peer[0].stun_status_cb, "%s", "pj_timer_heap_destroy success!");
-
-	if (g_param.stun_config.ioqueue) {
-		pj_ioqueue_destroy(g_param.stun_config.ioqueue);
-		g_param.stun_config.ioqueue = NULL;
-	}
-
-	rvc_log(&g_param.peer[0].stun_status_cb, "%s", "pj_ioqueue_destroy success!");
-
-	if (g_param.pool) {
-		pj_pool_release(g_param.pool);
-		g_param.pool = NULL;
-	}
-
-	pj_pool_factory_dump(&g_param.cp.factory, PJ_TRUE);
-	pj_caching_pool_destroy(&g_param.cp);
-
-	return PJ_SUCCESS;
-}
-
-
-
-int start_turn_connect(rvc_turn_param_t* pparam, rvc_turn_callback_t* pcallback)
-{
-	int iret = -1;
-
-	iret = init(pparam, pcallback);
-
-	return iret;
-}
-
-
-int stop_turn_connect()
-{
-	int iret = -1;
-
-	iret = client_shutdown();
-
-	return iret;
-}

+ 0 - 82
Module/mod_sipphone/rvcturn.h

@@ -1,82 +0,0 @@
-#pragma once
-
-#include <pjnath.h>
-#include <pjlib-util.h>
-#include <pjlib.h>
-
-
-#ifndef RVC_TURN_PORT_NUM
-#define RVC_TURN_PORT_NUM 2
-#endif // !RVC_TURN_PORT_NUM
-
-#ifndef RVC_MAX_IP_LEN
-#define RVC_MAX_IP_LEN 128
-#endif // !RVC_MAX_IP_LEN
-
-
-typedef struct rvc_turn_param_s{
-	bool bkeepalive;
-	int ikainterval;
-	char* pstrserv;
-	char* pserport;
-	char* pdefaultserv;
-	int ilocalport[RVC_TURN_PORT_NUM];
-}rvc_turn_param_t;
-
-typedef struct rvc_stun_info_s {
-	char strboundip[RVC_MAX_IP_LEN];
-	int iboundport;
-	char strmappedip[RVC_MAX_IP_LEN];
-	int imappedport;
-	char strservip[RVC_MAX_IP_LEN];
-	int iservport;
-}rvc_stun_info_t;
-
-
-typedef struct rvc_turn_callback_s {
-	void(*debug)(void* user_data, const char* fmt, va_list arg);
-	void(*status_callback)(void* user_data, int* ioption, void* pstuninfo, void* pdata);
-	void* user_data;
-}rvc_turn_callback_t;
-
-
-typedef struct rvc_call_params_s{
-	char strlocalip[RVC_MAX_IP_LEN];
-	char strmappedip[RVC_MAX_IP_LEN];
-	int iaudio_port;
-	int imapped_audio_port;
-	int ivideo_port;
-	int imapped_video_port;
-}rvc_call_params_t;
-
-typedef struct rvc_stun_userdata_t{
-	rvc_call_params_t rvc_param;
-	HANDLE evt_exit;
-}rvc_stun_userdata_t;
-
-
-typedef struct rvc_peer_s
-{
-	pj_stun_sock*	stun_sock;
-	pj_sockaddr	    bound_addr;
-	pj_sockaddr	    srv_addr;
-	pj_sockaddr	    mapped_addr;
-	rvc_turn_callback_t stun_status_cb;
-}rvc_peer_t;
-
-
-/**
-* Duplicate authentication credential.
-*
-* @param pParam		turn server info.
-* @param pCallback	nat map result and log
-*
-* @return 0 sucess, -1 failed	    
-*/
-int start_turn_connect(rvc_turn_param_t* pParam, rvc_turn_callback_t* pCallback);
-
-/**
-*
-* @return 0 sucess, -1 failed	    
-*/
-int stop_turn_connect();

+ 4 - 4
Other/win/libvideorecord/libvideorecord_impl.cpp

@@ -431,7 +431,7 @@ libvideorecord_impl::libvideorecord_impl(bool* pResult, CHostApi* pHostAPI, cons
 	m_iNsPolicy = 2;
 	m_bIsAudioTransOn = false;
 	m_bPauseRecord = false;
-	m_eFormat = eWMV;
+	m_eFormat = eMP4;
 	m_pText = NULL;
 
 	InitRecordParams();
@@ -557,7 +557,7 @@ int libvideorecord_impl::VideoRecord()
 {
 	bool bResult = false;
 	bool bInitRecordParam = false;
-	DWORD nRecordStartTime = 0;					//本段录像开始时间
+	int nRecordStartTime = 0;					//本段录像开始时间
 	int iGetAudioFailedTimes = 0;
 
 	InitRecordParams();
@@ -592,7 +592,7 @@ int libvideorecord_impl::VideoRecord()
 			//计算经过的时间,计算已经经过几帧时间
 			m_iRecordedTime = timeGetTime() - nRecordStartTime - m_iSubTitleTime;
 
-			int nVideoNum = (DWORD)(((double)m_iRecordedTime / 1000.0) * (double)m_nFps);
+			int nVideoNum = (int)(((double)m_iRecordedTime / 1000.0) * (double)m_nFps);
 			//如果是第1帧,或者又经过了1帧的时间,则录制视频,对视频进行压缩
 			if (((nVideoNum == 0) && (m_iRecordVideoNum == 0)) || (nVideoNum > m_iRecordVideoNum)) {
 				int iRet = WriteVideoFrame();
@@ -613,7 +613,7 @@ int libvideorecord_impl::VideoRecord()
 			}
 			//录制音频,计算经过的时间,计算已经经过几帧时间
 			m_iRecordedTime = timeGetTime() - nRecordStartTime - m_iSubTitleTime;
-			int nAudioNum = (DWORD)((double)m_iRecordedTime / 1000.0);
+			int nAudioNum = (int)((double)m_iRecordedTime / 1000.0);
 			if ((nAudioNum > m_iRecordAudioNum) && (m_iAudioBufferLen >= m_iAudioPerSecBufLen)) {
 				int iRet = WriteAudioFrame();
 				if (-1 == iRet) {

+ 2 - 2
Other/win/libvideorecord/libvideorecord_impl.h

@@ -137,7 +137,7 @@ private:
 	Clibaudioqueue* m_sales_audioqueue;   //现场销售音频
 
 	HANDLE m_hRecordThread;
-	DWORD m_nRecordthreadId;
+	unsigned int m_nRecordthreadId;
 	char m_FileName[MAX_PATH];
 	char m_PathName[MAX_PATH];
 	char m_VideoFileName[MAX_PATH];
@@ -157,7 +157,7 @@ private:
 	int m_iLocalAudioFps;			//本地音频频率
 	int m_iRemoteAudioFps;			//远端音频频率
 	char* m_pRemoteAudioBuffer;		//远端音频BUFFER
-	DWORD m_iRecordedTime;			//本段视频已录制时间
+	int m_iRecordedTime;			//本段视频已录制时间
 	int m_iRemoteAudioNum;          //远端音频数量
 	int m_iAudioFromQueNum;			//从音频队列中取出的音频数量
 	int m_iRecordVideoNum;			//已录制的视频帧数

+ 0 - 233
addin/cfg/CustomerApproachEventDesk2s.xml

@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<Transfer>
-	<SlotList>
-		<Slot Code="ApproachSlot" Timeout="8s">
-			<Filter LogType="Log_Event" UserCode="0x21100001" /><!-- customer approach, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x20800010" /><!-- high energy audio, by media controller -->
-			<Filter LogType="Log_Event" UserCode="0x30200001" /><!-- customer approach, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200003" /><!-- customer operate, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200006" /><!-- customer appear, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x20900009" /><!-- customer approach, by move detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200011" /><!-- catch face, by face detection -->
-		</Slot>
-		<Slot Code="LeaveSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100002" /><!-- customer leave, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200002" /><!-- customer leave, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200012" /><!-- no face, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x20B00002" /><!-- customer leave, by gesture detection-->
-			<Filter LogType="Log_Event" UserCode="0x2090000a" /><!-- move detection -->
-		</Slot>
-		<Slot Code="ConfirmLeaveSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30903081" /><!-- customer leave via agent, by mod_bizchannel -->
-		</Slot>
-		<Slot Code="EnterFrontSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100003" /><!-- enter front, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200003" /><!-- enter front distance, by face tracing-->
-			<Filter LogType="Log_Event" UserCode="0x20B00003" /><!-- by gesture detection-->
-			<Filter LogType="Log_Event" UserCode="0x20800001" /><!-- by media controller-->
-		</Slot>
-		<Slot Code="OperateSlot" Timeout="40s">
-			<Filter LogType="Log_Event" UserCode="0x20190001" /><!-- IDCertificate Card Reader -->
-			<Filter LogType="Log_Event" UserCode="0x20290001" /><!-- BankCard Reader -->
-			<Filter LogType="Log_Event" UserCode="0x20690001" /><!-- Keypad user enter key -->
-			<Filter LogType="Log_Event" UserCode="0x20900005" /><!-- phone pick up -->
-			<Filter LogType="Log_Event" UserCode="0x20900006" /><!-- phone pick off -->
-			<Filter LogType="Log_Event" UserCode="0x20900001" /><!-- shock -->
-			<Filter LogType="Log_Event" UserCode="0x40100001" /><!-- issue from mod_browser, mouse hook proc -->
-			<Filter LogType="Log_Event" UserCode="0x20400001" /><!-- scanner not used now -->
-			<Filter LogType="Log_Event" UserCode="0x20700001" /><!-- ukey inserted event -->
-			<Filter LogType="Log_Event" UserCode="0x21400003" /><!-- netbank ukey insert-->
-			<Filter LogType="Log_Event" UserCode="0x30B00009" /><!-- ui send operate state-->
-			<Reset Source="ApproachSlot"/>
-		</Slot>
-		<Slot Code="LeaveToApproachSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100004" /><!-- back to approach, issue by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200004" /><!-- face detection and tracing -->
-			<Filter LogType="Log_Event" UserCode="0x20B00004" /><!-- gesture detection -->
-		</Slot>
-		<Slot Code="LockFaceSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200011" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="LostLockFaceSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200012" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="EnterFocusSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200001" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="EmergencyExitSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200005" /><!-- change person by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30E10001" /><!-- audio wave info has change -->
-			<Filter LogType="Log_Event" UserCode="0x30903082" /><!-- via agent by mod_bizchannel -->
-		</Slot>
-		<Slot Code="NUICommandSlot" Timeout="5s">
-			<Filter LogType="Log_Event" UserCode="0xffff0000" /><!-- natual interface -->
-		</Slot>
-		<Slot Code="AgentHelpOperationSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x48000004" /><!-- operation help by mod_browser -->
-		</Slot>
-	</SlotList>
-	<TriggerList>
-		<Trigger LogType="Log_Event" UserCode="0x10303080" SeverityLevel="2" Message="CustomerApproachEvent">
-			<Slot Code="ApproachSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent1">
-			<Slot Code="ApproachSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent2">
-			<Slot Code="ApproachSlot" Positive="false"/>
-			<Slot Code="OperateSlot" Positive="false"/>
-			<Slot Code="NUICommandSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent3">
-			<Slot Code="ConfirmLeaveSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303082" SeverityLevel="2" Message="FrontEvent1">
-			<Slot Code="EnterFrontSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303082" SeverityLevel="2" Message="FrontEvent2">
-			<Slot Code="OperateSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303083" SeverityLevel="2" Message="LeaveToApproachEvent">
-			<Slot Code="LeaveToApproachSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303084" SeverityLevel="2" Message="LockFaceEvent">
-			<Slot Code="LockFaceSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303085" SeverityLevel="2" Message="LostLockFaceEvent">
-			<Slot Code="LostLockFaceSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent1">
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent2">
-			<Slot Code="EnterFocusSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent3">
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313081" SeverityLevel="2" Message="NoCustomerEvent">
-			<SysVar Code="CustomerBeing">
-				<state>N</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>A</state>
-				<state>C</state>
-			</SysVar>
-			<Delayer>3s</Delayer>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313082" SeverityLevel="2" Message="EmergencyExitEvent">
-			<Slot Code="EmergencyExitSlot"/>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-				<state>T</state>
-				<state>G</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313083" SeverityLevel="2" Message="ControlEvent1">
-			<Slot Code="OperateSlot"/>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313083" SeverityLevel="2" Message="ControlEvent2">
-			<Slot Code="NUICommandSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313084" SeverityLevel="2" Message="LeaveToAttentionEvent">
-			<Slot Code="OperateSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313085" SeverityLevel="2" Message="AssistEvent">
-			<SysVar Code="CallState">
-				<state>H</state>
-				<state>P</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313086" SeverityLevel="2" Message="AgentEvent">
-			<Slot Code="AgentHelpOperationSlot"/>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313087" SeverityLevel="2" Message="LeaveToControlEvent">
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>T</state>
-				<state>G</state>
-			</SysVar>
-		</Trigger>
-	</TriggerList>
-</Transfer>

+ 0 - 233
addin/cfg/CustomerApproachEventPad.xml

@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<Transfer>
-	<SlotList>
-		<Slot Code="ApproachSlot" Timeout="8s">
-			<Filter LogType="Log_Event" UserCode="0x21100001" /><!-- customer approach, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x20800010" /><!-- high energy audio, by media controller -->
-			<Filter LogType="Log_Event" UserCode="0x30200001" /><!-- customer approach, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200003" /><!-- customer operate, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200006" /><!-- customer appear, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x20900009" /><!-- customer approach, by move detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200011" /><!-- catch face, by face detection -->
-		</Slot>
-		<Slot Code="LeaveSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100002" /><!-- customer leave, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200002" /><!-- customer leave, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200012" /><!-- no face, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x20B00002" /><!-- customer leave, by gesture detection-->
-			<Filter LogType="Log_Event" UserCode="0x2090000a" /><!-- move detection -->
-		</Slot>
-		<Slot Code="ConfirmLeaveSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30903081" /><!-- customer leave via agent, by mod_bizchannel -->
-		</Slot>
-		<Slot Code="EnterFrontSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100003" /><!-- enter front, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200003" /><!-- enter front distance, by face tracing-->
-			<Filter LogType="Log_Event" UserCode="0x20B00003" /><!-- by gesture detection-->
-			<Filter LogType="Log_Event" UserCode="0x20800001" /><!-- by media controller-->
-		</Slot>
-		<Slot Code="OperateSlot" Timeout="40s">
-			<Filter LogType="Log_Event" UserCode="0x20190001" /><!-- IDCertificate Card Reader -->
-			<Filter LogType="Log_Event" UserCode="0x20290001" /><!-- BankCard Reader -->
-			<Filter LogType="Log_Event" UserCode="0x20690001" /><!-- Keypad user enter key -->
-			<Filter LogType="Log_Event" UserCode="0x20900005" /><!-- phone pick up -->
-			<Filter LogType="Log_Event" UserCode="0x20900006" /><!-- phone pick off -->
-			<Filter LogType="Log_Event" UserCode="0x20900001" /><!-- shock -->
-			<Filter LogType="Log_Event" UserCode="0x40100001" /><!-- issue from mod_browser, mouse hook proc -->
-			<Filter LogType="Log_Event" UserCode="0x20400001" /><!-- scanner not used now -->
-			<Filter LogType="Log_Event" UserCode="0x20700001" /><!-- ukey inserted event -->
-			<Filter LogType="Log_Event" UserCode="0x21400003" /><!-- netbank ukey insert-->
-			<Filter LogType="Log_Event" UserCode="0x30B00009" /><!-- ui send operate state-->
-			<Reset Source="ApproachSlot"/>
-		</Slot>
-		<Slot Code="LeaveToApproachSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100004" /><!-- back to approach, issue by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200004" /><!-- face detection and tracing -->
-			<Filter LogType="Log_Event" UserCode="0x20B00004" /><!-- gesture detection -->
-		</Slot>
-		<Slot Code="LockFaceSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200011" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="LostLockFaceSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200012" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="EnterFocusSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200001" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="EmergencyExitSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200005" /><!-- change person by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30E10001" /><!-- audio wave info has change -->
-			<Filter LogType="Log_Event" UserCode="0x30903082" /><!-- via agent by mod_bizchannel -->
-		</Slot>
-		<Slot Code="NUICommandSlot" Timeout="5s">
-			<Filter LogType="Log_Event" UserCode="0xffff0000" /><!-- natual interface -->
-		</Slot>
-		<Slot Code="AgentHelpOperationSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x48000004" /><!-- operation help by mod_browser -->
-		</Slot>
-	</SlotList>
-	<TriggerList>
-		<Trigger LogType="Log_Event" UserCode="0x10303080" SeverityLevel="2" Message="CustomerApproachEvent">
-			<Slot Code="ApproachSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent1">
-			<Slot Code="ApproachSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent2">
-			<Slot Code="ApproachSlot" Positive="false"/>
-			<Slot Code="OperateSlot" Positive="false"/>
-			<Slot Code="NUICommandSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent3">
-			<Slot Code="ConfirmLeaveSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303082" SeverityLevel="2" Message="FrontEvent1">
-			<Slot Code="EnterFrontSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303082" SeverityLevel="2" Message="FrontEvent2">
-			<Slot Code="OperateSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303083" SeverityLevel="2" Message="LeaveToApproachEvent">
-			<Slot Code="LeaveToApproachSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303084" SeverityLevel="2" Message="LockFaceEvent">
-			<Slot Code="LockFaceSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303085" SeverityLevel="2" Message="LostLockFaceEvent">
-			<Slot Code="LostLockFaceSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent1">
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent2">
-			<Slot Code="EnterFocusSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent3">
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313081" SeverityLevel="2" Message="NoCustomerEvent">
-			<SysVar Code="CustomerBeing">
-				<state>N</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>A</state>
-				<state>C</state>
-			</SysVar>
-			<Delayer>3s</Delayer>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313082" SeverityLevel="2" Message="EmergencyExitEvent">
-			<Slot Code="EmergencyExitSlot"/>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-				<state>T</state>
-				<state>G</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313083" SeverityLevel="2" Message="ControlEvent1">
-			<Slot Code="OperateSlot"/>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313083" SeverityLevel="2" Message="ControlEvent2">
-			<Slot Code="NUICommandSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313084" SeverityLevel="2" Message="LeaveToAttentionEvent">
-			<Slot Code="OperateSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313085" SeverityLevel="2" Message="AssistEvent">
-			<SysVar Code="CallState">
-				<state>H</state>
-				<state>P</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313086" SeverityLevel="2" Message="AgentEvent">
-			<Slot Code="AgentHelpOperationSlot"/>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313087" SeverityLevel="2" Message="LeaveToControlEvent">
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>T</state>
-				<state>G</state>
-			</SysVar>
-		</Trigger>
-	</TriggerList>
-</Transfer>

+ 0 - 235
addin/cfg/CustomerApproachEventRpm1s.xml

@@ -1,235 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<Transfer>
-	<SlotList>
-		<Slot Code="ApproachSlot" Timeout="8s">
-			<Filter LogType="Log_Event" UserCode="0x21100001" /><!-- customer approach, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x20800010" /><!-- high energy audio, by media controller -->
-			<Filter LogType="Log_Event" UserCode="0x30200001" /><!-- customer approach, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200003" /><!-- customer operate, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200006" /><!-- customer appear, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x20900009" /><!-- customer approach, by move detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200011" /><!-- catch face, by face detection -->
-		</Slot>
-		<Slot Code="LeaveSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100002" /><!-- customer leave, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200002" /><!-- customer leave, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30200012" /><!-- no face, by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x20B00002" /><!-- customer leave, by gesture detection-->
-			<Filter LogType="Log_Event" UserCode="0x2090000a" /><!-- move detection -->
-			<Filter LogType="Log_Event" UserCode="0x21500002" /><!-- stop printseal -->
-		</Slot>
-		<Slot Code="ConfirmLeaveSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30903081" /><!-- customer leave via agent, by mod_bizchannel -->
-		</Slot>
-		<Slot Code="EnterFrontSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100003" /><!-- enter front, by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200003" /><!-- enter front distance, by face tracing-->
-			<Filter LogType="Log_Event" UserCode="0x20B00003" /><!-- by gesture detection-->
-			<Filter LogType="Log_Event" UserCode="0x20800001" /><!-- by media controller-->
-		</Slot>
-		<Slot Code="OperateSlot" Timeout="40s">
-			<Filter LogType="Log_Event" UserCode="0x20190001" /><!-- IDCertificate Card Reader -->
-			<Filter LogType="Log_Event" UserCode="0x20290001" /><!-- BankCard Reader -->
-			<Filter LogType="Log_Event" UserCode="0x20690001" /><!-- Keypad user enter key -->
-			<Filter LogType="Log_Event" UserCode="0x20900005" /><!-- phone pick up -->
-			<Filter LogType="Log_Event" UserCode="0x20900006" /><!-- phone pick off -->
-			<Filter LogType="Log_Event" UserCode="0x20900001" /><!-- shock -->
-			<Filter LogType="Log_Event" UserCode="0x40100001" /><!-- issue from mod_browser, mouse hook proc -->
-			<Filter LogType="Log_Event" UserCode="0x20400001" /><!-- scanner not used now -->
-			<Filter LogType="Log_Event" UserCode="0x20700001" /><!-- ukey inserted event -->
-			<Filter LogType="Log_Event" UserCode="0x21500001" /><!-- start printseal   -->
-			<Filter LogType="Log_Event" UserCode="0x21400003" /><!-- netbank ukey insert-->
-			<Filter LogType="Log_Event" UserCode="0x30B00009" /><!-- ui send operate state-->
-			<Reset Source="ApproachSlot"/>
-		</Slot>
-		<Slot Code="LeaveToApproachSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x21100004" /><!-- back to approach, issue by radar -->
-			<Filter LogType="Log_Event" UserCode="0x30200004" /><!-- face detection and tracing -->
-			<Filter LogType="Log_Event" UserCode="0x20B00004" /><!-- gesture detection -->
-		</Slot>
-		<Slot Code="LockFaceSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200011" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="LostLockFaceSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200012" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="EnterFocusSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200001" /><!-- by face detection -->
-		</Slot>
-		<Slot Code="EmergencyExitSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x30200005" /><!-- change person by face detection -->
-			<Filter LogType="Log_Event" UserCode="0x30E10001" /><!-- audio wave info has change -->
-			<Filter LogType="Log_Event" UserCode="0x30903082" /><!-- via agent by mod_bizchannel -->
-		</Slot>
-		<Slot Code="NUICommandSlot" Timeout="5s">
-			<Filter LogType="Log_Event" UserCode="0xffff0000" /><!-- natual interface -->
-		</Slot>
-		<Slot Code="AgentHelpOperationSlot" Timeout="0">
-			<Filter LogType="Log_Event" UserCode="0x48000004" /><!-- operation help by mod_browser -->
-		</Slot>
-	</SlotList>
-	<TriggerList>
-		<Trigger LogType="Log_Event" UserCode="0x10303080" SeverityLevel="2" Message="CustomerApproachEvent">
-			<Slot Code="ApproachSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent1">
-			<Slot Code="ApproachSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent2">
-			<Slot Code="ApproachSlot" Positive="false"/>
-			<Slot Code="OperateSlot" Positive="false"/>
-			<Slot Code="NUICommandSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303081" SeverityLevel="2" Message="CustomerLeaveEvent3">
-			<Slot Code="ConfirmLeaveSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303082" SeverityLevel="2" Message="FrontEvent1">
-			<Slot Code="EnterFrontSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303082" SeverityLevel="2" Message="FrontEvent2">
-			<Slot Code="OperateSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>S</state>
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303083" SeverityLevel="2" Message="LeaveToApproachEvent">
-			<Slot Code="LeaveToApproachSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303084" SeverityLevel="2" Message="LockFaceEvent">
-			<Slot Code="LockFaceSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10303085" SeverityLevel="2" Message="LostLockFaceEvent">
-			<Slot Code="LostLockFaceSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>L</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent1">
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent2">
-			<Slot Code="EnterFocusSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313080" SeverityLevel="2" Message="AttentionEvent3">
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313081" SeverityLevel="2" Message="NoCustomerEvent">
-			<SysVar Code="CustomerBeing">
-				<state>N</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>A</state>
-				<state>C</state>
-			</SysVar>
-			<Delayer>3s</Delayer>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313082" SeverityLevel="2" Message="EmergencyExitEvent">
-			<Slot Code="EmergencyExitSlot"/>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-				<state>T</state>
-				<state>G</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313083" SeverityLevel="2" Message="ControlEvent1">
-			<Slot Code="OperateSlot"/>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313083" SeverityLevel="2" Message="ControlEvent2">
-			<Slot Code="NUICommandSlot"/>
-			<SysVar Code="CustomerBeing">
-				<state>F</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>N</state>
-				<state>A</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313084" SeverityLevel="2" Message="LeaveToAttentionEvent">
-			<Slot Code="OperateSlot" Positive="false"/>
-			<SysVar Code="CustomerBeing">
-				<state>A</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313085" SeverityLevel="2" Message="AssistEvent">
-			<SysVar Code="CallState">
-				<state>H</state>
-				<state>P</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>C</state>
-			</SysVar>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313086" SeverityLevel="2" Message="AgentEvent">
-			<Slot Code="AgentHelpOperationSlot"/>
-		</Trigger>
-		<Trigger LogType="Log_Event" UserCode="0x10313087" SeverityLevel="2" Message="LeaveToControlEvent">
-			<SysVar Code="CallState">
-				<state>O</state>
-			</SysVar>
-			<SysVar Code="CustomerHandle">
-				<state>T</state>
-				<state>G</state>
-			</SysVar>
-		</Trigger>
-	</TriggerList>
-</Transfer>

+ 0 - 30
addin/cfg/DeviceNetworkEvent.xml

@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-
-<Transfer>
-
-	<SlotList>
-		<Slot Code="NetworkDisconnectSlot" Timeout="20s" OneTrigger="true" >
-		
-			<Filter LogType="Log_Event" UserCode="0x21200730" />
-		
-		</Slot>
-
-	</SlotList>
-
-
-	<TriggerList>
-
-		<Trigger LogType="Log_Warning" UserCode="0x10323061" SysError="2" Message="NetworkFlashOffEvent">
-
-			<Slot Code="NetworkDisconnectSlot"/>
-
-			<SysVar Code="NetState">
-
-				<state>C</state>
-
-			</SysVar>
-		</Trigger>
-
-	</TriggerList>
-
-</Transfer>