Ver Fonte

Z991239-5848 #comment 采用编码方式替换配置文件

80274480 há 10 meses atrás
pai
commit
4fbbf87a29

+ 264 - 0
Module/mod_evtconverter/SipphoneEvent.hpp

@@ -0,0 +1,264 @@
+#pragma once
+
+#include "slot.h"
+#include "trigger.h"
+
+
+//typedef struct rvc_slotvar_s {
+//	char* strName;
+//	char* strValue;
+//}rvc_slotvar_t;
+
+//typedef struct rvc_slotfilter_s {
+//	char* strLogType;
+//	char* strEntity;
+//	char* strSeverityLevel;
+//	char* strSysError;
+//	char* strUserCode;
+//	char* strContentToVar
+//}rvc_slotfilter_t;
+
+
+//typedef struct rvc_slot_s {
+//	char* strCode;
+//	char* strTimeout;
+//	char* strOneTrigger;
+//	rvc_slotvar_t Vars[RVC_MAX_SLOT_FIELD_LEN];
+//	rvc_slotfilter_t Filters[RVC_MAX_SLOT_FIELD_LEN];
+//	char* strResetSource
+//}rvc_slot_t;
+
+
+//<SlotList>
+//	<Slot Code = "PickupCallSlot" Timeout = "2s" OneTrigger = "true">
+//		<Filter LogType = "Log_Event" UserCode = "0x20900005"/>
+//	</Slot>
+//
+//	<Slot Code = "HandFreeCallSlot" Timeout = "0">
+//		<Var Name = "BusnessCode" Value = ""/>
+//		<Filter LogType = "Log_Event" UserCode = "0x48000001" ContentToVar = "BusnessCode"/>
+//		<Filter LogType = "Log_Event" UserCode = "0x48000002" ContentToVar = "BusnessCode"/>
+//		<Filter LogType = "Log_Event" UserCode = "0x30E00001"/>
+//	</Slot>
+//
+//	<Slot Code = "HandFreeToPickupCallSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x20900005"/>
+//		<Filter LogType = "Log_Event" UserCode = "0x30902082"/>
+//	</Slot>
+//
+//	<Slot Code = "PickupToHandFreeSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x20900006"/>
+//		<Filter LogType = "Log_Event" UserCode = "0x30902081"/>
+//		<Reset Source = "PickupCallSlot"/>
+//	</Slot>
+//
+//	<Slot Code = "HangupCallSlot" Timeout = "0">
+//		<Filter LogType = "Log_Event" UserCode = "0x30903041"/>
+//		<Filter LogType = "Log_Event" UserCode = "0x48000003"/>
+//		<Reset Source = "PickupCallSlot"/>
+//	</Slot>
+//</SlotList>
+
+rvc_slot_t PickupCallSlot = 
+{ 
+	"PickupCallSlot", 
+	"2s",
+	"true",
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x20900005", NULL}
+	}, 
+	{}
+};
+
+rvc_slot_t HandFreeCallSlot =
+{
+	"HandFreeCallSlot",
+	"0",
+	NULL,
+	{
+		{"BusnessCode", ""}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x48000001", "BusnessCode"},
+		{"Log_Event", NULL, NULL, NULL, "0x48000002", "BusnessCode"},
+		{"Log_Event", NULL, NULL, NULL, "0x30E00001", NULL},
+	},
+	{}
+};
+
+rvc_slot_t HandFreeToPickupCallSlot =
+{
+	"HandFreeToPickupCallSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x20900005", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30902082", NULL}
+	},
+	{}
+};
+
+rvc_slot_t PickupToHandFreeSlot =
+{
+	"PickupToHandFreeSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x20900006", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x30902081", NULL}
+	},
+	{"PickupCallSlot"}
+};
+
+rvc_slot_t HangupCallSlot =
+{
+	"HangupCallSlot",
+	"0",
+	NULL,
+	{
+		{}
+	},
+	{
+		{"Log_Event", NULL, NULL, NULL, "0x30903041", NULL},
+		{"Log_Event", NULL, NULL, NULL, "0x48000003", NULL}
+	},
+	{"PickupCallSlot"}
+};
+
+
+//<TriggerList>
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303041" SeverityLevel = "2" Message = "PickupCallingEvent">
+//		<Slot Code = "PickupCallSlot"/>
+//		<SysVar Code = "CallState">
+//			<state>O</state>
+//		</SysVar>
+//	</Trigger>
+//
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303042" SeverityLevel = "2" Message = "#HandFreeCallingEvent">
+//		<Slot Code = "HandFreeCallSlot" Message = "$(BusnessCode)"/>
+//		<SysVar Code = "CallState">
+//			<state>O</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303046" SeverityLevel = "2" Message = "HandFreeToPickupEvent">
+//		<Slot Code = "HandFreeToPickupCallSlot"/>
+//		<SysVar Code = "CallState">
+//			<state>C</state>
+//			<state>H</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303047" SeverityLevel = "2" Message = "PickupToHandFreeEvent">
+//		<Slot Code = "PickupToHandFreeSlot"/>
+//		<SysVar Code = "CallState">
+//			<state>P</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303048" SeverityLevel = "2" Message = "HangupEvent1">
+//		<Slot Code = "HangupCallSlot"/>
+//		<SysVar Code = "CallState">
+//			<state>C</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303048" SeverityLevel = "2" Message = "HangupEvent2">
+//		<Slot Code = "HangupCallSlot"/>
+//		<SysVar Code = "CallState">
+//			<state>P</state>
+//			<state>H</state>
+//		</SysVar>
+//		<SysVar Code = "BackInitiative">
+//			<state>F</state>
+//		</SysVar>
+//	</Trigger>
+//
+//	<Trigger LogType = "Log_Event" UserCode = "0x10303049" SeverityLevel = "2" Message = "HangupEvent3">
+//		<Slot Code = "PickupToHandFreeSlot" / >
+//		<SysVar Code = "CallState">
+//			<state>C</state>
+//		</SysVar>
+//	</Trigger>
+//</TriggerList>
+
+//typedef struct rvc_trigger_s {
+//	char* strLogType;
+//	char* strSeverityLevel;
+//	char* strSysError;
+//	char* strUserCode;
+//	char* strMessage;
+//	rvc_triggerslot_t Slots[RVC_MAX_TRIG_FIELD_LEN];
+//	rvc_triggersysvar_t SysVars[RVC_MAX_TRIG_FIELD_LEN];
+//	char* strDelayer;
+//}rvc_trigger_t;
+
+//typedef struct rvc_triggerslot_s {
+//	char* strCode;
+//	char* strPositive;
+//	char* strMessage;
+//}rvc_triggerslot_t;
+//
+//
+//typedef struct rvc_triggersysvar_s {
+//	char* strCode;
+//	char* strPositive;
+//	char* strstates;
+//}rvc_triggersysvar_t;
+
+
+rvc_trigger_t trigPickupCallingEvent = {
+	"Log_Event",
+	"0x10303041",
+	"2",
+	"PickupCallingEvent",
+	NULL,
+	{
+		{"PickupCallSlot", NULL, NULL}
+	},
+	{
+		{"CallState", NULL, {"O"}}
+	},
+	NULL
+};
+
+
+rvc_trigger_t trigHandFreeCallingEvent = {
+	"Log_Event",
+	"0x10303042",
+	"2",
+	"#HandFreeCallingEvent",
+	NULL,
+	{
+		{"HandFreeCallSlot", NULL, "$(BusnessCode)"}
+	},
+	{
+		{"CallState", NULL, {"O"}}
+	},
+	NULL
+};
+
+
+rvc_slot_t SlotList[] = { 
+	PickupCallSlot,
+	HandFreeCallSlot, 
+	HandFreeToPickupCallSlot,
+	PickupToHandFreeSlot,
+	HangupCallSlot 
+};
+
+
+rvc_trigger_t TriggerList[] = {
+	trigPickupCallingEvent,
+	trigHandFreeCallingEvent
+};

+ 2 - 0
Module/mod_evtconverter/evtengine.cpp

@@ -10,6 +10,8 @@
 #include "fileutil.h"
 #include "scew.h"
 
+#include "SipphoneEvent.hpp"
+
 #if 0
 <?xml version="1.0" encoding="utf-8"?>
 	<Transfer xmlns="test">

+ 19 - 17
Module/mod_evtconverter/slot.h

@@ -1,34 +1,36 @@
 #pragma once
+#include <stdio.h>
 
-#ifndef RVC_MAX_FIELD_LEN
-#define RVC_MAX_FIELD_LEN 16
+#ifndef RVC_SLOT_MAX_NUM
+#define RVC_SLOT_MAX_NUM 16
 #endif
 
 typedef struct rvc_slotvar_s {
-	char strname[RVC_MAX_FIELD_LEN],
-	char strvalue[RVC_MAX_FIELD_LEN]
+	char* strName;
+	char* strValue;
 }rvc_slotvar_t;
 
 
 typedef struct rvc_slotfilter_s {
-	char strlogtype[RVC_MAX_FIELD_LEN],
-	char strentity[RVC_MAX_FIELD_LEN],
-	char strseveritylevel[RVC_MAX_FIELD_LEN],
-	char strsyserror[RVC_MAX_FIELD_LEN],
-	char strusercode[RVC_MAX_FIELD_LEN],
-	char strcontenttovar[RVC_MAX_FIELD_LEN]
+	char* strLogType;
+	char* strEntity;
+	char* strSeverityLevel;
+	char* strSysError;
+	char* strUserCode;
+	char* strContentToVar;
 }rvc_slotfilter_t;
 
+
 typedef struct rvc_slotreset_s {
-	char strsource[RVC_MAX_FIELD_LEN]
+	char* strSource;
 }rvc_slotreset_t;
 
 
 typedef struct rvc_slot_s {
-	char strcode[RVC_MAX_FIELD_LEN],
-	char strtimeout[RVC_MAX_FIELD_LEN],
-	char stroncetrigger[RVC_MAX_FIELD_LEN],
-	rvc_slotvar_t vars[RVC_MAX_FIELD_LEN],
-	rvc_slotfilter_t filters[RVC_MAX_FIELD_LEN],
-	rvc_slotreset_t reset
+	char* strCode;
+	char* strTimeout;
+	char* strOneTrigger;
+	rvc_slotvar_t Vars[RVC_SLOT_MAX_NUM];
+	rvc_slotfilter_t Filters[RVC_SLOT_MAX_NUM];
+	rvc_slotreset_t Reset;
 }rvc_slot_t;

+ 31 - 0
Module/mod_evtconverter/trigger.h

@@ -0,0 +1,31 @@
+#pragma once
+#include <stdio.h>
+
+#ifndef RVC_TRIG_MAX_NUM
+#define RVC_TRIG_MAX_NUM 16
+#endif
+
+typedef struct rvc_triggerslot_s {
+	char* strCode;
+	char* strPositive;
+	char* strMessage;
+}rvc_triggerslot_t;
+
+
+typedef struct rvc_triggersysvar_s {
+	char* strCode;
+	char* strPositive;
+	char* strstates[RVC_TRIG_MAX_NUM];
+}rvc_triggersysvar_t;
+
+
+typedef struct rvc_trigger_s {
+	char* strLogType;
+	char* strUserCode;
+	char* strSeverityLevel;
+	char* strMessage;
+	char* strSysError;
+	rvc_triggerslot_t Slots[RVC_TRIG_MAX_NUM];
+	rvc_triggersysvar_t SysVars[RVC_TRIG_MAX_NUM];
+	char* strDelayer;
+}rvc_trigger_t;