diff --git a/.gitignore b/.gitignore index 8c2b884f..0ac95033 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,12 @@ # Local History for Visual Studio Code .history/ +crontask/log +crontask/ftp # Built Visual Studio Code Extensions *.vsix +*.log +*.log-* +restagent diff --git a/config/backup/omc_mml_config_lower.yaml b/config/backup/omc_mml_config_lower.yaml new file mode 100644 index 00000000..f8f8eb80 --- /dev/null +++ b/config/backup/omc_mml_config_lower.yaml @@ -0,0 +1,651 @@ +omc: + systemManagement: + display: "System Management" + mml: + - operation: "dsp" + object: "sysInfo" + display: "Display NE System Information" + params: + - name: "neType" + alias: "" + type: "string" + optional: "false" + apostr: "false" + filter: "" + display: "NE Type" + comment: "" + - name: "neId" + alias: "" + type: "string" + optional: "false" + filter: "" + display: "NE ID" + comment: "" + - operation: "dsp" + object: "licenseInfo" + display: "Display NE License Information" + params: + - name: "neType" + alias: "" + type: "string" + optional: "false" + apostr: "false" + filter: "" + display: "NE Type" + comment: "" + - name: "neId" + alias: "" + type: "string" + optional: "false" + filter: "" + display: "NE ID" + comment: "" + neManagement: + display: "Network Element Management" + mml: + - operation: "lst" + object: "neInfo" + display: "List NE Information" + params: + - name: "neType" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "NE Type" + comment: "" + - name: "neId" + alias: "ne_id" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "NE ID" + comment: "" + - name: "rmUID" + alias: "rm_uid" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Resource Management UID" + comment: "" + - operation: "lst" + object: "meMap" + display: "List Managed Element Map" + params: + - name: "rmUID" + alias: "rm_uid" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Resource Management UID" + comment: "" + - operation: "add" + object: "neInfo" + display: "Add Network Element" + params: + - name: "neType" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "NE Type" + comment: "" + - name: "neId" + alias: "ne_id" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "NE ID" + comment: "" + - name: "rmUID" + alias: "rm_uid" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Resource Management UID" + comment: "" + - name: "ip" + alias: "ip" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "IP Address" + comment: "" + - name: "port" + alias: "port" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Port" + comment: "" + - name: "neName" + alias: "ne_name" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "NE name" + comment: "" + - name: "pvFlag" + alias: "pv_flag" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "Phisical/Virtual flag" + comment: "" + - operation: "mod" + object: "neInfo" + display: "Modify Network Element" + params: + - name: "neType" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "NE Type" + comment: "" + - name: "neId" + alias: "ne_id" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "NE ID" + comment: "" + - name: "rmUID" + alias: "rm_uid" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Resource Management UID" + comment: "" + - name: "ip" + alias: "ip" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "IP Address" + comment: "" + - name: "port" + alias: "port" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Port" + comment: "" + - name: "neName" + alias: "ne_name" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "NE name" + comment: "" + - name: "pvFlag" + alias: "pv_flag" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "Phisical/Virtual flag" + comment: "" + - operation: "del" + object: "neInfo" + display: "Delete Network Element" + params: + - name: "neType" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "NE Type" + comment: "" + - name: "neId" + alias: "ne_id" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "NE ID" + comment: "" + - name: "neId" + alias: "ne_id" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "NE ID" + comment: "" + faultManagement: + display: "Fault Management" + mml: + - operation: "dsp" + object: "alarms" + display: "Display Alarms Information" + params: + - name: "neType" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "NE Type" + comment: "" + - name: "neId" + alias: "ne_id" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "NE UID" + comment: "" + - name: "neName" + alias: "ne_name" + type: "int" + optional: "false" + apostr: "true" + filter: "" + display: "NE name" + comment: "" + - name: "alarmCode" + type: "int" + optional: "false" + apostr: "true" + filter: "" + display: "Alarm Code" + comment: "" + - name: "origSeverity" + type: "enum" + optional: "false" + apostr: "true" + filter: '{"Critical","Major","Minor","Warning","Event"}' + display: "Original Severity" + comment: "" + - name: "pvFlag" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "PV Flag" + comment: "" + - name: "startTime" + alias: "event_time>=" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Alarm Event Start Time" + comment: "" + - name: "endTime" + alias: "event_time<" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Alarm Event End Time" + comment: "" + - name: "alarmType" + alias: "alarm_type" + type: "enum" + optional: "false" + apostr: "true" + filter: '{"CommunicationAlarm","EquipmentAlarm","ProcessingFailure","EnvironmentalAlarm","QualityOfServiceAlarm"}' + display: "Alarm Type" + comment: "" + - name: "alarmStatus" + alias: "alarm_status" + type: "int" + optional: "false" + apostr: "true" + filter: "" + display: "Alarm Status" + comment: "" + pmTaskManagement: + display: "Performance Measure Task Management" + mml: + - operation: "lst" + object: "measureTask" + display: "List Performance Measure Task" + params: + - name: "neType" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "NE Type" + comment: "" + - name: "granulOption" + alias: "granul_option" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Time Granularity" + comment: "" + - operation: "add" + object: "measureTask" + display: "Add Performance Measure Task" + params: + - name: "neType" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "NE Type" + comment: "" + - name: "neIds" + alias: "ne_ids" + type: "array" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "NE ID Set" + comment: "" + - name: "kpiSet" + alias: "kpi_set" + type: "json" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "KPI Set" + comment: "" + - name: "startTime" + alias: "start_time" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Measure Task Start Time" + comment: "" + - name: "endTime" + alias: "end_time" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Measure Task End Time" + comment: "" + - operation: "mod" + object: "measureTask" + display: "Modify Performance Measure Task" + params: + - name: "Id" + alias: "id" + type: "string" + optional: "false" + apostr: "false" + loc: "true" + filter: "" + display: "NE Type" + comment: "" + - name: "kpiSet" + alias: "kpi_set" + type: "json" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "KPI Set" + comment: "" + - name: "startTime" + alias: "start_time" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Measure Task Start Time" + comment: "" + - name: "endTime" + alias: "end_time" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Measure Task End Time" + comment: "" + - name: "granulOption" + alias: "granul_option" + type: "string" + optional: "true" + apostr: "true" + loc: "false" + filter: "" + display: "Time Granularity" + comment: "" + pmDataManagement: + display: "Performance Data Management" + mml: + - operation: "lst" + object: "measureData" + display: "List Performance Data" + params: + - name: "ID" + alias: "id" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "Task ID" + comment: "" + - name: "neType" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "NE Type" + comment: "" + - name: "startTime" + alias: "start_time>=" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Measure Period Start Time More Than" + comment: "" + - name: "endTime" + alias: "start_time<" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Measure Period Start Time Less Than" + comment: "" + logManagement: + display: "Log Management" + mml: + - operation: "lst" + object: "systemLog" + display: "List System Log" + params: + - name: "processType" + alias: "process_type" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "Process Type" + comment: "" + - name: "startTime" + alias: "log_time>=" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Log Time More Than" + comment: "" + - name: "endTime" + alias: "log_time<" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Log Time Less Than" + comment: "" + - operation: "lst" + object: "operationLog" + display: "List Operation Log" + params: + - name: "accountID" + alias: "account_name" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "Account ID" + comment: "" + - name: "startTime" + alias: "log_time>=" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Log Time More Than" + comment: "" + - name: "endTime" + alias: "log_time<" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Log Time Less Than" + comment: "" + - operation: "lst" + object: "securityLog" + display: "List Security Log" + params: + - name: "accountID" + alias: "account_name" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "Account ID" + comment: "" + - name: "startTime" + alias: "op_time>=" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Log Time More Than" + comment: "" + - name: "endTime" + alias: "op_time<" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Log Time Less Than" + comment: "" + - operation: "lst" + object: "alarmLog" + display: "List Alarm Log" + params: + - name: "neType" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "NE Type" + comment: "" + - name: "startTime" + alias: "op_time>=" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Log Time More Than" + comment: "" + - name: "endTime" + alias: "op_time<" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Log Time Less Than" + comment: "" + - operation: "lst" + object: "eventlog" + display: "List NE Event Log" + params: + - name: "neType" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "NE Type" + comment: "" + - name: "neId" + alias: "ne_id" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "NE ID" + comment: "" + - name: "startTime" + alias: "log_time>=" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Log Time More Than" + comment: "" + - name: "endTime" + alias: "log_time<" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "Log Time Less Than" + comment: "" \ No newline at end of file diff --git a/config/backup/udm_param_config.json b/config/backup/udm_param_config.json new file mode 100644 index 00000000..03106e61 --- /dev/null +++ b/config/backup/udm_param_config.json @@ -0,0 +1,644 @@ +{ + "udm": { + "system": { + "display": "System", + "list": [ + { + "name": "serviceIP", + "type": "ipv4", + "value": "172.16.5.140", + "access": "read-write", + "filter": "", + "display": "Service IP", + "comment": "" + }, + { + "name": "servicePort", + "type": "int", + "value": "8080", + "access": "read-write", + "filter": "0~65535", + "display": "Service Port", + "comment": "0~65535" + }, + { + "name": "nrfUri", + "type": "string", + "value": "http://172.16.5.180:8080", + "access": "read-write", + "filter": "", + "display": "NRF URI", + "comment": "" + }, + { + "name": "ausfIP", + "type": "ipv4", + "value": "172.16.5.130", + "access": "read-write", + "filter": "", + "display": "AUSF IP", + "comment": "" + }, + { + "name": "fqdn", + "type": "string", + "value": "agt.com", + "access": "read-write", + "filter": "", + "display": "fqdn", + "comment": "" + }, + { + "name": "priority", + "type": "int", + "value": "1", + "access": "read-write", + "filter": "0~4095", + "display": "Priority", + "comment": "0~4095" + }, + { + "name": "capacity", + "type": "int", + "value": "4096", + "access": "read-write", + "filter": "0~65535", + "display": "Capacity", + "comment": "0~65535" + }, + { + "name": "groupId", + "type": "string", + "value": "0", + "access": "read-write", + "filter": "", + "display": "Group Id", + "comment": "0~31" + }, + { + "name": "supiRanges", + "type": "regex", + "value": "imsi-001010100080000~imsi-001010100080099", + "access": "read-write", + "filter": "^imsi-\\d{15}~imsi-\\d{15}$", + "display": "SUPI Ranges", + "comment": "" + }, + { + "name": "gpsiRanges", + "type": "regex", + "value": "msisdn-69072000~msisdn-69072099", + "access": "read-write", + "filter": "^msisdn-\\d{2,15}~msisdn-\\d{2,15}$", + "display": "GPSI Ranges", + "comment": "" + }, + { + "name": "scheme", + "type": "enum", + "value": "http", + "access": "read-write", + "filter": "{\"0\":\"http\", \"1\":\"https\"}", + "display": "scheme", + "comment": "" + }, + { + "name": "op0", + "type": "regex", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{32}$", + "display": "op0", + "comment": "" + }, + { + "name": "op1", + "type": "regex", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{32}$", + "display": "op1", + "comment": "" + }, + { + "name": "op2", + "type": "regex", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{32}$", + "display": "op2", + "comment": "" + }, + { + "name": "op3", + "type": "regex", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{32}$", + "display": "op3", + "comment": "" + }, + { + "name": "rlist0", + "type": "regex", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist0", + "comment": "" + }, + { + "name": "rlist1", + "type": "regex", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist1", + "comment": "" + }, + { + "name": "rlist2", + "type": "regex", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist2", + "comment": "" + }, + { + "name": "rlist3", + "type": "regex", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist3", + "comment": "" + } + ] + }, + "subsUEAmbr": { + "display": "Subs UE AMBR", + "array": [ + { + "name": "index", + "type": "int", + "value": "1", + "access": "read-only", + "filter": "^\\d{1,2}$", + "display": "Index", + "comment": "1~16" + }, + { + "name": "name", + "type": "string", + "value": "def_ambr", + "access": "read-write", + "filter": "^.{1,32}$", + "display": "Name", + "comment": "1~32" + }, + { + "name": "uplink", + "type": "string", + "value": "1Gbps", + "access": "read-write", + "filter": "^\\d+(\\.\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$", + "display": "Uplink", + "comment": "" + }, + { + "name": "downlink", + "type": "string", + "value": "2Gbps", + "access": "read-write", + "filter": "^\\d+(\\.\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$", + "display": "Downlink", + "comment": "" + } + ] + }, + "subsNssais": { + "display": "Subs Nssais", + "array": [ + { + "name": "index", + "type": "int", + "value": "1", + "access": "read-only", + "filter": "^\\d{1,2}$", + "display": "Index", + "comment": "1~16" + }, + { + "name": "name", + "type": "string", + "value": "def_nssai", + "access": "read-write", + "filter": "^.{1,32}$", + "display": "Name", + "comment": "1~32" + }, + { + "name": "supportedFeatures", + "type": "string", + "value": "1", + "access": "read-write", + "filter": "8~8", + "display": "Supported Features", + "comment": "8~8" + }, + { + "name": "defaultSingleNSSAIs", + "type": "string", + "value": "1-000001", + "access": "read-write", + "filter": "", + "display": "Default Single NSSAIs", + "comment": "0~128" + }, + { + "name": "singleNssais", + "type": "string", + "value": "1-000002", + "access": "read-write", + "filter": "", + "display": "Single Nssais", + "comment": "0~128" + } + ] + }, + "forbiddenAreas": { + "display": "Forbidden Areas", + "array": [ + { + "name": "index", + "type": "int", + "value": "1", + "access": "read-only", + "filter": "^\\d{1,2}$", + "display": "Index", + "comment": "1~16" + }, + { + "name": "name", + "type": "string", + "value": "def_ambr", + "access": "read-write", + "filter": "^.{1,32}$", + "display": "Name", + "comment": "1~32" + }, + { + "name": "tacs", + "type": "string", + "value": "123", + "access": "read-write", + "filter": "", + "display": "TACs", + "comment": "0~128" + }, + { + "name": "areaCodes", + "type": "string", + "value": "123456", + "access": "read-write", + "filter": "", + "display": "AreaCodes", + "comment": "0~128" + } + ] + }, + "serviceAreaRestriction": { + "display": "Service Area Restriction", + "array": [ + { + "name": "index", + "type": "int", + "value": "1", + "access": "read-only", + "filter": "^\\d{1,2}$", + "display": "Index", + "comment": "1~16" + }, + { + "name": "name", + "type": "string", + "value": "def_ambr", + "access": "read-write", + "filter": "^.{1,32}$", + "display": "Name", + "comment": "1~32" + }, + { + "name": "restrictionType", + "type": "enum", + "value": "0", + "access": "read-write", + "filter": "{\"0\":\"allowedAreas\", \"1\":\"notAllowedAreas\"}", + "display": "Restriction Type", + "comment": "0~128" + }, + { + "name": "tacs", + "type": "string", + "value": "123", + "access": "read-write", + "filter": "", + "display": "TACs", + "comment": "0~128" + }, + { + "name": "areaCodes", + "type": "string", + "value": "123456", + "access": "read-write", + "filter": "", + "display": "AreaCodes", + "comment": "0~128" + }, + { + "name": "maxTAs", + "type": "int", + "value": "1", + "access": "read-write", + "filter": "^\\d{1,2}$", + "display": "Max TAs", + "comment": "0~32" + } + ] + }, + "smfSelection": { + "display": "Subs Smf Selection", + "array": [ + { + "name": "index", + "type": "int", + "value": "1", + "access": "read-only", + "filter": "1~16", + "display": "Index", + "comment": "1~16" + }, + { + "name": "name", + "type": "string", + "value": "def_snssai", + "access": "read-write", + "filter": "^.{1,32}$", + "display": "Name", + "comment": "0~32" + }, + { + "name": "snssai", + "type": "string", + "value": "1-000001", + "access": "read-write", + "filter": "^\\d{1,3}[A-Fa-f0-9]{6}$", + "display": "Snssai", + "comment": "" + }, + { + "name": "dnnList", + "type": "int", + "value": "1", + "access": "read-only", + "filter": "1~4", + "display": "Dnn List", + "comment": "", + "array": [ + { + "name": "index", + "type": "int", + "value": "1", + "access": "read-only", + "filter": "1~4", + "display": "index", + "comment": "1~4" + }, + { + "name": "dnn", + "type": "string", + "value": "cmnet", + "access": "read-write", + "filter": "^.{1,32}$", + "display": "Dnn", + "comment": "0~32" + }, + { + "name": "defaultDnnInd", + "type": "bool", + "value": "true", + "access": "read-write", + "filter": "false;true;", + "display": "default Dnn Indicator", + "comment": "" + }, + { + "name": "lboRoamingAllowed", + "type": "bool", + "value": "false", + "access": "read-write", + "filter": "false;true;", + "display": "LBO Roaming Allowed", + "comment": "LBO Roaming Allowed" + }, + { + "name": "iwkEpsInd", + "type": "bool", + "value": "false", + "access": "read-write", + "filter": "false;true;", + "display": "Iwk EPS Ind", + "comment": "Iwk EPS Ind" + }, + { + "name": "ladnIndicator", + "type": "bool", + "value": "false", + "access": "read-write", + "filter": "false;true;", + "display": "LADN Indicator", + "comment": "LADN Indicator" + } + ] + } + ] + }, + "dnn": { + "display": "Dnn Conf", + "array": [ + { + "name": "index", + "type": "int", + "value": "1", + "access": "read-only", + "filter": "^\\d{1,2}$", + "display": "Index", + "comment": "1~16" + }, + { + "name": "name", + "type": "string", + "value": "def_nssai", + "access": "read-write", + "filter": "^.{1,32}$", + "display": "Name", + "comment": "1~32" + }, + { + "name": "defaultPDUSessionType", + "type": "enum", + "value": "0", + "access": "read-write", + "filter": "{\"0\":\"ipv4\",\"1\":\"ipv6\",\"2\":\"ipv4v6\",\"3\":\"ethernet\",\"4\":\"unstruction\"}", + "display": "Default PDU Session Type", + "comment": "" + }, + { + "name": "allowedPDUSessionTypes", + "type": "enum", + "value": "0", + "access": "read-write", + "filter": "{\"0\":\"ipv4\",\"1\":\"ipv6\",\"2\":\"ipv4v6\",\"3\":\"ethernet\",\"4\":\"unstruction\",\"5\":\"ipv4andipv6\",\"6\":\"ipv4andipv4v6\",\"7\":\"ipv6andipv4v6\",\"8\":\"ipv4andipv6andipv4v6\"}", + "display": "Allowed PDU Session Types", + "comment": "" + }, + { + "name": "defaultSSCmode", + "type": "enum", + "value": "0", + "access": "read-write", + "filter": "{\"0\":\"sscMode1\",\"1\":\"sscMode2\",\"2\":\"sscMode3\"}", + "display": "Default SSC Mode", + "comment": "1~16" + }, + { + "name": "allowedSSCmodes", + "type": "enum", + "value": "0", + "access": "read-write", + "filter": "{\"0\":\"sscMode1\",\"1\":\"sscMode2\",\"2\":\"sscMode3\",\"3\":\"sscMode1sscMode2\",\"4\":\"sscMode1sscMode3\",\"5\":\"sscMode2sscMode3\",\"6\":\"sscMode1sscMode2sscMode3\"}", + "display": "Allowed SSC Modes", + "comment": "1~16" + }, + { + "name": "interworkingEPSIndicator", + "type": "bool", + "value": "1", + "access": "read-write", + "filter": "", + "display": "Interworking EPS Indicator", + "comment": "" + }, + { + "name": "ladnIndicator", + "type": "bool", + "value": "1", + "access": "read-write", + "filter": "", + "display": "LADN Indicator", + "comment": "" + }, + { + "name": "chargingCharacteristics", + "type": "string", + "value": "0001", + "access": "read-write", + "filter": "4~4", + "display": "Charging Characteristics", + "comment": "4~4" + }, + { + "name": "subscribedSessionAmbrUL", + "type": "regex", + "value": "1Gbps", + "access": "read-write", + "filter": "^\\d+(\\.\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$", + "display": "Subscribed Session Ambr UL", + "comment": "" + }, + { + "name": "subscribedSessionAmbrDL", + "type": "regex", + "value": "2Gbps", + "access": "read-write", + "filter": "^\\d+(\\.\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$", + "display": "Subscribed Session Ambr DL", + "comment": "" + }, + { + "name": "staticIPAddress", + "type": "ipv4", + "value": "192.168.1.100", + "access": "read-write", + "filter": "", + "display": "Static IP Address", + "comment": "" + }, + { + "name": "userPlaneIntegrity", + "type": "enum", + "value": "3", + "access": "read-write", + "filter": "{\"0\":\"null\",\"1\":\"required\",\"2\":\"preferred\",\"3\":\"notNeeded\"}", + "display": "User Plane Integrity", + "comment": "" + }, + { + "name": "userPlaneConfidentiality", + "type": "enum", + "value": "3", + "access": "read-write", + "filter": "{\"0\":\"null\",\"1\":\"required\",\"2\":\"preferred\",\"3\":\"notNeeded\"}", + "display": "User Plane Confidentiality", + "comment": "" + }, + { + "name": "5qi", + "type": "int", + "value": "9", + "access": "read-write", + "filter": "0~255", + "display": "5qi", + "comment": "" + }, + { + "name": "priorityLevel", + "type": "int", + "value": "9", + "access": "read-write", + "filter": "1~127", + "display": "Priority Level", + "comment": "" + }, + { + "name": "arpPriorityLevel", + "type": "int", + "value": "6", + "access": "read-write", + "filter": "0~255", + "display": "ARP Priority Level", + "comment": "" + }, + { + "name": "arpPreemptCap", + "type": "enum", + "value": "0", + "access": "read-write", + "filter": "{\"0\":\"notPreempt\",\"1\":\"mayPreempt\"}", + "display": "ARP PreemptCap", + "comment": "" + }, + { + "name": "arpPreemptVuln", + "type": "enum", + "value": "0", + "access": "read-write", + "filter": "{\"0\":\"notPreemptable\",\"1\":\"preemptable\"}", + "display": "ARP PreemptVuln", + "comment": "" + } + ] + } + } +} \ No newline at end of file diff --git a/config/backup/udm_param_subsSmfSelection_config.json b/config/backup/udm_param_subsSmfSelection_config.json new file mode 100644 index 00000000..7d10252a --- /dev/null +++ b/config/backup/udm_param_subsSmfSelection_config.json @@ -0,0 +1,96 @@ +{ + "array": [ + { + "name": "index", + "type": "int", + "value": "0", + "access": "read-write", + "filter": "0~15", + "display": "Index", + "comment": "0~15" + }, + { + "name": "name", + "type": "string", + "value": "def_ambr", + "access": "read-write", + "filter": "^.{1,32}$", + "display": "Name", + "comment": "0~32" + }, + { + "name": "snssai", + "type": "string", + "value": "1-000001", + "access": "read-write", + "filter": "^\\d{1,3}[A-Fa-f0-9]{6}$", + "display": "Snssai", + "comment": "" + }, + { + "name": "dnnList", + "type": "int", + "value": "0", + "access": "read-write", + "filter": "0~3", + "display": "Dnn List", + "comment": "", + "array": [ + { + "name": "index", + "type": "int", + "value": "0", + "access": "read-write", + "filter": "0~15", + "display": "index", + "comment": "0~15" + }, + { + "name": "dnn", + "type": "string", + "value": "cmnet", + "access": "read-write", + "filter": "^.{1,32}$", + "display": "Dnn", + "comment": "0~32" + }, + { + "name": "defaultDnnInd", + "type": "bool", + "value": "true", + "access": "read-write", + "filter": "false;true;", + "display": "default Dnn Indicator", + "comment": "" + }, + { + "name": "lboRoamingAllowed", + "type": "bool", + "value": "false", + "access": "read-write", + "filter": "{0\": \"false\", \"1\": \"true\"}", + "display": "LBO Roaming Allowed", + "comment": "LBO Roaming Allowed" + }, + { + "name": "iwkEpsInd", + "type": "bool", + "value": "false", + "access": "read-write", + "filter": "{\"0\": \"false\", \"1\": \"true\"}", + "display": "Iwk EPS Ind", + "comment": "Iwk EPS Ind" + }, + { + "name": "ladnIndicator", + "type": "bool", + "value": "false", + "access": "read-write", + "filter": "{\"0\": \"false\", \"1\": \"true\"}", + "display": "LADN Indicator", + "comment": "LADN Indicator" + } + ] + } + ] +} \ No newline at end of file diff --git a/config/backup/udm_param_subsUEAmbr_config.json b/config/backup/udm_param_subsUEAmbr_config.json new file mode 100644 index 00000000..aec3ba99 --- /dev/null +++ b/config/backup/udm_param_subsUEAmbr_config.json @@ -0,0 +1,40 @@ +{ + "array": [ + { + "name": "index", + "type": "int", + "value": "0", + "access": "read-write", + "filter": "0~15", + "display": "Index", + "comment": "0~15" + }, + { + "name": "name", + "type": "string", + "value": "def_ambr", + "access": "read-write", + "filter": "^.{1,32}$", + "display": "Name", + "comment": "1~32" + }, + { + "name": "uplink", + "type": "string", + "value": "1Gbps", + "access": "read-write", + "filter": "^\\d+(\\.\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$", + "display": "Uplink", + "comment": "" + }, + { + "name": "downlink", + "type": "string", + "value": "2Gbps", + "access": "read-write", + "filter": "^\\d+(\\.\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$", + "display": "Downlink", + "comment": "" + } + ] +} \ No newline at end of file diff --git a/config/backup/udm_param_system_config.json b/config/backup/udm_param_system_config.json new file mode 100644 index 00000000..3a48a971 --- /dev/null +++ b/config/backup/udm_param_system_config.json @@ -0,0 +1,175 @@ +{ + "list": [ + { + "name": "serviceIP", + "type": "ipv4", + "value": "172.16.5.140", + "access": "read-write", + "filter": "", + "display": "Service IP", + "comment": "" + }, + { + "name": "servicePort", + "type": "int", + "value": "8080", + "access": "read-write", + "filter": "0~65535", + "display": "Service Port", + "comment": "0~65535" + }, + { + "name": "nrfUri", + "type": "regex", + "value": "http://172.16.5.180:8080", + "access": "read-write", + "filter": "^http(s?)\\:\\/\\/(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\:([0-9]|[1-9]\\d|[1-9]\\d{2}|[1-9]\\d{3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$", + "display": "NRF URI", + "comment": "" + }, + { + "name": "ausfIP", + "type": "ipv4", + "value": "172.16.5.130", + "access": "read-write", + "filter": "", + "display": "AUSF IP", + "comment": "" + }, + { + "name": "fqdn", + "type": "regex", + "value": "agt.com", + "access": "read-write", + "filter": "^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\\.)+[A-Za-z]{2,63}\\.?$", + "display": "fqdn", + "comment": "" + }, + { + "name": "priority", + "type": "int", + "value": "1", + "access": "read-write", + "filter": "0~4095", + "display": "Priority", + "comment": "0~4095" + }, + { + "name": "capacity", + "type": "int", + "value": "4096", + "access": "read-write", + "filter": "0~65535", + "display": "Capacity", + "comment": "0~65535" + }, + { + "name": "groupId", + "type": "int", + "value": "0", + "access": "read-write", + "filter": "0~31", + "display": "Group Id", + "comment": "0~31" + }, + { + "name": "supiRanges", + "type": "regex", + "value": "imsi-001010100080000~imsi-001010100080099", + "access": "read-write", + "filter": "^imsi-\\d{15}~imsi-\\d{15}$", + "display": "SUPI Ranges", + "comment": "" + }, + { + "name": "gpsiRanges", + "type": "string", + "value": "msisdn-69072000~msisdn-69072099", + "access": "read-write", + "filter": "^msisdn-\\d{2,15}~msisdn-\\d{2,15}$", + "display": "GPSI Ranges", + "comment": "" + }, + { + "name": "scheme", + "type": "enum", + "value": 0, + "access": "read-write", + "filter": "{\"0\": \"http\", \"1\": \"https\"}", + "display": "scheme", + "comment": "" + }, + { + "name": "op0", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{32}$", + "display": "op0", + "comment": "" + }, + { + "name": "op1", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{32}$", + "display": "op1", + "comment": "" + }, + { + "name": "op2", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{32}$", + "display": "op2", + "comment": "" + }, + { + "name": "op3", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "32~32", + "display": "op3", + "comment": "" + }, + { + "name": "rlist0", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist0", + "comment": "" + }, + { + "name": "rlist1", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist1", + "comment": "" + }, + { + "name": "rlist2", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist2", + "comment": "" + }, + { + "name": "rlist3", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist3", + "comment": "" + } + ] +} \ No newline at end of file diff --git a/config/backup/udm_param_system_config_test.json b/config/backup/udm_param_system_config_test.json new file mode 100644 index 00000000..04c92631 --- /dev/null +++ b/config/backup/udm_param_system_config_test.json @@ -0,0 +1,175 @@ +{ + "system": [ + { + "name": "serviceIP", + "type": "ipv4", + "value": "172.16.5.140", + "access": "read-write", + "filter": "", + "display": "Service IP", + "comment": "" + }, + { + "name": "servicePort", + "type": "int", + "value": "8080", + "access": "read-write", + "filter": "0~65535", + "display": "Service Port", + "comment": "0~65535" + }, + { + "name": "nrfUri", + "type": "regex", + "value": "http://172.16.5.180:8080", + "access": "read-write", + "filter": "^http(s?)\\:\\/\\/(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\:([0-9]|[1-9]\\d|[1-9]\\d{2}|[1-9]\\d{3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$", + "display": "NRF URI", + "comment": "" + }, + { + "name": "ausfIP", + "type": "ipv4", + "value": "172.16.5.130", + "access": "read-write", + "filter": "", + "display": "AUSF IP", + "comment": "" + }, + { + "name": "fqdn", + "type": "regex", + "value": "agt.com", + "access": "read-write", + "filter": "^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\\.)+[A-Za-z]{2,63}\\.?$", + "display": "fqdn", + "comment": "" + }, + { + "name": "priority", + "type": "int", + "value": "1", + "access": "read-write", + "filter": "0~4095", + "display": "Priority", + "comment": "0~4095" + }, + { + "name": "capacity", + "type": "int", + "value": "4096", + "access": "read-write", + "filter": "0~65535", + "display": "Capacity", + "comment": "0~65535" + }, + { + "name": "groupId", + "type": "int", + "value": "0", + "access": "read-write", + "filter": "0~31", + "display": "Group Id", + "comment": "0~31" + }, + { + "name": "supiRanges", + "type": "string", + "value": "imsi-001010100080000~imsi-001010100080099", + "access": "read-write", + "filter": "^imsi-\\d{15}~imsi-\\d{15}$", + "display": "SUPI Ranges", + "comment": "" + }, + { + "name": "gpsiRanges", + "type": "string", + "value": "msisdn-69072000~msisdn-69072099", + "access": "read-write", + "filter": "^msisdn-\\d{2,15}~msisdn-\\d{2,15}$", + "display": "GPSI Ranges", + "comment": "" + }, + { + "name": "scheme", + "type": "enum", + "value": 0, + "access": "read-write", + "filter": '{"0": "http", "1": "https"}', + "display": "scheme", + "comment": "" + }, + { + "name": "op0", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{32}$", + "display": "op0", + "comment": "" + }, + { + "name": "op1", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{32}$", + "display": "op1", + "comment": "" + }, + { + "name": "op2", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{32}$", + "display": "op2", + "comment": "" + }, + { + "name": "op3", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "32~32", + "display": "op3", + "comment": "" + }, + { + "name": "rlist0", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist0", + "comment": "" + }, + { + "name": "rlist1", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist1", + "comment": "" + }, + { + "name": "rlist2", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist2", + "comment": "" + }, + { + "name": "rlist3", + "type": "string", + "value": "7983658960860C9E56732E0B307E693B", + "access": "read-write", + "filter": "^[A-Fa-f0-9]{10}$", + "display": "rlist3", + "comment": "" + } + ] +} \ No newline at end of file diff --git a/config/cm/cm-amf.yaml b/config/cm/cm-amf.yaml new file mode 100644 index 00000000..319a85f6 --- /dev/null +++ b/config/cm/cm-amf.yaml @@ -0,0 +1,49 @@ +ManagedElement: + Id: "" + UserLabel: "" + VendorName: "" + ManagedBy: "" + ManagementIpAddress: "" + SwVersion: "" + PatchInfo: "" + AdministrativeState: "" + OperationalState: "" + +AmfFunction: + Id: "" + UserLabel: "" + AdministrativeState: "" + OperationalState: "" + VnfInstanceId: "" + Fqdn: "" + SbiServiceList: "" + AmfGuamiList: "" + SnssaiList: "" + MaxUser: "" + RelativeCapacity: "" + MaxGnbNum: "" + +EpRpDynN8Amf: + Id: "" + UserLabel: "" + LocIpAddrList: "" + FarIpSubnetworkList: "" + +EpRpDynN11Amf: + Id: "" + UserLabel: "" + LocIpAddrList: "" + FarIpSubnetworkList: "" + +EpRpDynN12Amf: + Id: "" + UserLabel: "" + LocIpAddrList: "" + FarIpSubnetworkList: "" + +IPResource: + Id: "" + UserLabel: "" + InterfaceType: "" + LocIpV4AddrList: "" + LocIpV6AddrList: "" diff --git a/config/cm/cm-smf.yaml b/config/cm/cm-smf.yaml new file mode 100644 index 00000000..a1ad3736 --- /dev/null +++ b/config/cm/cm-smf.yaml @@ -0,0 +1,48 @@ +ManagedElement: + Id: "" + UserLabel: "" + VendorName: "" + ManagedBy: "" + ManagementIpAddress: "" + SwVersion: "" + PatchInfo: "" + AdministrativeState: "" + OperationalState: "" + +SmfFunction: + Id: "" + UserLabel: "" + AdministrativeState: "" + OperationalState: "" + VnfInstanceId: "" + Fqdn: "" + SbiServiceList: "" + MaxPduSessions: "" + MaxQfi: "" + UpfList: "" + +AddrPool: + Id: "" + UserLabel: "" + AddrType: "Static" + IpVersion: "" + AddrSegList: "" + +EpRpDynN7Smf: + Id: "" + UserLabel: "" + LocIpAddrList: "" + FarIpSubnetworkList: "" + +EpRpDynN10Smf: + Id: "" + UserLabel: "" + LocIpAddrList: "" + FarIpSubnetworkList: "" + +IPResource: + Id: "" + UserLabel: "" + InterfaceType: "" + LocIpV4AddrList: "" + LocIpV6AddrList: "" \ No newline at end of file diff --git a/config/cm/cm-udm.yaml b/config/cm/cm-udm.yaml new file mode 100644 index 00000000..5e823ae5 --- /dev/null +++ b/config/cm/cm-udm.yaml @@ -0,0 +1,39 @@ +ManagedElement: + Id: "" + UserLabel: "" + VendorName: "" + ManagedBy: "" + ManagementIpAddress: "" + SwVersion: "" + PatchInfo: "" + AdministrativeState: "" + OperationalState: "" + +UdmFunction: + Id: "" + UserLabel: "" + AdministrativeState: "" + OperationalState: "" + VnfInstanceId: "" + Fqdn: "" + SbiServiceList: "" + +UdrFunction: + Id: "" + UserLabel: "" + AddrType: "Static" + IpVersion: "" + AddrSegList: "" + +AusfFunction: + Id: "" + UserLabel: "" + LocIpAddrList: "" + FarIpSubnetworkList: "" + +IPResource: + Id: "" + UserLabel: "" + InterfaceType: "" + LocIpV4AddrList: "" + LocIpV6AddrList: "" \ No newline at end of file diff --git a/config/cm/cm-upf.yaml b/config/cm/cm-upf.yaml new file mode 100644 index 00000000..d291c686 --- /dev/null +++ b/config/cm/cm-upf.yaml @@ -0,0 +1,141 @@ +ManagedElement: + Id: "" + UserLabel: "" + VendorName: "" + ManagedBy: "" + ManagementIpAddress: "" + SwVersion: "" + PatchInfo: "" + AdministrativeState: "" + OperationalState: "" + +InventoryUnitRack: + Id: "" + UserLabel: "" + AdministrativeState: "" + OperationalState: "" + VnfInstanceId: "" + Fqdn: "" + SbiServiceList: "" + MaxPduSessions: "" + MaxQfi: "" + UpfList: "" + +InventoryUnitShelf: + Id: "" + UserLabel: "" + VendorUnitFamilyType: "" + VendorUnitTypeNumber: "" + VendorName: "" + SerialNumber: "" + VersionNumber: "" + DateOfManufacture: "" + DateOfLastService: "" + ManufacturerData: "" + RackPosition: "" + +InventoryUnitPack: + Id: "" + UserLabel: "" + VendorUnitFamilyType: "" + VendorUnitTypeNumber: "" + VendorName: "" + SerialNumber: "" + VersionNumber: "" + DateOfManufacture: "" + DateOfLastService: "" + ManufacturerData: "" + PortsInformation: "" + PackPosition: "" + SlotsOccupied: "" + +InventoryUnitHost: + Id: "" + UserLabel: "" + VendorUnitFamilyType: "" + VendorUnitTypeNumber: "" + VendorName: "" + SerialNumber: "" + VersionNumber: "" + DateOfManufacture: "" + DateOfLastService: "" + ManufacturerData: "" + HostPosition: "" + NumberOfCpu: "" + MemSize: "" + HardDiskSize: "" + +InventoryUnitAccessory: + Id: "" + UserLabel: "" + VendorUnitFamilyType: "" + VendorUnitTypeNumber: "" + VendorName: "" + SerialNumber: "" + VersionNumber: "" + DateOfManufacture: "" + DateOfLastService: "" + ManufacturerData: "" + AccessoryPosition: "" + AccessoryType: "" + AddtionalInformation: "" + +UpfFunction: + Id: "" + UserLabel: "" + AdministrativeState: "" + OperationalState: "" + VnfInstanceId: "" + MaxQosFlows: "" + MaxThroughput: "" + +EpRpDynN9Upf: + Id: "" + UserLabel: "" + LocIpAddrList: "" + FarIpSubnetworkList: "" + +EpRpDynN3Upf: + Id: "" + UserLabel: "" + LocIpAddrList: "" + FarIpSubnetworkList: "" + +AmfFunction: + Id: "" + UserLabel: "" + AdministrativeState: "" + OperationalState: "" + VnfInstanceId: "" + Fqdn: "" + +SmfFunction: + Id: "" + UserLabel: "" + AdministrativeState: "" + OperationalState: "" + VnfInstanceId: "" + Fqdn: "" + +UdrFunction: + Id: "" + UserLabel: "" + AdministrativeState: "" + OperationalState: "" + VnfInstanceId: "" + Fqdn: "" + +AusfFunction: + Id: "" + UserLabel: "" + AdministrativeState: "" + OperationalState: "" + VnfInstanceId: "" + Fqdn: "" + +IPResource: + Id: "" + UserLabel: "" + InterfaceType: "" + LocIpV4AddrList: "" + LocIpV6AddrList: "" diff --git a/config/cmxls/AMF-NRM(V1.1.5)-Company-Version00.xlsx b/config/cmxls/AMF-NRM(V1.1.5)-Company-Version00.xlsx new file mode 100644 index 00000000..71d35c1a Binary files /dev/null and b/config/cmxls/AMF-NRM(V1.1.5)-Company-Version00.xlsx differ diff --git a/config/cmxls/PCF-NRM(V1.1.4)-Company-Version00.xlsx b/config/cmxls/PCF-NRM(V1.1.4)-Company-Version00.xlsx new file mode 100644 index 00000000..ac800b5c Binary files /dev/null and b/config/cmxls/PCF-NRM(V1.1.4)-Company-Version00.xlsx differ diff --git a/config/cmxls/SMF-NRM(V1.2.1)-Company-Version00.xlsx b/config/cmxls/SMF-NRM(V1.2.1)-Company-Version00.xlsx new file mode 100644 index 00000000..ac1ec4c8 Binary files /dev/null and b/config/cmxls/SMF-NRM(V1.2.1)-Company-Version00.xlsx differ diff --git a/config/cmxls/UDM-NRM(V1.2.2)-Company-Version00.xlsx b/config/cmxls/UDM-NRM(V1.2.2)-Company-Version00.xlsx new file mode 100644 index 00000000..a15f7c51 Binary files /dev/null and b/config/cmxls/UDM-NRM(V1.2.2)-Company-Version00.xlsx differ diff --git a/config/cmxls/UPF-NRM(V1.2.1)-Company-Version00.xlsx b/config/cmxls/UPF-NRM(V1.2.1)-Company-Version00.xlsx new file mode 100644 index 00000000..2e1fbf95 Binary files /dev/null and b/config/cmxls/UPF-NRM(V1.2.1)-Company-Version00.xlsx differ diff --git a/config/menu/menu-fault-management.json b/config/menu/menu-fault-management.json new file mode 100644 index 00000000..93be0c4d --- /dev/null +++ b/config/menu/menu-fault-management.json @@ -0,0 +1,37 @@ +{ + "id": 1, + "title": "故障管理", + "icon": "fa fa-telegram", + "href": "", + "target": null, + "parentId": 0, + "child": [ + { + "id": 2, + "title": "活动告警", + "icon": "fa fa-caret-right", + "href": "page/alarm/alarmListDown.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 3, + "title": "历史告警", + "icon": "fa fa-caret-right", + "href": "page/alarm/AlarmListHistory.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 4, + "title": "告警设置", + "icon": "fa fa-caret-right", + "href": "absence/list.html", + "target": null, + "parentId": 1, + "child": null + } + ] +} \ No newline at end of file diff --git a/config/menu/menu-log-management.json b/config/menu/menu-log-management.json new file mode 100644 index 00000000..a9827c75 --- /dev/null +++ b/config/menu/menu-log-management.json @@ -0,0 +1,46 @@ +{ + "id": 1, + "title": "日志管理", + "icon": "fa fa-home", + "href": null, + "target": null, + "parentId": 0, + "child": [ + { + "id": 2, + "title": "操作日志", + "icon": "fa fa-caret-right", + "href": "building/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 3, + "title": "安全日志", + "icon": "fa fa-caret-right", + "href": "dormitoryset/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 4, + "title": "告警日志", + "icon": "fa fa-caret-right", + "href": "dormitoryset/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 5, + "title": "日志设置", + "icon": "fa fa-caret-right", + "href": "dormitory/list.html", + "target": null, + "parentId": 1, + "child": null + } + ] +} \ No newline at end of file diff --git a/config/menu/menu-operation-maintenance .json b/config/menu/menu-operation-maintenance .json new file mode 100644 index 00000000..39e36aab --- /dev/null +++ b/config/menu/menu-operation-maintenance .json @@ -0,0 +1,28 @@ +{ + "id": 1, + "title": "操作维护", + "icon": "fa fa-home", + "href": null, + "target": null, + "parentId": 0, + "child": [ + { + "id": 2, + "title": "参数配置MML", + "icon": "fa fa-caret-right", + "href": "building/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 3, + "title": "用户管理MML", + "icon": "fa fa-caret-right", + "href": "dormitoryset/list.html", + "target": null, + "parentId": 1, + "child": null + } + ] +} \ No newline at end of file diff --git a/config/menu/menu-performance-management.json b/config/menu/menu-performance-management.json new file mode 100644 index 00000000..60fd6ca0 --- /dev/null +++ b/config/menu/menu-performance-management.json @@ -0,0 +1,46 @@ +{ + "id": 1, + "href": null, + "icon": "fa fa-wrench", + "title": "性能管理", + "target": null, + "parentId": 0, + "child": [ + { + "id": 1, + "href": "page/task/list.html", + "icon": "fa fa-caret-right", + "child": null, + "title": "任务管理", + "target": null, + "parentId": 1 + }, + { + "id": 2, + "href": "page/repair/list.html", + "icon": "fa fa-caret-right", + "child": null, + "title": "数据管理", + "target": null, + "parentId": 1 + }, + { + "id": 3, + "href": "page/gold/list.html", + "icon": "fa fa-caret-right", + "child": null, + "title": "黄金指标", + "target": null, + "parentId": 1 + }, + { + "id": 4, + "href": "page/task/threshold.html", + "icon": "fa fa-caret-right", + "child": null, + "title": "性能门限", + "target": null, + "parentId": 1 + } + ] +} \ No newline at end of file diff --git a/config/menu/menu-security-management.json b/config/menu/menu-security-management.json new file mode 100644 index 00000000..3842e58e --- /dev/null +++ b/config/menu/menu-security-management.json @@ -0,0 +1,37 @@ +{ + "id": 1, + "href": null, + "icon": "fa fa-users", + "child": [ + { + "id": 2, + "href": "page/user/list.html", + "icon": "fa fa-caret-right", + "child": null, + "title": "用户管理", + "target": null, + "parentId": 1 + }, + { + "id": 3, + "href": "dormitoryset/list.html", + "icon": "fa fa-caret-right", + "child": null, + "title": "群组管理", + "target": null, + "parentId": 1 + }, + { + "id": 4, + "href": "dormitory/list.html", + "icon": "fa fa-caret-right", + "child": null, + "title": "权限管理", + "target": null, + "parentId": 1 + } + ], + "title": "安全管理", + "target": null, + "parentId": 0 +} \ No newline at end of file diff --git a/config/menu/menu-system-management.json b/config/menu/menu-system-management.json new file mode 100644 index 00000000..3e764a0e --- /dev/null +++ b/config/menu/menu-system-management.json @@ -0,0 +1,46 @@ +{ + "id": 1, + "title": "配置管理", + "icon": "fa fa-home", + "href": null, + "target": null, + "parentId": 0, + "child": [ + { + "id": 2, + "title": "网元管理", + "icon": "fa fa-caret-right", + "href": "building/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 3, + "title": "参数配置", + "icon": "fa fa-caret-right", + "href": "dormitoryset/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 4, + "title": "软件管理", + "icon": "fa fa-caret-right", + "href": "dormitory/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 5 , + "title": "许可证管理", + "icon": "fa fa-caret-right", + "href": "selection/list.html", + "target": null, + "parentId": 1, + "child": null + } + ] +} \ No newline at end of file diff --git a/config/menu/menu-topology-maagement.json b/config/menu/menu-topology-maagement.json new file mode 100644 index 00000000..3192e825 --- /dev/null +++ b/config/menu/menu-topology-maagement.json @@ -0,0 +1,49 @@ +{ + "id": 1, + "title": "拓扑管理", + "icon": "fa fa-home", + "href": null, + "target": null, + "parentId": 0, + "child": [ + { + "id": 2, + "title": "系统拓扑", + "icon": "fa fa-caret-right", + "href": "page/user/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 3, + "title": "网元状态", + "icon": "fa fa-caret-right", + "href": "page/main.html", + "target": null, + "parentId": 1, + "child": null + } + ] +} + + +{ + "id": 1, + "href": null, + "icon": "fa fa-home", + "child": [ + { + "id": 3, + "href": "page/main.html", + "icon": "fa fa-caret-right", + "child": null, + "title": "网元状态", + "target": null, + "parentId": 1 + } + ], + "title": "系统状态", + "target": null, + "parentId": 0 +} \ No newline at end of file diff --git a/config/menu/menu-trace-management.json b/config/menu/menu-trace-management.json new file mode 100644 index 00000000..511b7e0e --- /dev/null +++ b/config/menu/menu-trace-management.json @@ -0,0 +1,28 @@ +{ + "id": 1, + "title": "跟踪管理", + "icon": "fa fa-home", + "href": null, + "target": null, + "parentId": 0, + "child": [ + { + "id": 2, + "title": "任务管理", + "icon": "fa fa-caret-right", + "href": "building/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 3, + "title": "信令分析", + "icon": "fa fa-caret-right", + "href": "dormitoryset/list.html", + "target": null, + "parentId": 1, + "child": null + } + ] +} \ No newline at end of file diff --git a/config/menu/menu.json b/config/menu/menu.json new file mode 100644 index 00000000..e8d2744a --- /dev/null +++ b/config/menu/menu.json @@ -0,0 +1,346 @@ +{ + "parent": [ + { + "id": 1, + "title": "系统状态", + "icon": "fa fa-cog", + "href": null, + "target": null, + "parentId": 0, + "child": [ + { + "id": 2, + "title": "AMF", + "icon": "fa fa-caret-right", + "href": "page/user/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 3, + "title": "AUSF", + "icon": "fa fa-caret-right", + "href": "grade/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 4, + "title": "UDM", + "icon": "fa fa-caret-right", + "href": "org/list.html", + "target": null, + "parentId": 1, + "child": null + }, + { + "id": 5, + "title": "SMF", + "icon": "fa fa-caret-right", + "href": "student/list.html", + "target": null, + "parentId": 1, + "child": null + } + ] + }, + { + "id": 7, + "title": "配置管理", + "icon": "fa fa-home", + "href": null, + "target": null, + "parentId": 0, + "child": [ + { + "id": 8, + "title": "AMF", + "icon": "fa fa-caret-right", + "href": "building/list.html", + "target": null, + "parentId": 7, + "child": null + }, + { + "id": 9, + "title": "AUSF", + "icon": "fa fa-caret-right", + "href": "dormitoryset/list.html", + "target": null, + "parentId": 7, + "child": null + }, + { + "id": 10, + "title": "UDM", + "icon": "fa fa-caret-right", + "href": "dormitory/list.html", + "target": null, + "parentId": 7, + "child": null + }, + { + "id": 11, + "title": "SMF", + "icon": "fa fa-caret-right", + "href": "selection/list.html", + "target": null, + "parentId": 7, + "child": null + } + ] + }, + { + "id": 12, + "title": "故障管理", + "icon": "fa fa-telegram", + "href": "", + "target": null, + "parentId": 0, + "child": [ + { + "id": 13, + "title": "活动告警", + "icon": "fa fa-caret-right", + "href": "page/alarm/alarmListDown.html", + "target": null, + "parentId": 12, + "child": null + }, + { + "id": 14, + "title": "历史告警", + "icon": "fa fa-caret-right", + "href": "page/alarm/AlarmListHistory.html", + "target": null, + "parentId": 12, + "child": null + }, + { + "id": 15, + "title": "告警设置", + "icon": "fa fa-caret-right", + "href": "absence/list.html", + "target": null, + "parentId": 12, + "child": null + } + ] + }, + { + "id": 16, + "title": "业务统计", + "icon": "fa fa-wrench", + "href": null, + "target": null, + "parentId": 0, + "child": [ + { + "id": 17, + "title": "AMF", + "icon": "fa fa-caret-right", + "href": "repair/list.html", + "target": null, + "parentId": 16, + "child": null + }, + { + "id": 18, + "title": "UDM", + "icon": "fa fa-caret-right", + "href": "repair/list.html", + "target": null, + "parentId": 16, + "child": null + } + ] + }, + { + "id": 19, + "title": "日志管理", + "icon": "fa fa-truck", + "href": null, + "target": null, + "parentId": 0, + "child": [ + { + "id": 20, + "title": "操作日志", + "icon": "fa fa-caret-right", + "href": "page/log/operLogList.html", + "target": null, + "parentId": 19, + "child": null + }, + { + "id": 21, + "title": "安全日志", + "icon": "fa fa-caret-right", + "href": "page/log/securityLogList.html", + "target": null, + "parentId": 19, + "child": null + }, + { + "id": 22, + "title": "告警入库日志", + "icon": "fa fa-caret-right", + "href": "page/log/alarmLogList.html", + "target": null, + "parentId": 19, + "child": null + } + ] + }, + { + "id": 23, + "title": "系统维护", + "icon": "fa fa-truck", + "href": null, + "target": null, + "parentId": 0, + "child": [ + { + "id": 24, + "title": "设备升级", + "icon": "fa fa-caret-right", + "href": "visit/list.html", + "target": null, + "parentId": 23, + "child": [ + { + "id": 26, + "title": "AMF", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 23, + "child": null + }, + { + "id": 27, + "title": "AUSF", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 23, + "child": null + }, + { + "id": 28, + "title": "UDM", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 23, + "child": null + }, + { + "id": 29, + "title": "SMF", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 23, + "child": null + } + ] + }, + { + "id": 25, + "title": "设备控制", + "icon": "fa fa-caret-right", + "href": "visit/list.html", + "target": null, + "parentId": 22, + "child": [ + { + "id": 24, + "title": "AMF", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 30, + "child": null + }, + { + "id": 31, + "title": "AUSF", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 24, + "child": null + }, + { + "id": 32, + "title": "UDM", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 24, + "child": null + }, + { + "id": 33, + "title": "SMF", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 24, + "child": null + } + ] + }, + { + "id": 25, + "title": "许可证更新", + "icon": "fa fa-caret-right", + "href": "visit/list.html", + "target": null, + "parentId": 22, + "child": [ + { + "id": 34, + "title": "AMF", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 25, + "child": null + }, + { + "id": 35, + "title": "AUSF", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 25, + "child": null + }, + { + "id": 36, + "title": "UDM", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 25, + "child": null + }, + { + "id": 37, + "title": "SMF", + "icon": "fa fa-caret-right", + "href": "user/list.html", + "target": null, + "parentId": 25, + "child": null + } + ] + } + ] + } + ] +} diff --git a/config/mml/omc/omc_mml_config.yaml b/config/mml/omc/omc_mml_config.yaml new file mode 100644 index 00000000..acd7ad16 --- /dev/null +++ b/config/mml/omc/omc_mml_config.yaml @@ -0,0 +1,928 @@ +omc: + mmlManagement: + display: "MML Management" + mml: + - operation: "lst" + object: "mmlcmd" + display: "List MML Command" + params: + - name: "category" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Category" + comment: "" + - name: "operation" + alias: "operation" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Operation" + comment: "" + - name: "object" + alias: "object" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Object" + comment: "" + systemManagement: + display: "System Management" + mml: + - operation: "dsp" + object: "sysinfo" + display: "Display NE System Information" + params: + - name: "netype" + alias: "neType" + type: "string" + optional: "true" + apostr: "false" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "neId" + type: "string" + optional: "true" + filter: "" + display: "NE ID" + comment: "" + - operation: "dsp" + object: "licenseinfo" + display: "Display NE License Information" + params: + - name: "netype" + alias: "neType" + type: "string" + optional: "true" + apostr: "false" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "neId" + type: "string" + optional: "true" + filter: "" + display: "NE ID" + comment: "" + - operation: "lst" + object: "license" + display: "List NE License Information" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "false" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "ne_id" + type: "string" + optional: "true" + filter: "" + display: "NE ID" + comment: "" + - operation: "dep" + object: "license" + display: "Deployment NE License" + params: + - name: "srcnetype" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "false" + filter: "" + display: "Source NE type" + comment: "" + - name: "srcneid" + alias: "ne_id" + type: "string" + optional: "false" + filter: "" + display: "Source NE ID" + comment: "" + - name: "dstnetype" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "false" + filter: "" + display: "Destination NE type" + comment: "" + - name: "dstneid" + alias: "ne_id" + type: "string" + optional: "false" + filter: "" + display: "Destination NE ID" + comment: "" + - name: "number" + alias: "dep_number" + type: "string" + optional: "false" + filter: "" + display: "Deployment number" + comment: "" + - operation: "dsp" + object: "nelink" + display: "Display NE Interface Link Status" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "false" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "ne_id" + type: "string" + optional: "true" + filter: "" + display: "NE ID" + comment: "" + - name: "interface" + alias: "interface" + type: "string" + optional: "true" + filter: "" + display: "Interface" + comment: "" + nrmManagement: + display: "NBI Resourece Management" + mml: + - operation: "dsp" + object: "nbicm" + display: "Display NBI Resource Management" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "ne_id" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "NE ID" + comment: "" + - name: "rmuid" + alias: "rm_uid" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Resource management UID" + comment: "" + neManagement: + display: "Network Element Management" + mml: + - operation: "lst" + object: "neinfo" + display: "List NE Information" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "ne_id" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "NE ID" + comment: "" + - name: "rmuid" + alias: "rm_uid" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Resource management UID" + comment: "" + - operation: "lst" + object: "memap" + display: "List Managed Element Map" + params: + - name: "rmuid" + alias: "rm_uid" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Resource management UID" + comment: "" + - operation: "add" + object: "neinfo" + display: "Add Network Element" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "ne_id" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "NE ID" + comment: "" + - name: "rmuid" + alias: "rm_uid" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Resource management UID" + comment: "" + - name: "ip" + alias: "ip" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "IP address" + comment: "" + - name: "port" + alias: "port" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Port" + comment: "" + - name: "nename" + alias: "ne_name" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "NE name" + comment: "" + - name: "pvflag" + alias: "pv_flag" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "PV flag" + comment: "" + - operation: "mod" + object: "neinfo" + display: "Modify Network Element" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "ne_id" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "NE ID" + comment: "" + - name: "rmuid" + alias: "rm_uid" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "Resource management UID" + comment: "" + - name: "ip" + alias: "ip" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "IP address" + comment: "" + - name: "port" + alias: "port" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "Port" + comment: "" + - name: "nename" + alias: "ne_name" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "NE name" + comment: "" + - name: "pvflag" + alias: "pv_flag" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "PV flag" + comment: "" + - operation: "del" + object: "neinfo" + display: "Delete Network Element" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "ne_id" + type: "string" + optional: "false" + apostr: "true" + filter: "" + display: "NE ID" + comment: "" + neConfigManagement: + display: "NE Config Parameter Management" + mml: + - operation: "dsp" + object: "neconfig" + display: "Display NE Config Parameter" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "ne_id" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "NE ID" + comment: "" + - name: "tag" + alias: "top_tag" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "Parameter tag" + comment: "" + neVersionManagement: + display: "NE Version Management" + mml: + - operation: "upg" + object: "neversion" + display: "Upgrade NE Software Version" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "ne_id" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "NE ID" + comment: "" + - name: "version" + alias: "version" + type: "string" + optional: "false" + apostr: "true" + loc: "true" + filter: "" + display: "Version" + comment: "" + faultManagement: + display: "Fault Management" + mml: + - operation: "dsp" + object: "alarm" + display: "Display Alarm Information" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "ne_id" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "NE UID" + comment: "" + - name: "nename" + alias: "ne_name" + type: "int" + optional: "true" + apostr: "true" + filter: "" + display: "NE name" + comment: "" + - name: "alarmcode" + alias: "alarm_code" + type: "int" + optional: "true" + apostr: "true" + filter: "" + display: "Alarm code" + comment: "" + - name: "origseverity" + alias: "orig_severity" + type: "enum" + optional: "true" + apostr: "true" + filter: '{"Critical","Major","Minor","Warning","Event"}' + display: "Original severity" + comment: "" + - name: "pvflag" + alias: "pv_flag" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "PV flag" + comment: "" + - name: "starttime" + alias: "event_time>" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Alarm event start time" + comment: "" + - name: "endtime" + alias: "event_time<" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Alarm event end time" + comment: "" + - name: "alarmtype" + alias: "alarm_type" + type: "enum" + optional: "true" + apostr: "true" + filter: '{"CommunicationAlarm","EquipmentAlarm","ProcessingFailure","EnvironmentalAlarm","QualityOfServiceAlarm"}' + display: "Alarm type" + comment: "" + - name: "alarmstatus" + alias: "alarm_status" + type: "int" + optional: "true" + apostr: "true" + filter: "" + display: "Alarm status" + comment: "" + pmTaskManagement: + display: "Performance Measure Task Management" + mml: + - operation: "lst" + object: "measuretask" + display: "List Performance Measure Task" + params: + - name: "id" + alias: "id" + type: "string" + optional: "true" + apostr: "false" + loc: "true" + filter: "" + display: "Task ID" + comment: "" + - name: "netype" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "NE type" + comment: "" + - name: "granuloption" + alias: "granul_option" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Time granularity" + comment: "" + - operation: "add" + object: "measuretask" + display: "Add Performance Measure Task" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "NE type" + comment: "" + - name: "neids" + alias: "ne_ids" + type: "array" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "NE ID set" + comment: "" + - name: "granuloption" + alias: "granul_option" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Granularity option" + comment: "" + - name: "kpiset" + alias: "kpi_set" + type: "json" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "KPI set" + comment: "" + - name: "starttime" + alias: "start_time" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Measure task start time" + comment: "" + - name: "endtime" + alias: "end_time" + type: "string" + optional: "false" + apostr: "false" + loc: "false" + filter: "" + display: "Measure task end time" + comment: "" + - operation: "mod" + object: "measuretask" + display: "Modify Performance Measure Task" + params: + - name: "id" + alias: "id" + type: "string" + optional: "false" + apostr: "false" + loc: "true" + filter: "" + display: "Task ID" + comment: "" + - name: "kpiset" + alias: "kpi_set" + type: "json" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "KPI set" + comment: "" + - name: "starttime" + alias: "start_time" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "Measure task start time" + comment: "" + - name: "endtime" + alias: "end_time" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "Measure task end time" + comment: "" + - name: "granuloption" + alias: "granul_option" + type: "string" + optional: "true" + apostr: "false" + loc: "false" + filter: "" + display: "granularity option" + comment: "" + - operation: "del" + object: "measuretask" + display: "Delete Performance Measure Task" + params: + - name: "id" + alias: "id" + type: "string" + optional: "false" + apostr: "false" + loc: "true" + filter: "" + display: "Task ID" + comment: "" + - operation: "act" + object: "measuretask" + display: "Active Performance Measure Task" + params: + - name: "id" + alias: "id" + type: "string" + optional: "false" + apostr: "false" + loc: "true" + filter: "" + display: "Task ID" + comment: "" + - operation: "dea" + object: "measuretask" + display: "Deactive Performance Measure Task" + params: + - name: "id" + alias: "id" + type: "string" + optional: "false" + apostr: "false" + loc: "true" + filter: "" + display: "Task ID" + comment: "" + pmDataManagement: + display: "Performance Data Management" + mml: + - operation: "lst" + object: "measuredata" + display: "List Performance Data" + params: + - name: "id" + alias: "task_id" + type: "string" + optional: "true" + apostr: "false" + loc: "true" + filter: "" + display: "Task ID" + comment: "" + - name: "netype" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "NE type" + comment: "" + - name: "kpiid" + alias: "kpi_id" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "NE type" + comment: "" + - name: "starttime" + alias: "start_time>" + type: "string" + optional: "true" + apostr: "false" + filter: "" + display: "Measure period start time(>=)" + comment: "" + - name: "endtime" + alias: "start_time<" + type: "string" + optional: "true" + apostr: "false" + filter: "" + display: "Measure period start time(<=)" + comment: "" + logManagement: + display: "Log Management" + mml: + - operation: "lst" + object: "systemlog" + display: "List System Log" + params: + - name: "processtype" + alias: "process_type" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "Process type" + comment: "" + - name: "starttime" + alias: "log_time>" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Log time more than" + comment: "" + - name: "endtime" + alias: "log_time<" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Log time less than" + comment: "" + - operation: "lst" + object: "operationlog" + display: "List Operation Log" + params: + - name: "accountid" + alias: "account_name" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "Account ID" + comment: "" + - name: "starttime" + alias: "log_time>" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Log time more than" + comment: "" + - name: "endtime" + alias: "log_time<" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Log Time Less Than" + comment: "" + - operation: "lst" + object: "securitylog" + display: "List Security Log" + params: + - name: "accountid" + alias: "account_name" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "Account ID" + comment: "" + - name: "starttime" + alias: "op_time>" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Log time more than" + comment: "" + - name: "endtime" + alias: "op_time<" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Log time less than" + comment: "" + - operation: "lst" + object: "alarmlog" + display: "List Alarm Log" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "NE type" + comment: "" + - name: "starttime" + alias: "log_time>" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Log time(>=)" + comment: "" + - name: "endtime" + alias: "log_time<" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Log time less than" + comment: "" + - operation: "lst" + object: "eventlog" + display: "List NE Event Log" + params: + - name: "netype" + alias: "ne_type" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "NE type" + comment: "" + - name: "neid" + alias: "ne_id" + type: "string" + optional: "true" + apostr: "true" + loc: "true" + filter: "" + display: "NE ID" + comment: "" + - name: "starttime" + alias: "log_time>" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Log time(>=)" + comment: "" + - name: "endtime" + alias: "log_time<" + type: "string" + optional: "true" + apostr: "true" + filter: "" + display: "Log time(<=)" + comment: "" \ No newline at end of file diff --git a/config/mml/subscriber/udm_sub_mml_config.yaml b/config/mml/subscriber/udm_sub_mml_config.yaml new file mode 100644 index 00000000..a98bdfb2 --- /dev/null +++ b/config/mml/subscriber/udm_sub_mml_config.yaml @@ -0,0 +1,417 @@ +udm: + authdataManagement: + display: "Authentication Data Management" + mml: + - operation: "dsp" + object: "authdat" + display: "Display Auth Data" + params: + - name: "imsi" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + comment: "" + - operation: "add" + object: "authdat" + display: "Add Auth Data" + params: + - name: "imsi" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + comment: "" + - name: "ki" + type: "int" + optional: "false" + filter: "" + display: "Ki" + comment: "" + - name: "amf" + type: "string" + optional: "false" + filter: "" + display: "AMF" + comment: "" + - name: "algo" + type: "" + optional: "false" + filter: "" + display: "Algo" + comment: "" + - name: "opc" + type: "string" + optional: "false" + filter: "" + display: "OPC" + comment: "" + - operation: "del" + object: "authdat" + display: "Delete Auth Data" + params: + - name: "imsi" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + comment: "" + - operation: "bat" + object: "authdat" + display: "Batch Add Auth Data" + params: + - name: "start_imsi" + type: "string" + optional: "false" + filter: "" + display: "Starting IMSI" + comment: "" + - name: "sub_num" + type: "int" + optional: "false" + filter: "" + display: "auth data number" + comment: "" + - name: "ki" + type: "string" + optional: "false" + filter: "" + display: "Ki" + comment: "" + - name: "amf" + type: "string" + optional: "false" + filter: "" + display: "AMF" + comment: "" + - name: "algo" + type: "" + optional: "false" + filter: "" + display: "Algo" + comment: "" + - operation: "bde" + object: "authdat" + display: "Batch Delete Auth Data" + params: + - name: "start_imsi" + type: "string" + optional: "false" + filter: "" + display: "Starting IMSI" + comment: "" + - name: "sub_num" + type: "int" + optional: "false" + filter: "" + display: "auth data number" + comment: "" + - operation: "import" + object: "authdat" + display: "Import Auth Data From File" + params: + - name: "file" + type: "string" + optional: "false" + filter: "" + display: "Path file" + comment: "" + - operation: "export" + object: "authdat" + display: "Export Auth Data to File" + params: + - name: "file" + type: "string" + optional: "false" + filter: "" + display: "Path file" + comment: "" + subscriberManagement: + display: "Subcriber Management" + mml: + - operation: "dsp" + object: "udmuser" + display: "Display UDM Subscriber" + params: + - name: "imsi" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + comment: "" + - operation: "add" + object: "udmuser" + display: "Add UDM Subscriber" + params: + - name: "imsi" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + comment: "" + - name: "msisdn" + type: "string" + optional: "true" + filter: "" + display: "MSISDN" + comment: "" + - name: "ambr" + type: "string" + optional: "false" + filter: "" + display: "AMBR" + comment: "" + - name: "nssai" + type: "string" + optional: "false" + filter: "" + display: "Nssai" + comment: "" + - name: "arfb" + type: "string" + optional: "false" + filter: "" + display: "Arfb" + comment: "" + - name: "sar" + type: "string" + optional: "false" + filter: "" + display: "SAR" + comment: "" + - name: "rat" + type: "string" + optional: "false" + filter: "" + display: "RAT" + comment: "" + - name: "cn" + type: "string" + optional: "false" + filter: "" + display: "CN" + comment: "" + - name: "smf_sel" + type: "string" + optional: "false" + filter: "" + display: "SMF_sel" + comment: "" + - name: "sm_data" + type: "string" + optional: "false" + filter: "" + display: "SM_data" + comment: "" + - operation: "del" + object: "udmuser" + display: "Delete Subscriber Data" + params: + - name: "imsi" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + comment: "" + - operation: "mod" + object: "udmuser" + display: "Modify Subscriber Data" + params: + - name: "imsi" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + c1omment: "" + - name: "msisdn" + type: "string" + optional: "true" + filter: "" + display: "MSISDN" + comment: "" + - name: "ambr" + type: "string" + optional: "true" + filter: "" + display: "AMBR" + comment: "" + - name: "nssai" + type: "string" + optional: "true" + filter: "" + display: "Nssai" + comment: "" + - name: "arfb" + type: "string" + optional: "true" + filter: "" + display: "Arfb" + comment: "" + - name: "sar" + type: "string" + optional: "true" + filter: "" + display: "SAR" + comment: "" + - name: "rat" + type: "string" + filter: "" + display: "RAT" + comment: "" + - name: "cn" + type: "string" + optional: "true" + filter: "" + display: "CN" + comment: "" + - name: "smf_sel" + type: "string" + optional: "true" + filter: "" + display: "SMF_sel" + comment: "" + - name: "sm_data" + type: "string" + optional: "true" + filter: "" + display: "SM_data" + comment: "" + - operation: "bat" + object: "udmuser" + display: "Batch Add UDM Subscriber" + params: + - name: "start_imsi" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + comment: "" + - name: "start_msisdn" + type: "string" + optional: "true" + filter: "" + display: "MSISDN" + comment: "" + - name: "sub_num" + type: "int" + optional: "false" + filter: "" + display: "subscriber number" + comment: "" + - name: "ambr" + type: "string" + optional: "false" + filter: "" + display: "AMBR" + comment: "" + - name: "nssai" + type: "string" + optional: "false" + filter: "" + display: "Nssai" + comment: "" + - name: "arfb" + type: "string" + optional: "false" + filter: "" + display: "Arfb" + comment: "" + - name: "sar" + type: "string" + optional: "false" + filter: "" + display: "SAR" + comment: "" + - name: "rat" + type: "string" + optional: "false" + filter: "" + display: "RAT" + comment: "" + - name: "cn" + type: "string" + optional: "false" + filter: "" + display: "CN" + comment: "" + - name: "smf_sel" + type: "string" + optional: "false" + filter: "" + display: "SMF_sel" + comment: "" + - name: "sm_data" + type: "string" + optional: "false" + filter: "" + display: "SM_data" + comment: "" + - operation: "bde" + object: "udmuser" + display: "Batch Delete Subscriber Data" + params: + - name: "start_imsi" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + comment: "" + - name: "sub_num" + type: "string" + optional: "false" + filter: "" + display: "Subcribers number" + comment: "" + - operation: "bmd" + object: "udmuser" + display: "Batch Modify Subscriber Data" + params: + - name: "start_imsi" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + comment: "" + - name: "sub_num" + type: "string" + optional: "false" + filter: "" + display: "Subcribers number" + comment: "" + - name: "sm_data" + type: "string" + optional: "false" + filter: "" + display: "SM_data" + comment: "" + - operation: "import" + object: "udmuser" + display: "Import Subscriber Data From File" + params: + - name: "file" + type: "string" + optional: "false" + filter: "" + display: "Path file" + comment: "" + - operation: "upload" + object: "udmuser" + display: "Upload Subscriber Data" + params: + - name: "file" + type: "string" + optional: "false" + filter: "" + display: "Path file" + comment: "" + - operation: "sync" + object: "start" + display: "Sync UDM Data From Public UDM" + params: + - operation: "sync" + object: "state" + display: "Query State of Sync Task" + params: + + + diff --git a/config/mml/system/amf_sys_mml_config.yaml b/config/mml/system/amf_sys_mml_config.yaml new file mode 100644 index 00000000..0c3dfd45 --- /dev/null +++ b/config/mml/system/amf_sys_mml_config.yaml @@ -0,0 +1,100 @@ +amf: + systemManagement: + display: "System Management" + mml: + - operation: "set" + object: "n8_ip" + display: "Set N8 IP Address" + params: + - name: "ip" + type: "string" + optional: "false" + filter: "0~64" + display: "IP Address" + comment: "" + - operation: "set" + object: "n11_ip" + display: "Set N11 IP Address" + params: + - name: "ip" + type: "string" + optional: "false" + filter: "0~64" + display: "IP Address" + comment: "" + - operation: "set" + object: "n12_ip" + display: "Set N12 IP Address" + params: + - name: "ip" + type: "string" + optional: "false" + filter: "0~64" + display: "IP Address" + comment: "" + - operation: "set" + object: "relative_capacity" + display: "Set Relative Capacity" + params: + - name: "capacity" + type: "int" + optional: "false" + filter: "" + display: "Relative Capacity" + comment: "" + - operation: "set" + object: "n2_ip" + display: "Set N2 IP Address" + params: + - name: "ip" + type: "string" + optional: "false" + filter: "" + display: "IP Address" + comment: "" + - operation: "set" + object: "n2_port" + display: "Set N2 Port" + params: + - name: "port" + type: "int" + optional: "false" + filter: "0~65535" + display: "Port" + comment: "" + - operation: "add" + object: "slice" + display: "Add Slice" + params: + - name: "sst" + type: "string" + optional: "false" + filter: "" + display: "SST" + comment: "" + - name: "sd" + type: "string" + optional: "false" + filter: "" + display: "SD" + comment: "" + - operation: "deregister" + object: "imsi" + display: "Deregister IMSI" + params: + - name: "IMSI" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + comment: "" + - operation: "exec" + object: "shell" + display: "Execute Shell Command" + params: + - name: "cmd" + type: "string" + optional: "false" + filter: "" + display: "CMD" + comment: "" \ No newline at end of file diff --git a/config/mml/system/ausf_sys_mml_config.yaml b/config/mml/system/ausf_sys_mml_config.yaml new file mode 100644 index 00000000..173cffa4 --- /dev/null +++ b/config/mml/system/ausf_sys_mml_config.yaml @@ -0,0 +1,44 @@ +ausf: + systemManagement: + display: "System Management" + mml: + - operation: "set" + object: "n12ip" + display: "Set N12 IP Address" + params: + - name: "ip" + type: "string" + optional: "false" + filter: "" + display: "IP Address" + comment: "" + - operation: "set" + object: "n12port" + display: "Set N12 Port" + params: + - name: "port" + type: "int" + optional: "false" + filter: "1~65535" + display: "Port" + comment: "" + - operation: "set" + object: "n12scheme" + display: "Set N12 Scheme" + params: + - name: "scheme" + type: "enum" + optional: "false" + filter: '{"0":"http", "1":"https"}' + display: "Scheme" + comment: "" + - operation: "set" + object: "supirange" + display: "Set SUPI Range" + params: + - name: "supirange" + type: "string" + optional: "false" + filter: "" + display: "SUPI Range" + comment: "" diff --git a/config/mml/system/smf_sys_mml_config.yaml b/config/mml/system/smf_sys_mml_config.yaml new file mode 100644 index 00000000..45b6aaac --- /dev/null +++ b/config/mml/system/smf_sys_mml_config.yaml @@ -0,0 +1,362 @@ +smf: + systemManagement: + display: "System Management" + mml: + - operation: "set" + object: "n7 server" + display: "Set N7 Server" + params: + - name: "scheme" + type: "enum" + optional: "false" + filter: '{"0":"http", "1":"https"}' + display: "Scheme" + comment: "" + - name: "ip" + type: "string" + optional: "false" + filter: "0~64" + display: "IP Address" + comment: "" + - name: "port" + type: "int" + optional: "false" + filter: "0~65535" + display: "Port" + comment: "" + - operation: "set" + object: "n7 client" + display: "Set N7 Client" + params: + - name: "scheme" + type: "enum" + optional: "false" + filter: '{"0":"http", "1":"https"}' + display: "Scheme" + comment: "" + - name: "ip" + type: "string" + optional: "false" + filter: "0~64" + display: "IP Address" + comment: "" + - operation: "set" + object: "n10 server" + display: "Set N10 Server" + params: + - name: "scheme" + type: "enum" + optional: "false" + filter: '{"0":"http", "1":"https"}' + display: "Scheme" + comment: "" + - name: "ip" + type: "string" + optional: "false" + filter: "0~64" + display: "IP Address" + comment: "" + - name: "port" + type: "int" + optional: "false" + filter: "0~65535" + display: "Port" + comment: "" + - operation: "set" + object: "n10 client" + display: "Set N10 Client" + params: + - name: "scheme" + type: "enum" + optional: "false" + filter: '{"0":"http", "1":"https"}' + display: "Scheme" + comment: "" + - name: "ip" + type: "string" + optional: "false" + filter: "0~64" + display: "IP Address" + comment: "" + - operation: "set" + object: "n11 server" + display: "Set N11 Server" + params: + - name: "scheme" + type: "enum" + optional: "false" + filter: '{"0":"http", "1":"https"}' + display: "Scheme" + comment: "" + - name: "ip" + type: "string" + optional: "false" + filter: "0~64" + display: "IP Address" + comment: "" + - name: "port" + type: "int" + optional: "false" + filter: "0~65535" + display: "Port" + comment: "" + - operation: "set" + object: "n11 client" + display: "Set N11 Client" + params: + - name: "scheme" + type: "enum" + optional: "false" + filter: '{"0":"http", "1":"https"}' + display: "Scheme" + comment: "" + - name: "ip" + type: "string" + optional: "false" + filter: "0~64" + display: "IP Address" + comment: "" + - operation: "set" + object: "dnn" + display: "Set DNN" + params: + - name: "index" + type: "int" + optional: "false" + filter: "" + display: "Index" + comment: "" + - name: "DNN" + type: "string" + optional: "false" + filter: "" + display: "DNN" + comment: "" + - operation: "set pccrule " + object: "pccrule" + display: "Set PCC Rule" + params: + - name: "index" + type: "int" + optional: "false" + filter: "0~65535" + display: "Index" + comment: "" + - name: "precedence" + type: "int" + optional: "false" + filter: "" + display: "Precedence" + comment: "" + - name: "qosIndex" + type: "int" + optional: "false" + filter: "" + display: "QOS Index" + comment: "" + - name: "direction" + type: "int" + optional: "true" + filter: '{"0":"NA", "1":"Uplink", "2":"Downlink", "3":"Bidirectionallink"}' + display: "Filter Direction" + comment: "" + - name: "filter" + type: "string" + optional: "true" + filter: "" + display: "Filter" + comment: "" + - name: "appId" + type: "string" + optional: "true" + filter: "" + display: "Application ID" + comment: "" + - operation: "set" + object: "urr" + display: "Set URR" + params: + - name: "index" + type: "string" + optional: "false" + filter: "" + display: "Index" + comment: "" + - name: "quotavolumetatol" + type: "string" + optional: "false" + filter: "" + display: "SD" + comment: "" + - name: "quotavolumeul" + type: "string" + optional: "false" + filter: "" + display: "quota volume ul" + comment: "" + - name: "quotavolumedl" + type: "string" + optional: "false" + filter: "" + display: "quota volume dl" + comment: "" + - name: "quotatime" + type: "string" + optional: "false" + filter: "" + display: "quota time" + comment: "" + - operation: "set" + object: "qos" + display: "Set Qos" + params: + - name: "index" + type: "string" + optional: "false" + filter: "" + display: "Index" + comment: "" + - name: "5qi" + type: "string" + optional: "false" + filter: "" + display: "SD" + comment: "" + - name: "5qipl" + type: "string" + optional: "false" + filter: "" + display: "5qipl" + comment: "" + - name: "arppl" + type: "string" + optional: "false" + filter: "" + display: "arppl" + comment: "" + - name: "arppci" + type: "string" + optional: "false" + filter: "" + display: "arppci" + comment: "" + - name: "arppvi" + type: "string" + optional: "false" + filter: "" + display: "arppvi" + comment: "" + - name: "mfbrul" + type: "string" + optional: "false" + filter: "" + display: "mfbrul" + comment: "" + - name: "mfbrdl" + type: "string" + optional: "false" + filter: "" + display: "mfbrdl" + comment: "" + - name: "gfbrul" + type: "string" + optional: "false" + filter: "" + display: "gfbrul" + comment: "" + - name: "gfbrdl" + type: "string" + optional: "false" + filter: "" + display: "gfbrdl" + comment: "" + - operation: "set" + object: "snssai" + display: "Set Snssai" + params: + - name: "index" + type: "string" + optional: "false" + filter: "" + display: "Index" + comment: "" + - name: "sst-sd" + type: "string" + optional: "false" + filter: "" + display: "sst-sd" + - operation: "release" + object: "imsi" + display: "Release IMSI" + params: + - name: "imsi" + type: "string" + optional: "false" + filter: "" + display: "IMSI" + comment: "" + - name: "pduSessId" + type: "string" + optional: "false" + filter: "" + display: "PDU Session Id" + - operation: "set" + object: "urr" + display: "Set URR" + params: + - name: "index" + type: "string" + optional: "false" + filter: "" + display: "Index" + comment: "" + - name: "quotavolumetatol" + type: "string" + optional: "false" + filter: "" + display: "Quota Volume Tatol" + comment: "" + - name: "quotavolumeul" + type: "string" + optional: "false" + filter: "" + display: "Quota Volume UL" + comment: "" + - name: "quotavolumedl" + type: "string" + optional: "false" + filter: "" + display: "Quota Volume DL" + comment: "" + - name: "quotatime" + type: "string" + optional: "false" + filter: "" + display: "Quota Time" + comment: "" + - operation: "set" + object: "dpi" + display: "Set DPI" + params: + - name: "flag" + type: "enum" + optional: "false" + filter: '{"0":"disable", "1":"enable"}' + display: "Flag" + comment: "" + - name: "max" + type: "string" + optional: "false" + filter: "" + display: "Max Detect Packet Number" + comment: "" + - operation: "exec" + object: "shell" + display: "Execute Shell Command" + params: + - name: "cmd" + type: "string" + optional: "false" + filter: "" + display: "CMD" + comment: "" \ No newline at end of file diff --git a/config/mml/system/udm_sys_mml_config.yaml b/config/mml/system/udm_sys_mml_config.yaml new file mode 100644 index 00000000..a69fe445 --- /dev/null +++ b/config/mml/system/udm_sys_mml_config.yaml @@ -0,0 +1,117 @@ +udm: + systemManagement: + display: "System Management" + mml: + - operation: "set" + object: "n8ip" + display: "Set N8 IP Address" + params: + - name: "ip" + type: "ipv4" + optional: "false" + filter: "" + display: "IP Address" + comment: "" + - operation: "set" + object: "n8port" + display: "Set N8 Port" + params: + - name: "port" + type: "int" + optional: "false" + filter: "1~65535" + display: "Port" + comment: "" + - operation: "set" + object: "n8scheme" + display: "Set N8 Scheme" + params: + - name: "scheme" + type: "enum" + optional: "false" + filter: '{"0":"http", "1":"https"}' + display: "Scheme" + comment: "" + - operation: "set" + object: "n10ip" + display: "Set N10 IP Address" + params: + - name: "ip" + type: "string" + optional: "false" + filter: "" + display: "IP Address" + comment: "" + - operation: "set" + object: "n10port" + display: "Set N10 Port" + params: + - name: "port" + type: "int" + optional: "false" + filter: "1~65535" + display: "Port" + comment: "" + - operation: "set" + object: "n10scheme" + display: "Set N10 Scheme" + params: + - name: "scheme" + type: "enum" + optional: "false" + filter: '{"0":"http", "1":"https"}' + display: "Scheme" + comment: "" + - operation: "exec" + object: "shell" + display: "Execute Shell Command" + params: + - name: "cmd" + type: "string" + optional: "false" + filter: "" + display: "CMD" + comment: "" + ausfManagement: + display: "AUSF Management" + mml: + - operation: "set" + object: "n12ip" + display: "Set N12 IP Address" + params: + - name: "ip" + type: "string" + optional: "false" + filter: "" + display: "IP Address" + comment: "" + - operation: "set" + object: "n12port" + display: "Set N12 Port" + params: + - name: "port" + type: "int" + optional: "false" + filter: "1~65535" + display: "Port" + comment: "" + - operation: "set" + object: "n12scheme" + display: "Set N12 Scheme" + params: + - name: "scheme" + type: "enum" + optional: "false" + filter: '{"0":"http", "1":"https"}' + display: "Scheme" + comment: "" + - operation: "set" + object: "supirange" + display: "Set SUPI Range" + params: + - name: "supirange" + type: "string" + optional: "false" + filter: "" + display: "SUPI Range" + comment: "" diff --git a/config/mml/system/upf_sys_mml_config.yaml b/config/mml/system/upf_sys_mml_config.yaml new file mode 100644 index 00000000..262e0ac2 --- /dev/null +++ b/config/mml/system/upf_sys_mml_config.yaml @@ -0,0 +1,238 @@ +upf: + systemManagement: + display: "System Management" + mml: + - operation: "set" + object: "n3 driver" + display: "Set N3 Driver" + params: + - name: "type" + type: "int" + optional: "false" + filter: "" + display: "Type" + comment: "" + - name: "ip" + type: "string" + optional: "false" + filter: "" + display: "IP address" + comment: "" + - name: "mask" + type: "string" + optional: "false" + filter: "" + display: "Mask" + comment: "" + - name: "mac" + type: "string" + optional: "false" + filter: "" + display: "Mac address" + comment: "" + - name: "pci" + type: "string" + optional: "false" + filter: "" + display: "PCI address" + comment: "" + - operation: "set" + object: "n4 ip" + display: "Set N4 IP Address" + params: + - name: "ip" + type: "string" + optional: "false" + filter: "" + display: "IP Address" + comment: "" + - operation: "set" + object: "n6 driver" + display: "Set N6 Driver" + params: + - name: "type" + type: "int" + optional: "false" + filter: "" + display: "Type" + comment: "" + - name: "ip" + type: "string" + optional: "false" + filter: "" + display: "IP address" + comment: "" + - name: "mask" + type: "string" + optional: "false" + filter: "" + display: "Mask" + comment: "" + - name: "mac" + type: "string" + optional: "false" + filter: "" + display: "Mac address" + comment: "" + - name: "pci" + type: "string" + optional: "false" + filter: "" + display: "PCI address" + comment: "" + - operation: "set" + object: "n9 driver" + display: "Set N9 Driver" + params: + - name: "type" + type: "int" + optional: "false" + filter: "" + display: "Type" + comment: "" + - name: "ip" + type: "string" + optional: "false" + filter: "" + display: "IP address" + comment: "" + - name: "mask" + type: "string" + optional: "false" + filter: "" + display: "Mask" + comment: "" + - name: "mac" + type: "string" + optional: "false" + filter: "" + display: "Mac address" + comment: "" + - name: "pci" + type: "string" + optional: "false" + filter: "" + display: "PCI address" + comment: "" + - operation: "set" + object: "dnn" + display: "Set DNN" + params: + - name: "dnn" + type: "string" + optional: "false" + filter: "" + display: "DNN" + comment: "" + - name: "ip" + type: "string" + optional: "false" + filter: "" + display: "IP Address" + comment: "" + - operation: "set" + object: "pfcp" + display: "Set PFCP" + params: + - name: "path" + type: "string" + optional: "false" + filter: "" + display: "Path" + comment: "" + - name: "local" + type: "string" + optional: "false" + filter: "" + display: "Local IP Address" + comment: "" + - name: "remote" + type: "string" + optional: "false" + filter: "" + display: "Remote IP Address" + comment: "" + - operation: "set" + object: "qos" + display: "Set Qos" + params: + - name: "index" + type: "string" + optional: "false" + filter: "" + display: "Index" + comment: "" + - name: "5qi" + type: "string" + optional: "false" + filter: "" + display: "5qi" + comment: "" + - name: "priority" + type: "int" + optional: "false" + filter: "" + display: "Priority Level" + comment: "" + - name: "mbr" + type: "string" + optional: "false" + filter: "" + display: "MBR" + comment: "" + - name: "gbr" + type: "string" + optional: "false" + filter: "" + display: "GBR" + comment: "" + - operation: "set" + object: "pccrule" + display: "Set PCC Rule" + params: + - name: "index" + type: "int" + optional: "false" + filter: "0~65535" + display: "Index" + comment: "" + - name: "precedence" + type: "int" + optional: "false" + filter: "" + display: "Precedence" + comment: "" + - name: "qosindex" + type: "int" + optional: "false" + filter: "" + display: "QOS Index" + comment: "" + - name: "direction" + type: "int" + optional: "true" + filter: '{"0":"NA", "1":"Uplink", "2":"Downlink", "3":"Bidirectionallink"}' + display: "Filter Direction" + comment: "" + - name: "filter" + type: "string" + optional: "true" + filter: "" + display: "Filter" + comment: "" + - name: "appid" + type: "string" + optional: "true" + filter: "" + display: "Application ID" + comment: "" + - operation: "exec" + object: "shell" + display: "Execute Shell Command" + params: + - name: "cmd" + type: "string" + optional: "false" + filter: "" + display: "CMD" + comment: "" \ No newline at end of file diff --git a/config/mml_map/http_mml_map.json b/config/mml_map/http_mml_map.json new file mode 100644 index 00000000..3f72d719 --- /dev/null +++ b/config/mml_map/http_mml_map.json @@ -0,0 +1,938 @@ +"ne_info":{ + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "Network element information", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "ne_type", + "display": "NE type", + "length": 10 + }, + { + "name": "ne_id", + "display": "NE ID", + "length": 16 + }, + { + "name": "rm_uid", + "display": "Resource management UID", + "length": 28 + }, + { + "name": "ne_name", + "display": "NE name", + "length": 28 + }, + { + "name": "pv_flag", + "display": "PV flag", + "length": 10 + }, + { + "name": "ip", + "display": "IP address", + "length": 32 + }, + { + "name": "port", + "display": "Port", + "length": 6 + }, + { + "name": "status", + "display": "Status", + "length": 10, + "alias": [ + "online", + "offline", + "standby", + "maintain" + ] + } + ], + "end": "(Number of results = %d)\n\n" +} + + +"me_map":{ + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "Managed Element Map", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "rm_uid", + "display": "Resource management UID", + "length": 28 + }, + { + "name": "ne_name", + "display": "NE name", + "length": 28 + } + ], + "end": "(Number of results = %d)\n\n" +} + + +{ + "retFmt": "DeleteDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "cols": [ + { + "name": "affectedRows", + "display": "Affected rows", + "length": 11 + } + ] +} + + +{ + "bodyFmt": "PostDB", + "bodyKey": "ne_info" +} + +{ + "bodyFmt": "PutDB", + "bodyKey": "measure_task", + "cols": [ + { + "name": "status", + "alias": "status", + "type": "int", + "length": 11, + "value": "Active" + } + ] +} + +{ + "bodyFmt": "PutDB", + "bodyKey": "measure_task", + "cols": [ + { + "name": "status", + "alias": "status", + "type": "string", + "length": 11, + "value": "Active" + } + ] +} + +{ + "bodyFmt": "PutDB", + "bodyKey": "ne_version", + "cols": [ + { + "name": "status", + "alias": "status", + "type": "string", + "length": 8, + "value": "Active" + } + ] +} + +{ + "retFmt": "PostDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "cols": [ + { + "name": "affectedRows", + "display": "Affected rows", + "length": 11 + } + ] +} + +{ + "retFmt": "PutDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "cols": [ + { + "name": "affectedRows", + "display": "Affected rows", + "length": 11 + } + ] +} + +"alarm":{ + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "Alarm Information", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "ne_type", + "display": "NE type", + "length": 10 + }, + { + "name": "ne_id", + "display": "NE UID", + "length": 28 + }, + { + "name": "ne_name", + "display": "NE name", + "length": 28 + }, + { + "name": "alarm_seq", + "display": "Alarm sequence", + "length": 11 + }, + { + "name": "alarm_title", + "display": "Alarm title", + "length": 30 + }, + { + "name": "orig_severity", + "display": "Original severity", + "length": 11, + "alias": [ + "Critical", + "Major", + "Minor", + "Warning", + "Event" + ] + }, + { + "name": "pv_flag", + "display": "PV flag", + "length": 10 + }, + { + "name": "event_time", + "display": "Event time", + "length": 20 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"measure_task":{ + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "Alarm Information", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "id", + "display": "Task ID", + "length": 11 + }, + { + "name": "ne_type", + "display": "NE type", + "length": 10 + }, + { + "name": "ne_ids", + "display": "NE ID Set", + "length": 28 + }, + { + "name": "granul_option", + "display": "Time granulity", + "length": 5 + }, + { + "name": "kpi_set", + "display": "KPI set", + "length": 60 + }, + { + "name": "start_time", + "display": "Start time", + "length": 20 + }, + { + "name": "end_time", + "display": "End time", + "length": 20 + }, + { + "name": "status", + "display": "Status", + "length": 8 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"measure_data":{ + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "Performance Measure Data", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "task_id", + "display": "Task ID", + "length": 11 + }, + { + "name": "ne_type", + "display": "NE type", + "length": 10 + }, + { + "name": "rm_uid", + "display": "Resource management UID", + "length": 28 + }, + { + "name": "ne_name", + "display": "NE name", + "length": 28 + }, + { + "name": "granul_option", + "display": "Time granulity", + "length": 5 + }, + { + "name": "kpi_id", + "display": "KPI ID", + "length": 32 + }, + { + "name": "start_time", + "display": "Start time", + "length": 20 + }, + { + "name": "end_time", + "display": "End time", + "length": 20 + }, + { + "name": "value", + "display": "value", + "length": 11 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"operation_log":{ + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "Operation Log", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "account_name", + "display": "Account ID", + "length": 10 + }, + { + "name": "op_ip", + "display": "Source IP address", + "length": 20 + }, + { + "name": "op_type", + "display": "Opration type", + "length": 12 + }, + { + "name": "op_content", + "display": "Operation content", + "length": 50 + }, + { + "name": "op_result", + "display": "Operation result", + "length": 20 + }, + { + "name": "log_time", + "display": "Log time", + "length": 20 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"security_log": { + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "Security Log", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "account_name", + "display": "Account ID", + "length": 10 + }, + { + "name": "op_ip", + "display": "Source IP address", + "length": 20 + }, + { + "name": "op_type", + "display": "Opration type", + "length": 12 + }, + { + "name": "op_content", + "display": "Operation content", + "length": 50 + }, + { + "name": "op_result", + "display": "Operation result", + "length": 20 + }, + { + "name": "op_time", + "display": "Operation log time", + "length": 20 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"alarm_log":{ + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "Alarm Log", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "ne_type", + "display": "NE type", + "length": 8 + }, + { + "name": "ne_id", + "display": "NE UID", + "length": 28 + }, + { + "name": "alarm_seq", + "display": "Alarm sequence", + "length": 12 + }, + { + "name": "alarm_id", + "display": "Alarm ID", + "length": 20 + }, + { + "name": "event_time", + "display": "Alarm event time", + "length": 20 + }, + { + "name": "log_time", + "display": "Log time", + "length": 20 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"sysInfo": { + "retFmt": "GetNF", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "NE System Information", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "neType", + "display": "NE type", + "length": 10 + }, + { + "name": "neId", + "display": "NE ID", + "length": 28 + }, + { + "name": "hostName", + "display": "Host name", + "length": 16 + }, + { + "name": "osInfo", + "display": "OS information", + "length": 128 + }, + { + "name": "dbInfo", + "display": "Database information", + "length": 80 + }, + { + "name": "version", + "display": "Software version", + "length": 12 + }, + { + "name": "ipAddr", + "display": "IP address", + "length": 20 + }, + { + "name": "port", + "display": "Port", + "length": 6 + }, + { + "name": "cpus", + "display": "CPUs", + "length": 4 + }, + { + "name": "totalMem", + "display": "Total memory(KB)", + "length": 11 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"licenseInfo":{ + "retFmt": "GetNF", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "NE License Information", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "neType", + "display": "NE type", + "length": 10 + }, + { + "name": "neId", + "display": "NE ID", + "length": 20 + }, + { + "name": "serialNum", + "display": "Serial No", + "length": 12 + }, + { + "name": "capability", + "display": "License capability", + "length": 11 + }, + { + "name": "capUsed", + "display": "License used", + "length": 11 + }, + { + "name": "featureEnabled", + "display": "Feature enabled", + "length": 28 + }, + { + "name": "expiryDate", + "display": "License expiry date", + "length": 20 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"system_log": { + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "System Log", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "process_type", + "display": "Process type", + "length": 10 + }, + { + "name": "process_name", + "display": "Process name", + "length": 28 + }, + { + "name": "user_name", + "display": "User name", + "length": 12 + }, + { + "name": "process_id", + "display": "Process ID", + "length": 12 + }, + { + "name": "event", + "display": "Event", + "length": 20 + }, + { + "name": "start_time", + "display": "Start time", + "length": 20 + }, + { + "name": "end_time", + "display": "End time", + "length": 20 + }, + { + "name": "log_time", + "display": "Log time", + "length": 20 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"event_log": { + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "Event Log", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "ne_type", + "display": "NE type", + "length": 10 + }, + { + "name": "ne_id", + "display": "NE ID", + "length": 28 + }, + { + "name": "event", + "display": "Event", + "length": 12 + }, + { + "name": "event_time", + "display": "Event time", + "length": 20 + }, + { + "name": "log_time", + "display": "Log time", + "length": 20 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"mml_command": { + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "OMC MML Command List", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "operation", + "display": "Operation", + "length": 10 + }, + { + "name": "object", + "display": "Object", + "length": 28 + }, + { + "name": "mml_display", + "display": "MML description", + "length": 20 + } + ], + "end": "(Number of results = %d)\n\n" +} + + +"mml_cmd": { + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "OMC MML Command Help List", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "operation", + "display": "Operation", + "length": 10 + }, + { + "name": "object", + "display": "Object", + "length": 28 + }, + { + "name": "params", + "display": "Parameter list", + "length": 128 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"ne_license": { + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "NE License Information", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "ne_type", + "display": "NE type", + "length": 10 + }, + { + "name": "ne_id", + "display": "NE ID", + "length": 20 + }, + { + "name": "serial_no", + "display": "Serial no", + "length": 12 + }, + { + "name": "capability", + "display": "License capability", + "length": 11 + }, + { + "name": "used", + "display": "License used", + "length": 11 + }, + { + "name": "feature_enabled", + "display": "Feature enabled", + "length": 30 + }, + { + "name": "expiration_date", + "display": "License expiration date", + "length": 20 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"ne_link": { + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "Network Element Link", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "ne_type", + "display": "NE type", + "length": 10 + }, + { + "name": "ne_id", + "display": "NE ID", + "length": 28 + }, + { + "name": "interface", + "display": "Interface", + "length": 20 + }, + { + "name": "status", + "display": "Status", + "length": 20 + }, + { + "name": "created_at", + "display": "Timestamp", + "length": 20 + } + ], + "end": "(Number of results = %d)\n\n" +} + +"northbound_cm": { + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "NBI Resource Management", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "ne_type", + "display": "NE type", + "length": 10 + }, + { + "name": "ne_id", + "display": "NE ID", + "length": 20 + }, + { + "name": "rm_uid", + "display": "RM UID", + "length": 20 + }, + { + "name": "user_label", + "display": "User label", + "length": 20 + }, + { + "name": "object_type", + "display": "Object type", + "length": 20 + }, + { + "name": "pv_flag", + "display": "PV flag", + "length": 8 + }, + { + "name": "value_json", + "display": "NBI resource management", + "length": 200 + } + ], + "end": "(Number of results = %d)\n\n" +} + + +"param_config": { + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "NE Config Parameters", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "ne_type", + "display": "NE type", + "length": 10 + }, + { + "name": "ne_id", + "display": "NE ID", + "length": 28 + }, + { + "name": "top_tag", + "display": "Parameters tag", + "length": 128 + }, + { + "name": "param_name", + "display": "Parameter name list", + "length": 256 + }, + { + "name": "param_value", + "display": "Parameter value list", + "length": 256 + } + ], + "end": "(Number of results = %d)\n\n" +} \ No newline at end of file diff --git a/config/param/amf_param_config.yaml b/config/param/amf_param_config.yaml new file mode 100644 index 00000000..63a11d4b --- /dev/null +++ b/config/param/amf_param_config.yaml @@ -0,0 +1,310 @@ +amf: + system: + display: "System Config" + list: + - name: "amfName" + type: "string" + value: "AMF" + access: "read-write" + filter: '0~64' + display: "AMF Name" + comment: "" + - name: "relativeCapacity" + type: "int" + value: "255" + access: "read-write" + filter: "0~255" + display: "Relative Capacity" + comment: "" + - name: "sbiScheme" + type: "enum" + value: "0" + access: "read-write" + filter: '{"0":"http","1":"https"}' + display: "SBI Scheme" + comment: "" + - name: "sbiServerIp" + type: "string" + value: "192.168.1.183" + access: "read-write" + filter: '0~64' + display: "SBI Server IP" + comment: "" + - name: "sbiServerPort" + type: "int" + value: "8080" + access: "read-write" + filter: "0~65535" + display: "SBI Server Port" + comment: "0~65535" + - name: "nrfEnabled" + type: "bool" + value: "0" + access: "read-write" + filter: '{"0":"false","1":"true"}' + display: "NRF Enabled" + comment: "" + - name: "nrfUri" + type: "string" + value: "http://172.16.5.180:8080" + access: "read-write" + filter: '0~64' + display: "NRF URI" + comment: "" + - name: "ausfUri" + type: "string" + value: "http://172.16.5.130:8080" + access: "read-write" + filter: '0~64' + display: "AUSF URI" + comment: "" + - name: "udmUri" + type: "string" + value: "http://172.16.5.140:8080" + access: "read-write" + filter: '0~64' + display: "UDM URI" + comment: "" + - name: "smfUri" + type: "string" + value: "http://172.16.5.150:8080" + access: "read-write" + filter: '0~64' + display: "SMF URI" + comment: "" + - name: "pcfUri" + type: "string" + value: "http://172.16.5.160:8080" + access: "read-write" + filter: '0~64' + display: "PCF URI" + comment: "" + - name: "lmfUri" + type: "string" + value: "http://172.16.5.200:8080" + access: "read-write" + filter: '0~64' + display: "LMF URI" + comment: "" + - name: "nefUri" + type: "string" + value: "http://172.16.5.210:8080" + access: "read-write" + filter: '0~64' + display: "NEF URI" + comment: "" + - name: "dnnCorrectionEnabled" + type: "bool" + value: "0" + access: "read-write" + filter: '{"0":"false","1":"true"}' + display: "DNN Correction Enabled" + comment: "" + - name: "defaultDnn" + type: "string" + value: "cmnet" + access: "read-write" + filter: '0~64' + display: "Default DNN" + comment: "" + - name: "integrityAlgorithm" + type: "enum" + value: "2" + access: "read-write" + filter: '{"0":"NIA0","1":"NIA1","2":"NIA2","3":"NIA3"}' + display: "Integrity Algorithm" + comment: "" + - name: "cipheringAlgorithm" + type: "enum" + value: "0" + access: "read-write" + filter: '{"0":"NEA0","1":"NEA1","2":"NEA2","3":"NEA3"}' + display: "Ciphering Algorithm" + comment: "" + - name: "t3502" + type: "int" + value: "720" + access: "read-write" + filter: "" + display: "T3502" + comment: "" + - name: "t3512" + type: "int" + value: "3600" + access: "read-write" + filter: "" + display: "T3512" + comment: "" + - name: "t3513" + type: "int" + value: "2" + access: "read-write" + filter: "" + display: "T3513" + comment: "" + - name: "t3522" + type: "int" + value: "6" + access: "read-write" + filter: "" + display: "T3522" + comment: "" + - name: "t3550" + type: "int" + value: "6" + access: "read-write" + filter: "" + display: "T3550" + comment: "" + - name: "t3555" + type: "int" + value: "6" + access: "read-write" + filter: "" + display: "T3555" + comment: "" + - name: "t3560" + type: "int" + value: "6" + access: "read-write" + filter: "" + display: "T3560" + comment: "" + - name: "t3565" + type: "int" + value: "6" + access: "read-write" + filter: "" + display: "T3565" + comment: "" + - name: "t3570" + type: "int" + value: "6" + access: "read-write" + filter: "" + display: "T3570" + comment: "" + association: + display: "TNL Association" + array: + - name: "index" + type: "int" + value: "0" + access: "read-write" + filter: '0~15' + display: "Index" + comment: "0~15" + - name: "ngapIp" + type: "string" + value: "192.168.1.183" + access: "read-write" + filter: '0~64' + display: "NGAP IP" + comment: "" + - name: "ngapSctpPort" + type: "int" + value: "38412" + access: "read-write" + filter: "0~65535" + display: "NGAP SCTP Port" + comment: "0~65535" + - name: "weightFactor" + type: "int" + value: "255" + access: "read-write" + filter: "0~255" + display: "Weight" + comment: "" + guami: + display: "Guami List" + array: + - name: "index" + type: "int" + value: "0" + access: "read-write" + filter: '0~15' + display: "Index" + comment: "0~15" + - name: "plmnId" + type: "regex" + value: '46000' + access: "read-write" + filter: '^[0-9]{5,6}$' + display: "Plmn Id" + comment: "" + - name: "regionId" + type: "int" + value: '1' + access: "read-write" + filter: '0~256' + display: "Region ID" + comment: "0~256" + - name: "setId" + type: "int" + value: '1' + access: "read-write" + filter: '0~1023' + display: "Set ID" + comment: "" + - name: "pointer" + type: "int" + value: '1' + access: "read-write" + filter: '0~63' + display: "Pointer" + comment: "" + tai: + display: "TAI List" + array: + - name: "index" + type: "int" + value: "0" + access: "read-write" + filter: '0~15' + display: "Index" + comment: "0~15" + - name: "plmnId" + type: "regex" + value: '46000' + access: "read-write" + filter: '^[0-9]{5,6}$' + display: "Plmn Id" + comment: "" + - name: "tac" + type: "string" + value: "1" + access: "read-write" + filter: '0~8' + display: "TAC" + comment: "0~8" + slice: + display: "Slice List" + array: + - name: "index" + type: "int" + value: "0" + access: "read-write" + filter: '0~15' + display: "Index" + comment: "0~15" + - name: "plmnId" + type: "regex" + value: '46000' + access: "read-write" + filter: '^[0-9]{5,6}$' + display: "Plmn Id" + comment: "" + - name: "sst" + type: "int" + value: '1' + access: "read-write" + filter: '0~127' + display: "Sst" + comment: "" + - name: "sd" + type: "regex" + value: '000001' + access: "read-write" + filter: '' + display: "Sd" + comment: "" \ No newline at end of file diff --git a/config/param/ausf_param_config.yaml b/config/param/ausf_param_config.yaml new file mode 100644 index 00000000..3c60a816 --- /dev/null +++ b/config/param/ausf_param_config.yaml @@ -0,0 +1,46 @@ +ausf: + system: + display: "System" + list: + - name: "serviceIP" + type: "ipv4" + value: "172.16.5.130" + access: "read-write" + filter: '' + display: "Service IP" + comment: "" + - name: "servicePort" + type: "int" + value: "8080" + access: "read-write" + filter: "0~65535" + display: "Service Port" + comment: "0~65535" + - name: "scheme" + type: "enum" + value: "http" + access: "read-write" + filter: "{\"0\":\"http\", \"1\":\"https\"}" + display: "scheme" + comment: "" + - name: "nrfUri" + type: "string" + value: "http://172.16.5.180:8080" + access: "read-write" + filter: '' + display: "NRF URI" + comment: "" + - name: "udmUri" + type: "string" + value: "http://172.16.5.140:8080" + access: "read-write" + filter: '' + display: "UDM URI" + comment: "" + - name: "groupId" + type: "string" + value: "0" + access: "read-write" + filter: '' + display: "Group Id" + comment: "0~31" diff --git a/config/param/smf_param_config.yaml b/config/param/smf_param_config.yaml new file mode 100644 index 00000000..d1737c0b --- /dev/null +++ b/config/param/smf_param_config.yaml @@ -0,0 +1,286 @@ +smf: + smfSystem: + display: "SmfSystem" + list: + - name: "sbiIpAddr" + type: "string" + value: "172.16.5.150" + access: "read-write" + filter: '' + display: "SBI IpAddr" + comment: "" + - name: "sbiPort" + type: "int" + value: "8080" + access: "read-write" + filter: "0~65535" + display: "SBI Port" + comment: "0~65535" + - name: "sbiScheme" + type: "enum" + value: "http" + access: "read-write" + filter: "{\"0\":\"http\", \"1\":\"https\"}" + display: "SBI Scheme" + comment: "" + - name: "n4Ipv4" + type: "ipv4" + value: "172.16.5.150" + access: "read-write" + filter: '' + display: "N4 IPv4" + comment: "" + - name: "n4Ipv6" + type: "ipv6" + value: "" + access: "read-write" + filter: '' + display: "N4 Ipv6" + comment: "N4 IPv6" + - name: "n4UIpv4" + type: "ipv4" + value: "" + access: "read-write" + filter: '' + display: "N4U IPv4" + comment: "" + - name: "n4UIpv6" + type: "ipv6" + value: "" + access: "read-write" + filter: '' + display: "N4U IPv6" + comment: "N4U IPv6" + - name: "amfUri" + type: "string" + value: "http://172.16.5.120:8080" + access: "read-write" + filter: '' + display: "AMF Uri" + comment: "" + - name: "pcfUri" + type: "string" + value: "http://172.16.5.160:8080" + access: "read-write" + filter: '' + display: "PCF Uri" + comment: "" + - name: "udmUri" + type: "string" + value: "http://172.16.5.140:8080" + access: "read-write" + filter: '' + display: "UDM Uri" + comment: "" + - name: "nrfEnable" + type: "bool" + value: "false" + access: "read-write" + filter: "{\"0\":\"false\", \"1\":\"true\"}" + display: "NRF Enable" + comment: "" + - name: "nrfUri" + type: "string" + value: "http://172.16.5.180:8080" + access: "read-write" + filter: '' + display: "NRF Uri" + comment: "" + - name: "primaryDnsIpv4" + type: "ipv4" + value: "114.114.114.114" + access: "read-write" + filter: "" + display: "Primary Dns Ipv4" + comment: "" + - name: "secondaryDnsIpv4" + type: "ipv4" + value: "" + access: "read-write" + filter: "" + display: "Secondary Dns Ipv4" + comment: "" + - name: "primaryDnsIpv6" + type: "ipv6" + value: "" + access: "read-write" + filter: "" + display: "Primary Dns Ipv6" + comment: "" + - name: "secondaryDnsIpv6" + type: "ipv6" + value: "" + access: "read-write" + filter: "" + display: "Secondary Dns Ipv6" + comment: "" + - name: "primaryPcscfIpv4" + type: "ipv4" + value: "172.16.5.110" + access: "read-write" + filter: "" + display: "Primary Pcscf Ipv4" + comment: "" + - name: "secondaryPcscfIpv4" + type: "ipv4" + value: "" + access: "read-write" + filter: "" + display: "Secondary Pcscf Ipv4" + comment: "" + - name: "primaryPcscfIpv6" + type: "ipv6" + value: "" + access: "read-write" + filter: "" + display: "Primary Pcscf Ipv6" + comment: "" + - name: "secondaryPcscfIpv6" + type: "ipv6" + value: "" + access: "read-write" + filter: "" + display: "Secondary Pcscf Ipv6" + comment: "" + - name: "ueMtu" + type: "int" + value: "" + access: "read-write" + filter: "0~65535" + display: "Ue MTU" + comment: "" + upfConfig: + display: "UpfConfig" + array: + - name: "index" + type: "int" + value: "" + access: "read-write" + filter: '0~65535' + display: "Index" + comment: "" + - name: "id" + type: "string" + value: "" + access: "read-write" + filter: '1~64' + display: "Upf Id" + comment: "upfId-1" + - name: "addr" + type: "string" + value: "" + access: "read-write" + filter: '7~45' + display: "Addr" + comment: "ip:port" + - name: "ipv4Pools" + type: "string" + value: "" + access: "read-write" + filter: '10~256' + display: "Ipv4Pools" + comment: "CIDR format, e.g. 192.168.1.0/24" + - name: "ipv6Pools" + type: "string" + value: "" + access: "read-write" + filter: '5~512' + display: "Ipv6Pools" + comment: "CIDR format, e.g. fe80::20c:29ff:fee4:dab7/50" + - name: "staticIpv4Enable" + type: "bool" + value: "" + access: "read-write" + filter: "{\"0\":\"false\", \"1\":\"true\"}" + display: "StaticIpv4Enable" + comment: "" + - name: "staticIpv4Start" + type: "ipv4" + value: "" + access: "read-write" + filter: '' + display: "StaticIpv4Start" + comment: "ipv4 format" + - name: "staticIpv4End" + type: "ipv4" + value: "" + access: "read-write" + filter: '' + display: "StaticIpv4End" + comment: "ipv4 format" + - name: "staticIpv6Enable" + type: "bool" + value: "" + access: "read-write" + filter: "{\"0\":\"false\", \"1\":\"true\"}" + display: "StaticIpv6Enable" + comment: "" + - name: "staticIpv6Start" + type: "ipv6" + value: "" + access: "read-write" + filter: '' + display: "StaticIpv6Start" + comment: "ipv6 format" + - name: "staticIpv6End" + type: "ipv6" + value: "" + access: "read-write" + filter: '' + display: "StaticIpv6End" + comment: "ipv6 format" + dnnSelectUpf: + display: "DnnSelectUpf" + array: + - name: "index" + type: "int" + value: "0" + access: "read-write" + filter: '0~65535' + display: "Index" + comment: "" + - name: "dnn" + type: "string" + value: "" + access: "read-write" + filter: '1~64' + display: "Dnn" + comment: "" + - name: "upfId" + type: "string" + value: "" + access: "read-write" + filter: '1~64' + display: "Upf Id" + comment: "upf Id" + dnnTaiSelectUpf: + display: "DnnTaiSelectUpf" + array: + - name: "index" + type: "int" + value: "" + access: "read-write" + filter: '0~65535' + display: "Index" + comment: "" + - name: "dnn" + type: "string" + value: "" + access: "read-write" + filter: '1~64' + display: "Dnn" + comment: "" + - name: "tai" + type: "string" + value: "" + access: "read-write" + filter: '1~64' + display: "Tai" + comment: "46000123456" + - name: "upfId" + type: "string" + value: "upf2-Id" + access: "read-write" + filter: '1~64' + display: "Upf Id" + comment: "upf Id" \ No newline at end of file diff --git a/config/param/udm_param_config.yaml b/config/param/udm_param_config.yaml new file mode 100644 index 00000000..6ccf85aa --- /dev/null +++ b/config/param/udm_param_config.yaml @@ -0,0 +1,436 @@ +udm: + system: + display: "System" + list: + - name: "serviceIP" + type: "ipv4" + value: "172.16.5.140" + access: "read-write" + filter: '' + display: "Service IP" + comment: "" + - name: "servicePort" + type: "int" + value: "8080" + access: "read-write" + filter: "0~65535" + display: "Service Port" + comment: "0~65535" + - name: "nrfUri" + type: "string" + value: "http://172.16.5.180:8080" + access: "read-write" + filter: '' + display: "NRF URI" + comment: "" + - name: "ausfIP" + type: "ipv4" + value: "172.16.5.130" + access: "read-write" + filter: '' + display: "AUSF IP" + comment: "" + - name: "fqdn" + type: "string" + value: "agt.com" + access: "read-write" + filter: '' + display: "fqdn" + comment: "" + - name: "priority" + type: "int" + value: "1" + access: "read-write" + filter: "0~4095" + display: "Priority" + comment: "0~4095" + - name: "capacity" + type: "int" + value: "4096" + access: "read-write" + filter: "0~65535" + display: "Capacity" + comment: "0~65535" + - name: "groupId" + type: "string" + value: "0" + access: "read-write" + filter: '' + display: "Group Id" + comment: "0~31" + - name: "supiRanges" + type: "regex" + value: "imsi-001010100080000~imsi-001010100080099" + access: "read-write" + filter: '^imsi-\d{15}~imsi-\d{15}$' + display: "SUPI Ranges" + comment: "" + - name: "gpsiRanges" + type: "regex" + value: "msisdn-69072000~msisdn-69072099" + access: "read-write" + filter: '^msisdn-\d{2,15}~msisdn-\d{2,15}$' + display: "GPSI Ranges" + comment: "" + - name: "scheme" + type: "enum" + value: "0" + access: "read-write" + filter: "{\"0\":\"http\", \"1\":\"https\"}" + display: "scheme" + comment: "" + subsUEAmbr: + display: "Subs UE AMBR" + array: + - name: "index" + type: "int" + value: "1" + access: "read-only" + filter: '^\d{1,2}$' + display: "Index" + comment: "1~16" + - name: "name" + type: "string" + value: 'def_ambr' + access: "read-write" + filter: '^.{1,32}$' + display: "Name" + comment: "1~32" + - name: "uplink" + type: "string" + value: '1Gbps' + access: "read-write" + filter: '^\d+(\.\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$' + display: "Uplink" + comment: "" + - name: "downlink" + type: "string" + value: '2Gbps' + access: "read-write" + filter: '^\d+(\.\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$' + display: "Downlink" + comment: "" + subsNssais: + display: "Subs Nssais" + array: + - name: "index" + type: "int" + value: "1" + access: "read-only" + filter: '^\d{1,2}$' + display: "Index" + comment: "1~16" + - name: "name" + type: "string" + value: 'def_nssai' + access: "read-write" + filter: '^.{1,32}$' + display: "Name" + comment: "1~32" + - name: "supportedFeatures" + type: "string" + value: "1" + access: "read-write" + filter: '8~8' + display: "Supported Features" + comment: "8~8" + - name: "defaultSingleNSSAIs" + type: "string" + value: '1-000001' + access: "read-write" + filter: '' + display: "Default Single NSSAIs" + comment: "0~128" + - name: "singleNssais" + type: "string" + value: '1-000002' + access: "read-write" + filter: '' + display: "Single Nssais" + comment: "0~128" + forbiddenAreas: + display: "Forbidden Areas" + array: + - name: "index" + type: "int" + value: "1" + access: "read-only" + filter: '^\d{1,2}$' + display: "Index" + comment: "1~16" + - name: "name" + type: "string" + value: 'def_ambr' + access: "read-write" + filter: '^.{1,32}$' + display: "Name" + comment: "1~32" + - name: "tacs" + type: "string" + value: '123' + access: "read-write" + filter: '' + display: "TACs" + comment: "0~128" + - name: "areaCodes" + type: "string" + value: '123456' + access: "read-write" + filter: '' + display: "AreaCodes" + comment: "0~128" + serviceAreaRestriction: + display: "Service Area Restriction" + array: + - name: "index" + type: "int" + value: "1" + access: "read-only" + filter: '^\d{1,2}$' + display: "Index" + comment: "1~16" + - name: "name" + type: "string" + value: 'def_ambr' + access: "read-write" + filter: '^.{1,32}$' + display: "Name" + comment: "1~32" + - name: "restrictionType" + type: "enum" + value: '0' + access: "read-write" + filter: "{\"0\":\"allowedAreas\", \"1\":\"notAllowedAreas\"}" + display: "Restriction Type" + comment: "0~128" + - name: "tacs" + type: "string" + value: '123' + access: "read-write" + filter: '' + display: "TACs" + comment: "0~128" + - name: "areaCodes" + type: "string" + value: '123456' + access: "read-write" + filter: '' + display: "AreaCodes" + comment: "0~128" + - name: "maxTAs" + type: "int" + value: "1" + access: "read-write" + filter: '^\d{1,2}$' + display: "Max TAs" + comment: "0~32" + smfSelection: + display: "Subs Smf Selection" + array: + - name: "index" + type: "int" + value: "1" + access: "read-only" + filter: '1~16' + display: "Index" + comment: "1~16" + - name: "name" + type: "string" + value: 'def_snssai' + access: "read-write" + filter: '^.{1,32}$' + display: "Name" + comment: "0~32" + - name: "snssai" + type: "string" + value: '1-000001' + access: "read-write" + filter: '^\d{1,3}[A-Fa-f0-9]{6}$' + display: "Snssai" + comment: "" + - name: "dnnList" + type: "int" + value: '1' + access: "read-only" + filter: '1~4' + display: "Dnn List" + comment: "" + array: + - name: "index" + type: "int" + value: "1" + access: "read-only" + filter: '1~4' + display: "index" + comment: "1~4" + - name: "dnn" + type: "string" + value: 'cmnet' + access: "read-write" + filter: '^.{1,32}$' + display: "Dnn" + comment: "0~32" + - name: "defaultDnnInd" + type: "bool" + value: 'true' + access: "read-write" + filter: 'false;true;' + display: "default Dnn Indicator" + comment: "" + - name: "lboRoamingAllowed" + type: "bool" + value: 'false' + access: "read-write" + filter: 'false;true;' + display: "LBO Roaming Allowed" + comment: "LBO Roaming Allowed" + - name: "iwkEpsInd" + type: "bool" + value: 'false' + access: "read-write" + filter: 'false;true;' + display: "Iwk EPS Ind" + comment: "Iwk EPS Ind" + - name: "ladnIndicator" + type: "bool" + value: 'false' + access: "read-write" + filter: 'false;true;' + display: "LADN Indicator" + comment: "LADN Indicator" + dnn: + display: "Dnn Conf" + array: + - name: "index" + type: "int" + value: "1" + access: "read-only" + filter: '^\d{1,2}$' + display: "Index" + comment: "1~16" + - name: "name" + type: "string" + value: 'def_nssai' + access: "read-write" + filter: '^.{1,32}$' + display: "Name" + comment: "1~32" + - name: "defaultPDUSessionType" + type: "enum" + value: "0" + access: "read-write" + filter: "{\"0\":\"ipv4\",\"1\":\"ipv6\",\"2\":\"ipv4v6\",\"3\":\"ethernet\",\"4\":\"unstruction\"}" + display: "Default PDU Session Type" + comment: "" + - name: "allowedPDUSessionTypes" + type: "enum" + value: '0' + access: "read-write" + filter: "{\"0\":\"ipv4\",\"1\":\"ipv6\",\"2\":\"ipv4v6\",\"3\":\"ethernet\",\"4\":\"unstruction\",\"5\":\"ipv4andipv6\",\"6\":\"ipv4andipv4v6\",\"7\":\"ipv6andipv4v6\",\"8\":\"ipv4andipv6andipv4v6\"}" + display: "Allowed PDU Session Types" + comment: "" + - name: "defaultSSCmode" + type: "enum" + value: "0" + access: "read-write" + filter: "{\"0\":\"sscMode1\",\"1\":\"sscMode2\",\"2\":\"sscMode3\"}" + display: "Default SSC Mode" + comment: "1~16" + - name: "allowedSSCmodes" + type: "enum" + value: "0" + access: "read-write" + filter: "{\"0\":\"sscMode1\",\"1\":\"sscMode2\",\"2\":\"sscMode3\",\"3\":\"sscMode1sscMode2\",\"4\":\"sscMode1sscMode3\",\"5\":\"sscMode2sscMode3\",\"6\":\"sscMode1sscMode2sscMode3\"}" + display: "Allowed SSC Modes" + comment: "1~16" + - name: "interworkingEPSIndicator" + type: "bool" + value: "1" + access: "read-write" + filter: '' + display: "Interworking EPS Indicator" + comment: "" + - name: "ladnIndicator" + type: "bool" + value: "1" + access: "read-write" + filter: '' + display: "LADN Indicator" + comment: "" + - name: "chargingCharacteristics" + type: "string" + value: "0001" + access: "read-write" + filter: '4~4' + display: "Charging Characteristics" + comment: "4~4" + - name: "subscribedSessionAmbrUL" + type: "regex" + value: "1Gbps" + access: "read-write" + filter: '^\d+(\.\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$' + display: "Subscribed Session Ambr UL" + comment: "" + - name: "subscribedSessionAmbrDL" + type: "regex" + value: "2Gbps" + access: "read-write" + filter: '^\d+(\.\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$' + display: "Subscribed Session Ambr DL" + comment: "" + - name: "staticIPAddress" + type: "ipv4" + value: "192.168.1.100" + access: "read-write" + filter: '' + display: "Static IP Address" + comment: "" + - name: "userPlaneIntegrity" + type: "enum" + value: "3" + access: "read-write" + filter: "{\"0\":\"null\",\"1\":\"required\",\"2\":\"preferred\",\"3\":\"notNeeded\"}" + display: "User Plane Integrity" + comment: "" + - name: "userPlaneConfidentiality" + type: "enum" + value: "3" + access: "read-write" + filter: "{\"0\":\"null\",\"1\":\"required\",\"2\":\"preferred\",\"3\":\"notNeeded\"}" + display: "User Plane Confidentiality" + comment: "" + - name: "5qi" + type: "int" + value: "9" + access: "read-write" + filter: "0~255" + display: "5qi" + comment: "" + - name: "priorityLevel" + type: "int" + value: "9" + access: "read-write" + filter: "1~127" + display: "Priority Level" + comment: "" + - name: "arpPriorityLevel" + type: "int" + value: "6" + access: "read-write" + filter: "0~255" + display: "ARP Priority Level" + comment: "" + - name: "arpPreemptCap" + type: "enum" + value: "0" + access: "read-write" + filter: "{\"0\":\"notPreempt\",\"1\":\"mayPreempt\"}" + display: "ARP PreemptCap" + comment: "" + - name: "arpPreemptVuln" + type: "enum" + value: "0" + access: "read-write" + filter: "{\"0\":\"notPreemptable\",\"1\":\"preemptable\"}" + display: "ARP PreemptVuln" + comment: "" diff --git a/config/param/upf_param_config.yaml b/config/param/upf_param_config.yaml new file mode 100644 index 00000000..ce37cf9a --- /dev/null +++ b/config/param/upf_param_config.yaml @@ -0,0 +1,1435 @@ +upf: + General: + display: "General" + list: + - name: "ConfigFileDirectory" + type: "string" + value: "/usr/local/etc/upf/" + access: "read-write" + filter: '' + display: "Config File Directory" + comment: "" + - name: "ExeFileDirectory" + type: "string" + value: "/usr/local/bin/" + access: "read-write" + filter: '' + display: "Exe File Directory" + comment: "" + - name: "SystemId" + type: "int" + value: "1" + access: "read-write" + filter: '' + display: "System Id" + comment: "1~255" + - name: "DataForwarderNum" + type: "int" + value: "1" + access: "read-write" + filter: '1~8' + display: "Data Forwarder Number" + comment: "1~8" + - name: "CommonStatisticInterval" + type: "int" + value: "60" + access: "read-write" + filter: '0~255' + display: "Common Statistic Interval" + comment: "0~255" + - name: "UserStatisticInterval" + type: "int" + value: "60" + access: "read-write" + filter: '0~255' + display: "User Statistic Interval" + comment: "0~255" + Logger: + display: "Logger" + list: + - name: "LogFileFullPath" + type: "string" + value: "/var/log/upf.log" + access: "read-write" + filter: '' + display: "Log File Full Path" + comment: "" + - name: "LogLevel" + type: "string" + value: "error" + access: "read-write" + filter: '' + display: "Log Level" + comment: "error|warning|info|debug" + - name: "UpfdLogTransfer" + type: "bool" + value: "false" + access: "read-write" + filter: '' + display: "Upfd Log Transfer" + comment: "" + - name: "ReportCaller" + type: "bool" + value: "false" + access: "read-write" + filter: '' + display: "Report Caller" + comment: "" + Pfcp: + display: "Pfcp" + list: + - name: "IpType" + type: "string" + value: "ipv4" + access: "read-write" + filter: '' + display: "Ip Type" + comment: "ipv4|ipv6|ipv46" + - name: "LocalIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Local Ipv4" + comment: "" + - name: "LocalIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Local Ipv6" + comment: "" + - name: "LocalUdpPort" + type: "int" + value: "8805" + access: "read-write" + filter: '0~65535' + display: "Local Udp Port" + comment: "0~65535" + - name: "SmfIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "SMF Ipv4" + comment: "" + - name: "SmfIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "SMF Ipv6" + comment: "" + - name: "SmfUdpPort" + type: "int" + value: "8805" + access: "read-write" + filter: '0~65535' + display: "SMF UDP Port" + comment: "0~65535" + - name: "RetryInterval" + type: "int" + value: "2" + access: "read-write" + filter: '0~255' + display: "Retry Interval" + comment: "0~255" + - name: "MaxRetry" + type: "int" + value: "3" + access: "read-write" + filter: '0~255' + display: "Max Retry" + comment: "0~255" + - name: "HeartbeatInterval" + type: "int" + value: "15" + access: "read-write" + filter: '0~255' + display: "Heartbeat Interval" + comment: "0~255" + Omc: + display: "Omc" + list: + - name: "Enabled" + type: "bool" + value: "false" + access: "read-write" + filter: '' + display: "Enabled" + comment: "" + - name: "IpType" + type: "string" + value: "ipv4" + access: "read-write" + filter: '' + display: "Ip Type" + comment: "ipv4|ipv6|ipv46" + - name: "LocalIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Local Ipv4" + comment: "" + - name: "LocalIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Local Ipv6" + comment: "" + - name: "LocalSeverPort" + type: "int" + value: "3030" + access: "read-write" + filter: '0~65535' + display: "Local Sever Port" + comment: "0~65535" + - name: "OmcIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "OMC Ipv4" + comment: "" + - name: "OmcIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "OMC Ipv6" + comment: "" + - name: "OmcPort" + type: "int" + value: "3030" + access: "read-write" + filter: '0~65535' + display: "OMC Port" + comment: "0~65535" + - name: "HttpScheme" + type: "string" + value: "http" + access: "read-write" + filter: '' + display: "Http Scheme" + comment: "http|https" + - name: "KpiStatisticInterval" + type: "int" + value: "1" + access: "read-write" + filter: '0~255' + display: "Kpi Statistic Interval" + comment: "0~255" + - name: "NeId" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Ne Id" + comment: "" + - name: "NeName" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Ne Name" + comment: "" + - name: "ObjectName" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Object Name" + comment: "" + - name: "Province" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Province" + comment: "" + - name: "PVFlag" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "PV Flag" + comment: "" + Telnet: + display: "Telnet" + list: + - name: "Enabled" + type: "bool" + value: "false" + access: "read-write" + filter: '' + display: "Enabled" + comment: "" + - name: "IpType" + type: "string" + value: "ipv4" + access: "read-write" + filter: '' + display: "Ip Type" + comment: "ipv4|ipv6|ipv46" + - name: "LocalIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Local Ipv4" + comment: "" + - name: "LocalIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Local Ipv6" + comment: "" + - name: "LocalPort" + type: "int" + value: "4100" + access: "read-write" + filter: '0~65535' + display: "Local Port" + comment: "0~65535" + Sbi: + display: "Sbi" + list: + - name: "Enabled" + type: "bool" + value: "false" + access: "read-write" + filter: '' + display: "Enabled" + comment: "" + - name: "IpType" + type: "string" + value: "ipv4" + access: "read-write" + filter: '' + display: "Ip Type" + comment: "ipv4|ipv6|ipv46" + - name: "LocalIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Local Ipv4" + comment: "" + - name: "LocalIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Local Ipv6" + comment: "" + - name: "LocalPort" + type: "int" + value: "4100" + access: "read-write" + filter: '0~65535' + display: "Local Port" + comment: "0~65535" + - name: "NrfIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "NRF Ipv4" + comment: "" + - name: "NrfIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "NRF Ipv6" + comment: "" + - name: "NrfPort" + type: "int" + value: "8080" + access: "read-write" + filter: '0~65535' + display: "NRF Port" + comment: "0~65535" + RedisDb: + display: "RedisDb" + list: + - name: "Enabled" + type: "bool" + value: "false" + access: "read-write" + filter: '' + display: "Enabled" + comment: "" + - name: "NetType" + type: "string" + value: "tcp" + access: "read-write" + filter: '' + display: "Net Type" + comment: "tcp|udp" + - name: "ServerAddr" + type: "string" + value: "0.0.0.0:0" + access: "read-write" + filter: '' + display: "Server Address" + comment: "" + DataForwarderCommon: + display: "Data Forwarder Common" + list: + - name: "Type" + type: "string" + value: "upfd" + access: "read-only" + filter: '' + display: "Type" + comment: "Type" + - name: "InstanceId" + type: "int" + value: "1" + access: "read-only" + filter: '1~255' + display: "Instance Id" + comment: "1~255" + - name: "MainCpu" + type: "int" + value: "1" + access: "read-write" + filter: '1~255' + display: "Main Cpu" + comment: "1~255" + - name: "CpuWorkers" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Cpu Workers" + comment: "2,3,4,5 or 2-5" + - name: "IsRun" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Is Run" + comment: "data forwarder already run or not" + - name: "IsHotStandby" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Is Hot Standby" + comment: "Hot Standby work or not" + - name: "TeidStart" + type: "int" + value: "16777216" + access: "read-write" + filter: '' + display: "Teid Start" + comment: "Teid Start Value" + DataForwarderUpfd: + display: "Data Forwarder Upfd" + list: + - name: "UioDriver" + type: "string" + value: "vfio-pci" + access: "read-write" + filter: '' + display: "Uio Driver" + comment: "Uio Driver name" + - name: "CommandlineListen" + type: "string" + value: "localhost:5002" + access: "read-write" + filter: '' + display: "Telnet Address IP:Port" + comment: "Telnet Address IP:Port" + - name: "HeapSizeGB" + type: "int" + value: "2" + access: "read-write" + filter: '1~4' + display: "Heap Size Gb" + comment: "Heap Size Gb" + - name: "StateSegSizeMB" + type: "int" + value: "256" + access: "read-write" + filter: '64~512' + display: "State Seg Size Mb" + comment: "State Seg Size Mb" + - name: "DpdkNoPci" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Dpdk No Pci" + comment: "Dpdk No Pci" + - name: "SessionBaseVa" + type: "string" + value: "0x2000000000" + access: "read-write" + filter: '' + display: "Session Base Va" + comment: "Session Base Va" + DataInterfaceList: + display: "Data Interface List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "InterfaceType" + type: "string" + value: "N3" + access: "read-write" + filter: '' + display: "Interface Type" + comment: "N3|N6|N9|N19" + - name: "InterfaceId" + type: "int" + value: "0" + access: "read-write" + filter: '0~255' + display: "Interface Id" + comment: "Interface Id" + - name: "DriverType" + type: "string" + value: "host" + access: "read-write" + filter: '' + display: "Driver Type" + comment: "host|vmxnet3|dpdk|socket|uds" + - name: "DnnName" + type: "string" + value: "default" + access: "read-write" + filter: '' + display: "Dnn Name" + comment: "Dnn Name" + - name: "IpType" + type: "string" + value: "ipv4" + access: "read-write" + filter: '' + display: "Ip Type" + comment: "ipv4|ipv6|ipv4v6" + - name: "Ipv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Ipv4" + comment: "Ipv4 Address" + - name: "Ipv4Mask" + type: "string" + value: "255.255.255.0" + access: "read-write" + filter: '' + display: "Ipv4 Mask" + comment: "Ipv4 Mask Address" + - name: "Ipv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Ipv6" + comment: "Ipv6 Address" + - name: "Ipv6Prefix" + type: "int" + value: "64" + access: "read-write" + filter: '1~128' + display: "Ipv6 Prefix" + comment: "Ipv6 Prefix Value" + - name: "MacAddr" + type: "string" + value: "00:00:00:00:00:00" + access: "read-write" + filter: '' + display: "Mac Address" + comment: "Mac Address" + - name: "InterfacePCI" + type: "string" + value: "0000:00:00.0" + access: "read-write" + filter: '' + display: "Interface PCI" + comment: "Interface PCI Value" + - name: "SystemNetworkCardName" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "System Network Card Name" + comment: "System Network Card Name" + - name: "GatewayIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Gateway Ipv4" + comment: "Gateway Ipv4 Value" + - name: "GatewayIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Gateway Ipv6" + comment: "Gateway Ipv6 Value" + - name: "Mtu" + type: "int" + value: "1500" + access: "read-write" + filter: '1~65536' + display: "Mtu" + comment: "Mtu" + - name: "VlanIdMin" + type: "int" + value: "0" + access: "read-write" + filter: '' + display: "Vlan Id Min" + comment: "Vlan Id Min Value" + - name: "VlanIdMax" + type: "int" + value: "" + access: "read-write" + filter: '' + display: "Vlan Id Max" + comment: "Vlan Id Max Value" + - name: "UdpSrcPort" + type: "int" + value: "0" + access: "read-write" + filter: '1~65536' + display: "Udp Src Port" + comment: "Udp Src Port" + - name: "UdpListenPort" + type: "string" + value: "2152" + access: "read-write" + filter: '1~65536' + display: "Udp Listen Port" + comment: "Udp Listen Port Value" + - name: "UdsLocalFileFullPath" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Uds Local File Full Path" + comment: "Uds Local File Full Path" + - name: "UdsRemoteFileFullPath" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Uds Remote File Full Path" + comment: "Uds Remote File Full Path" + - name: "LinkDetectionType" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Link Detection Type" + comment: "Link Detection Type" + - name: "GtpuRemoteIpv4PoolList" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "Gtpu Remote Ipv4 Pool List" + comment: "Gtpu Remote Ipv4 Pool List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "Ipv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Ipv4" + comment: "Ipv4" + - name: "Ipv4Mask" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Ipv4 Mask" + comment: "Ipv4 Mask" + - name: "GtpuRemoteIpv6PoolList" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "Gtpu Remote Ipv6 Pool List" + comment: "Gtpu Remote Ipv6 Pool List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "Ipv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Ipv6" + comment: "Ipv6" + - name: "Ipv6Prefix" + type: "int" + value: "64" + access: "read-write" + filter: '' + display: "Ipv6 Prefix" + comment: "Ipv6 Prefix" + - name: "GtpuSignalingHandle" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Gtpu Signaling Handle" + comment: "Gtpu Signaling Handle" + - name: "ImsDefaultDSCPValue" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Ims Default DSCP Value" + comment: "Ims Default DSCP Value" + - name: "DataDefaultDSCPValue" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Data Default DSCP Value" + comment: "Data Default DSCP Value" + - name: "InnerDSCPValueMap" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Inner DSCP Value Map" + comment: "Inner DSCP Value Map" + - name: "MaxSupportSpeedMbps" + type: "int" + value: "0" + access: "read-write" + filter: '0~65536' + display: "Max Support Speed Mbps" + comment: "Max Support Speed Mbps" + - name: "DpdkRxQueuesNumber" + type: "int" + value: "0" + access: "read-write" + filter: '0~127' + display: "Dpdk Rx Queues Number" + comment: "Dpdk Rx Queues Number" + - name: "DpdkTxQueuesNumber" + type: "int" + value: "0" + access: "read-write" + filter: '0~127' + display: "Dpdk Tx Queues Number" + comment: "Dpdk Tx Queues Number" + - name: "DpdkWorkersNumber" + type: "int" + value: "0" + access: "read-write" + filter: '0~127' + display: "Dpdk Workers Number" + comment: "Dpdk Workers Number" + NetworkControlCommon: + display: "Network Control Common" + list: + - name: "LocalSwitchDisabled" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Local Switch Disabled" + comment: "Local Switch Disabled" + - name: "MaxTCPSyncPerSecond" + type: "int" + value: "0" + access: "read-write" + filter: '' + display: "Max TCP Sync Per Second" + comment: "Max TCP Sync Per Second" + - name: "UpfMaxSupportMbps" + type: "int" + value: "0" + access: "read-write" + filter: '' + display: "Upf Max Support Mbps" + comment: "Upf Max Support Mbps" + NetworkControlDnnList: + display: "Network Control Dnn List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "DnnName" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Dnn Name" + comment: "Dnn Name" + - name: "N3InterfaceId" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "N3 Interface Id" + comment: "N3 Interface Id" + - name: "N6InterfaceId" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "N6 Interface Id" + comment: "N6 Interface Id" + - name: "HttpProtoEnabled" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Http Proto Enabled" + comment: "Http Proto Enabled" + - name: "HttpsProtoEnabled" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Https Proto Enabled" + comment: "Https Proto Enabled" + - name: "HeaderEnrichInfoList" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "Header Enrich Info List" + comment: "Header Enrich Info List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "Type" + type: "int" + value: "0" + access: "read-write" + filter: '' + display: "Type" + comment: "Type" + - name: "Name" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Name" + comment: "Name" + - name: "Value" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Value" + comment: "Value" + - name: "StatisticEnabled" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Statistic Enabled" + comment: "Statistic Enabled" + - name: "LocalSwitchCheck" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Local Switch Check" + comment: "Local Switch Check" + - name: "QerMaxSupportMbps" + type: "int" + value: "0" + access: "read-write" + filter: '' + display: "QER Max Support Mbps" + comment: "QER Max Support Mbps" + - name: "UeIpv4PoolList" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "Ue Ipv4 Pool List" + comment: "Ue Ipv4 Pool List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "Ipv4" + type: "string" + value: "0.0.0.0" + access: "read-only" + filter: '' + display: "Ipv4" + comment: "Ipv4" + - name: "Ipv4Mask" + type: "string" + value: "255.255.255.0" + access: "read-only" + filter: '' + display: "Ipv4Mask" + comment: "Ipv4Mask" + - name: "UeIpv6PoolList" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "Ue Ipv6 Pool List" + comment: "Ue Ipv6 Pool List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "Ipv6" + type: "string" + value: "" + access: "read-only" + filter: '' + display: "Ipv6" + comment: "Ipv6" + - name: "Ipv6Prefix" + type: "int" + value: "64" + access: "read-only" + filter: '1~128' + display: "Ipv6 Prefix" + comment: "Ipv6 Prefix" + - name: "DstServerIpv4PoolList" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "Dst Server Ipv4 Pool List" + comment: "Dst Server Ipv4 Pool List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "Ipv4" + type: "string" + value: "0.0.0.0" + access: "read-only" + filter: '' + display: "Ipv4" + comment: "Ipv4" + - name: "Ipv4Mask" + type: "string" + value: "255.255.255.0" + access: "read-only" + filter: '' + display: "Ipv4Mask" + comment: "Ipv4Mask" + - name: "DstServerIpv6PoolList" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "Dst Server Ipv6 Pool List" + comment: "Dst Server Ipv6 Pool List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "Ipv6" + type: "string" + value: "" + access: "read-only" + filter: '' + display: "Ipv6" + comment: "Ipv6" + - name: "Ipv6Prefix" + type: "int" + value: "64" + access: "read-only" + filter: '1~128' + display: "Ipv6 Prefix" + comment: "Ipv6 Prefix" + - name: "GatewayIpType" + type: "string" + value: "ipv4" + access: "read-write" + filter: '' + display: "Gateway Ip Type" + comment: "ipv4|ipv6|ipv4v6" + - name: "GatewayIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Gateway Ipv4" + comment: "Gateway Ipv4" + - name: "GatewayIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Gateway Ipv6" + comment: "Gateway Ipv6" + - name: "M2MIpType" + type: "string" + value: "ipv4" + access: "read-write" + filter: '' + display: "M2M Ip Type" + comment: "ipv4|ipv6|ipv4v6" + - name: "M2MIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "M2M Ipv4" + comment: "M2M Ipv4" + - name: "M2MIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "M2M Ipv6" + comment: "M2M Ipv6" + - name: "M2MUdpPort" + type: "int" + value: "" + access: "read-write" + filter: '1~65535' + display: "M2M Udp Port" + comment: "M2M Udp Port" + - name: "GreLocalInnerIpType" + type: "string" + value: "ipv4" + access: "read-write" + filter: '' + display: "Gre Local Inner Ip Type" + comment: "ipv4|ipv6|ipv4v6" + - name: "GreLocalInnerIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Gre Local Inner Ipv4" + comment: "Gre Local Inner Ipv4" + - name: "GreLocalInnerIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Gre Local Inner Ipv6" + comment: "Gre Local Inner Ipv6" + - name: "GreRemoteOuterIpType" + type: "string" + value: "ipv4" + access: "read-write" + filter: '' + display: "Gre Remote Outer Ip Type" + comment: "ipv4|ipv6|ipv4v6" + - name: "GreRemoteOuterIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Gre Remote Outer Ipv4" + comment: "Gre Remote Outer Ipv4" + - name: "GreRemoteOuterIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Gre Remote Outer Ipv6" + comment: "Gre Remote Outer Ipv6" + NetworkControlSnssaiList: + display: "Network Control Snssai List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "Sst" + type: "int" + value: "0" + access: "read-write" + filter: '' + display: "Sst" + comment: "Sst" + - name: "Sd" + type: "int" + value: "0" + access: "read-write" + filter: '' + display: "Sd" + comment: "Sd" + - name: "N3InterfaceId" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "N3 Interface Id" + comment: "N3 Interface Id" + - name: "N6InterfaceId" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "N6 Interface Id" + comment: "N6 Interface Id" + - name: "QerMaxSupportMbps" + type: "int" + value: "0" + access: "read-write" + filter: '' + display: "Qer Max Support Mbps" + comment: "Qer Max Support Mbps" + - name: "StatisticEnabled" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Statistic Enabled" + comment: "Statistic Enabled" + - name: "VlanIdMin" + type: "int" + value: "0" + access: "read-write" + filter: '' + display: "Vlan Id Min" + comment: "Vlan Id Min" + - name: "VlanIdMax" + type: "int" + value: "0" + access: "read-write" + filter: '' + display: "Vlan Id Max" + comment: "Vlan Id Max" + NetworkControlAclWhiteList: + display: "Network Control Acl White List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "UeIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Ue Ipv4" + comment: "Ue Ipv4" + - name: "UeIpv4Mask" + type: "string" + value: "255.255.255.0" + access: "read-write" + filter: '' + display: "Ue Ipv4 Mask" + comment: "Ue Ipv4 Mask" + - name: "UeIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Ue Ipv6" + comment: "Ue Ipv6" + - name: "UeIpv6Prefix" + type: "int" + value: "64" + access: "read-write" + filter: '1~128' + display: "Ue Ipv6 Prefix" + comment: "Ue Ipv6 Prefix" + - name: "DstServerIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Dst Server Ipv4" + comment: "Dst Server Ipv4" + - name: "DstServerIpv4Mask" + type: "string" + value: "255.255.255.0" + access: "read-write" + filter: '' + display: "Dst Server Ipv4 Mask" + comment: "Dst Server Ipv4 Mask" + - name: "DstServerIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Dst Server Ipv6" + comment: "Dst Server Ipv6" + - name: "DstServerIpv6Prefix" + type: "int" + value: "64" + access: "read-write" + filter: '1~128' + display: "Dst Server Ipv6 Prefix" + comment: "Dst Server Ipv6 Prefix" + NetworkControlAclBlackList: + display: "Network Control Acl Black List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "UeIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Ue Ipv4" + comment: "Ue Ipv4" + - name: "UeIpv4Mask" + type: "string" + value: "255.255.255.0" + access: "read-write" + filter: '' + display: "Ue Ipv4 Mask" + comment: "Ue Ipv4 Mask" + - name: "UeIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Ue Ipv6" + comment: "Ue Ipv6" + - name: "UeIpv6Prefix" + type: "int" + value: "64" + access: "read-write" + filter: '1~128' + display: "Ue Ipv6 Prefix" + comment: "Ue Ipv6 Prefix" + - name: "DstServerIpv4" + type: "string" + value: "0.0.0.0" + access: "read-write" + filter: '' + display: "Dst Server Ipv4" + comment: "Dst Server Ipv4" + - name: "DstServerIpv4Mask" + type: "string" + value: "255.255.255.0" + access: "read-write" + filter: '' + display: "Dst Server Ipv4 Mask" + comment: "Dst Server Ipv4 Mask" + - name: "DstServerIpv6" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Dst Server Ipv6" + comment: "Dst Server Ipv6" + - name: "DstServerIpv6Prefix" + type: "int" + value: "64" + access: "read-write" + filter: '1~128' + display: "Dst Server Ipv6 Prefix" + comment: "Dst Server Ipv6 Prefix" + DpiCommon: + display: "Dpi Common" + list: + - name: "MaxDetectPacketNum" + type: "int" + value: "20" + access: "read-write" + filter: '' + display: "Max Detect Packet Num" + comment: "Max Detect Packet Num" + - name: "DnsCacheEnabled" + type: "int" + value: "0~1" + access: "read-write" + filter: '' + display: "Dns Cache Enabled" + comment: "Dns Cache Enabled" + - name: "HttpProtoEnabled" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Http Proto Enabled" + comment: "Http Proto Enabled" + - name: "HttpsProtoEnabled" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Https Proto Enabled" + comment: "Https Proto Enabled" + DpiHeaderEnrichInfoList: + display: "Dpi Header Enrich Info List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "Type" + type: "int" + value: "0" + access: "read-write" + filter: '' + display: "Type" + comment: "Type" + - name: "Name" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Name" + comment: "Name" + - name: "Value" + type: "string" + value: "" + access: "read-write" + filter: '' + display: "Value" + comment: "Value" + DpiAppList: + display: "Dpi App List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "AppName" + type: "string" + value: "" + access: "read-only" + filter: '' + display: "App Name" + comment: "App Name" + - name: "ProxyEnabled" + type: "int" + value: "0" + access: "read-only" + filter: '0~1' + display: "Proxy Enabled" + comment: "Proxy Enabled" + - name: "ForceCheckType" + type: "int" + value: "0" + access: "read-write" + filter: '0~1' + display: "Force Check Type" + comment: "Force Check Type" + - name: "N3InterfaceId" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "N3 Interface Id" + comment: "N3 Interface Id" + - name: "N6InterfaceId" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "N6 Interface Id" + comment: "N6 Interface Id" + - name: "RuleList" + type: "int" + value: "1" + access: "read-write" + filter: '1~32' + display: "Rule List" + comment: "Rule List" + array: + - name: "Index" + type: "int" + value: "1" + access: "read-only" + filter: '1~32' + display: "Index" + comment: "1~32" + - name: "RuleId" + type: "int" + value: "" + access: "read-only" + filter: '' + display: "Rule Id" + comment: "Rule Id" + - name: "RegexMatch" + type: "string" + value: "" + access: "read-only" + filter: '' + display: "Regex Match" + comment: "Regex Match" + - name: "FlowDescription" + type: "string" + value: "" + access: "read-only" + filter: '' + display: "Flow Description" + comment: "Flow Description" + - name: "CustomName" + type: "string" + value: "" + access: "read-only" + filter: '' + display: "Custom Name" + comment: "Custom Name" \ No newline at end of file diff --git a/config/pm/AMF-PM(V1.1.5)-Company-Version00.xlsx b/config/pm/AMF-PM(V1.1.5)-Company-Version00.xlsx new file mode 100644 index 00000000..be4519dd Binary files /dev/null and b/config/pm/AMF-PM(V1.1.5)-Company-Version00.xlsx differ diff --git a/config/pm/PCF-PM(V1.1.4)-Company-Version00.xlsx b/config/pm/PCF-PM(V1.1.4)-Company-Version00.xlsx new file mode 100644 index 00000000..70923dfa Binary files /dev/null and b/config/pm/PCF-PM(V1.1.4)-Company-Version00.xlsx differ diff --git a/config/pm/SMF-PM(V1.2.1))-Company-Version00.xlsx b/config/pm/SMF-PM(V1.2.1))-Company-Version00.xlsx new file mode 100644 index 00000000..86d9363e Binary files /dev/null and b/config/pm/SMF-PM(V1.2.1))-Company-Version00.xlsx differ diff --git a/config/pm/UDM-PM(V1.2.2)-Company-Version00.xlsx b/config/pm/UDM-PM(V1.2.2)-Company-Version00.xlsx new file mode 100644 index 00000000..6567e5d3 Binary files /dev/null and b/config/pm/UDM-PM(V1.2.2)-Company-Version00.xlsx differ diff --git a/config/pm/UPF-PM(V1.2.1)-Company-Version00.xlsx b/config/pm/UPF-PM(V1.2.1)-Company-Version00.xlsx new file mode 100644 index 00000000..3a87b61f Binary files /dev/null and b/config/pm/UPF-PM(V1.2.1)-Company-Version00.xlsx differ diff --git a/config/schema/cm-schema.xsd b/config/schema/cm-schema.xsd new file mode 100644 index 00000000..5e7e46c9 --- /dev/null +++ b/config/schema/cm-schema.xsd @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/schema/pm-schema.xsd b/config/schema/pm-schema.xsd new file mode 100644 index 00000000..bb018401 --- /dev/null +++ b/config/schema/pm-schema.xsd @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/sh/cb_sms.sh b/config/sh/cb_sms.sh new file mode 100644 index 00000000..64e93480 --- /dev/null +++ b/config/sh/cb_sms.sh @@ -0,0 +1,15 @@ +#!/usr/bin/expect + +#This script is to invoke CB_SMS via debug command + +spawn telnet 192.168.1.51 4965 + +send "x\n" +send "n\n" +sleep 1 +send "\033\n" +send "vlr start cb_sms\n" +sleep 1 +send "q\n" + +exit diff --git a/config/sh/check_cfg.sh b/config/sh/check_cfg.sh new file mode 100644 index 00000000..a6765347 --- /dev/null +++ b/config/sh/check_cfg.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +while true; do + +timestamp=`date +%s` + +filepath=~altouser/imsi.txt +if [ -f $filepath ]; +then + filetimestamp=`stat -c %Y $filepath` + timegap=$(($timestamp-$filetimestamp)) + if [ $timegap -gt 2 ]; then + mv $filepath /etc/edge/white_list.cfg + fi +fi + +filepath=~altouser/dns.txt +if [ -f $filepath ]; +then + filetimestamp=`stat -c %Y $filepath` + timegap=$(($timestamp-$filetimestamp)) + if [ $timegap -gt 2 ]; then + mv $filepath /etc/edge/dns.txt + fi +fi + +filepath=~altouser/osmo-bsc.cfg +if [ -f $filepath ]; +then + filetimestamp=`stat -c %Y $filepath` + timegap=$(($timestamp-$filetimestamp)) + if [ $timegap -gt 2 ]; then + mv $filepath /etc/edge/osmo-bsc.cfg + fi +fi + + +filepath=~altouser/cb_sms.cfg +if [ -f $filepath ]; +then + filetimestamp=`stat -c %Y $filepath` + timegap=$(($timestamp-$filetimestamp)) + if [ $timegap -gt 2 ]; then + mv $filepath /etc/edge/cb_sms.cfg + /usr/bin/cb_sms.sh + fi +fi + + + +sleep 1 + +done diff --git a/config/systemState.json b/config/systemState.json new file mode 100644 index 00000000..ed7c58e4 --- /dev/null +++ b/config/systemState.json @@ -0,0 +1,495 @@ + +EXP #1: "Get all smf systemState" + +URI: 192.168.30.20: 3030/api/rest/systemManagement/v1/elementType/smf/objectType/systemState + +RETURN: + +{ + "data": [ + "SMF_0": { + "ipAddress": "192.168.1.232", + "systemState": { + "version": "1.5.3.2", + "capability": 10000, + "serialNum": "13740126", + "expiryDate": "2025-02-28", + "cpuUsage": { + "nfCpuUsage": 41, + "sysCpuUsage": 78 + }, + "memUsage": { + "totalMem": 4025608, + "nfUsedMem": 160872, + "sysMemUsage": 1341 + }, + "diskSpace": { + "partitionNum": 19, + "partitionInfo": [ + { + "total": 1920, + "used": 0 + }, + { + "total": 393, + "used": 11 + }, + { + "total": 48700, + "used": 32360 + }, + { + "total": 1965, + "used": 0 + }, + { + "total": 5, + "used": 0 + }, + { + "total": 1965, + "used": 0 + }, + { + "total": 55, + "used": 55 + }, + { + "total": 63, + "used": 63 + }, + { + "total": 91, + "used": 91 + }, + { + "total": 49, + "used": 49 + }, + { + "total": 55, + "used": 55 + }, + { + "total": 73, + "used": 73 + }, + { + "total": 91, + "used": 91 + }, + { + "total": 1475, + "used": 206 + }, + { + "total": 49, + "used": 49 + }, + { + "total": 393, + "used": 11 + }, + { + "total": 393, + "used": 0 + }, + { + "total": 73, + "used": 73 + }, + { + "total": 63, + "used": 63 + } + ] + } + } + }, + "SMF_1": { + "ipAddress": "192.168.1.73", + "systemState": { + "version": "1.5.3.2", + "capability": 10000, + "serialNum": "13740126", + "expiryDate": "2025-02-28", + "cpuUsage": { + "nfCpuUsage": 41, + "sysCpuUsage": 78 + }, + "memUsage": { + "totalMem": 4025608, + "nfUsedMem": 160872, + "sysMemUsage": 1341 + }, + "diskSpace": { + "partitionNum": 19, + "partitionInfo": [ + { + "total": 1920, + "used": 0 + }, + { + "total": 393, + "used": 11 + }, + { + "total": 48700, + "used": 32360 + }, + { + "total": 1965, + "used": 0 + }, + { + "total": 5, + "used": 0 + }, + { + "total": 1965, + "used": 0 + }, + { + "total": 55, + "used": 55 + }, + { + "total": 63, + "used": 63 + }, + { + "total": 91, + "used": 91 + }, + { + "total": 49, + "used": 49 + }, + { + "total": 55, + "used": 55 + }, + { + "total": 73, + "used": 73 + }, + { + "total": 91, + "used": 91 + }, + { + "total": 1475, + "used": 206 + }, + { + "total": 49, + "used": 49 + }, + { + "total": 393, + "used": 11 + }, + { + "total": 393, + "used": 0 + }, + { + "total": 73, + "used": 73 + }, + { + "total": 63, + "used": 63 + } + ] + } + } + } + ] +} + + +EXP #2: "Get single smf systemState" + +URI: 192.168.30.20: 3030/api/rest/systemManagement/v1/elementType/smf/objectType/systemState?subsys_no=0 + +RETURN: + +{ + "data": [ + "SMF_0": { + "ipAddress": "192.168.1.232", + "systemState": { + "version": "1.5.3.2", + "capability": 10000, + "serialNum": "13740126", + "expiryDate": "2025-02-28", + "cpuUsage": { + "nfCpuUsage": 41, + "sysCpuUsage": 78 + }, + "memUsage": { + "totalMem": 4025608, + "nfUsedMem": 160872, + "sysMemUsage": 1341 + }, + "diskSpace": { + "partitionNum": 19, + "partitionInfo": [ + { + "total": 1920, + "used": 0 + }, + { + "total": 393, + "used": 11 + }, + { + "total": 48700, + "used": 32360 + }, + { + "total": 1965, + "used": 0 + }, + { + "total": 5, + "used": 0 + }, + { + "total": 1965, + "used": 0 + }, + { + "total": 55, + "used": 55 + }, + { + "total": 63, + "used": 63 + }, + { + "total": 91, + "used": 91 + }, + { + "total": 49, + "used": 49 + }, + { + "total": 55, + "used": 55 + }, + { + "total": 73, + "used": 73 + }, + { + "total": 91, + "used": 91 + }, + { + "total": 1475, + "used": 206 + }, + { + "total": 49, + "used": 49 + }, + { + "total": 393, + "used": 11 + }, + { + "total": 393, + "used": 0 + }, + { + "total": 73, + "used": 73 + }, + { + "total": 63, + "used": 63 + } + ] + } + } + } + ] +} + +EXP #2: "Get all NFs systemState" + +URI: 192.168.30.20: 3030/api/rest/systemManagement/v1/elementType/all/objectType/systemState + +RETURN: + +{ + "data": [ + { + "AMF_0": { + "error": { + "errorCode": "1", + "errorInfo": "Internal server error, NF connnect refused" + }, + "ipAddress": "192.168.2.188" + } + }, + { + "SMF_0": { + "ipAddress": "192.168.1.232", + "systemState": { + "capability": 10000, + "cpuUsage": { + "nfCpuUsage": 2, + "sysCpuUsage": 52 + }, + "diskSpace": { + "partitionInfo": [ + { + "total": 1920, + "used": 0 + }, + { + "total": 393, + "used": 13 + }, + { + "total": 48700, + "used": 32431 + }, + { + "total": 1965, + "used": 0 + }, + { + "total": 5, + "used": 0 + }, + { + "total": 1965, + "used": 0 + }, + { + "total": 55, + "used": 55 + }, + { + "total": 63, + "used": 63 + }, + { + "total": 91, + "used": 91 + }, + { + "total": 49, + "used": 49 + }, + { + "total": 55, + "used": 55 + }, + { + "total": 73, + "used": 73 + }, + { + "total": 91, + "used": 91 + }, + { + "total": 1475, + "used": 206 + }, + { + "total": 49, + "used": 49 + }, + { + "total": 393, + "used": 13 + }, + { + "total": 393, + "used": 0 + }, + { + "total": 73, + "used": 73 + }, + { + "total": 63, + "used": 63 + } + ], + "partitionNum": 19 + }, + "expiryDate": "2025-02-28", + "memUsage": { + "nfUsedMem": 163992, + "sysMemUsage": 1345, + "totalMem": 4025608 + }, + "serialNum": "13740126", + "version": "1.5.3.2" + } + } + }, + { + "SMF_1": { + "ipAddress": "192.168.1.173", + "systemState": { + "capability": 10000, + "cpuUsage": { + "nfCpuUsage": 0, + "sysCpuUsage": 69 + }, + "diskSpace": { + "partitionInfo": [ + { + "total": 3966, + "used": 0 + }, + { + "total": 797, + "used": 0 + }, + { + "total": 200559, + "used": 5968 + }, + { + "total": 3987, + "used": 0 + }, + { + "total": 5, + "used": 0 + }, + { + "total": 3987, + "used": 0 + }, + { + "total": 797, + "used": 0 + } + ], + "partitionNum": 7 + }, + "expiryDate": "2024-12-31", + "memUsage": { + "nfUsedMem": 212136, + "sysMemUsage": 720, + "totalMem": 8167360 + }, + "serialNum": "13740272", + "version": "1.5.3.3" + } + } + } + ] +} + diff --git a/config/temp.json b/config/temp.json new file mode 100644 index 00000000..da2d306a --- /dev/null +++ b/config/temp.json @@ -0,0 +1,71 @@ +{ + "retFmt": "GetDB", + "retMsg": "RetCode = %d operation succeeded\n\n", + "errMsg": "ErrorCode = %d operation failed: %s\n\n", + "title": "Alarm Information", + "singleList": true, + "sepSpaceNum": 2, + "alignmentM": "Left", + "alignmentSN": "Right", + "alignmentSV": "Left", + "cols": [ + { + "name": "ne_type", + "display": "NE type", + "length": 10 + }, + { + "name": "ne_id", + "display": "NE UID", + "length": 28 + }, + { + "name": "ne_name", + "display": "NE name", + "length": 28 + }, + { + "name": "alarm_seq", + "display": "Alarm sequence", + "length": 11 + }, + { + "name": "alarm_title", + "display": "Alarm title", + "length": 11 + }, + { + "name": "orig_severity", + "display": "Original severity", + "length": 11 + "alias": [ + "Critical", + "Major", + "Minor", + "Warning", + "Event" + ] + }, + { + "name": "pv_flag", + "display": "Phisical/Virtual flag", + "length": 10 + }, + { + "name": "event_time", + "display": "Event time", + "length": 18 + } + ], + "end": "(Number of results = %d)\n\n" +} + + +Linux localhost.localdomain 4.19.90-52.19.v2207.ky10.aarch64 #1 SMP Wed Feb 1 15: 49: 49 CST 2023 aarch64 GNU/Linux + +mysql Ver 15.1 Distrib 10.3.35-MariaDB, for Linux (aarch64) using readline 5.1 + +["netype", "neid", "nename", "alarmcode", "origseverity", "pvflag", "starttime", "endtime", "alarmtype", "alarmstatus"] + +/api/rest/dataManagement/v1/omc_db/mml_command?sql=select operation, object, mml_display, json_extract(param_json,'$[* +].name') as params FROM mml_command \ No newline at end of file diff --git a/config/trace/msgType.txt b/config/trace/msgType.txt new file mode 100644 index 00000000..a2c1978a --- /dev/null +++ b/config/trace/msgType.txt @@ -0,0 +1,96 @@ +// N12 +const ( + N12PostUeAuthentications uint8= 1 + N12Put5gAkaConfirmations uint8= 2 + N12Delete5gAkaConfirmation uint8= 3 + N12PostEapSession uint8= 4 + N12DeleteEapSession uint8= 5 +) + +var n12MsgStr = []string{"null", + "Nausf_AUTH_Post ue-authentications", + "Nausf_AUTH_Put 5g-aka-confirmation", + "Nausf_AUTH_Delete 5g-aka-confirmation", + "Nausf_AUTH_Post eap-session", + "Nausf_AUTH_Delete eap-session", +} + +// N13 +const ( + N13PostGenerateAuthData uint8= 1 + N13PostAuthEvents uint8= 2 +) + +var n13MsgStr = [3]string{"null", + "Nudm_UEAU_Post generate-auth-data", + "Nudm_UEAU_Post auth-events", +} + +// N8 +const ( + N8GetSupi uint8= 1 + N8GetNssai uint8= 2 + N8GetAmData uint8= 3 + N8PutAmDataCagAck uint8= 4 + N8GetSmfSelectData uint8= 5 + N8PostSdmSubscriptions uint8= 6 + N8PatchSdmSubscriptions uint8= 7 + N8DeleteSdmSubscriptions uint8= 8 + N8GETIdTranslationResult uint8= 9 + + N8PutAmf3GppAccessRegistration uint8= 10 + N8PatchAmf3GppAccessRegistration uint8= 11 + N8GetAmf3GppAccessRegistration uint8= 12 + + N8DeregistrationCallback uint8= 13 +) + +var n8MsgStr = []string{"null", + "Nudm_SDM_Get supi", + "Nudm_SDM_Get nssai", + "Nudm_SDM_Get am-data", + "Nudm_SDM_Put am-data cag-ack", + "Nudm_SDM_Get smf-select-data", + "Nudm_SDM_Post sdm-subscriptions", + "Nudm_SDM_Patch sdm-subscriptions", + "Nudm_SDM_Delete sdm-subscriptions", + "Nudm_SDM_Get id-translation-result", + + "Nudm_UECM_Put amf-3gpp-access", + "Nudm_UECM_Patch amf-3gpp-access", + "Nudm_UECM_Get amf-3gpp-access", + + "Namf_Callback Deregistraion", +} + +// N10 +const ( + N10GetSmData uint8= 1 + + N10PostSdmSubscriptions uint8= 2 + N10PatchSdmSubscriptions uint8= 3 + N10DeleteSdmSubscriptions uint8= 4 + N10GETIdTranslationResult uint8= 5 + + N10GetSmfRegistrations uint8= 6 + N10PutIndividualSmfRegistration uint8= 7 + N10PatchIndividualSmfRegistration uint8= 8 + N10GetIndividualSmfRegistration uint8= 9 + N10DeleteIndividualSmfRegistration uint8= 10 +) + +var n10MsgStr = []string{"null", +"Nudm_SDM_Get sm-data", + +"Nudm_SDM_Post sdm-subscriptions", +"Nudm_SDM_Patch sdm-subscriptions", +"Nudm_SDM_Delete sdm-subscriptions", +"Nudm_SDM_Get id-translation-result", + +"Nudm_UECM_Get smf-registrations", +"Nudm_UECM_Put smf-registrations", +"Nudm_UECM_Patch smf-3gpp-access", +"Nudm_UECM_Get smf-3gpp-access", +"Nudm_UECM_Delete smf-3gpp-access", +} + diff --git a/crontask/etc/crontask.yaml b/crontask/etc/crontask.yaml index a8e3755d..a23c9087 100644 --- a/crontask/etc/crontask.yaml +++ b/crontask/etc/crontask.yaml @@ -2,7 +2,7 @@ # level: /trace/debug/info/error/warn/error/fatal, default: debug # duration: saved days, default is 30 days logger: - file: d:/goprojects/ems.agt/crontask/log/crontask.log + file: d:/omc.git/goprojects/ems.agt/crontask/log/crontask.log level: trace duration: 24 count: 10 @@ -27,7 +27,7 @@ database: host: 127.0.0.1 port: 33066 name: omc_db - backup: d:/goprojects/ems.agt/restagent/database + backup: d:/omc.git/goprojects/ems.agt/restagent/database # northbound interface, cm/pm nbi: diff --git a/database/install/4a_log.sql b/database/install/4a_log.sql new file mode 100644 index 00000000..f90a9ba5 --- /dev/null +++ b/database/install/4a_log.sql @@ -0,0 +1,34 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 07/07/2023 14:59:02 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for 4a_log +-- ---------------------------- +DROP TABLE IF EXISTS `4a_log`; +CREATE TABLE `4a_log` ( + `LogTime` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + `SubUser` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `App` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `Sip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `AppModule` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `OpType` enum('Login','Logout','AddPrivilege','DelPrivilege','UpdatePrivilege','View','Add','Update','Del','Other') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Other', + `OpText` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/alarm.sql b/database/install/alarm.sql new file mode 100644 index 00000000..0ddcbe0f --- /dev/null +++ b/database/install/alarm.sql @@ -0,0 +1,61 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 27/07/2023 20:08:55 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for alarm +-- ---------------------------- +DROP TABLE IF EXISTS `alarm`; +CREATE TABLE `alarm` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `alarm_seq` int(11) NULL DEFAULT NULL, + `alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `alarm_code` int(11) NULL DEFAULT NULL, + `event_time` datetime NULL DEFAULT NULL, + `alarm_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `orig_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Minor' COMMENT '1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)', + `perceived_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)', + `pv_flag` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0', + `object_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `location_info` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_status` int(11) NOT NULL DEFAULT 1 COMMENT '0:clear, 1:active', + `specific_problem` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `specific_problem_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `add_info` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `counter` int(11) NULL DEFAULT 0, + `latest_event_time` datetime NULL DEFAULT NULL, + `ack_state` tinyint(4) NULL DEFAULT 0 COMMENT '0: Unacked, 1: Acked', + `ack_time` datetime NULL DEFAULT NULL, + `ack_user` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `clear_type` tinyint(4) NULL DEFAULT 0 COMMENT '0: Unclear, 1: AutoClear, 2: ManualClear', + `clear_time` datetime NULL DEFAULT NULL, + `clear_user` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `timestamp` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `idx_uni_aid_ne_aseq`(`ne_type`, `ne_id`, `alarm_id`, `alarm_seq`) USING BTREE, + INDEX `idx_event_time`(`event_time`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 109734 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/alarm_define.sql b/database/install/alarm_define.sql new file mode 100644 index 00000000..a22183f5 --- /dev/null +++ b/database/install/alarm_define.sql @@ -0,0 +1,53 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 30/07/2023 23:49:27 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for alarm_define +-- ---------------------------- +DROP TABLE IF EXISTS `alarm_define`; +CREATE TABLE `alarm_define` ( + `alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `alarm_code` int(11) NULL DEFAULT NULL, + `alarm_title_cn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `orig_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Warning' COMMENT 'Critical, Major, Minor, Warning, Event(Only VNF)', + `object_uid` varchar(28) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0', + `object_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `location_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `specific_problem` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `specific_problem_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `add_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `threshold` bigint(20) NULL DEFAULT NULL, + `status` enum('Inactive','Active') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Active', + PRIMARY KEY (`alarm_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of alarm_define +-- ---------------------------- +INSERT INTO `alarm_define` VALUES ('RJHXEMSCM10100', 10100, 'License即将过期', 'The license is about to expire', 'EMS', 'EnvironmentalAlarm', 'Warning', NULL, 'EMS;CM;License', 'CM', '', 'Alarm cause: the license expiration time is less than %d days', 'AC10100', '', 15, 'Active'); +INSERT INTO `alarm_define` VALUES ('RJHXEMSPM10200', 10200, '性能越限', 'Performance exceeds the threshold', 'EMS', 'QualityOfServiceAlarm', 'Warning', NULL, 'EMS;PM', 'PM', '', 'Alarm cause: performance exceed threshold, alarm generate from omc', 'AC10200', '', NULL, 'Active'); +INSERT INTO `alarm_define` VALUES ('RJHXEMSPM10201', 10201, '性能数据采集超时', 'Performance data report timed out', 'EMS', 'EquipmentAlarm', 'Minor', NULL, 'EMS;PM', 'PM', '', 'Alarm cause: performance data report timed out, period=%d(minutes), time delay=%d(minutes), alarm generate from omc', 'AC10201', '', NULL, 'Active'); +INSERT INTO `alarm_define` VALUES ('RJHXEMSSM10000', 10000, '系统状态异常', 'The system state is abnormal', 'EMS', 'EquipmentAlarm', 'Major', NULL, 'EMS;SystemManagement;Heartbeat', 'SystemState', '', 'Alarm cause: the system state of target NE has not been received for %d seconds', 'AC10000', '', 30, 'Active'); +INSERT INTO `alarm_define` VALUES ('RJHXEMSSM10001', 10001, 'CPU占用率越限', 'CPU usage exceeds the threshold', 'EMS', 'EnvironmentalAlarm', 'Minor', NULL, 'EMS;SystemManagement;Heartbeat', 'SystemState', '', 'Alarm cause: the CPU occupancy rate of the target NE exceeds %d', 'AC10001', '', 70, 'Active'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/alarm_forward_log.sql b/database/install/alarm_forward_log.sql new file mode 100644 index 00000000..0d95e6a2 --- /dev/null +++ b/database/install/alarm_forward_log.sql @@ -0,0 +1,38 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 31/07/2023 22:49:32 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for alarm_forward_log +-- ---------------------------- +DROP TABLE IF EXISTS `alarm_forward_log`; +CREATE TABLE `alarm_forward_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_seq` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `event_time` datetime NULL DEFAULT NULL, + `to_user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `oper_result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `log_time` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 24 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/alarm_log.sql b/database/install/alarm_log.sql new file mode 100644 index 00000000..71f958b2 --- /dev/null +++ b/database/install/alarm_log.sql @@ -0,0 +1,37 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 18/07/2023 11:40:56 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for alarm_log +-- ---------------------------- +DROP TABLE IF EXISTS `alarm_log`; +CREATE TABLE `alarm_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0', + `alarm_seq` int(11) NULL DEFAULT NULL, + `alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0', + `alarm_code` int(11) NULL DEFAULT 0, + `alarm_status` smallint(6) NULL DEFAULT NULL, + `event_time` datetime NULL DEFAULT NULL, + `log_time` datetime NOT NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2168 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/cm_title.sql b/database/install/cm_title.sql new file mode 100644 index 00000000..4f0e2c69 --- /dev/null +++ b/database/install/cm_title.sql @@ -0,0 +1,295 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 21/06/2023 20:43:33 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for cm_title +-- ---------------------------- +DROP TABLE IF EXISTS `cm_title`; +CREATE TABLE `cm_title` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `cm_en` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `cm_cn` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `description` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 3056 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of cm_title +-- ---------------------------- +INSERT INTO `cm_title` VALUES (2800, 'AMF', 'ManagedElement', 'AMFAA01', 'Id', '标识符', '网元标识,只在OMC范围内有效'); +INSERT INTO `cm_title` VALUES (2801, 'AMF', 'ManagedElement', 'AMFAA02', 'UserLabel', '用户友好名', '网元名称,根据运营商的网元命名规则设定。'); +INSERT INTO `cm_title` VALUES (2802, 'AMF', 'ManagedElement', 'AMFAA03', 'VendorName', '厂商名称', '厂商名称'); +INSERT INTO `cm_title` VALUES (2803, 'AMF', 'ManagedElement', 'AMFAA04', 'ManagedBy', '管理节点', '管理ManagedElement的ManagementNode对象类的DN值'); +INSERT INTO `cm_title` VALUES (2804, 'AMF', 'ManagedElement', 'AMFAA05', 'ManagementIpAddress', '网管接口IP地址列表', '网管接口IP地址列表\n如支持IPV4V6,IPV4和IPV6都要呈现。'); +INSERT INTO `cm_title` VALUES (2805, 'AMF', 'ManagedElement', 'AMFAA06', 'SwVersion', '软件版本', '网元的软件版本'); +INSERT INTO `cm_title` VALUES (2806, 'AMF', 'ManagedElement', 'AMFAA07', 'PatchInfo', '补丁信息', '补丁信息,用于表示当前网元加载的补丁名称列表。'); +INSERT INTO `cm_title` VALUES (2807, 'AMF', 'ManagedElement', 'AMFAA08', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2808, 'AMF', 'ManagedElement', 'AMFAA09', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (2809, 'AMF', 'AmfFunction', 'AMFAB01', 'Id', '标识符', '对象标识,只在OMC范围内有效'); +INSERT INTO `cm_title` VALUES (2810, 'AMF', 'AmfFunction', 'AMFAB02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2811, 'AMF', 'AmfFunction', 'AMFAB03', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2812, 'AMF', 'AmfFunction', 'AMFAB04', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (2813, 'AMF', 'AmfFunction', 'AMFAB05', 'VnfInstanceId', '虚拟化实例标识', '虚拟网元的InstanceId'); +INSERT INTO `cm_title` VALUES (2814, 'AMF', 'AmfFunction', 'AMFAB06', 'Fqdn', 'AmfFunction的FQDN', '基于服务化接口的AmfFunction的FQDN,FQDN结构请参见TS23.003.'); +INSERT INTO `cm_title` VALUES (2815, 'AMF', 'AmfFunction', 'AMFAB07', 'SbiServiceList', 'AmfFunction的服务列表', 'AmfFunction上所有注册到服务化接口的service列表,该列表由每个service的名称组成,其中ServiceName参见29.510 Table 6.1.6.3.11-1: Enumeration ServiceName定义'); +INSERT INTO `cm_title` VALUES (2816, 'AMF', 'AmfFunction', 'AMFAB08', 'AmfGuamiList', '全球AMF唯一标识列表', ' = \n = '); +INSERT INTO `cm_title` VALUES (2817, 'AMF', 'AmfFunction', 'AMFAB09', 'SnssaiList', '网络切片列表', 'S-NSSAI的列表,S-NSSAI=SST-SD。S-NSSAI的格式按照3GPP规范要求,本身32bit,前8bit代表SST,后24bit代表SD。\n此变量为长度为10个字符字符,组成方式:3个字符标识SST + “-” + 6个字符标识SD\n前3个字符为SST对应8bit十进制数直接变为字符串(比如数字133->”133”)\n后6个字符位SD对应的24bit的十六进制数直接变为字符串(例如数字FEFA89->”FEFA89”)样例(供参考):133-FEFA89'); +INSERT INTO `cm_title` VALUES (2818, 'AMF', 'AmfFunction', 'AMFAB10', 'MaxUser', '最大注册用户数', '当前软硬件配置条件下(如licence限制),AMF最大能够支持的注册用户数。'); +INSERT INTO `cm_title` VALUES (2819, 'AMF', 'AmfFunction', 'AMFAB11', 'RelativeCapacity', '相对容量', 'AMF集合内该AMF的相对容量,代表了NG-RAN选择AMF的概率。取值为整数[0..255]。'); +INSERT INTO `cm_title` VALUES (2820, 'AMF', 'AmfFunction', 'AMFAB12', 'MaxGnbNum', '最大支持基站数', '当前软硬件配置条件下(如licence限制),AMF最大可以支持的5G基站数。'); +INSERT INTO `cm_title` VALUES (2821, 'AMF', 'EpRpDynN8Amf', 'AMFAC01', 'Id', '标识符', 'N8接口标识'); +INSERT INTO `cm_title` VALUES (2822, 'AMF', 'EpRpDynN8Amf', 'AMFAC02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2823, 'AMF', 'EpRpDynN8Amf', 'AMFAC03', 'LocIpAddrList', '本端IP地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4或Ipv6的地址格式)。'); +INSERT INTO `cm_title` VALUES (2824, 'AMF', 'EpRpDynN8Amf', 'AMFAC04', 'FarIpSubnetworkList', '远端IP子网列表', '参考点所关联的远端IP子网列表:\n1.Ipv4:List of Struct{\n Subnetwork:string,\n Mask:string }\n若子网仅包含一个IP地址,则Subnetwork为该IP地址,Mask为255.255.255.255。\n若子网地址为0.0.0.0,Mask可为任意值(通常也取0.0.0.0),代表所有局向。\n2.Ipv6:子网+前缀方式,样例供参考:\n{(2409:802F:0000:0207:0000:0000:1001:0502,128),(2409:802F:0000:0207:0000:0000:1001:0501,128)}或{(2409:802F:0000:0207::1001:0502,128),(2409:802F:0000:0207::1001:0501,128)}或{(2409:802F:0:207::1001:502,128),(2409:802F:0:207::1001:501,128)}'); +INSERT INTO `cm_title` VALUES (2825, 'AMF', 'EpRpDynN11Amf', 'AMFAD01', 'Id', '标识符', 'N11接口标识'); +INSERT INTO `cm_title` VALUES (2826, 'AMF', 'EpRpDynN11Amf', 'AMFAD02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2827, 'AMF', 'EpRpDynN11Amf', 'AMFAD03', 'LocIpAddrList', '本端IP地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4或Ipv6的地址格式)。'); +INSERT INTO `cm_title` VALUES (2828, 'AMF', 'EpRpDynN11Amf', 'AMFAD04', 'FarIpSubnetworkList', '远端IP子网列表', '参考点所关联的远端IP子网列表:\n1.Ipv4:List of Struct{\n Subnetwork:string,\n Mask:string }\n若子网仅包含一个IP地址,则Subnetwork为该IP地址,Mask为255.255.255.255。\n若子网地址为0.0.0.0,Mask可为任意值(通常也取0.0.0.0),代表所有局向。\n2.Ipv6:子网+前缀方式,样例供参考:\n{(2409:802F:0000:0207:0000:0000:1001:0502,128),(2409:802F:0000:0207:0000:0000:1001:0501,128)}或{(2409:802F:0000:0207::1001:0502,128),(2409:802F:0000:0207::1001:0501,128)}或{(2409:802F:0:207::1001:502,128),(2409:802F:0:207::1001:501,128)}'); +INSERT INTO `cm_title` VALUES (2829, 'AMF', 'EpRpDynN12Amf', 'AMFAE01', 'Id', '标识符', 'N12接口标识'); +INSERT INTO `cm_title` VALUES (2830, 'AMF', 'EpRpDynN12Amf', 'AMFAE02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2831, 'AMF', 'EpRpDynN12Amf', 'AMFAE03', 'LocIpAddrList', '本端IP地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4或Ipv6的地址格式)。'); +INSERT INTO `cm_title` VALUES (2832, 'AMF', 'EpRpDynN12Amf', 'AMFAE04', 'FarIpSubnetworkList', '远端IP子网列表', '参考点所关联的远端IP子网列表:\n1.Ipv4:List of Struct{\n Subnetwork:string,\n Mask:string }\n若子网仅包含一个IP地址,则Subnetwork为该IP地址,Mask为255.255.255.255。\n若子网地址为0.0.0.0,Mask可为任意值(通常也取0.0.0.0),代表所有局向。\n2.Ipv6:子网+前缀方式,样例供参考:\n{(2409:802F:0000:0207:0000:0000:1001:0502,128),(2409:802F:0000:0207:0000:0000:1001:0501,128)}或{(2409:802F:0000:0207::1001:0502,128),(2409:802F:0000:0207::1001:0501,128)}或{(2409:802F:0:207::1001:502,128),(2409:802F:0:207::1001:501,128)}'); +INSERT INTO `cm_title` VALUES (2833, 'AMF', 'IPResource', 'AMFAF01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2834, 'AMF', 'IPResource', 'AMFAF02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (2835, 'AMF', 'IPResource', 'AMFAF03', 'InterfaceType', '接口类型', '包含管理接口和业务接口。枚举值{Mgt,N2,NLs,NLg,N26,Nnrf,N12,N8,N15,N22,N14,N11,DnsQry},备注:管理接口为Mgt。'); +INSERT INTO `cm_title` VALUES (2836, 'AMF', 'IPResource', 'AMFAF04', 'LocIpV4AddrList', '本端IPV4地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4地址格式),如无IPV4地址,填写{Default}。'); +INSERT INTO `cm_title` VALUES (2837, 'AMF', 'IPResource', 'AMFAF05', 'LocIpV6AddrList', '本端IPV6地址列表', '参考点所关联的本端网元的IP地址列表(Ipv6地址格式),如无IPV6地址,填写{Default}。'); +INSERT INTO `cm_title` VALUES (2838, 'PCF', 'ManagedElement', 'PCFAA01', 'Id', '标识符', '网元标识,只在OMC范围内有效'); +INSERT INTO `cm_title` VALUES (2839, 'PCF', 'ManagedElement', 'PCFAA02', 'UserLabel', '用户友好名', '网元名称,根据运营商的网元命名规则设定。'); +INSERT INTO `cm_title` VALUES (2840, 'PCF', 'ManagedElement', 'PCFAA03', 'VendorName', '厂商名称', '厂商名称'); +INSERT INTO `cm_title` VALUES (2841, 'PCF', 'ManagedElement', 'PCFAA04', 'ManagedBy', '管理节点', '管理ManagedElement的ManagementNode对象类的DN值'); +INSERT INTO `cm_title` VALUES (2842, 'PCF', 'ManagedElement', 'PCFAA05', 'ManagementIpAddress', '网管接口IP地址列表', '网管接口IP地址列表'); +INSERT INTO `cm_title` VALUES (2843, 'PCF', 'ManagedElement', 'PCFAA06', 'SwVersion', '软件版本', '网元的软件版本'); +INSERT INTO `cm_title` VALUES (2844, 'PCF', 'ManagedElement', 'PCFAA07', 'PatchInfo', '补丁信息', '补丁信息,用于表示当前网元加载的补丁名称列表。'); +INSERT INTO `cm_title` VALUES (2845, 'PCF', 'ManagedElement', 'PCFAA08', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2846, 'PCF', 'ManagedElement', 'PCFAA09', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (2847, 'PCF', 'PcfFunction', 'PCFAB01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2848, 'PCF', 'PcfFunction', 'PCFAB02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2849, 'PCF', 'PcfFunction', 'PCFAB03', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2850, 'PCF', 'PcfFunction', 'PCFAB04', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (2851, 'PCF', 'PcfFunction', 'PCFAB05', 'VnfInstanceId', '虚拟化实例标识', '虚拟网元的InstanceId'); +INSERT INTO `cm_title` VALUES (2852, 'PCF', 'PcfFunction', 'PCFAB05', 'Fqdn', 'PcfFunction的FQDN', '基于服务化接口PcfFunction的FQDN,FQDN结构请参见TS23.003.'); +INSERT INTO `cm_title` VALUES (2853, 'PCF', 'PcfFunction', 'PCFAB06', 'SbiServiceList', 'PcfFunction的服务列表', 'PcfFunction上所有注册到服务化接口的service列表,该列表由每个service的名称组成。其中ServiceName参见29.510 Table 6.1.6.3.11-1: Enumeration ServiceName定义'); +INSERT INTO `cm_title` VALUES (2854, 'PCF', 'UdrFunction', 'PCFAC01', 'Id', '标识符', '命名属性'); +INSERT INTO `cm_title` VALUES (2855, 'PCF', 'UdrFunction', 'PCFAC02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。 语音PCF不涉及Udr,语音PCF对应指标填写PCF的取值。'); +INSERT INTO `cm_title` VALUES (2856, 'PCF', 'UdrFunction', 'PCFAC03', 'AdministrativeState', '管理状态', '管理的状态,枚举型 {Locked, Unlocked, ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2857, 'PCF', 'UdrFunction', 'PCFAC04', 'OperationalState', '运行状态', '运行的状态,枚举型{Disabled,Enabled}'); +INSERT INTO `cm_title` VALUES (2858, 'PCF', 'UdrFunction', 'PCFAC07', 'MaxSubNbr', '最大签约用户数', 'UDR最大能存储的签约用户的个数,该值受软硬件条件共同限制,如Licence。\n语音PCF不涉及Udr,语音PCF对应指标填0。'); +INSERT INTO `cm_title` VALUES (2859, 'PCF', 'IPResource', 'PCFAD01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2860, 'PCF', 'IPResource', 'PCFAD02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (2861, 'PCF', 'IPResource', 'PCFAD03', 'InterfaceType', '接口类型', '包含管理接口和业务接口(信令和媒体)。枚举型{Mgt,Rx,Gx,N5,N7,N15,N28},备注:管理接口为Mgt。'); +INSERT INTO `cm_title` VALUES (2862, 'PCF', 'IPResource', 'PCFAD04', 'LocIpV4AddrList', '本端IPV4地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4地址格式),如无IPV4地址,填写{Default}。'); +INSERT INTO `cm_title` VALUES (2863, 'PCF', 'IPResource', 'PCFAD05', 'LocIpV6AddrList', '本端IPV6地址列表', '参考点所关联的本端网元的IP地址列表(Ipv6地址格式),如无IPV6地址,填写{Default}。'); +INSERT INTO `cm_title` VALUES (2864, 'SMF', 'ManagedElement', 'SMFAA01', 'Id', '标识符', '网元标识,只在OMC范围内有效'); +INSERT INTO `cm_title` VALUES (2865, 'SMF', 'ManagedElement', 'SMFAA02', 'UserLabel', '用户友好名', '网元名称,根据运营商的网元命名规则设定。'); +INSERT INTO `cm_title` VALUES (2866, 'SMF', 'ManagedElement', 'SMFAA03', 'VendorName', '厂商名称', '厂商名称'); +INSERT INTO `cm_title` VALUES (2867, 'SMF', 'ManagedElement', 'SMFAA04', 'ManagedBy', '管理节点', '管理ManagedElement的ManagementNode对象类的DN值'); +INSERT INTO `cm_title` VALUES (2868, 'SMF', 'ManagedElement', 'SMFAA05', 'ManagementIpAddress', '网管接口IP地址列表', '网管接口IP地址列表\n如支持IPV4V6,IPV4和IPV6都要呈现。'); +INSERT INTO `cm_title` VALUES (2869, 'SMF', 'ManagedElement', 'SMFAA06', 'SwVersion', '软件版本', '网元的软件版本'); +INSERT INTO `cm_title` VALUES (2870, 'SMF', 'ManagedElement', 'SMFAA07', 'PatchInfo', '补丁信息', '补丁信息,用于表示当前网元加载的补丁名称列表。'); +INSERT INTO `cm_title` VALUES (2871, 'SMF', 'ManagedElement', 'SMFAA08', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2872, 'SMF', 'ManagedElement', 'SMFAA09', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (2873, 'SMF', 'SmfFunction', 'SMFAB01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2874, 'SMF', 'SmfFunction', 'SMFAB02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2875, 'SMF', 'SmfFunction', 'SMFAB03', 'AdministrativeState', '管理状态', '管理的状态,枚举型 {Locked, Unlocked, ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2876, 'SMF', 'SmfFunction', 'SMFAB04', 'OperationalState', '运行状态', '运行的状态,枚举型{Disabled,Enabled}'); +INSERT INTO `cm_title` VALUES (2877, 'SMF', 'SmfFunction', 'SMFAB05', 'VnfInstanceId', '虚拟化实例标识', '虚拟网元的InstanceId'); +INSERT INTO `cm_title` VALUES (2878, 'SMF', 'SmfFunction', 'SMFAB06', 'Fqdn', 'SmfFunction的FQDN', '基于服务化接口的SmfFunction的FQDN,FQDN结构请参见TS23.003'); +INSERT INTO `cm_title` VALUES (2879, 'SMF', 'SmfFunction', 'SMFAB07', 'SbiServiceList', 'SmfFunction的服务列表', 'SmfFunction上所有注册到服务化接口的service列表,该列表由每个service的名称组成,服务名称参见29.510 Table 6.1.6.3.11-1: Enumeration ServiceName的定义'); +INSERT INTO `cm_title` VALUES (2880, 'SMF', 'SmfFunction', 'SMFAB08', 'MaxPduSessions', '最大PDU会话数', '当前软硬件配置条件下(如licence限制),SMF最大支持的并发PDU Session数。'); +INSERT INTO `cm_title` VALUES (2881, 'SMF', 'SmfFunction', 'SMFAB09', 'MaxQfi', '最大QFI数', '当前软硬件配置条件下(如licence限制),SMF最大支持的并发QFI数。'); +INSERT INTO `cm_title` VALUES (2882, 'SMF', 'SmfFunction', 'SMFAB10', 'UpfList', 'UPF列表', 'SMF管理的UPF的DN列表'); +INSERT INTO `cm_title` VALUES (2883, 'SMF', 'AddrPool', 'SMFAC01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2884, 'SMF', 'AddrPool', 'SMFAC02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2885, 'SMF', 'AddrPool', 'SMFAC03', 'AddrType', '地址类型', '表示地址的类型,枚举 {Dynamic, Static}'); +INSERT INTO `cm_title` VALUES (2886, 'SMF', 'AddrPool', 'SMFAC04', 'IpVersion', 'IP版本', '表示地址池的IP的版本,包括{IPv4,IPv6}'); +INSERT INTO `cm_title` VALUES (2887, 'SMF', 'AddrPool', 'SMFAC05', 'AddrSegList', 'IP地址分段列表', '指该地址对象中存储的地址段列表。其中每个地址段包含有一个起始地址IP地址(beginIp),和该段的IP地址数目来确定,List of Struct{\n StartIp: String //起始IP地址,\n SegLen: Integer //地址段长度\n}'); +INSERT INTO `cm_title` VALUES (2888, 'SMF', 'EpRpDynN7Smf', 'SMFAD01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2889, 'SMF', 'EpRpDynN7Smf', 'SMFAD02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2890, 'SMF', 'EpRpDynN7Smf', 'SMFAD03', 'LocIpAddrList', '本端IP地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4或Ipv6的地址格式)。'); +INSERT INTO `cm_title` VALUES (2891, 'SMF', 'EpRpDynN7Smf', 'SMFAD04', 'FarIpSubnetworkList', '远端IP子网列表', '参考点所关联的远端IP子网列表:\n1.Ipv4:List of Struct{\n Subnetwork:string,\n Mask:string }\n若子网仅包含一个IP地址,则Subnetwork为该IP地址,Mask为255.255.255.255。\n若子网地址为0.0.0.0,Mask可为任意值(通常也取0.0.0.0),代表所有局向。\n2.Ipv6:子网+前缀方式,样例供参考:\n{(2409:802F:0000:0207:0000:0000:1001:0502,128),(2409:802F:0000:0207:0000:0000:1001:0501,128)}或{(2409:802F:0000:0207::1001:0502,128),(2409:802F:0000:0207::1001:0501,128)}或{(2409:802F:0:207::1001:502,128),(2409:802F:0:207::1001:501,128)}'); +INSERT INTO `cm_title` VALUES (2892, 'SMF', 'EpRpDynN10Smf', 'SMFAE01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2893, 'SMF', 'EpRpDynN10Smf', 'SMFAE02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2894, 'SMF', 'EpRpDynN10Smf', 'SMFAE03', 'LocIpAddrList', '本端IP地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4或Ipv6的地址格式)。'); +INSERT INTO `cm_title` VALUES (2895, 'SMF', 'EpRpDynN10Smf', 'SMFAE04', 'FarIpSubnetworkList', '远端IP子网列表', '参考点所关联的远端IP子网列表:\n1.Ipv4:List of Struct{\n Subnetwork:string,\n Mask:string }\n若子网仅包含一个IP地址,则Subnetwork为该IP地址,Mask为255.255.255.255。\n若子网地址为0.0.0.0,Mask可为任意值(通常也取0.0.0.0),代表所有局向。\n2.Ipv6:子网+前缀方式,样例供参考:\n{(2409:802F:0000:0207:0000:0000:1001:0502,128),(2409:802F:0000:0207:0000:0000:1001:0501,128)}或{(2409:802F:0000:0207::1001:0502,128),(2409:802F:0000:0207::1001:0501,128)}或{(2409:802F:0:207::1001:502,128),(2409:802F:0:207::1001:501,128)}'); +INSERT INTO `cm_title` VALUES (2896, 'SMF', 'IPResource', 'SMFAF01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2897, 'SMF', 'IPResource', 'SMFAF02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (2898, 'SMF', 'IPResource', 'SMFAF03', 'InterfaceType', '接口类型', '包含管理接口和业务接口。枚举值{Mgt,N4,Nnrf,N10,N7,N16a,Nbsf,N11,N40,Radius},备注:管理接口为Mgt。'); +INSERT INTO `cm_title` VALUES (2899, 'SMF', 'IPResource', 'SMFAF04', 'LocIpV4AddrList', '本端IPV4地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4地址格式),如无IPV4地址,填写{Default}。'); +INSERT INTO `cm_title` VALUES (2900, 'SMF', 'IPResource', 'SMFAF05', 'LocIpV6AddrList', '本端IPV6地址列表', '参考点所关联的本端网元的IP地址列表(Ipv6地址格式),如无IPV6地址,填写{Default}。'); +INSERT INTO `cm_title` VALUES (2901, 'UDM', 'ManagedElement', 'UDMAA01', 'Id', '标识符', '网元标识,只在OMC范围内有效'); +INSERT INTO `cm_title` VALUES (2902, 'UDM', 'ManagedElement', 'UDMAA02', 'UserLabel', '用户友好名', '网元名称,根据运营商的网元命名规则设定。'); +INSERT INTO `cm_title` VALUES (2903, 'UDM', 'ManagedElement', 'UDMAA03', 'VendorName', '厂商名称', '厂商名称'); +INSERT INTO `cm_title` VALUES (2904, 'UDM', 'ManagedElement', 'UDMAA04', 'ManagedBy', '管理节点', '管理ManagedElement的ManagementNode对象类的DN值'); +INSERT INTO `cm_title` VALUES (2905, 'UDM', 'ManagedElement', 'UDMAA05', 'ManagementIpAddress', '网管接口IP地址列表', '网管接口IP地址列表\n如支持IPV4V6,IPV4和IPV6都要呈现'); +INSERT INTO `cm_title` VALUES (2906, 'UDM', 'ManagedElement', 'UDMAA06', 'SwVersion', '软件版本', '网元的软件版本'); +INSERT INTO `cm_title` VALUES (2907, 'UDM', 'ManagedElement', 'UDMAA07', 'PatchInfo', '补丁信息', '补丁信息,用于表示当前网元加载的补丁名称列表。'); +INSERT INTO `cm_title` VALUES (2908, 'UDM', 'ManagedElement', 'UDMAA08', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2909, 'UDM', 'ManagedElement', 'UDMAA09', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (2910, 'UDM', 'UdmFunction', 'UDMAB01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2911, 'UDM', 'UdmFunction', 'UDMAB02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2912, 'UDM', 'UdmFunction', 'UDMAB03', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2913, 'UDM', 'UdmFunction', 'UDMAB04', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (2914, 'UDM', 'UdmFunction', 'UDMAB05', 'VnfInstanceId', '虚拟化实例标识', '虚拟网元的InstanceId'); +INSERT INTO `cm_title` VALUES (2915, 'UDM', 'UdmFunction', 'UDMAB06', 'Fqdn', 'UdmFunction的FQDN', '基于服务化接口的UdmFunction的FQDN,FQDN结构请参见TS23.003.'); +INSERT INTO `cm_title` VALUES (2916, 'UDM', 'UdmFunction', 'UDMAB07', 'SbiServiceList', 'UdmFunction的服务列表', 'UdmFunction上所有注册到服务化接口的service列表,该列表由每个service的名称组成。其中ServiceName参见29.510 Table 6.1.6.3.11-1: Enumeration ServiceName定义'); +INSERT INTO `cm_title` VALUES (2917, 'UDM', 'UdrFunction', 'UDRAC01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2918, 'UDM', 'UdrFunction', 'UDRAC02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2919, 'UDM', 'UdrFunction', 'UDRAC03', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2920, 'UDM', 'UdrFunction', 'UDRAC04', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (2921, 'UDM', 'UdrFunction', 'UDRAC05', 'VnfInstanceId', '虚拟化实例标识', '虚拟网元的InstanceId'); +INSERT INTO `cm_title` VALUES (2922, 'UDM', 'UdrFunction', 'UDRAC06', 'Fqdn', 'UdrFunction的FQDN', '基于服务化接口的UdrFunction的FQDN,FQDN结构请参见TS23.003。'); +INSERT INTO `cm_title` VALUES (2923, 'UDM', 'UdrFunction', 'UDRAC07', 'SbiServiceList', 'UdrFunction的服务列表', 'UdrFunction上所有注册到服务化接口的service列表,该列表由每个service的名称组成。其中ServiceName参见29.510 Table 6.1.6.3.11-1: Enumeration ServiceName定义。'); +INSERT INTO `cm_title` VALUES (2924, 'UDM', 'UdrFunction', 'UDRAC08', 'MaxNumSupi', '最大可存储的SUPI个数', '指UDR设计的可存储的最大SUPI数量'); +INSERT INTO `cm_title` VALUES (2925, 'UDM', 'UdrFunction', 'UDRAC09', 'MaxNumMsisdn', '最大可存储的MSISDN个数', '指UDR设计的最大可存储的MSISDN个数'); +INSERT INTO `cm_title` VALUES (2926, 'UDM', 'AusfFunction', 'UDMAD01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2927, 'UDM', 'AusfFunction', 'UDMAD02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (2928, 'UDM', 'AusfFunction', 'UDMAD03', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2929, 'UDM', 'AusfFunction', 'UDMAD04', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (2930, 'UDM', 'AusfFunction', 'UDMAD05', 'VnfInstanceId', '虚拟化实例标识', '虚拟网元的InstanceId'); +INSERT INTO `cm_title` VALUES (2931, 'UDM', 'AusfFunction', 'UDMAD06', 'Fqdn', 'AusfFunction的FQDN', '基于服务化接口的AusfFunction的FQDN,FQDN结构请参见TS23.003。'); +INSERT INTO `cm_title` VALUES (2932, 'UDM', 'AusfFunction', 'UDMAD07', 'SbiServiceList', 'AusfFunction的服务列表', 'AusfFunction上所有注册到服务化接口的service列表,该列表由每个service的名称组成。其中ServiceName参见29.510 Table 6.1.6.3.11-1: Enumeration ServiceName定义。'); +INSERT INTO `cm_title` VALUES (2933, 'UDM', 'IPResource', 'UDMAE01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2934, 'UDM', 'IPResource', 'UDMAE02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (2935, 'UDM', 'IPResource', 'UDMAE03', 'InterfaceType', '接口类型', '包含管理接口和业务接口。枚举型{Mgt,N8,N10,N12,N21},备注:管理接口为Mgt。'); +INSERT INTO `cm_title` VALUES (2936, 'UDM', 'IPResource', 'UDMAE04', 'LocIpV4AddrList', '本端IPV4地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4地址格式),如无IPV4地址,填写{Default}。'); +INSERT INTO `cm_title` VALUES (2937, 'UDM', 'IPResource', 'UDMAE05', 'LocIpV6AddrList', '本端IPV6地址列表', '参考点所关联的本端网元的IP地址列表(Ipv6地址格式),如无IPV6地址,填写{Default}。'); +INSERT INTO `cm_title` VALUES (2938, 'UPF', 'ManagedElement', 'UPFAA01', 'Id', '标识符', '网元标识,只在OMC范围内有效'); +INSERT INTO `cm_title` VALUES (2939, 'UPF', 'ManagedElement', 'UPFAA02', 'UserLabel', '用户友好名', '网元名称,根据运营商的网元命名规则设定。'); +INSERT INTO `cm_title` VALUES (2940, 'UPF', 'ManagedElement', 'UPFAA03', 'VendorName', '厂商名称', '厂商名称'); +INSERT INTO `cm_title` VALUES (2941, 'UPF', 'ManagedElement', 'UPFAA04', 'ManagedBy', '管理节点', '管理ManagedElement的ManagementNode对象类的DN值'); +INSERT INTO `cm_title` VALUES (2942, 'UPF', 'ManagedElement', 'UPFAA05', 'ManagementIpAddress', '网管接口IP地址列表', '网管接口IP地址列表\n如支持IPV4V6,IPV4和IPV6都要呈现'); +INSERT INTO `cm_title` VALUES (2943, 'UPF', 'ManagedElement', 'UPFAA06', 'SwVersion', '软件版本', '网元的软件版本'); +INSERT INTO `cm_title` VALUES (2944, 'UPF', 'ManagedElement', 'UPFAA07', 'PatchInfo', '补丁信息', '补丁信息,用于表示当前网元加载的补丁名称列表。'); +INSERT INTO `cm_title` VALUES (2945, 'UPF', 'ManagedElement', 'UPFAA08', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (2946, 'UPF', 'ManagedElement', 'UPFAA09', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (2947, 'UPF', 'ManagedElement', 'UPFAA10', 'LocationName', '位置名称', '如指明该设备所处的具体房间'); +INSERT INTO `cm_title` VALUES (2948, 'UPF', 'ManagedElement', 'UPFAA11', 'HardwarePlatform', '硬件平台', '硬件平台'); +INSERT INTO `cm_title` VALUES (2949, 'UPF', 'InventoryUnitRack', 'UPFAB01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2950, 'UPF', 'InventoryUnitRack', 'UPFAB02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (2951, 'UPF', 'InventoryUnitRack', 'UPFAB03', 'VendorUnitFamilyType', '归属类型', '由供应商提供的便于记忆的资产单元的归属类型'); +INSERT INTO `cm_title` VALUES (2952, 'UPF', 'InventoryUnitRack', 'UPFAB04', 'VendorUnitTypeNumber', '资产单元类型版本号', '由供应商提供的可唯一识别资产单元类型及版本的号码'); +INSERT INTO `cm_title` VALUES (2953, 'UPF', 'InventoryUnitRack', 'UPFAB05', 'VendorName', '供应商名称', '供应商名称'); +INSERT INTO `cm_title` VALUES (2954, 'UPF', 'InventoryUnitRack', 'UPFAB06', 'SerialNumber', '资产序列号', '资产序列号'); +INSERT INTO `cm_title` VALUES (2955, 'UPF', 'InventoryUnitRack', 'UPFAB07', 'VersionNumber', '资产版本号', '与VendorUnitTypeNumber相关的版本信息'); +INSERT INTO `cm_title` VALUES (2956, 'UPF', 'InventoryUnitRack', 'UPFAB08', 'DateOfManufacture', '生产日期', '生产日期'); +INSERT INTO `cm_title` VALUES (2957, 'UPF', 'InventoryUnitRack', 'UPFAB09', 'DateOfLastService', '最近服务日期', '最近服务的日期(最近一次恢复工作正常状态的时间)'); +INSERT INTO `cm_title` VALUES (2958, 'UPF', 'InventoryUnitRack', 'UPFAB10', 'ManufacturerData', '特殊信息', '设备商填写的特殊信息'); +INSERT INTO `cm_title` VALUES (2959, 'UPF', 'InventoryUnitRack', 'UPFAB11', 'RackPosition', '机架位置', '机架编号,通常有两种表示方法:\n(1) 行号-机架号:即该机架位于第几行的第几个。在这种情况下,机房内的机架先按行区分,机架号表示在行内的相对位置。\n(2) 机架号:即机房内的机架统一编号,不用行来区分。'); +INSERT INTO `cm_title` VALUES (2960, 'UPF', 'InventoryUnitShelf', 'UPFAC01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2961, 'UPF', 'InventoryUnitShelf', 'UPFAC02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (2962, 'UPF', 'InventoryUnitShelf', 'UPFAC03', 'VendorUnitFamilyType', '归属类型', '由供应商提供的便于记忆的资产单元的归属类型'); +INSERT INTO `cm_title` VALUES (2963, 'UPF', 'InventoryUnitShelf', 'UPFAC04', 'VendorUnitTypeNumber', '资产单元类型版本号', '由供应商提供的可唯一识别资产单元类型及版本的号码'); +INSERT INTO `cm_title` VALUES (2964, 'UPF', 'InventoryUnitShelf', 'UPFAC05', 'VendorName', '供应商名称', '供应商名称'); +INSERT INTO `cm_title` VALUES (2965, 'UPF', 'InventoryUnitShelf', 'UPFAC06', 'SerialNumber', '资产序列号', '资产序列号'); +INSERT INTO `cm_title` VALUES (2966, 'UPF', 'InventoryUnitShelf', 'UPFAC07', 'VersionNumber', '资产版本号', '与VendorUnitTypeNumber相关的版本信息'); +INSERT INTO `cm_title` VALUES (2967, 'UPF', 'InventoryUnitShelf', 'UPFAC08', 'DateOfManufacture', '生产日期', '生产日期'); +INSERT INTO `cm_title` VALUES (2968, 'UPF', 'InventoryUnitShelf', 'UPFAC09', 'DateOfLastService', '最近服务日期', '最近服务的日期(最近一次恢复工作正常状态的时间)'); +INSERT INTO `cm_title` VALUES (2969, 'UPF', 'InventoryUnitShelf', 'UPFAC10', 'ManufacturerData', '特殊信息', '设备商填写的特殊信息'); +INSERT INTO `cm_title` VALUES (2970, 'UPF', 'InventoryUnitShelf', 'UPFAC11', 'SlotsInformation', '插槽信息', '框内所有插槽、描述及占用状态。List of Struct{槽位号(字符串),描述(字符串),占用状态(枚举)}。其中其中描述信息由厂家自行决定,占用状态为枚举{Unused,Used}'); +INSERT INTO `cm_title` VALUES (2971, 'UPF', 'InventoryUnitShelf', 'UPFAC12', 'ShelfPosition', '机框位置', '1) 如果机框位于的机架也可以通过OMC进行管理,则“机框位置”的形式应为机框在机架内的相对位置 \n2)如果机框位于第三方机架内,即机架不可以通过OMC管理,机框位置的形式应为“机架号-机框在机架内的相对位置”'); +INSERT INTO `cm_title` VALUES (2972, 'UPF', 'InventoryUnitPack', 'UPFAD01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2973, 'UPF', 'InventoryUnitPack', 'UPFAD02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (2974, 'UPF', 'InventoryUnitPack', 'UPFAD03', 'VendorUnitFamilyType', '归属类型', '由供应商提供的便于记忆的资产单元的归属类型'); +INSERT INTO `cm_title` VALUES (2975, 'UPF', 'InventoryUnitPack', 'UPFAD04', 'VendorUnitTypeNumber', '资产单元类型版本号', '由供应商提供的可唯一识别资产单元类型及版本的号码'); +INSERT INTO `cm_title` VALUES (2976, 'UPF', 'InventoryUnitPack', 'UPFAD05', 'VendorName', '供应商名称', '供应商名称'); +INSERT INTO `cm_title` VALUES (2977, 'UPF', 'InventoryUnitPack', 'UPFAD06', 'SerialNumber', '资产序列号', '资产序列号'); +INSERT INTO `cm_title` VALUES (2978, 'UPF', 'InventoryUnitPack', 'UPFAD07', 'VersionNumber', '资产版本号', '与VendorUnitTypeNumber相关的版本信息'); +INSERT INTO `cm_title` VALUES (2979, 'UPF', 'InventoryUnitPack', 'UPFAD08', 'DateOfManufacture', '生产日期', '生产日期'); +INSERT INTO `cm_title` VALUES (2980, 'UPF', 'InventoryUnitPack', 'UPFAD09', 'DateOfLastService', '最近服务日期', '最近服务的日期(最近一次恢复工作正常状态的时间)'); +INSERT INTO `cm_title` VALUES (2981, 'UPF', 'InventoryUnitPack', 'UPFAD10', 'ManufacturerData', '特殊信息', '设备商填写的特殊信息'); +INSERT INTO `cm_title` VALUES (2982, 'UPF', 'InventoryUnitPack', 'UPFAD11', 'PortsInformation', '端口信息', '单板包含的所有端口、描述及占用状态。List of Struct{ 端口Id(字符串),描述(字符串),占用状态(枚举)}。其中占用状态的取值为{Unused,Used},描述信息由设备厂家自行决定。'); +INSERT INTO `cm_title` VALUES (2983, 'UPF', 'InventoryUnitPack', 'UPFAD12', 'PackPosition', '板卡位置', '板卡在机框内的相对位置,通常用编号表示。'); +INSERT INTO `cm_title` VALUES (2984, 'UPF', 'InventoryUnitPack', 'UPFAD13', 'SlotsOccupied', '占用槽位', '应表示板卡占用的槽位号列表。(注:一些板卡较宽,可能会占用两个或以上槽位)'); +INSERT INTO `cm_title` VALUES (2985, 'UPF', 'InventoryUnitHost', 'PGWAE01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (2986, 'UPF', 'InventoryUnitHost', 'PGWAE02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (2987, 'UPF', 'InventoryUnitHost', 'PGWAE03', 'VendorUnitFamilyType', '归属类型', '由供应商提供的便于记忆的资产单元的归属类型'); +INSERT INTO `cm_title` VALUES (2988, 'UPF', 'InventoryUnitHost', 'PGWAE04', 'VendorUnitTypeNumber', '资产单元类型版本号', '由供应商提供的可唯一识别资产单元类型及版本的号码'); +INSERT INTO `cm_title` VALUES (2989, 'UPF', 'InventoryUnitHost', 'PGWAE05', 'VendorName', '供应商名称', '供应商名称'); +INSERT INTO `cm_title` VALUES (2990, 'UPF', 'InventoryUnitHost', 'PGWAE06', 'SerialNumber', '资产序列号', '资产序列号'); +INSERT INTO `cm_title` VALUES (2991, 'UPF', 'InventoryUnitHost', 'PGWAE07', 'VersionNumber', '资产版本号', '与VendorUnitTypeNumber相关的版本信息'); +INSERT INTO `cm_title` VALUES (2992, 'UPF', 'InventoryUnitHost', 'PGWAE08', 'DateOfManufacture', '生产日期', '生产日期'); +INSERT INTO `cm_title` VALUES (2993, 'UPF', 'InventoryUnitHost', 'PGWAE09', 'DateOfLastService', '最近服务日期', '最近服务的日期(最近一次恢复工作正常状态的时间)'); +INSERT INTO `cm_title` VALUES (2994, 'UPF', 'InventoryUnitHost', 'PGWAE10', 'ManufacturerData', '特殊信息', '设备商填写的特殊信息'); +INSERT INTO `cm_title` VALUES (2995, 'UPF', 'InventoryUnitHost', 'PGWAE11', 'HostPosition', '主机位置', '主机在机房中的位置,当主机位于机架中时,为机架编号;否则主机应有自己独立的机房位置信息。 '); +INSERT INTO `cm_title` VALUES (2996, 'UPF', 'InventoryUnitHost', 'PGWAE12', 'NumberOfCpu', 'CPU数量', '主机配置的CPU数量'); +INSERT INTO `cm_title` VALUES (2997, 'UPF', 'InventoryUnitHost', 'PGWAE13', 'MemSize', '内存容量', '主机配置的内存容量'); +INSERT INTO `cm_title` VALUES (2998, 'UPF', 'InventoryUnitHost', 'PGWAE14', 'HardDiskSize', '硬盘容量', '主机配置的硬盘容量'); +INSERT INTO `cm_title` VALUES (2999, 'UPF', 'InventoryUnitAccessory', 'UPFAF01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (3000, 'UPF', 'InventoryUnitAccessory', 'UPFAF02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (3001, 'UPF', 'InventoryUnitAccessory', 'UPFAF03', 'VendorUnitFamilyType', '归属类型', '由供应商提供的便于记忆的资产单元的归属类型'); +INSERT INTO `cm_title` VALUES (3002, 'UPF', 'InventoryUnitAccessory', 'UPFAF04', 'VendorUnitTypeNumber', '资产单元类型版本号', '由供应商提供的可唯一识别资产单元类型及版本的号码'); +INSERT INTO `cm_title` VALUES (3003, 'UPF', 'InventoryUnitAccessory', 'UPFAF05', 'VendorName', '供应商名称', '供应商名称'); +INSERT INTO `cm_title` VALUES (3004, 'UPF', 'InventoryUnitAccessory', 'UPFAF06', 'SerialNumber', '资产序列号', '资产序列号'); +INSERT INTO `cm_title` VALUES (3005, 'UPF', 'InventoryUnitAccessory', 'UPFAF07', 'VersionNumber', '资产版本号', '与VendorUnitTypeNumber相关的版本信息'); +INSERT INTO `cm_title` VALUES (3006, 'UPF', 'InventoryUnitAccessory', 'UPFAF08', 'DateOfManufacture', '生产日期', '生产日期'); +INSERT INTO `cm_title` VALUES (3007, 'UPF', 'InventoryUnitAccessory', 'UPFAF09', 'DateOfLastService', '最近服务日期', '最近服务的日期(最近一次恢复工作正常状态的时间)'); +INSERT INTO `cm_title` VALUES (3008, 'UPF', 'InventoryUnitAccessory', 'UPFAF10', 'ManufacturerData', '特殊信息', '设备商填写的特殊信息'); +INSERT INTO `cm_title` VALUES (3009, 'UPF', 'InventoryUnitAccessory', 'UPFAF11', 'AccessoryPosition', '附件位置', '附件所在机架的编号'); +INSERT INTO `cm_title` VALUES (3010, 'UPF', 'InventoryUnitAccessory', 'UPFAF12', 'AccessoryType', '附属设备类型', '自定义,例如:内部交换机,路由器,磁盘阵列等,仅适用于ManagedElement内部的附属设备。'); +INSERT INTO `cm_title` VALUES (3011, 'UPF', 'InventoryUnitAccessory', 'UPFAF13', 'AddtionalInformation', '描述信息', '设备自身特有的属性描述'); +INSERT INTO `cm_title` VALUES (3012, 'UPF', 'UpfFunction', 'UPFAG01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (3013, 'UPF', 'UpfFunction', 'UPFAG02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (3014, 'UPF', 'UpfFunction', 'UPFAG03', 'AdministrativeState', '管理状态', '管理的状态,枚举型 {Locked, Unlocked, ShuttingDown}'); +INSERT INTO `cm_title` VALUES (3015, 'UPF', 'UpfFunction', 'UPFAG04', 'OperationalState', '运行状态', '运行的状态,枚举型{Disabled,Enabled}'); +INSERT INTO `cm_title` VALUES (3016, 'UPF', 'UpfFunction', 'UPFAG05', 'VnfInstanceId', '虚拟化实例标识', '虚拟网元的InstanceId'); +INSERT INTO `cm_title` VALUES (3017, 'UPF', 'UpfFunction', 'UPFAG06', 'MaxQosFlows', '最大QoS流数', '当前软硬件配置条件下(如licence限制),UPF最大支持的并发QoS流数。'); +INSERT INTO `cm_title` VALUES (3018, 'UPF', 'UpfFunction', 'UPFAG07', 'MaxThroughput', '最大数据吞吐率', 'UPF最大每秒能处理的数据量,包括双向流量。'); +INSERT INTO `cm_title` VALUES (3019, 'UPF', 'EpRpDynN9Upf', 'UPFAH01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (3020, 'UPF', 'EpRpDynN9Upf', 'UPFAH02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (3021, 'UPF', 'EpRpDynN9Upf', 'UPFAH03', 'LocIpAddrList', '本端IP地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4或Ipv6的地址格式)。'); +INSERT INTO `cm_title` VALUES (3022, 'UPF', 'EpRpDynN9Upf', 'UPFAH04', 'FarIpSubnetworkList', '远端IP子网列表', '参考点所关联的远端IP子网列表:\n1.Ipv4:List of Struct{\n Subnetwork:string,\n Mask:string }\n若子网仅包含一个IP地址,则Subnetwork为该IP地址,Mask为255.255.255.255。\n若子网地址为0.0.0.0,Mask可为任意值(通常也取0.0.0.0),代表所有局向。\n2.Ipv6:子网+前缀方式,样例供参考:\n{(2409:802F:0000:0207:0000:0000:1001:0502,128),(2409:802F:0000:0207:0000:0000:1001:0501,128)}或{(2409:802F:0000:0207::1001:0502,128),(2409:802F:0000:0207::1001:0501,128)}或{(2409:802F:0:207::1001:502,128),(2409:802F:0:207::1001:501,128)}'); +INSERT INTO `cm_title` VALUES (3023, 'UPF', 'EpRpDynN3Upf', 'UPFAI01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (3024, 'UPF', 'EpRpDynN3Upf', 'UPFAI02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (3025, 'UPF', 'EpRpDynN3Upf', 'UPFAI03', 'LocIpAddrList', '本端IP地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4或Ipv6的地址格式)。'); +INSERT INTO `cm_title` VALUES (3026, 'UPF', 'EpRpDynN3Upf', 'UPFAI04', 'FarIpSubnetworkList', '远端IP子网列表', '参考点所关联的远端IP子网列表:\n1.Ipv4:List of Struct{\n Subnetwork:string,\n Mask:string }\n若子网仅包含一个IP地址,则Subnetwork为该IP地址,Mask为255.255.255.255。\n若子网地址为0.0.0.0,Mask可为任意值(通常也取0.0.0.0),代表所有局向。\n2.Ipv6:子网+前缀方式,样例供参考:\n{(2409:802F:0000:0207:0000:0000:1001:0502,128),(2409:802F:0000:0207:0000:0000:1001:0501,128)}或{(2409:802F:0000:0207::1001:0502,128),(2409:802F:0000:0207::1001:0501,128)}或{(2409:802F:0:207::1001:502,128),(2409:802F:0:207::1001:501,128)}'); +INSERT INTO `cm_title` VALUES (3027, 'UPF', 'AmfFunction', 'UPFAJ01', 'Id', '标识符', '对象标识,只在OMC范围内有效'); +INSERT INTO `cm_title` VALUES (3028, 'UPF', 'AmfFunction', 'UPFAJ02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (3029, 'UPF', 'AmfFunction', 'UPFAJ03', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (3030, 'UPF', 'AmfFunction', 'UPFAJ04', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (3031, 'UPF', 'AmfFunction', 'UPFAJ05', 'VnfInstanceId', '虚拟化实例标识', '虚拟网元的InstanceId'); +INSERT INTO `cm_title` VALUES (3032, 'UPF', 'AmfFunction', 'UPFAJ06', 'Fqdn', 'AmfFunction的FQDN', '基于服务化接口的AmfFunction的FQDN,FQDN结构请参见TS23.003.'); +INSERT INTO `cm_title` VALUES (3033, 'UPF', 'SmfFunction', 'UPFAK01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (3034, 'UPF', 'SmfFunction', 'UPFAK02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (3035, 'UPF', 'SmfFunction', 'UPFAK03', 'AdministrativeState', '管理状态', '管理的状态,枚举型 {Locked, Unlocked, ShuttingDown}'); +INSERT INTO `cm_title` VALUES (3036, 'UPF', 'SmfFunction', 'UPFAK04', 'OperationalState', '运行状态', '运行的状态,枚举型{Disabled,Enabled}'); +INSERT INTO `cm_title` VALUES (3037, 'UPF', 'SmfFunction', 'UPFAK05', 'VnfInstanceId', '虚拟化实例标识', '虚拟网元的InstanceId'); +INSERT INTO `cm_title` VALUES (3038, 'UPF', 'SmfFunction', 'UPFAK06', 'Fqdn', 'SmfFunction的FQDN', '基于服务化接口的SmfFunction的FQDN,FQDN结构请参见TS23.003'); +INSERT INTO `cm_title` VALUES (3039, 'UPF', 'UdrFunction', 'UPFAL01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (3040, 'UPF', 'UdrFunction', 'UPFAL02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (3041, 'UPF', 'UdrFunction', 'UPFAL03', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (3042, 'UPF', 'UdrFunction', 'UPFAL04', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (3043, 'UPF', 'UdrFunction', 'UPFAL05', 'VnfInstanceId', '虚拟化实例标识', '虚拟网元的InstanceId'); +INSERT INTO `cm_title` VALUES (3044, 'UPF', 'UdrFunction', 'UPFAL06', 'Fqdn', 'UdrFunction的FQDN', '基于服务化接口的UdrFunction的FQDN,FQDN结构请参见TS23.003。'); +INSERT INTO `cm_title` VALUES (3045, 'UPF', 'AusfFunction', 'UDMAM01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (3046, 'UPF', 'AusfFunction', 'UDMAM02', 'UserLabel', '用户友好名', '对象名称'); +INSERT INTO `cm_title` VALUES (3047, 'UPF', 'AusfFunction', 'UDMAM03', 'AdministrativeState', '管理状态', '管理的状态,取值范围为{Locked,Unlocked,ShuttingDown}'); +INSERT INTO `cm_title` VALUES (3048, 'UPF', 'AusfFunction', 'UDMAM04', 'OperationalState', '运行状态', '运行的状态,取值范围为{Disabled, Enabled}'); +INSERT INTO `cm_title` VALUES (3049, 'UPF', 'AusfFunction', 'UDMAM05', 'VnfInstanceId', '虚拟化实例标识', '虚拟网元的InstanceId'); +INSERT INTO `cm_title` VALUES (3050, 'UPF', 'AusfFunction', 'UDMAM06', 'Fqdn', 'AusfFunction的FQDN', '基于服务化接口的AusfFunction的FQDN,FQDN结构请参见TS23.003。'); +INSERT INTO `cm_title` VALUES (3051, 'UPF', 'IPResource', 'UPFAN01', 'Id', '标识符', '命名属性 '); +INSERT INTO `cm_title` VALUES (3052, 'UPF', 'IPResource', 'UPFAN02', 'UserLabel', '用户友好名', '用户友好名,由EMS厂商自己指定,做为其内部标识,并可被NMS修改。'); +INSERT INTO `cm_title` VALUES (3053, 'UPF', 'IPResource', 'UPFAN03', 'InterfaceType', '接口类型', '包含管理接口和业务接口(信令和媒体)。枚举值{Mgt,N4,N3,N9,N19},备注:管理接口为Mgt。'); +INSERT INTO `cm_title` VALUES (3054, 'UPF', 'IPResource', 'UPFAN04', 'LocIpV4AddrList', '本端IPV4地址列表', '参考点所关联的本端网元的IP地址列表(Ipv4地址格式),如无IPV4地址,填写{Default}。'); +INSERT INTO `cm_title` VALUES (3055, 'UPF', 'IPResource', 'UPFAN05', 'LocIpV6AddrList', '本端IPV6地址列表', '参考点所关联的本端网元的IP地址列表(Ipv6地址格式),如无IPV6地址,填写{Default}。'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/config.sql b/database/install/config.sql new file mode 100644 index 00000000..c0e7b398 --- /dev/null +++ b/database/install/config.sql @@ -0,0 +1,51 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 07/08/2023 23:26:43 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for config +-- ---------------------------- +DROP TABLE IF EXISTS `config`; +CREATE TABLE `config` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `module_name` varchar(32) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL, + `config_tag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `title_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `value` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL, + `value_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of config +-- ---------------------------- +INSERT INTO `config` VALUES (1, 'Alarm', 'historyDuration', '{\"cn\": \"历史告警保留时间间隔(天)\", \"en\": \"History alarm duration(day)\"}', '90', NULL, '2023-07-25 20:41:18'); +INSERT INTO `config` VALUES (2, 'LOG', 'logDuration', '{\"cn\": \"日志保留时间(天)\", \"en\": \"Log saved duration(day)\"}', '90', NULL, '2023-05-08 17:40:28'); +INSERT INTO `config` VALUES (3, 'LOG', 'logCapacity', '{\"cn\": \"日志占用空间(MB)\", \"en\": \"Log occupation space(MB)\"}', '1344', NULL, '2023-08-02 17:20:39'); +INSERT INTO `config` VALUES (4, 'PM', 'pmBackupTask', '{\"cn\": \"性能数据报表定期备份(天)\", \"en\": \"PM data backup task(day)\"}', '2', NULL, '2023-07-31 14:49:11'); +INSERT INTO `config` VALUES (5, 'Alarm', 'syncTaskPeriod', '{\"cn\": \"告警同步周期时长(小时)\", \"en\": \"Alarm sync task period(小时)\"}', '24', '{\"alarmEnd\":\"2023-08-21 00:00:00\",\"alarmStart\":\"2023-08-08 00:00:00\",\"syncTaskPeriod\":\"22\",\"unit\":\"hour\",\"status\":\"Active\"}', '2023-08-02 11:17:29'); +INSERT INTO `config` VALUES (6, 'Alarm', 'displayFilter', '{\"cn\": \"告警显示过滤设置\", \"en\": \"Alarm filter setting\"}', '', '{}', '2023-07-27 15:02:23'); +INSERT INTO `config` VALUES (7, 'Alarm', 'autoAlarmAck', '{\"cn\": \"告警自动确认设置\", \"en\": \"Alarm automatic ack setting\"}', '', '{\"alarm_status\":\"0\",\"alarm_type\":\"EquipmentAlarm\",\"orig_severity\":\"Major\",\"ack_user\":\"admin\"}', '2023-07-28 08:07:02'); +INSERT INTO `config` VALUES (8, 'PM', 'keepPMCKpi', '{\"cn\": \"删除指标保留时长(天)\", \"en\": \"Keep custom pm kpi duration(day)\"}', '4', NULL, '2023-07-29 11:01:45'); +INSERT INTO `config` VALUES (9, 'Security', 'sessionExpires', '{\"cn\": \"登录会话超时时长(秒)\", \"en\": \"User\'s session expires(second)\"}', '1800000', NULL, '2023-07-31 09:45:17'); +INSERT INTO `config` VALUES (10, 'Alarm', 'forwardAlarm', '{\"cn\": \"告警前转接口设置\", \"en\": \"Alarm forward interface\"}', NULL, '[{\"interface\":\"Email\",\"to_user\":[\"371757574@qq.com\"]},{\"interface\":\"SMS\",\"to_user\":[\"11111112312\"]}]', '2023-08-03 11:42:21'); +INSERT INTO `config` VALUES (17, 'Security', 'highRisk', '{\"cn\":\"高危指令设置\",\"en\":\"High risk instruction settings\"}', NULL, '{\"morningInfo\":\"请不要删除该字段\",\"nightInfo\":\"请不要在该时间删除字段\"}', '2023-08-03 19:16:45'); +INSERT INTO `config` VALUES (18, 'Gold', 'goldSet', '{\"cn\":\"黄金指标设置\",\"en\":\"Gold Index Setting\"}', NULL, '{\"goldWeek\":\"1\",\"omc_name\":\"23123\",\"login_url\":\"231231\",\"handshake_url\":\"321312\",\"grant_type\":\"321312\",\"user_name\":\"32131\",\"user_key\":\"22321\",\"max_data_len\":\"231\",\"kpi_report_url\":\"1231231\",\"time_out\":\"2131\"}', '2023-08-04 20:29:03'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/event_log.sql b/database/install/event_log.sql new file mode 100644 index 00000000..467760f0 --- /dev/null +++ b/database/install/event_log.sql @@ -0,0 +1,34 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 04/08/2023 22:42:45 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for event_log +-- ---------------------------- +DROP TABLE IF EXISTS `event_log`; +CREATE TABLE `event_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `event` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `event_time` datetime NULL DEFAULT NULL, + `log_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1292 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/gold_kpi.sql b/database/install/gold_kpi.sql new file mode 100644 index 00000000..d09e3ade --- /dev/null +++ b/database/install/gold_kpi.sql @@ -0,0 +1,41 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 15/07/2023 14:24:11 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for gold_kpi +-- ---------------------------- +DROP TABLE IF EXISTS `gold_kpi`; +CREATE TABLE `gold_kpi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `date` date NOT NULL, + `index` smallint(6) NOT NULL, + `start_time` datetime NULL DEFAULT NULL, + `end_time` datetime NULL DEFAULT NULL, + `ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `value` int(11) NULL DEFAULT 0, + `error` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `timestamp` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_st_nt_id`(`start_time`, `ne_type`, `rm_uid`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 3532134 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/group.sql b/database/install/group.sql new file mode 100644 index 00000000..c6f3b3b8 --- /dev/null +++ b/database/install/group.sql @@ -0,0 +1,45 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 05/08/2023 15:42:29 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for group +-- ---------------------------- +DROP TABLE IF EXISTS `group`; +CREATE TABLE `group` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `create_time` datetime NULL DEFAULT current_timestamp(), + PRIMARY KEY (`name`) USING BTREE, + INDEX `fk_account_id`(`id`) USING BTREE, + INDEX `name`(`name`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 22 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of group +-- ---------------------------- +INSERT INTO `group` VALUES (1, 'admin', '', '2023-05-13 11:04:54'); +INSERT INTO `group` VALUES (3, 'audit', NULL, '2023-05-16 22:48:54'); +INSERT INTO `group` VALUES (12, 'erole_id', NULL, '2023-08-03 15:59:11'); +INSERT INTO `group` VALUES (21, 'example_role_id', NULL, '2023-08-04 17:35:50'); +INSERT INTO `group` VALUES (2, 'operator', NULL, '2023-05-16 22:49:42'); +INSERT INTO `group` VALUES (5, 'oss', NULL, '2023-05-16 22:54:50'); +INSERT INTO `group` VALUES (4, 'user', NULL, '2023-05-16 22:48:46'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/kpi_title.sql b/database/install/kpi_title.sql new file mode 100644 index 00000000..db6509f5 --- /dev/null +++ b/database/install/kpi_title.sql @@ -0,0 +1,112 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 25/07/2023 19:53:26 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for kpi_title +-- ---------------------------- +DROP TABLE IF EXISTS `kpi_title`; +CREATE TABLE `kpi_title` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `title_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `cn_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `en_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 77 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of kpi_title +-- ---------------------------- +INSERT INTO `kpi_title` VALUES (1, 'AMF', 'AMF.01', '{\"cn\": \"AMF注册态用户数\", \"en\": \"AMF.RegSub\"}', 'AMF注册态用户数', 'AMF.RegSub'); +INSERT INTO `kpi_title` VALUES (2, 'AMF', 'AMF.02', '{\"cn\": \"AMF初始注册请求次数\", \"en\": \"AMF.AttInitReg\"}', 'AMF初始注册请求次数', 'AMF.AttInitReg'); +INSERT INTO `kpi_title` VALUES (3, 'AMF', 'AMF.03', '{\"cn\": \"AMF初始注册成功次数\", \"en\": \"AMF.SuccInitReg\"}', 'AMF初始注册成功次数', 'AMF.SuccInitReg'); +INSERT INTO `kpi_title` VALUES (4, 'AMF', 'AMF.04', '{\"cn\": \"AMF初始注册失败次数_非法用户\", \"en\": \"AMF.FailedInitReg.3\"}', 'AMF初始注册失败次数_非法用户', 'AMF.FailedInitReg.3'); +INSERT INTO `kpi_title` VALUES (5, 'AMF', 'AMF.05', '{\"cn\": \"AMF初始注册失败次数_PEI不允许\", \"en\": \"AMF.FailedInitReg.5\"}', 'AMF初始注册失败次数_PEI不允许', 'AMF.FailedInitReg.5'); +INSERT INTO `kpi_title` VALUES (6, 'AMF', 'AMF.06', '{\"cn\": \"AMF初始注册失败次数_非法设备\", \"en\": \"AMF.FailedInitReg.6\"}', 'AMF初始注册失败次数_非法设备', 'AMF.FailedInitReg.6'); +INSERT INTO `kpi_title` VALUES (7, 'AMF', 'AMF.07', '{\"cn\": \"AMF初始注册失败次数_5GS服务不允许_用户原因\", \"en\": \"AMF.FailedInitReg.7.User\"}', 'AMF初始注册失败次数_5GS服务不允许_用户原因', 'AMF.FailedInitReg.7.User'); +INSERT INTO `kpi_title` VALUES (8, 'AMF', 'AMF.08', '{\"cn\": \"AMF初始注册失败次数_跟踪区内无合适小区_用户原因\", \"en\": \"AMF.FailedInitReg.15.User\"}', 'AMF初始注册失败次数_跟踪区内无合适小区_用户原因', 'AMF.FailedInitReg.15.User'); +INSERT INTO `kpi_title` VALUES (9, 'AMF', 'AMF.09', '{\"cn\": \"AMF初始注册失败次数_N1模式不允许\", \"en\": \"AMF.FailedInitReg.27\"}', 'AMF初始注册失败次数_N1模式不允许', 'AMF.FailedInitReg.27'); +INSERT INTO `kpi_title` VALUES (10, 'AMF', 'AMF.10', '{\"cn\": \"AMF初始注册失败次数_PLMN不允许\", \"en\": \"AMF.FailedInitReg.11\"}', 'AMF初始注册失败次数_PLMN不允许', 'AMF.FailedInitReg.11'); +INSERT INTO `kpi_title` VALUES (11, 'AMF', 'AMF.11', '{\"cn\": \"AMF初始注册失败次数_跟踪区不允许\", \"en\": \"AMF.FailedInitReg.12\"}', 'AMF初始注册失败次数_跟踪区不允许', 'AMF.FailedInitReg.12'); +INSERT INTO `kpi_title` VALUES (12, 'AMF', 'AMF.12', '{\"cn\": \"AMF初始注册失败次数_漫游跟踪区禁止接入\", \"en\": \"AMF.FailedInitReg.13\"}', 'AMF初始注册失败次数_漫游跟踪区禁止接入', 'AMF.FailedInitReg.13'); +INSERT INTO `kpi_title` VALUES (13, 'AMF', 'AMF.13', '{\"cn\": \"AMF初始注册失败次数_无可用网络切片\", \"en\": \"AMF.FailedInitReg.62\"}', 'AMF初始注册失败次数_无可用网络切片', 'AMF.FailedInitReg.62'); +INSERT INTO `kpi_title` VALUES (14, 'AMF', 'AMF.14', '{\"cn\": \"AMF初始注册失败次数_协议错误_用户原因\", \"en\": \"AMF.FailedInitReg.111.User\"}', 'AMF初始注册失败次数_协议错误_用户原因', 'AMF.FailedInitReg.111.User'); +INSERT INTO `kpi_title` VALUES (15, 'AMF', 'AMF.15', '{\"cn\": \"AMF一次寻呼响应次数\", \"en\": \"AMF.FirstPagingSucc\"}', 'AMF一次寻呼响应次数', 'AMF.FirstPagingSucc'); +INSERT INTO `kpi_title` VALUES (16, 'AMF', 'AMF.16', '{\"cn\": \"AMF二次寻呼响应次数\", \"en\": \"AMF.SecondPagingSucc\"}', 'AMF二次寻呼响应次数', 'AMF.SecondPagingSucc'); +INSERT INTO `kpi_title` VALUES (17, 'AMF', 'AMF.17', '{\"cn\": \"AMF寻呼请求次数\", \"en\": \"AMF.PagAtt\"}', 'AMF寻呼请求次数', 'AMF.PagAtt'); +INSERT INTO `kpi_title` VALUES (18, 'AMF', 'AMF.18', '{\"cn\": \"AMF业务请求被拒次数\", \"en\": \"AMF.FailServiceReq\"}', 'AMF业务请求被拒次数', 'AMF.FailServiceReq'); +INSERT INTO `kpi_title` VALUES (19, 'AMF', 'AMF.19', '{\"cn\": \"AMF业务请求尝试次数\", \"en\": \"AMF.AttServiceReq\"}', 'AMF业务请求尝试次数', 'AMF.AttServiceReq'); +INSERT INTO `kpi_title` VALUES (21, 'SMF', 'SMF.01', '{\"cn\": \"5G实时PDU会话数\", \"en\": \"SMF.MeanPduSession\"}', '5G实时PDU会话数', 'SMF.MeanPduSession'); +INSERT INTO `kpi_title` VALUES (22, 'SMF', 'SMF.02', '{\"cn\": \"PDU会话建立成功次数\", \"en\": \"SMF.SuccCreatePduSession\"}', 'PDU会话建立成功次数', 'SMF.SuccCreatePduSession'); +INSERT INTO `kpi_title` VALUES (23, 'SMF', 'SMF.03', '{\"cn\": \"PDU会话建立请求次数\", \"en\": \"SMF.AttCreatePduSession\"}', 'PDU会话建立请求次数', 'SMF.AttCreatePduSession'); +INSERT INTO `kpi_title` VALUES (24, 'SMF', 'SMF.04', '{\"cn\": \"IMS PDU会话建立成功次数\", \"en\": \"SMF.SuccCreatePduSession._Ims\"}', 'IMS PDU会话建立成功次数', 'SMF.SuccCreatePduSession._Ims'); +INSERT INTO `kpi_title` VALUES (25, 'SMF', 'SMF.05', '{\"cn\": \"IMS PDU会话建立请求次数\", \"en\": \"SMF.AttCreatePduSession._Ims\"}', 'IMS PDU会话建立请求次数', 'SMF.AttCreatePduSession._Ims'); +INSERT INTO `kpi_title` VALUES (26, 'SMF', 'SMF.06', '{\"cn\": \"EPS-Fallback成功数\", \"en\": \"SMF.SuccSmfModifyBearerResponse.Epsfb\"}', 'EPS-Fallback成功数', 'SMF.SuccSmfModifyBearerResponse.Epsfb'); +INSERT INTO `kpi_title` VALUES (27, 'SMF', 'SMF.07', '{\"cn\": \"EPS-Fallback请求数\", \"en\": \"SMF.AttSmfModifyPduSession.Epsfb\"}', 'EPS-Fallback请求数', 'SMF.AttSmfModifyPduSession.Epsfb'); +INSERT INTO `kpi_title` VALUES (28, 'UDM', 'UDM.01', '{\"cn\": \"5G注册用户数\", \"en\": \"UDR.5gActSub\"}', '5G注册用户数', 'UDR.5gActSub'); +INSERT INTO `kpi_title` VALUES (29, 'UDM', 'UDM.02', '{\"cn\": \"AMF发起的UECM注册请求次数\", \"en\": \"UDM.AmfUecmRegReq\"}', 'AMF发起的UECM注册请求次数', 'UDM.AmfUecmRegReq'); +INSERT INTO `kpi_title` VALUES (30, 'UDM', 'UDM.03', '{\"cn\": \"AMF发起的UECM注册成功次数\", \"en\": \"UDM.AmfUecmRegSucc\"}', 'AMF发起的UECM注册成功次数', 'UDM.AmfUecmRegSucc'); +INSERT INTO `kpi_title` VALUES (31, 'UDM', 'UDM.04', '{\"cn\": \"SMF发起的UECM注册成功次数\", \"en\": \"UDM.SmfUecmRegSucc\"}', 'SMF发起的UECM注册成功次数', 'UDM.SmfUecmRegSucc'); +INSERT INTO `kpi_title` VALUES (32, 'UDM', 'UDM.05', '{\"cn\": \"SMF发起的UECM注册请求次数\", \"en\": \"UDM.SmfUecmRegReq\"}', 'SMF发起的UECM注册请求次数', 'UDM.SmfUecmRegReq'); +INSERT INTO `kpi_title` VALUES (33, 'UDM', 'UDM.06', '{\"cn\": \"4G注册用户数\", \"en\": \"SUB.EpsActSubsInHss\"}', '4G注册用户数', 'SUB.EpsActSubsInHss'); +INSERT INTO `kpi_title` VALUES (34, 'UDM', 'UDM.07', '{\"cn\": \"4G鉴权信息查询成功次数\", \"en\": \"DIAM.AucInfoAnsSucc\"}', '4G鉴权信息查询成功次数', 'DIAM.AucInfoAnsSucc'); +INSERT INTO `kpi_title` VALUES (35, 'UDM', 'UDM.08', '{\"cn\": \"4G鉴权信息查询请求次数\", \"en\": \"DIAM.AucInfoReq\"}', '4G鉴权信息查询请求次数', 'DIAM.AucInfoReq'); +INSERT INTO `kpi_title` VALUES (36, 'UDM', 'UDM.09', '{\"cn\": \"4G更新位置成功次数\", \"en\": \"DIAM.UpdateLocationAnsSucc\"}', '4G更新位置成功次数', 'DIAM.UpdateLocationAnsSucc'); +INSERT INTO `kpi_title` VALUES (37, 'UDM', 'UDM.10', '{\"cn\": \"4G更新位置请求次数\", \"en\": \"DIAM.UpdateLocationReq\"}', '4G更新位置请求次数', 'DIAM.UpdateLocationReq'); +INSERT INTO `kpi_title` VALUES (38, 'UDM', 'UDM.11', '{\"cn\": \"SAR成功响应总次数\", \"en\": \"UR.SuccSAA\"}', 'SAR成功响应总次数', 'UR.SuccSAA'); +INSERT INTO `kpi_title` VALUES (39, 'UDM', 'UDM.12', '{\"cn\": \"SAR请求总次数\", \"en\": \"UR.AttSAR\"}', 'SAR请求总次数', 'UR.AttSAR'); +INSERT INTO `kpi_title` VALUES (40, 'UDM', 'UDM.13', '{\"cn\": \"LIR成功响应总次数\", \"en\": \"LIQ.SuccLIA\"}', 'LIR成功响应总次数', 'LIQ.SuccLIA'); +INSERT INTO `kpi_title` VALUES (41, 'UDM', 'UDM.14', '{\"cn\": \"LIR请求总次数\", \"en\": \"LIQ.AttLIR\"}', 'LIR请求总次数', 'LIQ.AttLIR'); +INSERT INTO `kpi_title` VALUES (42, 'AUSF', 'AUSF.01', '{\"cn\": \"鉴权成功次数\", \"en\": \"Ausf.UeAuthAnsSucc\"}', '鉴权成功次数', 'Ausf.UeAuthAnsSucc'); +INSERT INTO `kpi_title` VALUES (43, 'AUSF', 'AUSF.02', '{\"cn\": \"鉴权请求次数\", \"en\": \"Ausf.UeAuthReq\"}', '鉴权请求次数', 'Ausf.UeAuthReq'); +INSERT INTO `kpi_title` VALUES (64, 'UPF', 'UPF.01', '{\"cn\": \"PFCP会话建立成功次数\", \"en\": \"UPF.PfcpSessionEstabSucc\"}', 'PFCP会话建立成功次数', 'UPF.PfcpSessionEstabSucc'); +INSERT INTO `kpi_title` VALUES (65, 'UPF', 'UPF.02', '{\"cn\": \"PFCP会话建立请求次数\", \"en\": \"UPF.PfcpSessionEstabReq\"}', 'PFCP会话建立请求次数', 'UPF.PfcpSessionEstabReq'); +INSERT INTO `kpi_title` VALUES (66, 'UPF', 'UPF.03', '{\"cn\": \"N6接口上行字节数\", \"en\": \"UPF.N6OgOct\"}', 'N6接口上行字节数', 'UPF.N6OgOct'); +INSERT INTO `kpi_title` VALUES (67, 'UPF', 'UPF.04', '{\"cn\": \"N6接口下行字节数\", \"en\": \"UPF.N6IncOct\"}', 'N6接口下行字节数', 'UPF.N6IncOct'); +INSERT INTO `kpi_title` VALUES (68, 'UPF', 'UPF.05', '{\"cn\": \"N3接口上行字节数\", \"en\": \"UPF.N3OgOct\"}', 'N3接口上行字节数', 'UPF.N3OgOct'); +INSERT INTO `kpi_title` VALUES (69, 'UPF', 'UPF.06', '{\"cn\": \"N3接口下行字节数\", \"en\": \"UPF.N3IncOct\"}', 'N3接口下行字节数', 'UPF.N3IncOct'); +INSERT INTO `kpi_title` VALUES (70, 'UPF', 'UPF.07', '{\"cn\": \"SGi接口上行字节数\", \"en\": \"IP.PeakThroughputUlSgi\"}', 'SGi接口上行字节数', 'IP.PeakThroughputUlSgi'); +INSERT INTO `kpi_title` VALUES (71, 'UPF', 'UPF.08', '{\"cn\": \"SGi接口下行字节数\", \"en\": \"IP.PeakThroughputDlSgi\"}', 'SGi接口下行字节数', 'IP.PeakThroughputDlSgi'); +INSERT INTO `kpi_title` VALUES (72, 'UPF', 'UPF.09', '{\"cn\": \"S1-U接口上行字节数\", \"en\": \"GTP.OutOctS1uSgw\"}', 'S1-U接口上行字节数', 'GTP.OutOctS1uSgw'); +INSERT INTO `kpi_title` VALUES (73, 'UPF', 'UPF.10', '{\"cn\": \"S1-U接口下行字节数\", \"en\": \"GTP.IncOctS1uSgw\"}', 'S1-U接口下行字节数', 'GTP.IncOctS1uSgw'); +INSERT INTO `kpi_title` VALUES (74, 'AMF', 'AMF.20', '{\"cn\": \"EPS在线用户数\", \"en\": \"SUB.NbrSub.EcmIdle+SUB.NbrSub.EcmConnected\"}', 'EPS在线用户数', 'SUB.NbrSub.EcmIdle+SUB.NbrSub.EcmConnected'); +INSERT INTO `kpi_title` VALUES (75, 'AMF', 'AMF.21', '{\"cn\": \"EPS附着成功次数\", \"en\": \"MM.SuccEpsAttach\"}', 'EPS附着成功次数', 'MM.SuccEpsAttach'); +INSERT INTO `kpi_title` VALUES (76, 'AMF', 'AMF.22', '{\"cn\": \"EPS附着请求次数\", \"en\": \"MM.AttEpsAttach\"}', 'EPS附着请求次数', 'MM.AttEpsAttach'); +INSERT INTO `kpi_title` VALUES (77, 'AMF', 'AMF.23', '{\"cn\": \"EPS附着失败次数_非法用户\", \"en\": \"MM.FailedEpsAttach.3\"}', 'EPS附着失败次数_非法用户', 'MM.FailedEpsAttach.3'); +INSERT INTO `kpi_title` VALUES (78, 'AMF', 'AMF.23', '{\"cn\": \"EPS附着失败次数_非法终端\", \"en\": \"MM.FailedEpsAttach.5\"}', 'EPS附着失败次数_非法终端', 'MM.FailedEpsAttach.5'); +INSERT INTO `kpi_title` VALUES (79, 'AMF', 'AMF.23', '{\"cn\": \"EPS附着失败次数_非法ME\", \"en\": \"MM.FailedEpsAttach.6\"}', 'EPS附着失败次数_非法ME', 'MM.FailedEpsAttach.6'); +INSERT INTO `kpi_title` VALUES (80, 'AMF', 'AMF.23', '{\"cn\": \"EPS附着失败次数_EPS服务不允许_用户原因\", \"en\": \"MM.FailedEpsAttach.7.User\"}', 'EPS附着失败次数_EPS服务不允许_用户原因', 'MM.FailedEpsAttach.7.User'); +INSERT INTO `kpi_title` VALUES (81, 'AMF', 'AMF.23', '{\"cn\": \"EPS附着失败次数_EPS和非EPS服务不允许\", \"en\": \"MM.FailedEpsAttach.8\"}', 'EPS附着失败次数_EPS和非EPS服务不允许', 'MM.FailedEpsAttach.8'); +INSERT INTO `kpi_title` VALUES (82, 'AMF', 'AMF.23', '{\"cn\": \"EPS附着失败次数_跟踪区内无合适小区_用户原因\", \"en\": \"MM.FailedEpsAttach.15.User\"}', 'EPS附着失败次数_跟踪区内无合适小区_用户原因', 'MM.FailedEpsAttach.15.User'); +INSERT INTO `kpi_title` VALUES (83, 'AMF', 'AMF.23', '{\"cn\": \"EPS附着失败次数_ESM失败_用户原因\", \"en\": \"MM.FailedEpsAttach.19.User\"}', 'EPS附着失败次数_ESM失败_用户原因', 'MM.FailedEpsAttach.19.User'); +INSERT INTO `kpi_title` VALUES (84, 'AMF', 'AMF.23', '{\"cn\": \"MME一次寻呼响应次数\", \"en\": \"MM.FirstPagingSucc\"}', 'MME一次寻呼响应次数', 'MM.FirstPagingSucc'); +INSERT INTO `kpi_title` VALUES (85, 'AMF', 'AMF.23', '{\"cn\": \"MME二次寻呼响应次数\", \"en\": \"MM.SecondPagingSucc\"}', 'MME二次寻呼响应次数', 'MM.SecondPagingSucc'); +INSERT INTO `kpi_title` VALUES (86, 'AMF', 'AMF.23', '{\"cn\": \"MME寻呼请求次数\", \"en\": \"MM.PagAtt\"}', 'MME寻呼请求次数', 'MM.PagAtt'); + +INSERT INTO `kpi_title` VALUES (87, 'AMF', 'AMF.23', '{\"cn\": \"4G在线会话数\", \"en\": \"SM.MeanNbrBearerPgw.Default\"}', '4G在线会话数', 'SM.MeanNbrBearerPgw.Default'); +INSERT INTO `kpi_title` VALUES (88, 'AMF', 'AMF.23', '{\"cn\": \"PGW缺省承载建立成功个数\", \"en\": \"SM.SuccCreateDefaultEpsBearer\"}', 'PGW缺省承载建立成功个数', 'SM.SuccCreateDefaultEpsBearer'); +INSERT INTO `kpi_title` VALUES (89, 'AMF', 'AMF.23', '{\"cn\": \"PGW缺省承载建立请求个数\", \"en\": \"SM.AttCreateDefaultEpsBearer\"}', 'PGW缺省承载建立请求个数', 'SM.AttCreateDefaultEpsBearer'); +INSERT INTO `kpi_title` VALUES (90, 'AMF', 'AMF.23', '{\"cn\": \"PGW专用承载建立成功个数\", \"en\": \"SM.SuccCreateDedicatedEpsBearer\"}', 'PGW专用承载建立成功个数', 'SM.SuccCreateDedicatedEpsBearer'); +INSERT INTO `kpi_title` VALUES (91, 'AMF', 'AMF.23', '{\"cn\": \"PGW专用承载建立请求个数\", \"en\": \"SM.AttCreateDedicatedEpsBearer\"}', 'PGW专用承载建立请求个数', 'SM.AttCreateDedicatedEpsBearer'); +INSERT INTO `kpi_title` VALUES (92, 'AMF', 'AMF.23', '{\"cn\": \"IMS缺省承载成功建立个数\", \"en\": \"SM.SuccCreateDefaultEpsBearer._Ims\"}', 'IMS缺省承载成功建立个数', 'SM.SuccCreateDefaultEpsBearer._Ims'); +INSERT INTO `kpi_title` VALUES (93, 'AMF', 'AMF.23', '{\"cn\": \"IMS缺省承载请求建立个数\", \"en\": \"SM.AttCreateDefaultEpsBearer._Ims\"}', 'IMS缺省承载请求建立个数', 'SM.AttCreateDefaultEpsBearer._Ims'); + + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/measure_data.sql b/database/install/measure_data.sql new file mode 100644 index 00000000..f0eea2f7 --- /dev/null +++ b/database/install/measure_data.sql @@ -0,0 +1,42 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 21/06/2023 20:45:08 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for measure_data +-- ---------------------------- +DROP TABLE IF EXISTS `measure_data`; +CREATE TABLE `measure_data` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `date` date NULL DEFAULT NULL, + `task_id` int(11) NULL DEFAULT NULL, + `ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `granul_option` enum('15M','30M','60M','24H') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '15M', + `kpi_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_ext` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `start_time` datetime NULL DEFAULT NULL, + `end_time` datetime NULL DEFAULT NULL, + `value` bigint(20) NULL DEFAULT 0, + `timestamp` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 321902 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/measure_task.sql b/database/install/measure_task.sql new file mode 100644 index 00000000..ab123f14 --- /dev/null +++ b/database/install/measure_task.sql @@ -0,0 +1,41 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 06/08/2023 23:49:41 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for measure_task +-- ---------------------------- +DROP TABLE IF EXISTS `measure_task`; +CREATE TABLE `measure_task` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_ids` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '[]', + `kpi_set` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '[]', + `start_time` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `end_time` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `periods` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '[]', + `schedule` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '[]', + `granul_option` enum('15M','30M','60M','24H') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '15M', + `status` enum('Inactive','Active','Suspend','Deleted') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'Inactive', + `create_time` datetime NULL DEFAULT current_timestamp(), + `update_time` datetime NULL DEFAULT NULL, + `delete_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 76 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/measure_threshold.sql b/database/install/measure_threshold.sql new file mode 100644 index 00000000..753aac3d --- /dev/null +++ b/database/install/measure_threshold.sql @@ -0,0 +1,37 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 18/07/2023 11:49:52 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for measure_threshold +-- ---------------------------- +DROP TABLE IF EXISTS `measure_threshold`; +CREATE TABLE `measure_threshold` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_set` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `threshold` bigint(20) NULL DEFAULT 0, + `status` enum('Active','Inactive','Deleted') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Active', + `orig_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'EMSPM30001', + `alarm_flag` tinyint(1) NULL DEFAULT 0, + `create_time` datetime NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/measure_title.sql b/database/install/measure_title.sql new file mode 100644 index 00000000..34c14008 --- /dev/null +++ b/database/install/measure_title.sql @@ -0,0 +1,522 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 21/06/2023 20:46:17 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for measure_title +-- ---------------------------- +DROP TABLE IF EXISTS `measure_title`; +CREATE TABLE `measure_title` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `pseudo` enum('false','true') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'false', + `object_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `Period` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `title_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 3912 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of measure_title +-- ---------------------------- +INSERT INTO `measure_title` VALUES (3431, 'AMF', 'AMFHA01', 'AMF.AuthReq', 'false', 'AmfFunction', '15M', '{\"cn\":\"鉴权请求次数\",\"en\":\"AMF.AuthReq\"}', 'AMF发起鉴权请求消息的次数\n'); +INSERT INTO `measure_title` VALUES (3432, 'AMF', 'AMFHA02', 'AMF.AuthFail', 'false', 'AmfFunction', '15M', '{\"cn\":\"鉴权参数错误次数\",\"en\":\"AMF.AuthFail\"}', 'UE检测出Authentication Request中包含的鉴权参数错误,向AMF发送Authentication Failure的次数,cause值可能为20、21、26'); +INSERT INTO `measure_title` VALUES (3433, 'AMF', 'AMFHA02', 'AMF.AuthFail.20', 'false', 'AmfFunction', '15M', '{\"cn\":\"MAC错误导致的鉴权参数错误次数\",\"en\":\"AMF.AuthFail.20\"}', 'UE检测出Authentication Request中包含的鉴权参数错误,向AMF发送Authentication Failure的次数,cause值可能为20、21、26'); +INSERT INTO `measure_title` VALUES (3434, 'AMF', 'AMFHA02', 'AMF.AuthFail.21', 'false', 'AmfFunction', '15M', '{\"cn\":\"同步失败导致的鉴权参数错误次数\",\"en\":\"AMF.AuthFail.21\"}', 'UE检测出Authentication Request中包含的鉴权参数错误,向AMF发送Authentication Failure的次数,cause值可能为20、21、26'); +INSERT INTO `measure_title` VALUES (3435, 'AMF', 'AMFHA02', 'AMF.AuthFail.26', 'false', 'AmfFunction', '15M', '{\"cn\":\"非5G鉴权导致的鉴权参数错误次数\",\"en\":\"AMF.AuthFail.26\"}', 'UE检测出Authentication Request中包含的鉴权参数错误,向AMF发送Authentication Failure的次数,cause值可能为20、21、26'); +INSERT INTO `measure_title` VALUES (3436, 'AMF', 'AMFHA03', 'AMF.AuthReject', 'false', 'AmfFunction', '15M', '{\"cn\":\"鉴权拒绝次数\",\"en\":\"AMF.AuthReject\"}', '发送Authentication Reject消息的次数;\n'); +INSERT INTO `measure_title` VALUES (3437, 'AMF', 'AMFHB01', 'AMF.RegSub', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF注册态用户数\",\"en\":\"AMF.RegSub\"}', '当前所有注册在AMF上的用户'); +INSERT INTO `measure_title` VALUES (3438, 'AMF', 'AMFHB01', 'AMF.RegSubMean', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF平均注册态用户数\",\"en\":\"AMF.RegSubMean\"}', '当前所有注册在AMF上的用户,取统计周期内的平均值'); +INSERT INTO `measure_title` VALUES (3439, 'AMF', 'AMFHB01', 'AMF.RegSubMax', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF最大注册态用户数\",\"en\":\"AMF.RegSubMax\"}', '当前所有注册在AMF上的用户,取统计周期内的最大值'); +INSERT INTO `measure_title` VALUES (3440, 'AMF', 'AMFHB01', 'AMF.RegSub.CmIdle', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF空闲态用户数\",\"en\":\"AMF.RegSub.CmIdle\"}', '当前所有注册在AMF上的处于CM-IDLE状态的用户。'); +INSERT INTO `measure_title` VALUES (3441, 'AMF', 'AMFHB01', 'AMF.RegSub.CmIdleMean', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF平均空闲态用户数\",\"en\":\"AMF.RegSub.CmIdleMean\"}', '当前所有注册在AMF上的处于CM-IDLE状态的用户,取统计周期内的平均值'); +INSERT INTO `measure_title` VALUES (3442, 'AMF', 'AMFHB01', 'AMF.RegSub.CmIdleMax', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF最大空闲态用户数\",\"en\":\"AMF.RegSub.CmIdleMax\"}', '当前所有注册在AMF上的处于CM-IDLE状态的用户,取统计周期内的最大值'); +INSERT INTO `measure_title` VALUES (3443, 'AMF', 'AMFHB01', 'AMF.RegSub.CmIdle._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的AMF空闲态用户数\",\"en\":\"AMF.RegSub.CmIdle._Ta\"}', '分TA统计当前处于CM-IDLE状态的用户数。如果网络配置约定TAList只包括当前TA,则分跟踪区的统计是准确的;若网络配置TAList可以包括多个TA,则以上次用户处于连接态时的TA作为用户当前TA,但这样统计的结果只是一个近似值。'); +INSERT INTO `measure_title` VALUES (3444, 'AMF', 'AMFHB01', 'AMF.RegSub.CmIdleMean._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的AMF平均空闲态用户数\",\"en\":\"AMF.RegSub.CmIdleMean._Ta\"}', '分TA统计当前处于CM-IDLE状态的用户数,取统计周期内的平均值。如果网络配置约定TAList只包括当前TA,则分跟踪区的统计是准确的;若网络配置TAList可以包括多个TA,则以上次用户处于连接态时的TA作为用户当前TA,但这样统计的结果只是一个近似值。'); +INSERT INTO `measure_title` VALUES (3445, 'AMF', 'AMFHB01', 'AMF.RegSub.CmIdleMax._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的AMF最大空闲态用户数\",\"en\":\"AMF.RegSub.CmIdleMax._Ta\"}', '分TA统计当前处于CM-IDLE状态的用户数,取统计周期内的最大值。如果网络配置约定TAList只包括当前TA,则分跟踪区的统计是准确的;若网络配置TAList可以包括多个TA,则以上次用户处于连接态时的TA作为用户当前TA,但这样统计的结果只是一个近似值。'); +INSERT INTO `measure_title` VALUES (3446, 'AMF', 'AMFHB01', 'AMF.RegSub.CmConnected', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF连接态用户数\",\"en\":\"AMF.RegSub.CmConnected\"}', '当前所有注册在AMF上的处于CM-CONNECTED状态的用户.'); +INSERT INTO `measure_title` VALUES (3447, 'AMF', 'AMFHB01', 'AMF.RegSub.CmConnectedMean', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF平均连接态用户数\",\"en\":\"AMF.RegSub.CmConnectedMean\"}', '当前所有注册在AMF上的处于CM-CONNECTED状态的用户,取统计周期内的平均值'); +INSERT INTO `measure_title` VALUES (3448, 'AMF', 'AMFHB01', 'AMF.RegSub.CmConnectedMax', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF最大连接态用户数\",\"en\":\"AMF.RegSub.CmConnectedMax\"}', '当前所有注册在AMF上的处于CM-CONNECTED状态的用户,取统计周期内的最大值'); +INSERT INTO `measure_title` VALUES (3449, 'AMF', 'AMFHB01', 'AMF.RegSub.CmConnected._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的AMF连接态用户数\",\"en\":\"AMF.RegSub.CmConnected._Ta\"}', '分跟踪区统计当前所有注册在AMF上的处于CM-CONNECTED状态的用户.'); +INSERT INTO `measure_title` VALUES (3450, 'AMF', 'AMFHB01', 'AMF.RegSub.CmConnectedMean._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的AMF平均连接态用户数\",\"en\":\"AMF.RegSub.CmConnectedMean._Ta\"}', '分跟踪区统计当前所有注册在AMF上的处于CM-CONNECTED状态的用户,取统计周期内的平均值'); +INSERT INTO `measure_title` VALUES (3451, 'AMF', 'AMFHB01', 'AMF.RegSub.CmConnectedMax._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的AMF最大连接态用户数\",\"en\":\"AMF.RegSub.CmConnectedMax._Ta\"}', '分跟踪区统计当前所有注册在AMF上的处于CM-CONNECTED状态的用户,取统计周期内的最大值'); +INSERT INTO `measure_title` VALUES (3452, 'AMF', 'AMFHB01', 'AMF.RegSub.CmConnected._Ns', 'true', 'AmfFunction', '15M', '{\"cn\":\"分切片的AMF连接态用户数\",\"en\":\"AMF.RegSub.CmConnected._Ns\"}', '分切片统计当前所有注册在AMF上的处于CM-CONNECTED状态的用户.'); +INSERT INTO `measure_title` VALUES (3453, 'AMF', 'AMFHB01', 'AMF.RegSub._Ns', 'true', 'AmfFunction', '15M', '{\"cn\":\"分切片的AMF注册用户数\",\"en\":\"AMF.RegSub._Ns\"}', 'AMF支持的允许UE使用的S-NSSAI统计每个网络切片在AMF上的用户数。以AMF下发给UE的allowed S-NSSAI中AMF支持的S-NSSAI的个数为准。'); +INSERT INTO `measure_title` VALUES (3454, 'AMF', 'AMFHB01', 'AMF.RegSubMean._Ns', 'true', 'AmfFunction', '15M', '{\"cn\":\"分切片的AMF平均注册用户数\",\"en\":\"AMF.RegSubMean._Ns\"}', 'AMF支持的允许UE使用的S-NSSAI统计每个网络切片在AMF上的用户数,取统计周期内的平均值。以AMF下发给UE的allowed S-NSSAI中AMF支持的S-NSSAI的个数为准。'); +INSERT INTO `measure_title` VALUES (3455, 'AMF', 'AMFHB01', 'AMF.RegSubMax._Ns', 'true', 'AmfFunction', '15M', '{\"cn\":\"分切片的AMF最大注册用户数\",\"en\":\"AMF.RegSubMax._Ns\"}', 'AMF支持的允许UE使用的S-NSSAI统计每个网络切片在AMF上的用户数,取统计周期内的最大值。以AMF下发给UE的allowed S-NSSAI中AMF支持的S-NSSAI的个数为准。'); +INSERT INTO `measure_title` VALUES (3456, 'AMF', 'AMFHB01', 'AMF.RegSub._NumSeg', 'true', 'AmfFunction', '15M', '{\"cn\":\"分号段的AMF注册用户数\",\"en\":\"AMF.RegSub._NumSeg\"}', '分号段统计注册在AMF上的用户。伪测量_NumSeg的取值形式如下:\n1)对于国漫用户:\n  , 即IMSI的前5(6)位数字。\n AMF.NbrSubEcm.10001\n2)对于网内用户:\n ,如\n AMF.NbrSubEcm.1370101'); +INSERT INTO `measure_title` VALUES (3457, 'AMF', 'AMFHC01', 'AMF.AttInitReg', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册请求次数\",\"en\":\"AMF.AttInitReg\"}', '初始注册请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3458, 'AMF', 'AMFHC01', 'AMF.AttInitReg._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册请求次数\",\"en\":\"AMF.AttInitReg._Ta\"}', '初始注册请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3459, 'AMF', 'AMFHC02', 'AMF.SuccInitReg', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册成功次数\",\"en\":\"AMF.SuccInitReg\"}', '初始注册完成次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3460, 'AMF', 'AMFHC02', 'AMF.SuccInitReg._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册成功次数\",\"en\":\"AMF.SuccInitReg._Ta\"}', '初始注册完成次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3461, 'AMF', 'AMFHC03', 'AMF.FailedInitReg', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数\",\"en\":\"AMF.FailedInitReg\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3462, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Cause', 'true', 'AmfFunction', '15M', '{\"cn\":\"分原因值的初始注册失败次数\",\"en\":\"AMF.FailedInitReg._Cause\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3463, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.3', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_非法用户\",\"en\":\"AMF.FailedInitReg.3\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3464, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.5', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_PEI不允许\",\"en\":\"AMF.FailedInitReg.5\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3465, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.6', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_非法设备\",\"en\":\"AMF.FailedInitReg.6\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3466, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.7', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_5GS服务不允许\",\"en\":\"AMF.FailedInitReg.7\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3467, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.7.User', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_5GS服务不允许_用户原因\",\"en\":\"AMF.FailedInitReg.7.User\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3468, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.15', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_跟踪区内无合适小区\",\"en\":\"AMF.FailedInitReg.15\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3469, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.15.User', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_跟踪区内无合适小区_用户原因\",\"en\":\"AMF.FailedInitReg.15.User\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3470, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.12', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_跟踪区不允许\",\"en\":\"AMF.FailedInitReg.12\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3471, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.13', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_漫游跟踪区禁止接入\",\"en\":\"AMF.FailedInitReg.13\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3472, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.27', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_N1模式不允许\",\"en\":\"AMF.FailedInitReg.27\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3473, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.62', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_无可用网络切片\",\"en\":\"AMF.FailedInitReg.62\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3474, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.11', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_PLMN不允许\",\"en\":\"AMF.FailedInitReg.11\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3475, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.111', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_协议错误\",\"en\":\"AMF.FailedInitReg.111\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3476, 'AMF', 'AMFHC03', 'AMF.FailedInitReg.111.User', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_协议错误_用户原因\",\"en\":\"AMF.FailedInitReg.111.User\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3477, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数\",\"en\":\"AMF.FailedInitReg._Ta\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3478, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.3', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_非法用户\",\"en\":\"AMF.FailedInitReg._Ta.3\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3479, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.5', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_PEI不允许\",\"en\":\"AMF.FailedInitReg._Ta.5\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3480, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.6', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_非法设备\",\"en\":\"AMF.FailedInitReg._Ta.6\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3481, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.7', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_5GS服务不允许\",\"en\":\"AMF.FailedInitReg._Ta.7\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3482, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.7.User', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_5GS服务不允许_用户原因\",\"en\":\"AMF.FailedInitReg._Ta.7.User\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3483, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.15', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_跟踪区内无合适小区\",\"en\":\"AMF.FailedInitReg._Ta.15\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3484, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.15.User', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_跟踪区内无合适小区_用户原因\",\"en\":\"AMF.FailedInitReg._Ta.15.User\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3485, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.12', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_跟踪区不允许\",\"en\":\"AMF.FailedInitReg._Ta.12\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3486, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.13', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_漫游跟踪区禁止接入\",\"en\":\"AMF.FailedInitReg._Ta.13\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3487, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.27', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_N1模式不允许\",\"en\":\"AMF.FailedInitReg._Ta.27\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3488, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.62', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_无可用网络切片\",\"en\":\"AMF.FailedInitReg._Ta.62\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3489, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.11', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_PLMN不允许\",\"en\":\"AMF.FailedInitReg._Ta.11\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3490, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.111', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_协议错误\",\"en\":\"AMF.FailedInitReg._Ta.111\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3491, 'AMF', 'AMFHC03', 'AMF.FailedInitReg._Ta.111.User', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册失败次数_协议错误_用户原因\",\"en\":\"AMF.FailedInitReg._Ta.111.User\"}', '分跟踪区的初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、8、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3492, 'AMF', 'AMFHC04', 'AMF.InitRegTime', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册平均时长\",\"en\":\"AMF.InitRegTime\"}', '成功的初始附着流程的平均时长'); +INSERT INTO `measure_title` VALUES (3493, 'AMF', 'AMFHD01', 'AMF.RegUpdReq', 'false', 'AmfFunction', '15M', '{\"cn\":\"注册更新请求次数\",\"en\":\"AMF.RegUpdReq\"}', '注册更新请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3494, 'AMF', 'AMFHD01', 'AMF.RegUpdReq._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的注册更新请求次数\",\"en\":\"AMF.RegUpdReq._Ta\"}', '注册更新请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3495, 'AMF', 'AMFHD01', 'AMF.RegUpdReq.Mob.InterAmf', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF间移动性注册更新请求次数\",\"en\":\"AMF.RegUpdReq.Mob.InterAmf\"}', 'AMF间移动性注册更新请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3496, 'AMF', 'AMFHD01', 'AMF.RegUpdReq.Mob.InterAmf._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的AMF间移动性注册更新请求次数\",\"en\":\"AMF.RegUpdReq.Mob.InterAmf._Ta\"}', 'AMF间移动性注册更新请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3497, 'AMF', 'AMFHD01', 'AMF.RegUpdReq.Mob.IntraAmf', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF内移动性注册更新请求次数\",\"en\":\"AMF.RegUpdReq.Mob.IntraAmf\"}', 'AMF内移动性注册更新请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3498, 'AMF', 'AMFHD01', 'AMF.RegUpdReq.Mob.IntraAmf._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的AMF内移动性注册更新请求次数\",\"en\":\"AMF.RegUpdReq.Mob.IntraAmf._Ta\"}', 'AMF内移动性注册更新请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3499, 'AMF', 'AMFHD01', 'AMF.RegUpdReq.Per', 'false', 'AmfFunction', '15M', '{\"cn\":\"周期性注册更新请求次数\",\"en\":\"AMF.RegUpdReq.Per\"}', '周期性注册更新请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3500, 'AMF', 'AMFHD01', 'AMF.RegUpdReq.Per._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的周期性注册更新请求次数\",\"en\":\"AMF.RegUpdReq.Per._Ta\"}', '周期性注册更新请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3501, 'AMF', 'AMFHD02', 'AMF.RegUpdAcpt', 'false', 'AmfFunction', '15M', '{\"cn\":\"注册更新接受次数\",\"en\":\"AMF.RegUpdAcpt\"}', '注册更新接受次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3502, 'AMF', 'AMFHD02', 'AMF.RegUpdAcpt._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的注册更新接受次数\",\"en\":\"AMF.RegUpdAcpt._Ta\"}', '注册更新接受次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3503, 'AMF', 'AMFHD02', 'AMF.RegUpdAcpt.Mob.InterAmf', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF间移动性注册更新接受次数\",\"en\":\"AMF.RegUpdAcpt.Mob.InterAmf\"}', 'AMF间移动性注册更新接受次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3504, 'AMF', 'AMFHD02', 'AMF.RegUpdAcpt.Mob.InterAmf._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的AMF间移动性注册更新接受次数\",\"en\":\"AMF.RegUpdAcpt.Mob.InterAmf._Ta\"}', 'AMF间移动性注册更新接受次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3505, 'AMF', 'AMFHD02', 'AMF.RegUpdAcpt.Mob.IntraAmf', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF内移动性注册更新接受次数\",\"en\":\"AMF.RegUpdAcpt.Mob.IntraAmf\"}', 'AMF内移动性注册更新接受次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3506, 'AMF', 'AMFHD02', 'AMF.RegUpdAcpt.Mob.IntraAmf._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的AMF内移动性注册更新接受次数\",\"en\":\"AMF.RegUpdAcpt.Mob.IntraAmf._Ta\"}', 'AMF内移动性注册更新接受次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3507, 'AMF', 'AMFHD02', 'AMF.RegUpdAcpt.Per', 'false', 'AmfFunction', '15M', '{\"cn\":\"周期性注册更新接受次数\",\"en\":\"AMF.RegUpdAcpt.Per\"}', '周期性注册更新接受消息的个数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3508, 'AMF', 'AMFHD02', 'AMF.RegUpdAcpt.Per._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的周期性注册更新接受次数\",\"en\":\"AMF.RegUpdAcpt.Per._Ta\"}', '周期性注册更新接受消息的个数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3509, 'AMF', 'AMFHD03', 'AMF.RegUpdRej', 'false', 'AmfFunction', '15M', '{\"cn\":\"注册更新失败次数\",\"en\":\"AMF.RegUpdRej\"}', '注册更新失败次数,分原因进行分类统计。\n其中,原因值3、6、7视为用户原因。'); +INSERT INTO `measure_title` VALUES (3510, 'AMF', 'AMFHD03', 'AMF.RegUpdRej._Cause', 'true', 'AmfFunction', '15M', '{\"cn\":\"分原因的注册更新失败次数\",\"en\":\"AMF.RegUpdRej._Cause\"}', '注册更新失败次数,分原因进行分类统计。\n其中,原因值3、6、7视为用户原因。'); +INSERT INTO `measure_title` VALUES (3511, 'AMF', 'AMFHD03', 'AMF.RegUpdRej.3', 'false', 'AmfFunction', '15M', '{\"cn\":\"注册更新失败次数(非法用户)\",\"en\":\"AMF.RegUpdRej.3\"}', '注册更新失败次数,分原因进行分类统计。\n其中,原因值3、6、7视为用户原因。'); +INSERT INTO `measure_title` VALUES (3512, 'AMF', 'AMFHD03', 'AMF.RegUpdRej.6', 'false', 'AmfFunction', '15M', '{\"cn\":\"注册更新失败次数(非法设备)\",\"en\":\"AMF.RegUpdRej.6\"}', '注册更新失败次数,分原因进行分类统计。\n其中,原因值3、6、7视为用户原因。'); +INSERT INTO `measure_title` VALUES (3513, 'AMF', 'AMFHD03', 'AMF.RegUpdRej.7', 'false', 'AmfFunction', '15M', '{\"cn\":\"注册更新失败次数(5GS服务不允许)\",\"en\":\"AMF.RegUpdRej.7\"}', '注册更新失败次数,分原因进行分类统计。\n其中,原因值3、6、7视为用户原因。'); +INSERT INTO `measure_title` VALUES (3514, 'AMF', 'AMFHD03', 'AMF.RegUpdRej._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的注册更新失败次数\",\"en\":\"AMF.RegUpdRej._Ta\"}', '分TA的注册更新失败次数,分原因进行分类统计。\n其中,原因值3、6、7视为用户原因。'); +INSERT INTO `measure_title` VALUES (3515, 'AMF', 'AMFHD03', 'AMF.RegUpdRej._Ta.3', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的注册更新失败次数(非法用户)\",\"en\":\"AMF.RegUpdRej._Ta.3\"}', '分TA的注册更新失败次数,分原因进行分类统计。\n其中,原因值3、6、7视为用户原因。'); +INSERT INTO `measure_title` VALUES (3516, 'AMF', 'AMFHD03', 'AMF.RegUpdRej._Ta.6', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的注册更新失败次数(非法设备)\",\"en\":\"AMF.RegUpdRej._Ta.6\"}', '分TA的注册更新失败次数,分原因进行分类统计。\n其中,原因值3、6、7视为用户原因。'); +INSERT INTO `measure_title` VALUES (3517, 'AMF', 'AMFHD03', 'AMF.RegUpdRej._Ta.7', 'true', 'AmfFunction', '15M', '{\"cn\":\"分TA的注册更新失败次数(5GS服务不允许)\",\"en\":\"AMF.RegUpdRej._Ta.7\"}', '分TA的注册更新失败次数,分原因进行分类统计。\n其中,原因值3、6、7视为用户原因。'); +INSERT INTO `measure_title` VALUES (3518, 'AMF', 'AMFHE01', 'AMF.PagAtt', 'false', 'AmfFunction', '15M', '{\"cn\":\"寻呼请求次数\",\"en\":\"AMF.PagAtt\"}', 'AMF的寻呼请求次数,并分TA进行统计。不包括二次寻呼(二次及二次以上统称为二次寻呼)请求次数。'); +INSERT INTO `measure_title` VALUES (3519, 'AMF', 'AMFHE01', 'AMF.PagAtt._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区寻呼请求次数\",\"en\":\"AMF.PagAtt._Ta\"}', 'AMF的寻呼请求次数,并分TA进行统计。不包括二次寻呼(二次及二次以上统称为二次寻呼)请求次数。'); +INSERT INTO `measure_title` VALUES (3520, 'AMF', 'AMFHE02', 'AMF.FirstPagingSucc', 'false', 'AmfFunction', '15M', '{\"cn\":\"一次寻呼响应次数\",\"en\":\"AMF.FirstPagingSucc\"}', '一次寻呼成功次数,并分TA进行统计。\n'); +INSERT INTO `measure_title` VALUES (3521, 'AMF', 'AMFHE02', 'AMF.FirstPagingSucc._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区一次寻呼响应次数\",\"en\":\"AMF.FirstPagingSucc._Ta\"}', '一次寻呼成功次数,并分TA进行统计。\n'); +INSERT INTO `measure_title` VALUES (3522, 'AMF', 'AMFHE03', 'AMF.SecondPagingSucc', 'false', 'AmfFunction', '15M', '{\"cn\":\"二次寻呼响应次数\",\"en\":\"AMF.SecondPagingSucc\"}', '二次(及二次以上)寻呼成功次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3523, 'AMF', 'AMFHE03', 'AMF.SecondPagingSucc._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区二次寻呼响应次数\",\"en\":\"AMF.SecondPagingSucc._Ta\"}', '二次(及二次以上)寻呼成功次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3524, 'AMF', 'AMFHE04', 'AMF.AttServiceReq', 'false', 'AmfFunction', '15M', '{\"cn\":\"业务请求尝试次数\",\"en\":\"AMF.AttServiceReq\"}', 'UE发起的业务请求次数\n'); +INSERT INTO `measure_title` VALUES (3525, 'AMF', 'AMFHE05', 'AMF.FailServiceReq', 'false', 'AmfFunction', '15M', '{\"cn\":\"业务请求被拒次数\",\"en\":\"AMF.FailServiceReq\"}', 'UE发起业务请求被拒绝个数'); +INSERT INTO `measure_title` VALUES (3526, 'AMF', 'AMFHE05', 'AMF.FailServiceReq._Cause', 'true', 'AmfFunction', '15M', '{\"cn\":\"分原因的业务请求被拒次数\",\"en\":\"AMF.FailServiceReq._Cause\"}', 'UE发起业务请求被拒绝个数'); +INSERT INTO `measure_title` VALUES (3527, 'AMF', 'AMFHF01', 'AMF.AttIntraAmfXn', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF内Xn接口切换尝试数\",\"en\":\"AMF.AttIntraAmfXn\"}', 'AMF内基于Xn接口的切换尝试次数。'); +INSERT INTO `measure_title` VALUES (3528, 'AMF', 'AMFHF02', 'AMF.SuccIntraAmfXn', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF内Xn接口切换成功次数\",\"en\":\"AMF.SuccIntraAmfXn\"}', 'AMF内基于Xn接口的切换成功次数。'); +INSERT INTO `measure_title` VALUES (3529, 'AMF', 'AMFHF03', 'AMF.AttIntraAmfN2', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF内N2接口切换尝试次数\",\"en\":\"AMF.AttIntraAmfN2\"}', 'AMF内基于N2接口的切换尝试次数。'); +INSERT INTO `measure_title` VALUES (3530, 'AMF', 'AMFHF04', 'AMF.SuccIntraAmfN2', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF内N2接口切换成功次数\",\"en\":\"AMF.SuccIntraAmfN2\"}', 'AMF内基于N2接口的切换成功次数。'); +INSERT INTO `measure_title` VALUES (3531, 'AMF', 'AMFHF05', 'AMF.AttOutInterAmf', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF间切换出尝试次数\",\"en\":\"AMF.AttOutInterAmf\"}', 'AMF间的切换,切换出源AMF尝试次数。'); +INSERT INTO `measure_title` VALUES (3532, 'AMF', 'AMFHF06', 'AMF.SuccOutInterAmf', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF间切换出成功次数\",\"en\":\"AMF.SuccOutInterAmf\"}', 'AMF间的切换,切换出源AMF成功次数。'); +INSERT INTO `measure_title` VALUES (3533, 'AMF', 'AMFHF07', 'AMF.AttIncInterAmf', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF间切换入尝试次数\",\"en\":\"AMF.AttIncInterAmf\"}', 'AMF间的切换,切换入目标AMF尝试次数。'); +INSERT INTO `measure_title` VALUES (3534, 'AMF', 'AMFHF08', 'AMF.SuccIncInterAmf', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF间切换入成功次数\",\"en\":\"AMF.SuccIncInterAmf\"}', 'AMF间的切换,切换入目标AMF成功次数。'); +INSERT INTO `measure_title` VALUES (3535, 'AMF', 'AMFHG01', 'AMF.Att5GHandoverTo4G', 'false', 'AmfFunction', '15M', '{\"cn\":\"从5G网络切换出至4G网络尝试次数\",\"en\":\"AMF.Att5GHandoverTo4G\"}', '系统间切换,从源NG-RAN切换出至目标E-UTRAN尝试次数。'); +INSERT INTO `measure_title` VALUES (3536, 'AMF', 'AMFHG02', 'AMF.Succ5GHandoverTo4G', 'false', 'AmfFunction', '15M', '{\"cn\":\"从5G网络切换出至4G网络成功次数\",\"en\":\"AMF.Succ5GHandoverTo4G\"}', '系统间切换,从源NG-RAN切换出至目标E-UTRAN成功次数。'); +INSERT INTO `measure_title` VALUES (3537, 'AMF', 'AMFHG03', 'AMF.Att4GHandoverTo5G', 'false', 'AmfFunction', '15M', '{\"cn\":\"从4G网络切换入5G网络尝试次数\",\"en\":\"AMF.Att4GHandoverTo5G\"}', '系统间切换,从源E-UTRAN切换入目标NG-RAN尝试次数。'); +INSERT INTO `measure_title` VALUES (3538, 'AMF', 'AMFHG04', 'AMF.Succ4GHandoverTo5G', 'false', 'AmfFunction', '15M', '{\"cn\":\"从4G网络切换入5G网络成功次数\",\"en\":\"AMF.Succ4GHandoverTo5G\"}', '系统间切换,从源E-UTRAN切换入目标NG-RAN成功次数。'); +INSERT INTO `measure_title` VALUES (3539, 'AMF', 'AMFHG05', 'AMF.Req4GReselectTo5G', 'false', 'AmfFunction', '15M', '{\"cn\":\"从4G网络重选入5G网络请求次数\",\"en\":\"AMF.Req4GReselectTo5G\"}', '系统间网络重选,从4G网络重选入5G网络请求次数。'); +INSERT INTO `measure_title` VALUES (3540, 'AMF', 'AMFHG06', 'AMF.Acc4GReselectTo5G', 'false', 'AmfFunction', '15M', '{\"cn\":\"从4G网络重选入5G网络接受次数\",\"en\":\"AMF.Acc4GReselectTo5G\"}', '系统间网络重选,从4G网络重选入5G网络成功次数。'); +INSERT INTO `measure_title` VALUES (3541, 'AMF', 'AMFHH01', 'ME.MeanMeLoad', 'false', 'ManagedElement', '15M', '{\"cn\":\"系统平均负荷\",\"en\":\"ME.MeanMeLoad\"}', '\n指测量周期中,网元的虚拟资源负荷的抽样平均值。网元的虚拟资源负荷可取对网元影响最大的模块的负荷,或取不同模块的负荷的加权平均值,不同厂商设备的计算方法各不相同。'); +INSERT INTO `measure_title` VALUES (3542, 'AMF', 'AMFHI01', 'AMF.UecmRegReq', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"UECM注册请求次数\",\"en\":\"AMF.UecmRegReq\"}', 'AMF向UDM发起UECM注册请求的次数。'); +INSERT INTO `measure_title` VALUES (3543, 'AMF', 'AMFHI02', 'AMF.UecmRegSucc', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"UECM注册成功次数\",\"en\":\"AMF.UecmRegSucc\"}', 'AMF收到UDM返回的UECM注册成功的次数。'); +INSERT INTO `measure_title` VALUES (3544, 'AMF', 'AMFHI03', 'AMF.UecmRegFail', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"UECM注册失败次数\",\"en\":\"AMF.UecmRegFail\"}', 'AMF收到UDM返回的UECM注册失败的次数。'); +INSERT INTO `measure_title` VALUES (3545, 'AMF', 'AMFHI03', 'AMF.UecmRegFail._Cause', 'true', 'EpRpDynN8Amf', '15M', '{\"cn\":\"分原因的UECM注册失败次数\",\"en\":\"AMF.UecmRegFail._Cause\"}', 'AMF收到UDM返回的UECM注册失败的次数。'); +INSERT INTO `measure_title` VALUES (3546, 'AMF', 'AMFHI03', 'AMF.UecmRegFail.Unknown5GSub', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"UECM注册失败次数_未签约5G\",\"en\":\"AMF.UecmRegFail.Unknown5GSub\"}', 'AMF收到UDM返回的UECM注册失败的次数。'); +INSERT INTO `measure_title` VALUES (3547, 'AMF', 'AMFHI03', 'AMF.UecmRegFail.NoPsSub', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"UECM注册失败次数_未签约PS业务\",\"en\":\"AMF.UecmRegFail.NoPsSub\"}', 'AMF收到UDM返回的UECM注册失败的次数。'); +INSERT INTO `measure_title` VALUES (3548, 'AMF', 'AMFHI03', 'AMF.UecmRegFail.RoamNotAllowed', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"UECM注册失败次数_漫游不允许\",\"en\":\"AMF.UecmRegFail.RoamNotAllowed\"}', 'AMF收到UDM返回的UECM注册失败的次数。'); +INSERT INTO `measure_title` VALUES (3549, 'AMF', 'AMFHI03', 'AMF.UecmRegFail.AccessNotAllowed', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"UECM注册失败次数_接入类型不允许\",\"en\":\"AMF.UecmRegFail.AccessNotAllowed\"}', 'AMF收到UDM返回的UECM注册失败的次数。'); +INSERT INTO `measure_title` VALUES (3550, 'AMF', 'AMFHI03', 'AMF.UecmRegFail.RatNotAllowed', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"UECM注册失败次数_5GS接入不允许\",\"en\":\"AMF.UecmRegFail.RatNotAllowed\"}', 'AMF收到UDM返回的UECM注册失败的次数。'); +INSERT INTO `measure_title` VALUES (3551, 'AMF', 'AMFHI4', 'AMF.UecmDeregReq', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"AMF发起的UECM去注册请求次数\",\"en\":\"AMF.UecmDeregReq\"}', '在AMF删除用户数据时,AMF向UDM发起的UECM去注册请求次数'); +INSERT INTO `measure_title` VALUES (3552, 'AMF', 'AMFHI5', 'AMF.UecmDeregSucc', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"AMF发起的UECM去注册成功次数\",\"en\":\"AMF.UecmDeregSucc\"}', '在AMF删除用户数据时,AMF收到UDM返回的UECM去注册成功次数'); +INSERT INTO `measure_title` VALUES (3553, 'AMF', 'AMFHI6', 'AMF.UecmDeregNotifyReq', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"UDM发起的UECM去注册请求次数\",\"en\":\"AMF.UecmDeregNotifyReq\"}', '当UDM中用户数据变更或用户移动到新的AMF下时,UDM向AMF发起的UECM去注册通知次数'); +INSERT INTO `measure_title` VALUES (3554, 'AMF', 'AMFHI7', 'AMF.UecmDeregNotifySucc', 'false', 'EpRpDynN8Amf', '15M', '{\"cn\":\"UDM发起的UECM去注册成功次数\",\"en\":\"AMF.UecmDeregNotifySucc\"}', 'UDM调用Nudm_UECM_DeregistrationNotification service operation对AMF进行通知,AMF分HTTP Status Code进行的响应次数。'); +INSERT INTO `measure_title` VALUES (3555, 'AMF', 'AMFHJ01', 'AMF.SmContextCreateReq', 'false', 'EpRpDynN11Amf', '15M', '{\"cn\":\"会话上下文建立请求次数\",\"en\":\"AMF.SmContextCreateReq\"}', 'AMF向SMF发起建立会话上下文的次数。'); +INSERT INTO `measure_title` VALUES (3556, 'AMF', 'AMFHJ02', 'AMF.SessionCreateSucc', 'false', 'EpRpDynN11Amf', '15M', '{\"cn\":\"会话上下文建立成功次数\",\"en\":\"AMF.SessionCreateSucc\"}', 'SMF返回AMF建立会话上下文成功的次数'); +INSERT INTO `measure_title` VALUES (3557, 'AMF', 'AMFHJ03', 'AMF.SmContextUpdateReq', 'false', 'EpRpDynN11Amf', '15M', '{\"cn\":\"会话上下文更新请求次数\",\"en\":\"AMF.SmContextUpdateReq\"}', 'AMF向SMF发起更新会话上下文的次数。'); +INSERT INTO `measure_title` VALUES (3558, 'AMF', 'AMFHJ04', 'AMF.SessionUpdateSucc', 'false', 'EpRpDynN11Amf', '15M', '{\"cn\":\"会话上下文更新成功次数\",\"en\":\"AMF.SessionUpdateSucc\"}', 'SMF返回AMF更新会话上下文成功的次数'); +INSERT INTO `measure_title` VALUES (3559, 'AMF', 'AMFHJ05', 'AMF.SmContextReleaseReq', 'false', 'EpRpDynN11Amf', '15M', '{\"cn\":\"会话上下文释放请求次数\",\"en\":\"AMF.SmContextReleaseReq\"}', 'AMF向SMF发起释放会话上下文的次数。'); +INSERT INTO `measure_title` VALUES (3560, 'AMF', 'AMFHJ06', 'AMF.SessionReleaseSucc', 'false', 'EpRpDynN11Amf', '15M', '{\"cn\":\"会话上下文释放成功次数\",\"en\":\"AMF.SessionReleaseSucc\"}', 'SMF返回AMF释放会话上下文成功的次数'); +INSERT INTO `measure_title` VALUES (3561, 'AMF', 'AMFHJ07', 'AMF.SmContextRetrieveReq', 'false', 'EpRpDynN11Amf', '15M', '{\"cn\":\"会话上下文查询请求次数\",\"en\":\"AMF.SmContextRetrieveReq\"}', 'AMF向SMF发起查询会话上下文的次数。'); +INSERT INTO `measure_title` VALUES (3562, 'AMF', 'AMFHJ08', 'AMF.SessionRetrieveSucc', 'false', 'EpRpDynN11Amf', '15M', '{\"cn\":\"会话上下文查询成功次数\",\"en\":\"AMF.SessionRetrieveSucc\"}', 'SMF返回AMF查询会话上下文成功的次数'); +INSERT INTO `measure_title` VALUES (3563, 'AMF', 'AMFHK01', 'AMF.UeAuthReq', 'false', 'EpRpDynN12Amf', '15M', '{\"cn\":\"AMF向AUSF发起鉴权请求次数\",\"en\":\"AMF.UeAuthReq\"}', 'AMF向AUSF发起鉴权请求消息次数'); +INSERT INTO `measure_title` VALUES (3564, 'AMF', 'AMFHK02', 'AMF.UeAuthSucc', 'false', 'EpRpDynN12Amf', '15M', '{\"cn\":\"AUSF向AMF返回的鉴权成功次数\",\"en\":\"AMF.UeAuthSucc\"}', 'AUSF向AMF返回的鉴权成功消息次数'); +INSERT INTO `measure_title` VALUES (3565, 'AMF', 'AMFHK03', 'AMF.UeAuthFail', 'false', 'EpRpDynN12Amf', '15M', '{\"cn\":\"鉴权失败次数\",\"en\":\"AMF.UeAuthFail\"}', '统计AMF收到的AUSF返回的鉴权失败次数,并分application error进行统计。'); +INSERT INTO `measure_title` VALUES (3566, 'AMF', 'AMFHK03', 'AMF.UeAuthFail._Cause', 'true', 'EpRpDynN12Amf', '15M', '{\"cn\":\"分原因的鉴权失败次数\",\"en\":\"AMF.UeAuthFail._Cause\"}', '统计AMF收到的AUSF返回的鉴权失败次数,并分application error进行统计。'); +INSERT INTO `measure_title` VALUES (3567, 'AMF', 'AMFHK08', 'AMF.UeAuthCfmReq', 'false', 'EpRpDynN12Amf', '15M', '{\"cn\":\"AMF向AUSF发起鉴权确认请求次数\",\"en\":\"AMF.UeAuthCfmReq\"}', 'AMF向AUSF发起鉴权确认请求消息次数'); +INSERT INTO `measure_title` VALUES (3568, 'AMF', 'AMFHK09', 'AMF.UeAuthCfmSucc', 'false', 'EpRpDynN12Amf', '15M', '{\"cn\":\"AUSF向AMF返回的鉴权确认成功次数\",\"en\":\"AMF.UeAuthCfmSucc\"}', 'AUSF向AMF返回的鉴权确认成功消息次数'); +INSERT INTO `measure_title` VALUES (3569, 'AMF', 'AMFHL01', 'AMF.GnbNum', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF挂接5G基站数\",\"en\":\"AMF.GnbNum\"}', '统计周期结束点时刻,挂接在AMF下的5G基站数量'); +INSERT INTO `measure_title` VALUES (3570, 'PCF', 'PCFHA01', 'PCF.AmAssocNbrMean', 'false', 'PcfFunction', '15M', '{\"cn\":\"AM策略关联总数平均值\",\"en\":\"PCF.AmAssocNbrMean\"}', 'PCF上AM策略关联总数的平均值'); +INSERT INTO `measure_title` VALUES (3571, 'PCF', 'PCFHA02', 'PCF.AmAssocNbrMax', 'false', 'PcfFunction', '15M', '{\"cn\":\"AM策略关联总数最大值\",\"en\":\"PCF.AmAssocNbrMax\"}', 'PCF上AM策略关联总数的最大值'); +INSERT INTO `measure_title` VALUES (3572, 'PCF', 'PCFHA03', 'PCF.SmAssocNbrMean', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联总数平均值\",\"en\":\"PCF.SmAssocNbrMean\"}', 'PCF上SM策略关联总数的平均值'); +INSERT INTO `measure_title` VALUES (3573, 'PCF', 'PCFHA04', 'PCF.SmAssocNbrMax', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联总数最大值\",\"en\":\"PCF.SmAssocNbrMax\"}', 'PCF上SM策略关联总数的最大值'); +INSERT INTO `measure_title` VALUES (3574, 'PCF', 'PCFHB01', 'PCF.PolicyAmAssocCreateReq', 'false', 'PcfFunction', '15M', '{\"cn\":\"AM策略关联建立请求次数\",\"en\":\"PCF.PolicyAmAssocCreateReq\"}', 'PCF收到的AM策略关联建立请求次数'); +INSERT INTO `measure_title` VALUES (3575, 'PCF', 'PCFHB02', 'PCF.PolicyAmAssocCreateSucc', 'false', 'PcfFunction', '15M', '{\"cn\":\"AM策略关联建立成功次数\",\"en\":\"PCF.PolicyAmAssocCreateSucc\"}', 'PCF返回的AM策略关联建立成功次数'); +INSERT INTO `measure_title` VALUES (3576, 'PCF', 'PCFHB03', 'PCF.PolicyAmAssocUpdateReq', 'false', 'PcfFunction', '15M', '{\"cn\":\"AM策略关联更新请求次数\",\"en\":\"PCF.PolicyAmAssocUpdateReq\"}', 'PCF从AMF收到的AM策略关联更新请求次数'); +INSERT INTO `measure_title` VALUES (3577, 'PCF', 'PCFHB04', 'PCF.PolicyAmAssocUpdateSucc', 'false', 'PcfFunction', '15M', '{\"cn\":\"AM策略关联更新成功次数\",\"en\":\"PCF.PolicyAmAssocUpdateSucc\"}', 'PCF上AM策略关联更新成功次数'); +INSERT INTO `measure_title` VALUES (3578, 'PCF', 'PCFHB05', 'PCF.PolicyAmAssocNotifReq', 'false', 'PcfFunction', '15M', '{\"cn\":\"AM策略关联更新通知请求次数\",\"en\":\"PCF.PolicyAmAssocNotifReq\"}', '统计PCF向AMF发送的AM策略关联更新通知请求次数'); +INSERT INTO `measure_title` VALUES (3579, 'PCF', 'PCFHB06', 'PCF.PolicyAmAssocNotifSucc', 'false', 'PcfFunction', '15M', '{\"cn\":\"AM策略关联更新通知成功次数\",\"en\":\"PCF.PolicyAmAssocNotifSucc\"}', '统计PCF收到AMF返回的AM策略关联更新通知成功次数'); +INSERT INTO `measure_title` VALUES (3580, 'PCF', 'PCFHB07', 'PCF.PolicyAmAssocDeleteReq', 'false', 'PcfFunction', '15M', '{\"cn\":\"AM策略关联删除请求次数\",\"en\":\"PCF.PolicyAmAssocDeleteReq\"}', 'PCF从AMF收到的AM策略关联删除请求次数'); +INSERT INTO `measure_title` VALUES (3581, 'PCF', 'PCFHB08', 'PCF.PolicyAmAssocDeleteSucc', 'false', 'PcfFunction', '15M', '{\"cn\":\"AM策略关联删除成功次数\",\"en\":\"PCF.PolicyAmAssocDeleteSucc\"}', 'PCF上AM策略关联删除成功次数'); +INSERT INTO `measure_title` VALUES (3582, 'PCF', 'PCFHC01', 'PCF.PolicySmAssocCreateReq', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联建立请求次数\",\"en\":\"PCF.PolicySmAssocCreateReq\"}', 'PCF收到的SM策略关联建立请求次数'); +INSERT INTO `measure_title` VALUES (3583, 'PCF', 'PCFHC02', 'PCF.PolicySmAssocCreateSucc', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联建立成功次数\",\"en\":\"PCF.PolicySmAssocCreateSucc\"}', 'PCF返回的SM策略关联建立成功次数'); +INSERT INTO `measure_title` VALUES (3584, 'PCF', 'PCFHC03', 'PCF.PolicySmAssocCreateFail', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联建立失败次数\",\"en\":\"PCF.PolicySmAssocCreateFail\"}', 'PCF返回的SM策略关联建立失败次数,并按不同的Application errors分别统计'); +INSERT INTO `measure_title` VALUES (3585, 'PCF', 'PCFHC03', 'PCF.PolicySmAssocCreateFail._Cause', 'true', 'PcfFunction', '15M', '{\"cn\":\"分原因的SM策略关联建立失败次数\",\"en\":\"PCF.PolicySmAssocCreateFail._Cause\"}', 'PCF返回的SM策略关联建立失败次数,并按不同的Application errors分别统计'); +INSERT INTO `measure_title` VALUES (3586, 'PCF', 'PCFHC04', 'PCF.PolicySmAssocUpdateReq', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联更新请求次数\",\"en\":\"PCF.PolicySmAssocUpdateReq\"}', 'PCF从SMF收到的SM策略关联更新请求次数'); +INSERT INTO `measure_title` VALUES (3587, 'PCF', 'PCFHC05', 'PCF.PolicySmAssocUpdateSucc', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联更新成功次数\",\"en\":\"PCF.PolicySmAssocUpdateSucc\"}', 'PCF上SM策略关联更新成功次数'); +INSERT INTO `measure_title` VALUES (3588, 'PCF', 'PCFHC06', 'PCF.PolicySmAssocUpdateFail', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联更新失败次数\",\"en\":\"PCF.PolicySmAssocUpdateFail\"}', 'PCF返回的SM策略关联更新失败次数,并按不同的Application errors分别统计'); +INSERT INTO `measure_title` VALUES (3589, 'PCF', 'PCFHC06', 'PCF.PolicySmAssocUpdateFail._Cause', 'true', 'PcfFunction', '15M', '{\"cn\":\"分原因的SM策略关联更新失败次数\",\"en\":\"PCF.PolicySmAssocUpdateFail._Cause\"}', 'PCF返回的SM策略关联更新失败次数,并按不同的Application errors分别统计'); +INSERT INTO `measure_title` VALUES (3590, 'PCF', 'PCFHC07', 'PCF.PolicySmAssocNotifReq', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联更新通知请求次数\",\"en\":\"PCF.PolicySmAssocNotifReq\"}', 'PCF向SMF发送的SM策略关联更新通知请求次数'); +INSERT INTO `measure_title` VALUES (3591, 'PCF', 'PCFHC08', 'PCF.PolicySmAssocNotifSucc', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联更新通知成功次数\",\"en\":\"PCF.PolicySmAssocNotifSucc\"}', 'PCF上SM策略关联更新通知成功次数'); +INSERT INTO `measure_title` VALUES (3592, 'PCF', 'PCFHC09', 'PCF.PolicySmAssocNotifFail', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联更新通知失败次数\",\"en\":\"PCF.PolicySmAssocNotifFail\"}', 'PCF上SM策略关联更新通知失败次数,并按不同的Application errors分类统计'); +INSERT INTO `measure_title` VALUES (3593, 'PCF', 'PCFHC09', 'PCF.PolicySmAssocNotifFail._Cause', 'true', 'PcfFunction', '15M', '{\"cn\":\"分原因的SM策略关联更新通知失败次数\",\"en\":\"PCF.PolicySmAssocNotifFail._Cause\"}', 'PCF上SM策略关联更新通知失败次数,并按不同的Application errors分类统计'); +INSERT INTO `measure_title` VALUES (3594, 'PCF', 'PCFHC10', 'PCF.PolicySmAssocDeleteReq', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联删除请求次数\",\"en\":\"PCF.PolicySmAssocDeleteReq\"}', 'PCF从SMF收到的SM策略关联删除请求次数'); +INSERT INTO `measure_title` VALUES (3595, 'PCF', 'PCFHC11', 'PCF.PolicySmAssocDeleteSucc', 'false', 'PcfFunction', '15M', '{\"cn\":\"SM策略关联删除成功次数\",\"en\":\"PCF.PolicySmAssocDeleteSucc\"}', 'PCF上SM策略关联删除成功次数'); +INSERT INTO `measure_title` VALUES (3596, 'PCF', 'PCFHD01', 'UDR.PcfSubNbr', 'false', 'UdrFunction', '15M', '{\"cn\":\"PCF签约用户数\",\"en\":\"UDR.PcfSubNbr\"}', 'PCF签约成功的用户数。语音PCF不涉及Udr,语音PCF对应指标填0。'); +INSERT INTO `measure_title` VALUES (3597, 'PCF', 'PCFHE01', 'ME.MeanMeLoad', 'false', 'ManagedElement', '15M', '{\"cn\":\"系统平均负荷\",\"en\":\"ME.MeanMeLoad\"}', '\n指测量周期中,网元的虚拟机资源负荷的抽样平均值。网元的虚拟机资源负荷可取对网元影响最大的模块的负荷,或取不同模块的负荷的加权平均值,不同厂商设备的计算方法各不相同。'); +INSERT INTO `measure_title` VALUES (3598, 'SMF', 'SMFHA01', 'SMF.AttCreatePduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立请求次数\",\"en\":\"SMF.AttCreatePduSession\"}', 'UE发起的PDU会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3599, 'SMF', 'SMFHA01', 'SMF.AttCreatePduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的PDU会话建立请求次数\",\"en\":\"SMF.AttCreatePduSession._Ns\"}', '按照S-NSSAI统计UE发起的PDU会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3600, 'SMF', 'SMFHA01', 'SMF.AttCreatePduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的PDU会话建立请求次数\",\"en\":\"SMF.AttCreatePduSession._Dnn\"}', '按照DNN统计UE发起的PDU会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3601, 'SMF', 'SMFHA02', 'SMF.SuccCreatePduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立成功次数\",\"en\":\"SMF.SuccCreatePduSession\"}', 'UE发起的PDU会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3602, 'SMF', 'SMFHA02', 'SMF.SuccCreatePduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的PDU会话建立成功次数\",\"en\":\"SMF.SuccCreatePduSession._Ns\"}', '按照S-NSSAI统计UE发起的PDU会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3603, 'SMF', 'SMFHA02', 'SMF.SuccCreatePduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的PDU会话建立成功次数\",\"en\":\"SMF.SuccCreatePduSession._Dnn\"}', '按照DNN统计UE发起的PDU会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3604, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立失败次数\",\"en\":\"SMF.FailCreatePduSession\"}', 'UE发起的PDU会话建立被SMF拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3605, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Cause', 'true', 'SmfFunction', '15M', '{\"cn\":\"分原因的PDU会话建立失败次数\",\"en\":\"SMF.FailCreatePduSession._Cause\"}', 'UE发起的PDU会话建立被SMF拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3606, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession.82', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立失败次数_终端完整性保护速率过低\",\"en\":\"SMF.FailCreatePduSession.82\"}', '在会话建立及更新过程中,终端支持的完整性保护速率小于5GC要求,SMF可以拒绝'); +INSERT INTO `measure_title` VALUES (3607, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession.28', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立失败次数_PDU会话类型不支持\",\"en\":\"SMF.FailCreatePduSession.28\"}', '由于终端设置错误,请求的PDU会话类型与网络支持的PDU类型不一致。'); +INSERT INTO `measure_title` VALUES (3608, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession.29', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立失败次数_鉴权失败\",\"en\":\"SMF.FailCreatePduSession.29\"}', '在PDU会话建立过程中因终端设置或终端未签约导致鉴权失败(一般为2B业务场景)'); +INSERT INTO `measure_title` VALUES (3609, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession.68', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立失败次数_SSC模式不支持\",\"en\":\"SMF.FailCreatePduSession.68\"}', '终端设置原因,终端请求的SSC模式和用户签约的不一致。'); +INSERT INTO `measure_title` VALUES (3610, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession.27', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立失败次数_终端使用未知DNN或者DNN缺失\",\"en\":\"SMF.FailCreatePduSession.27\"}', 'DNN未知或DNN存在缺失导致的失败'); +INSERT INTO `measure_title` VALUES (3611, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession.33', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立失败次数_终端请求的业务未签约\",\"en\":\"SMF.FailCreatePduSession.33\"}', '请求服务没有签约(可能是DNN、PDU类型未签约导致)'); +INSERT INTO `measure_title` VALUES (3612, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession.46', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立失败次数_终端离开本地数据网服务区域\",\"en\":\"SMF.FailCreatePduSession.46\"}', '超出LADN服务区'); +INSERT INTO `measure_title` VALUES (3613, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession.26', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立失败次数_资源不足\",\"en\":\"SMF.FailCreatePduSession.26\"}', '在会话建立过程中,SMF因资源限制/控制场景拒绝会话建立,NAS原因值为资源不足(#26:Insufficient resources)'); +INSERT INTO `measure_title` VALUES (3614, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的PDU会话建立失败次数\",\"en\":\"SMF.FailCreatePduSession._Ns\"}', '按照S-NSSAI统计UE发起的PDU会话建立被SMF拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3615, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Ns.82', 'true', 'SmfFunction', '15M', '{\"cn\":\"分网络切片的PDU会话建立失败次数_终端完整性保护速率过低\",\"en\":\"SMF.FailCreatePduSession._Ns.82\"}', '在会话建立及更新过程中,终端支持的完整性保护速率小于5GC要求,SMF可以拒绝'); +INSERT INTO `measure_title` VALUES (3616, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Ns.28', 'true', 'SmfFunction', '15M', '{\"cn\":\"分网络切片的PDU会话建立失败次数_PDU会话类型不支持\",\"en\":\"SMF.FailCreatePduSession._Ns.28\"}', '由于终端设置错误,请求的PDU会话类型与网络支持的PDU类型不一致。'); +INSERT INTO `measure_title` VALUES (3617, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Ns.29', 'true', 'SmfFunction', '15M', '{\"cn\":\"分网络切片的PDU会话建立失败次数_鉴权失败\",\"en\":\"SMF.FailCreatePduSession._Ns.29\"}', '在PDU会话建立过程中因终端设置或终端未签约导致鉴权失败(一般为2B业务场景)'); +INSERT INTO `measure_title` VALUES (3618, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Ns.68', 'true', 'SmfFunction', '15M', '{\"cn\":\"分网络切片的PDU会话建立失败次数_SSC模式不支持\",\"en\":\"SMF.FailCreatePduSession._Ns.68\"}', '终端设置原因,终端请求的SSC模式和用户签约的不一致。'); +INSERT INTO `measure_title` VALUES (3619, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Ns.27', 'true', 'SmfFunction', '15M', '{\"cn\":\"分网络切片的PDU会话建立失败次数_终端使用未知DNN或者DNN缺失\",\"en\":\"SMF.FailCreatePduSession._Ns.27\"}', 'DNN未知或DNN存在缺失导致的失败'); +INSERT INTO `measure_title` VALUES (3620, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Ns.33', 'true', 'SmfFunction', '15M', '{\"cn\":\"分网络切片的PDU会话建立失败次数_终端请求的业务未签约\",\"en\":\"SMF.FailCreatePduSession._Ns.33\"}', '请求服务没有签约(可能是DNN、PDU类型未签约导致)'); +INSERT INTO `measure_title` VALUES (3621, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Ns.46', 'true', 'SmfFunction', '15M', '{\"cn\":\"分网络切片的PDU会话建立失败次数_终端离开本地数据网服务区域\",\"en\":\"SMF.FailCreatePduSession._Ns.46\"}', '超出LADN服务区'); +INSERT INTO `measure_title` VALUES (3622, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的PDU会话建立失败次数\",\"en\":\"SMF.FailCreatePduSession._Dnn\"}', '按照DNN统计UE发起的PDU会话建立被SMF拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3623, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Dnn.82', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的PDU会话建立失败次数_终端完整性保护速率过低\",\"en\":\"SMF.FailCreatePduSession._Dnn.82\"}', '在会话建立及更新过程中,终端支持的完整性保护速率小于5GC要求,SMF可以拒绝'); +INSERT INTO `measure_title` VALUES (3624, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Dnn.28', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的PDU会话建立失败次数_PDU会话类型不支持\",\"en\":\"SMF.FailCreatePduSession._Dnn.28\"}', '由于终端设置错误,请求的PDU会话类型与网络支持的PDU类型不一致。'); +INSERT INTO `measure_title` VALUES (3625, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Dnn.29', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的PDU会话建立失败次数_鉴权失败\",\"en\":\"SMF.FailCreatePduSession._Dnn.29\"}', '在PDU会话建立过程中因终端设置或终端未签约导致鉴权失败(一般为2B业务场景)'); +INSERT INTO `measure_title` VALUES (3626, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Dnn.68', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的PDU会话建立失败次数_SSC模式不支持\",\"en\":\"SMF.FailCreatePduSession._Dnn.68\"}', '终端设置原因,终端请求的SSC模式和用户签约的不一致。'); +INSERT INTO `measure_title` VALUES (3627, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Dnn.33', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的PDU会话建立失败次数_终端请求的业务未签约\",\"en\":\"SMF.FailCreatePduSession._Dnn.33\"}', '请求服务没有签约(可能是DNN、PDU类型未签约导致)'); +INSERT INTO `measure_title` VALUES (3628, 'SMF', 'SMFHA03', 'SMF.FailCreatePduSession._Dnn.46', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的PDU会话建立失败次数_终端离开本地数据网服务区域\",\"en\":\"SMF.FailCreatePduSession._Dnn.46\"}', '超出LADN服务区'); +INSERT INTO `measure_title` VALUES (3629, 'SMF', 'SMFHA04', 'SMF.AttSmfModifyPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"SMF发起的PDU会话修改请求次数\",\"en\":\"SMF.AttSmfModifyPduSession\"}', 'SMF发起的PDU会话修改请求次数。'); +INSERT INTO `measure_title` VALUES (3630, 'SMF', 'SMFHA04', 'SMF.AttSmfModifyPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的PDU会话修改请求次数\",\"en\":\"SMF.AttSmfModifyPduSession._Ns\"}', '按照S-NSSAI统计SMF发起的PDU会话修改请求次数。'); +INSERT INTO `measure_title` VALUES (3631, 'SMF', 'SMFHA04', 'SMF.AttSmfModifyPduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的PDU会话修改请求次数\",\"en\":\"SMF.AttSmfModifyPduSession._Dnn\"}', '按照DNN统计SMF发起的PDU会话修改请求次数。'); +INSERT INTO `measure_title` VALUES (3632, 'SMF', 'SMFHA05', 'SMF.SuccSmfModifyPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"SMF发起的PDU会话修改成功次数\",\"en\":\"SMF.SuccSmfModifyPduSession\"}', 'SMF发起的PDU会话修改成功次数。'); +INSERT INTO `measure_title` VALUES (3633, 'SMF', 'SMFHA05', 'SMF.SuccSmfModifyPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的SMF发起的PDU会话修改成功次数\",\"en\":\"SMF.SuccSmfModifyPduSession._Ns\"}', '按照S-NSSAI统计SMF发起的PDU会话修改成功次数。'); +INSERT INTO `measure_title` VALUES (3634, 'SMF', 'SMFHA05', 'SMF.SuccSmfModifyPduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的SMF发起的PDU会话修改成功次数\",\"en\":\"SMF.SuccSmfModifyPduSession._Dnn\"}', '按照DNN统计SMF发起的PDU会话修改成功次数。'); +INSERT INTO `measure_title` VALUES (3635, 'SMF', 'SMFHA06', 'SMF.FailSmfModifyPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"SMF发起的PDU会话修改失败次数\",\"en\":\"SMF.FailSmfModifyPduSession\"}', 'SMF发起的PDU会话修改请求被拒绝的次数,并按拒绝原因分类统计。\n'); +INSERT INTO `measure_title` VALUES (3636, 'SMF', 'SMFHA06', 'SMF.FailSmfModifyPduSession._Cause', 'true', 'SmfFunction', '15M', '{\"cn\":\"分原因的SMF发起的PDU会话修改失败次数\",\"en\":\"SMF.FailSmfModifyPduSession._Cause\"}', 'SMF发起的PDU会话修改请求被拒绝的次数,并按拒绝原因分类统计。\n'); +INSERT INTO `measure_title` VALUES (3637, 'SMF', 'SMFHA06', 'SMF.FailSmfModifyPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的SMF发起的PDU会话修改失败次数\",\"en\":\"SMF.FailSmfModifyPduSession._Ns\"}', '按照S-NSSAI统计SMF发起的PDU会话修改请求被拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3638, 'SMF', 'SMFHA06', 'SMF.FailSmfModifyPduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的SMF发起的PDU会话修改失败次数\",\"en\":\"SMF.FailSmfModifyPduSession._Dnn\"}', '按照DNN统计SMF发起的PDU会话修改请求被拒绝的次数,并按拒绝原因分类统计。\n'); +INSERT INTO `measure_title` VALUES (3639, 'SMF', 'SMFHA07', 'SMF.PduSessionCreateTime', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立流程平均时长\",\"en\":\"SMF.PduSessionCreateTime\"}', '成功的PDU会话建立流程的平均时长。\n'); +INSERT INTO `measure_title` VALUES (3640, 'SMF', 'SMFHA08', 'SMF.AttSmfModifyPduSession.Epsfb', 'false', 'SmfFunction', '15M', '{\"cn\":\"EPSFALLBACK请求数\",\"en\":\"SMF.AttSmfModifyPduSession.Epsfb\"}', '用户发起的EPS fallback总的请求数'); +INSERT INTO `measure_title` VALUES (3641, 'SMF', 'SMFHA08', 'SMF.SuccSmfModifyBearerResponse.Epsfb', 'false', 'SmfFunction', '15M', '{\"cn\":\"EPSFALLBACK回落成功数\",\"en\":\"SMF.SuccSmfModifyBearerResponse.Epsfb\"}', '用户回落到4G以后,在4G上修改承载成功数'); +INSERT INTO `measure_title` VALUES (3642, 'SMF', 'SMFHB01', 'SMF.MeanPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"平均PDU会话数\",\"en\":\"SMF.MeanPduSession\"}', '一个统计周期内SMF中的平均PDU会话数。'); +INSERT INTO `measure_title` VALUES (3643, 'SMF', 'SMFHB01', 'SMF.MeanPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的平均PDU会话数\",\"en\":\"SMF.MeanPduSession._Ns\"}', '一个统计周期内按照S-NSSAI统计SMF中的平均PDU会话数。'); +INSERT INTO `measure_title` VALUES (3644, 'SMF', 'SMFHB01', 'SMF.MeanPduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的平均PDU会话数\",\"en\":\"SMF.MeanPduSession._Dnn\"}', '一个统计周期内按照DNN统计SMF中的平均PDU会话数。'); +INSERT INTO `measure_title` VALUES (3645, 'SMF', 'SMFHB02', 'SMF.MaxPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"最大PDU会话数\",\"en\":\"SMF.MaxPduSession\"}', '一个统计周期内SMF中的最大PDU会话数。'); +INSERT INTO `measure_title` VALUES (3646, 'SMF', 'SMFHB02', 'SMF.MaxPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的最大PDU会话数\",\"en\":\"SMF.MaxPduSession._Ns\"}', '一个统计周期内按照S-NSSAI统计SMF中的最大PDU会话数。'); +INSERT INTO `measure_title` VALUES (3647, 'SMF', 'SMFHB02', 'SMF.MaxPduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的最大PDU会话数\",\"en\":\"SMF.MaxPduSession._Dnn\"}', '一个统计周期内按照DNN统计SMF中的最大PDU会话数。'); +INSERT INTO `measure_title` VALUES (3648, 'SMF', 'SMFHB03', 'SMF.MeanQf', 'false', 'SmfFunction', '15M', '{\"cn\":\"平均Qos流数\",\"en\":\"SMF.MeanQf\"}', '一个统计周期内SMF中的平均Qos流数。'); +INSERT INTO `measure_title` VALUES (3649, 'SMF', 'SMFHB03', 'SMF.MeanQf._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的平均Qos流数\",\"en\":\"SMF.MeanQf._Ns\"}', '一个统计周期内按照S-NSSAI统计SMF中的平均QoS流数。'); +INSERT INTO `measure_title` VALUES (3650, 'SMF', 'SMFHB03', 'SMF.MeanQf._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的平均Qos流数\",\"en\":\"SMF.MeanQf._Dnn\"}', '一个统计周期内按照DNN统计SMF中的平均QoS流数。'); +INSERT INTO `measure_title` VALUES (3651, 'SMF', 'SMFHB04', 'SMF.MaxQf', 'false', 'SmfFunction', '15M', '{\"cn\":\"最大Qos流数\",\"en\":\"SMF.MaxQf\"}', '一个统计周期内SMF中的最大Qos流数。'); +INSERT INTO `measure_title` VALUES (3652, 'SMF', 'SMFHB04', 'SMF.MaxQf._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的最大Qos流数\",\"en\":\"SMF.MaxQf._Ns\"}', '一个统计周期内按照S-NSSAI统计SMF中的最大QoS流数。'); +INSERT INTO `measure_title` VALUES (3653, 'SMF', 'SMFHB04', 'SMF.MaxQf._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的最大Qos流数\",\"en\":\"SMF.MaxQf._Dnn\"}', '一个统计周期内按照DNN统计SMF中的最大QoS流数。'); +INSERT INTO `measure_title` VALUES (3654, 'SMF', 'SMFHC01', 'ME.MeanMeLoad', 'false', 'ManagedElement', '15M', '{\"cn\":\"系统平均负荷\",\"en\":\"ME.MeanMeLoad\"}', '\n指测量周期中,网元的虚拟机资源负荷的抽样平均值。网元的虚拟机资源负荷可取对网元影响最大的模块的负荷,或取不同模块的负荷的加权平均值,不同厂商设备的计算方法各不相同。'); +INSERT INTO `measure_title` VALUES (3655, 'SMF', 'SMFHD01', 'SMF.MeanAllcAddr', 'false', 'AddrPool', '15M', '{\"cn\":\"平均分配的地址数\",\"en\":\"SMF.MeanAllcAddr\"}', 'SMF为UE平均分配的地址数。'); +INSERT INTO `measure_title` VALUES (3656, 'SMF', 'SMFHD01', 'SMF.MeanAllcAddr._Ns', 'true', 'AddrPool', '15M', '{\"cn\":\"分切片的平均分配的地址数\",\"en\":\"SMF.MeanAllcAddr._Ns\"}', '按照S-NSSAI统计统计的SMF为UE平均分配的地址数。'); +INSERT INTO `measure_title` VALUES (3657, 'SMF', 'SMFHD02', 'SMF.MaxAllcAddr', 'false', 'AddrPool', '15M', '{\"cn\":\"最大分配的地址数\",\"en\":\"SMF.MaxAllcAddr\"}', 'SMF为UE最大分配的地址数。'); +INSERT INTO `measure_title` VALUES (3658, 'SMF', 'SMFHD02', 'SMF.MaxAllcAddr._Ns', 'true', 'AddrPool', '15M', '{\"cn\":\"分切片的最大分配的地址数\",\"en\":\"SMF.MaxAllcAddr._Ns\"}', '按照S-NSSAI统计的SMF为UE最大分配的地址数。'); +INSERT INTO `measure_title` VALUES (3659, 'SMF', 'SMFHE01', 'SMF.SmPlcyCtrlCreateReq', 'false', 'EpRpDynN7Smf', '15M', '{\"cn\":\"创建SM策略请求的次数\",\"en\":\"SMF.SmPlcyCtrlCreateReq\"}', 'SMF向PCF发起创建SM策略请求的次数。'); +INSERT INTO `measure_title` VALUES (3660, 'SMF', 'SMFHE02', 'SMF.SmPlcyCtrlCreateSucc', 'false', 'EpRpDynN7Smf', '15M', '{\"cn\":\"创建SM策略成功次数\",\"en\":\"SMF.SmPlcyCtrlCreateSucc\"}', 'PCF向SMF返回创建SM策略成功的次数。'); +INSERT INTO `measure_title` VALUES (3661, 'SMF', 'SMFHE03', 'SMF.SmPlcyCtrlUpdateReq', 'false', 'EpRpDynN7Smf', '15M', '{\"cn\":\"更新SM策略请求的次数\",\"en\":\"SMF.SmPlcyCtrlUpdateReq\"}', 'SMF向PCF发起更新SM策略请求的次数。'); +INSERT INTO `measure_title` VALUES (3662, 'SMF', 'SMFHE04', 'SMF.SmPlcyCtrlUpdateSucc', 'false', 'EpRpDynN7Smf', '15M', '{\"cn\":\"更新SM策略成功次数\",\"en\":\"SMF.SmPlcyCtrlUpdateSucc\"}', 'PCF向SMF返回更新SM策略成功的次数。'); +INSERT INTO `measure_title` VALUES (3663, 'SMF', 'SMFHE05', 'SMF.SmPlcyCtrlDeleteReq', 'false', 'EpRpDynN7Smf', '15M', '{\"cn\":\"删除策略请求的次数\",\"en\":\"SMF.SmPlcyCtrlDeleteReq\"}', 'SMF向PCF发起删除SM策略请求的次数。'); +INSERT INTO `measure_title` VALUES (3664, 'SMF', 'SMFHE06', 'SMF.SmPlcyCtrlDeleteSucc', 'false', 'EpRpDynN7Smf', '15M', '{\"cn\":\"删除SM策略成功次数\",\"en\":\"SMF.SmPlcyCtrlDeleteSucc\"}', 'PCF向SMF返回删除SM策略成功的次数。'); +INSERT INTO `measure_title` VALUES (3665, 'SMF', 'SMFHF01', 'SMF.UecmRegReq', 'false', 'EpRpDynN10Smf', '15M', '{\"cn\":\"UE上下文注册请求次数\",\"en\":\"SMF.UecmRegReq\"}', 'SMF向UDM发起UE上下文注册请求的次数'); +INSERT INTO `measure_title` VALUES (3666, 'SMF', 'SMFHF02', 'SMF.UecmRegSucc', 'false', 'EpRpDynN10Smf', '15M', '{\"cn\":\"UE上下文注册成功次数\",\"en\":\"SMF.UecmRegSucc\"}', 'SMF收到UDM返回的UE上下文注册成功的次数'); +INSERT INTO `measure_title` VALUES (3667, 'SMF', 'SMFHF03', 'SMF.UecmRegFail', 'false', 'EpRpDynN10Smf', '15M', '{\"cn\":\"UE上下文注册失败次数\",\"en\":\"SMF.UecmRegFail\"}', 'SMF收到UDM返回的UE上下文注册失败的次数'); +INSERT INTO `measure_title` VALUES (3668, 'SMF', 'SMFHF03', 'SMF.UecmRegFail._Cause', 'true', 'EpRpDynN10Smf', '15M', '{\"cn\":\"分原因的UE上下文注册失败次数\",\"en\":\"SMF.UecmRegFail._Cause\"}', 'SMF收到UDM返回的UE上下文注册失败的次数'); +INSERT INTO `measure_title` VALUES (3669, 'SMF', 'SMFHF03', 'SMF.UecmRegFail.Unknown5GSub', 'false', 'EpRpDynN10Smf', '15M', '{\"cn\":\"UE上下文注册失败次数_未签约5G\",\"en\":\"SMF.UecmRegFail.Unknown5GSub\"}', 'SMF收到UDM返回的UE上下文注册失败的次数'); +INSERT INTO `measure_title` VALUES (3670, 'SMF', 'SMFHF03', 'SMF.UecmRegFail.RoamNotAllowed', 'false', 'EpRpDynN10Smf', '15M', '{\"cn\":\"UE上下文注册失败次数_漫游不允许\",\"en\":\"SMF.UecmRegFail.RoamNotAllowed\"}', 'SMF收到UDM返回的UE上下文注册失败的次数'); +INSERT INTO `measure_title` VALUES (3671, 'SMF', 'SMFHF03', 'SMF.UecmRegFail.DnnNotAllowed', 'false', 'EpRpDynN10Smf', '15M', '{\"cn\":\"UE上下文注册失败次数_DNN未授权\",\"en\":\"SMF.UecmRegFail.DnnNotAllowed\"}', 'SMF收到UDM返回的UE上下文注册失败的次数'); +INSERT INTO `measure_title` VALUES (3672, 'SMF', 'SMFHF03', 'SMF.UecmRegFail.UserNotFound', 'false', 'EpRpDynN10Smf', '15M', '{\"cn\":\"UE上下文注册失败次数_未找到用户\",\"en\":\"SMF.UecmRegFail.UserNotFound\"}', 'SMF收到UDM返回的UE上下文注册失败的次数'); +INSERT INTO `measure_title` VALUES (3673, 'SMF', 'SMFHF03', 'SMF.UecmDeregReq', 'false', 'EpRpDynN10Smf', '15M', '{\"cn\":\"UE上下文去注册请求次数\",\"en\":\"SMF.UecmDeregReq\"}', 'SMF向UDM发起UE上下文去注册请求的次数'); +INSERT INTO `measure_title` VALUES (3674, 'SMF', 'SMFHF04', 'SMF.UecmDeregSucc', 'false', 'EpRpDynN10Smf', '15M', '{\"cn\":\"UE上下文去注册成功次数\",\"en\":\"SMF.UecmDeregSucc\"}', 'SMF向UDM发起UE上下文去注册成功的次数'); +INSERT INTO `measure_title` VALUES (3675, 'SMF', 'SMFHG01', 'ASMF.AttCreatePduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMFPDU会话建立请求次数\",\"en\":\"ASMF.AttCreatePduSession\"}', 'A-SMF/H-SMF UE发起的PDU会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3676, 'SMF', 'SMFHG01', 'ASMF.AttCreatePduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分切片的PDU会话建立请求次数\",\"en\":\"ASMF.AttCreatePduSession._Ns\"}', 'A-SMF/H-SMF按照S-NSSAI统计UE发起的PDU会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3677, 'SMF', 'SMFHG01', 'ASMF.AttCreatePduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分DNN的PDU会话建立请求次数\",\"en\":\"ASMF.AttCreatePduSession._Dnn\"}', 'A-SMF/H-SMF按照DNN统计UE发起的PDU会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3678, 'SMF', 'SMFHG02', 'ASMF.SuccCreatePduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMFPDU会话建立成功次数\",\"en\":\"ASMF.SuccCreatePduSession\"}', 'A-SMF/H-SMF收到 UE发起的PDU会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3679, 'SMF', 'SMFHG02', 'ASMF.SuccCreatePduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分切片的PDU会话建立成功次数\",\"en\":\"ASMF.SuccCreatePduSession._Ns\"}', '按照S-NSSAI统计A-SMF/H-SMF收到UE发起的PDU会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3680, 'SMF', 'SMFHG02', 'ASMF.SuccCreatePduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分DNN的PDU会话建立成功次数\",\"en\":\"ASMF.SuccCreatePduSession._Dnn\"}', '按照DNN统计A-SMF/H-SMF收到UE发起的PDU会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3681, 'SMF', 'SMFHG03', 'ASMF.FailCreatePduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMFPDU会话建立失败次数\",\"en\":\"ASMF.FailCreatePduSession\"}', 'UE发起的PDU会话建立被A-SMF/H-SMF拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3682, 'SMF', 'SMFHG03', 'ASMF.FailCreatePduSession._Cause', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分原因的PDU会话建立失败次数\",\"en\":\"ASMF.FailCreatePduSession._Cause\"}', 'UE发起的PDU会话建立被A-SMF/H-SMF拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3683, 'SMF', 'SMFHG03', 'ASMF.FailCreatePduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分切片的PDU会话建立失败次数\",\"en\":\"ASMF.FailCreatePduSession._Ns\"}', '按照S-NSSAI统计UE发起的PDU会话建立被A-SMF/H-SMF拒绝的次数。'); +INSERT INTO `measure_title` VALUES (3684, 'SMF', 'SMFHG03', 'ASMF.FailCreatePduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分DNN的PDU会话建立失败次数\",\"en\":\"ASMF.FailCreatePduSession._Dnn\"}', '按照DNN统计UE发起的PDU会话建立被A-SMF/H-SMF拒绝的次数。'); +INSERT INTO `measure_title` VALUES (3685, 'SMF', 'SMFHG04', 'ASMF.AttSmfModifyPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF发起的PDU会话修改请求次数\",\"en\":\"ASMF.AttSmfModifyPduSession\"}', 'A-SMF/H-SMF发起的PDU会话修改请求次数。'); +INSERT INTO `measure_title` VALUES (3686, 'SMF', 'SMFHG04', 'ASMF.AttSmfModifyPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF发起的分切片的PDU会话修改请求次数\",\"en\":\"ASMF.AttSmfModifyPduSession._Ns\"}', '按照S-NSSAI统计A-SMF/H-SMF发起的PDU会话修改请求次数。'); +INSERT INTO `measure_title` VALUES (3687, 'SMF', 'SMFHG04', 'ASMF.AttSmfModifyPduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF发起的分DNN的PDU会话修改请求次数\",\"en\":\"ASMF.AttSmfModifyPduSession._Dnn\"}', '按照DNN统计A-SMF/H-SMF发起的PDU会话修改请求次数。'); +INSERT INTO `measure_title` VALUES (3688, 'SMF', 'SMFHG05', 'ASMF.SuccSmfModifyPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF发起的PDU会话修改成功次数\",\"en\":\"ASMF.SuccSmfModifyPduSession\"}', 'A-SMF/H-SMF发起的PDU会话修改成功次数。'); +INSERT INTO `measure_title` VALUES (3689, 'SMF', 'SMFHG05', 'ASMF.SuccSmfModifyPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的A-SMF/H-SMF发起的PDU会话修改成功次数\",\"en\":\"ASMF.SuccSmfModifyPduSession._Ns\"}', '按照S-NSSAI统计A-SMF/H-SMF发起的PDU会话修改成功次数。'); +INSERT INTO `measure_title` VALUES (3690, 'SMF', 'SMFHG05', 'ASMF.SuccSmfModifyPduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的A-SMF/H-SMF发起的PDU会话修改成功次数\",\"en\":\"ASMF.SuccSmfModifyPduSession._Dnn\"}', '按照DNN统计A-SMF/H-SMF发起的PDU会话修改成功次数。'); +INSERT INTO `measure_title` VALUES (3691, 'SMF', 'SMFHG06', 'ASMF.FailSmfModifyPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF发起的PDU会话修改失败次数\",\"en\":\"ASMF.FailSmfModifyPduSession\"}', 'A-SMF/H-SMF发起的PDU会话修改请求被拒绝的次数,并按拒绝原因分类统计。\n'); +INSERT INTO `measure_title` VALUES (3692, 'SMF', 'SMFHG06', 'ASMF.FailSmfModifyPduSession._Cause', 'true', 'SmfFunction', '15M', '{\"cn\":\"分原因的A-SMF/H-SMF发起的PDU会话修改失败次数\",\"en\":\"ASMF.FailSmfModifyPduSession._Cause\"}', 'A-SMF/H-SMF发起的PDU会话修改请求被拒绝的次数,并按拒绝原因分类统计。\n'); +INSERT INTO `measure_title` VALUES (3693, 'SMF', 'SMFHG06', 'ASMF.FailSmfModifyPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的A-SMF/H-SMF发起的PDU会话修改失败次数\",\"en\":\"ASMF.FailSmfModifyPduSession._Ns\"}', '按照S-NSSAI统计A-SMF/H-SMF发起的PDU会话修改请求被拒绝的次数。'); +INSERT INTO `measure_title` VALUES (3694, 'SMF', 'SMFHG06', 'ASMF.FailSmfModifyPduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"分DNN的A-SMF/H-SMF发起的PDU会话修改失败次数\",\"en\":\"ASMF.FailSmfModifyPduSession._Dnn\"}', '按照DNN统计A-SMF/H-SMF发起的PDU会话修改请求被拒绝的次数。\n'); +INSERT INTO `measure_title` VALUES (3695, 'SMF', 'SMFHG07', 'ASMF.PduSessionCreateTime', 'false', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMFPDU会话建立流程平均时长\",\"en\":\"ASMF.PduSessionCreateTime\"}', '成功的A-SMF/H-SMF PDU会话建立流程的平均时长。\n'); +INSERT INTO `measure_title` VALUES (3696, 'SMF', 'SMFHH01', 'ASMF.MeanPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF平均PDU会话数\",\"en\":\"ASMF.MeanPduSession\"}', '一个统计周期内A-SMF/H-SMF中的平均PDU会话数。'); +INSERT INTO `measure_title` VALUES (3697, 'SMF', 'SMFHH01', 'ASMF.MeanPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分切片的平均PDU会话数\",\"en\":\"ASMF.MeanPduSession._Ns\"}', '一个统计周期内按照S-NSSAI统计A-SMF/H-SMF中的平均PDU会话数。'); +INSERT INTO `measure_title` VALUES (3698, 'SMF', 'SMFHH01', 'ASMF.MeanPduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分DNN的平均PDU会话数\",\"en\":\"ASMF.MeanPduSession._Dnn\"}', '一个统计周期内按照DNN统计A-SMF/H-SMF中的平均PDU会话数。'); +INSERT INTO `measure_title` VALUES (3699, 'SMF', 'SMFHH02', 'ASMF.MaxPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF最大PDU会话数\",\"en\":\"ASMF.MaxPduSession\"}', '一个统计周期内A-SMF/H-SMF中的最大PDU会话数。'); +INSERT INTO `measure_title` VALUES (3700, 'SMF', 'SMFHH02', 'ASMF.MaxPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分切片的最大PDU会话数\",\"en\":\"ASMF.MaxPduSession._Ns\"}', '一个统计周期内按照S-NSSAI统计A-SMF/H-SMF中的最大PDU会话数。'); +INSERT INTO `measure_title` VALUES (3701, 'SMF', 'SMFHH02', 'ASMF.MaxPduSession._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分DNN的最大PDU会话数\",\"en\":\"ASMF.MaxPduSession._Dnn\"}', '一个统计周期内按照DNN统计A-SMF/H-SMF中的最大PDU会话数。'); +INSERT INTO `measure_title` VALUES (3702, 'SMF', 'SMFHH03', 'ASMF.MeanQf', 'false', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF平均Qos流数\",\"en\":\"ASMF.MeanQf\"}', '一个统计周期内A-SMF/H-SMF中的平均Qos流数。'); +INSERT INTO `measure_title` VALUES (3703, 'SMF', 'SMFHH03', 'ASMF.MeanQf._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分切片的平均Qos流数\",\"en\":\"ASMF.MeanQf._Ns\"}', '一个统计周期内按照S-NSSAI统计A-SMF/H-SMF中的平均QoS流数。'); +INSERT INTO `measure_title` VALUES (3704, 'SMF', 'SMFHH03', 'ASMF.MeanQf._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分DNN的平均Qos流数\",\"en\":\"ASMF.MeanQf._Dnn\"}', '一个统计周期内按照DNN统计A-SMF/H-SMF中的平均QoS流数。'); +INSERT INTO `measure_title` VALUES (3705, 'SMF', 'SMFHH04', 'ASMF.MaxQf', 'false', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF最大Qos流数\",\"en\":\"ASMF.MaxQf\"}', '一个统计周期内A-SMF/H-SMF中的最大Qos流数。'); +INSERT INTO `measure_title` VALUES (3706, 'SMF', 'SMFHH04', 'ASMF.MaxQf._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分切片的最大Qos流数\",\"en\":\"ASMF.MaxQf._Ns\"}', '一个统计周期内按照S-NSSAI统计A-SMF/H-SMF中的最大QoS流数。'); +INSERT INTO `measure_title` VALUES (3707, 'SMF', 'SMFHH04', 'ASMF.MaxQf._Dnn', 'true', 'SmfFunction', '15M', '{\"cn\":\"A-SMF/H-SMF分DNN的最大Qos流数\",\"en\":\"ASMF.MaxQf._Dnn\"}', '一个统计周期内按照DNN统计A-SMF/H-SMF中的最大QoS流数。'); +INSERT INTO `measure_title` VALUES (3708, 'SMF', 'SMFHI01', 'ISMF.AttCreatePduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMFPDU会话建立请求次数\",\"en\":\"ISMF.AttCreatePduSession\"}', 'I-SMF/V-SMF UE发送的PDU会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3709, 'SMF', 'SMFHI01', 'ISMF.AttCreatePduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF分切片的PDU会话建立请求次数\",\"en\":\"ISMF.AttCreatePduSession._Ns\"}', 'I-SMF/V-SMF按照S-NSSAI统计UE发起的PDU会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3710, 'SMF', 'SMFHI02', 'ISMF.SuccCreatePduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMFPDU会话建立成功次数\",\"en\":\"ISMF.SuccCreatePduSession\"}', 'I-SMF/V-SMF收到 UE发起的PDU会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3711, 'SMF', 'SMFHI02', 'ISMF.SuccCreatePduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF分切片的PDU会话建立成功次数\",\"en\":\"ISMF.SuccCreatePduSession._Ns\"}', '按照S-NSSAI统计I-SMF/V-SMF收到UE发起的PDU会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3712, 'SMF', 'SMFHI03', 'ISMF.FailCreatePduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMFPDU会话建立失败次数\",\"en\":\"ISMF.FailCreatePduSession\"}', 'UE发起的PDU会话建立被I-SMF/V-SMF拒绝的次数'); +INSERT INTO `measure_title` VALUES (3713, 'SMF', 'SMFHI03', 'ISMF.FailCreatePduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF分切片的PDU会话建立失败次数\",\"en\":\"ISMF.FailCreatePduSession._Ns\"}', '按照S-NSSAI统计UE发起的PDU会话建立被I-SMF/V-SMF拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3714, 'SMF', 'SMFHI04', 'ISMF.SendSmfModifyPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF发送的PDU会话修改命令次数\",\"en\":\"ISMF.SendSmfModifyPduSession\"}', 'I-SMF/V-SMF发送的PDU会话修改命令次数。'); +INSERT INTO `measure_title` VALUES (3715, 'SMF', 'SMFHI04', 'ISMF.SendSmfModifyPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF发送的分切片的PDU会话修改命令次数\",\"en\":\"ISMF.SendSmfModifyPduSession._Ns\"}', '按照S-NSSAI统计I-SMF/V-SMF发送的PDU会话修改次数。'); +INSERT INTO `measure_title` VALUES (3716, 'SMF', 'SMFHI05', 'ISMF.SuccSmfModifyPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMFPDU会话修改成功次数\",\"en\":\"ISMF.SuccSmfModifyPduSession\"}', 'I-SMF/V-SMF PDU会话修改成功次数。'); +INSERT INTO `measure_title` VALUES (3717, 'SMF', 'SMFHI05', 'ISMF.SuccSmfModifyPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的I-SMF/V-SMFPDU会话修改成功次数\",\"en\":\"ISMF.SuccSmfModifyPduSession._Ns\"}', '按照S-NSSAI统计I-SMF/V-SMF PDU会话修改成功次数。'); +INSERT INTO `measure_title` VALUES (3718, 'SMF', 'SMFHI06', 'ISMF.FailSmfModifyPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMFPDU会话修改失败次数\",\"en\":\"ISMF.FailSmfModifyPduSession\"}', 'I-SMF/V-SMF PDU会话修改被拒绝的次数。\n'); +INSERT INTO `measure_title` VALUES (3719, 'SMF', 'SMFHI06', 'ISMF.FailSmfModifyPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的I-SMF/V-SMFPDU会话修改失败次数\",\"en\":\"ISMF.FailSmfModifyPduSession._Ns\"}', '按照S-NSSAI统计I-SMF/V-SMF PDU会话修改被拒绝的次数。'); +INSERT INTO `measure_title` VALUES (3720, 'SMF', 'SMFHI07', 'ISMF.PduSessionCreateTime', 'false', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMFPDU会话建立流程平均时长\",\"en\":\"ISMF.PduSessionCreateTime\"}', '成功的I-SMF/V-SMF PDU会话建立流程的平均时长。\n'); +INSERT INTO `measure_title` VALUES (3721, 'SMF', 'SMFHJ01', 'ISMF.MeanPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF平均PDU会话数\",\"en\":\"ISMF.MeanPduSession\"}', '一个统计周期内I-SMF/V-SMF中的平均PDU会话数。'); +INSERT INTO `measure_title` VALUES (3722, 'SMF', 'SMFHJ01', 'ISMF.MeanPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF分切片的平均PDU会话数\",\"en\":\"ISMF.MeanPduSession._Ns\"}', '一个统计周期内按照S-NSSAI统计I-SMF/V-SMF中的平均PDU会话数。'); +INSERT INTO `measure_title` VALUES (3723, 'SMF', 'SMFHJ02', 'ISMF.MaxPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF最大PDU会话数\",\"en\":\"ISMF.MaxPduSession\"}', '一个统计周期内I-SMF/V-SMF中的最大PDU会话数。'); +INSERT INTO `measure_title` VALUES (3724, 'SMF', 'SMFHJ02', 'ISMF.MaxPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF分切片的最大PDU会话数\",\"en\":\"ISMF.MaxPduSession._Ns\"}', '一个统计周期内按照S-NSSAI统计I-SMF/V-SMF中的最大PDU会话数。'); +INSERT INTO `measure_title` VALUES (3725, 'SMF', 'SMFHJ03', 'ISMF.MeanQf', 'false', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF平均Qos流数\",\"en\":\"ISMF.MeanQf\"}', '一个统计周期内I-SMF/V-SMF中的平均Qos流数。'); +INSERT INTO `measure_title` VALUES (3726, 'SMF', 'SMFHJ03', 'ISMF.MeanQf._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF分切片的平均Qos流数\",\"en\":\"ISMF.MeanQf._Ns\"}', '一个统计周期内按照S-NSSAI统计I-SMF/V-SMF中的平均QoS流数。'); +INSERT INTO `measure_title` VALUES (3727, 'SMF', 'SMFHJ04', 'ISMF.MaxQf', 'false', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF最大Qos流数\",\"en\":\"ISMF.MaxQf\"}', '一个统计周期内I-SMF/V-SMF中的最大Qos流数。'); +INSERT INTO `measure_title` VALUES (3728, 'SMF', 'SMFHJ04', 'ISMF.MaxQf._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"I-SMF/V-SMF分切片的最大Qos流数\",\"en\":\"ISMF.MaxQf._Ns\"}', '一个统计周期内按照S-NSSAI统计I-SMF/V-SMF中的最大QoS流数。'); +INSERT INTO `measure_title` VALUES (3729, 'SMF', 'SMFHK01', 'SMF.AttAccessRequestByUPF', 'false', 'SmfFunction', '15M', '{\"cn\":\"SMF发送UPF转接的AccessRequest消息数\",\"en\":\"SMF.AttAccessRequestByUPF\"}', 'SMF向UPF转接的AAA服务器发起鉴权请求的尝试次数。'); +INSERT INTO `measure_title` VALUES (3730, 'SMF', 'SMFHK02', 'SMF.SuccAccessAcceptByUPF', 'false', 'SmfFunction', '15M', '{\"cn\":\"SMF接收UPF转接的AccessAccept消息数\",\"en\":\"SMF.SuccAccessAcceptByUPF\"}', 'SMF收到UPF转接的AAA服务器鉴权请求接受次数'); +INSERT INTO `measure_title` VALUES (3731, 'SMF', 'SMFHK03', 'SMF.AttAccountingStartRequestByUPF', 'false', 'SmfFunction', '15M', '{\"cn\":\"SMF发送UPF转接的AccountingStartRequest消息数\",\"en\":\"SMF.AttAccountingStartRequestByUPF\"}', 'SMF向UPF转接的AAA服务器发起计费开始请求的尝试次数。'); +INSERT INTO `measure_title` VALUES (3732, 'SMF', 'SMFHK04', 'SMF.SuccAccountingStartResponseByUPF', 'false', 'SmfFunction', '15M', '{\"cn\":\"SMF接收UPF转接的AccoutingStartResponse消息数\",\"en\":\"SMF.SuccAccountingStartResponseByUPF\"}', 'SMF收到UPF转接的AAA服务器计费开始应答次数'); +INSERT INTO `measure_title` VALUES (3733, 'SMF', 'SMFHL01', 'SMF.AttChargingDataReq', 'false', 'SmfFunction', '15M', '{\"cn\":\"N40接口发送激活请求消息数\",\"en\":\"SMF.AttChargingDataReq\"}', 'N40接口上发送Nchf_ConvergedCharging_Create Request消息的数目'); +INSERT INTO `measure_title` VALUES (3734, 'SMF', 'SMFHL02', 'SMF.RecvChargingDataRsp', 'false', 'SmfFunction', '15M', '{\"cn\":\"收到Nchf_ConvergedCharging_CreateResponse次数\",\"en\":\"SMF.RecvChargingDataRsp\"}', 'N40接口上接收Nchf_ConvergedCharging_Create Response消息的数目'); +INSERT INTO `measure_title` VALUES (3735, 'SMF', 'SMFHL03', 'SMF.ReAttChargingDataReq', 'false', 'SmfFunction', '15M', '{\"cn\":\"重发Nchf_ConvergedCharging_CreateRequest次数\",\"en\":\"SMF.ReAttChargingDataReq\"}', 'N40接口上重发Nchf_ConvergedCharging_Create Request消息的数目'); +INSERT INTO `measure_title` VALUES (3736, 'SMF', 'SMFHM01', 'SMF.BsfRecPcfQuery', 'false', 'SmfFunction', '15M', '{\"cn\":\"BSF收到查询请求次数\",\"en\":\"SMF.BsfRecPcfQuery\"}', 'BSF收到查询PCF请求次数'); +INSERT INTO `measure_title` VALUES (3737, 'SMF', 'SMFHM02', 'SMF.BsfRspPcfQuery', 'false', 'SmfFunction', '15M', '{\"cn\":\"BSF发送查询应答次数\",\"en\":\"SMF.BsfRspPcfQuery\"}', 'BSF发送查询PCF成功次数'); +INSERT INTO `measure_title` VALUES (3738, 'UDM', 'UDMHA01', 'UDM.AmfUecmRegReq', 'false', 'UdmFunction', '15M', '{\"cn\":\"AMF发起的UECM注册请求次数\",\"en\":\"UDM.AmfUecmRegReq\"}', '统计UDM收到的AMF发起的UECM注册请求次数'); +INSERT INTO `measure_title` VALUES (3739, 'UDM', 'UDMHA02', 'UDM.AmfUecmRegSucc', 'false', 'UdmFunction', '15M', '{\"cn\":\"AMF发起的UECM注册成功次数\",\"en\":\"UDM.AmfUecmRegSucc\"}', '统计UDM返回的成功的AMF注册响应次数'); +INSERT INTO `measure_title` VALUES (3740, 'UDM', 'UDMHA03', 'UDM.AmfUecmRegUpdateReq', 'false', 'UdmFunction', '15M', '{\"cn\":\"更新注册参数请求次数\",\"en\":\"UDM.AmfUecmRegUpdateReq\"}', '更新注册参数请求次数'); +INSERT INTO `measure_title` VALUES (3741, 'UDM', 'UDMHA04', 'UDM.AmfUecmRegUpdateSucc', 'false', 'UdmFunction', '15M', '{\"cn\":\"更新注册参数成功次数\",\"en\":\"UDM.AmfUecmRegUpdateSucc\"}', '更新注册参数成功次数'); +INSERT INTO `measure_title` VALUES (3742, 'UDM', 'UDMHA05', 'UDM.AmfUecmDeregReq', 'false', 'UdmFunction', '15M', '{\"cn\":\"AMF发起的UECM去注册请求次数\",\"en\":\"UDM.AmfUecmDeregReq\"}', '统计AMF发起的UECM去注册请求次数'); +INSERT INTO `measure_title` VALUES (3743, 'UDM', 'UDMHA06', 'UDM.AmfUecmDeregSucc', 'false', 'UdmFunction', '15M', '{\"cn\":\"AMF发起的UECM去注册成功次数\",\"en\":\"UDM.AmfUecmDeregSucc\"}', '统计AMF发起的UECM去注册成功次数'); +INSERT INTO `measure_title` VALUES (3744, 'UDM', 'UDMHA07', 'UDM.SmfUecmRegReq', 'false', 'UdmFunction', '15M', '{\"cn\":\"SMF发起的UECM注册请求次数\",\"en\":\"UDM.SmfUecmRegReq\"}', '统计SMF发起的用户上下文注册请求次数'); +INSERT INTO `measure_title` VALUES (3745, 'UDM', 'UDMHA08', 'UDM.SmfUecmRegSucc', 'false', 'UdmFunction', '15M', '{\"cn\":\"SMF发起的UECM注册成功次数\",\"en\":\"UDM.SmfUecmRegSucc\"}', '统计UDM返回的成功的用户上下文注册响应次数'); +INSERT INTO `measure_title` VALUES (3746, 'UDM', 'UDMHA09', 'UDM.SmfUecmDeregReq', 'false', 'UdmFunction', '15M', '{\"cn\":\"SMF发起的UECM去注册请求次数\",\"en\":\"UDM.SmfUecmDeregReq\"}', '统计SMF发起的用户上下文去注册请求次数'); +INSERT INTO `measure_title` VALUES (3747, 'UDM', 'UDMHA10', 'UDM.SmfUecmDeregSucc', 'false', 'UdmFunction', '15M', '{\"cn\":\"SMF发起的UECM去注册成功次数\",\"en\":\"UDM.SmfUecmDeregSucc\"}', '统计UDM返回的成功的用户上下文去注册响应次数'); +INSERT INTO `measure_title` VALUES (3748, 'UDM', 'UDMHA11', 'UDM.SdmGetReq', 'false', 'UdmFunction', '15M', '{\"cn\":\"获取用户数据请求次数\",\"en\":\"UDM.SdmGetReq\"}', '统计UDM收到的获取用户数据请求次数'); +INSERT INTO `measure_title` VALUES (3749, 'UDM', 'UDMHA12', 'UDM.SdmGetSucc', 'false', 'UdmFunction', '15M', '{\"cn\":\"获取用户数据成功次数\",\"en\":\"UDM.SdmGetSucc\"}', '统计UDM成功返回用户数据次数'); +INSERT INTO `measure_title` VALUES (3750, 'UDM', 'UDMHA13', 'UDM.SdmNotif', 'false', 'UdmFunction', '15M', '{\"cn\":\"用户数据变化通知次数\",\"en\":\"UDM.SdmNotif\"}', '统计UDM发送用户数据变化通知次数'); +INSERT INTO `measure_title` VALUES (3751, 'UDM', 'UDMHA14', 'UDM.SdmSubscrReq', 'false', 'UdmFunction', '15M', '{\"cn\":\"订阅用户数据请求次数\",\"en\":\"UDM.SdmSubscrReq\"}', '统计UDM收到的订阅用户数据相关通知请求次数'); +INSERT INTO `measure_title` VALUES (3752, 'UDM', 'UDMHA15', 'UDM.SdmSubscrSucc', 'false', 'UdmFunction', '15M', '{\"cn\":\"订阅用户数据成功次数\",\"en\":\"UDM.SdmSubscrSucc\"}', '统计UDM返回的订阅用户数据相关通知成功次数'); +INSERT INTO `measure_title` VALUES (3753, 'UDM', 'UDMHA16', 'UDM.SdmUnSubscrReq', 'false', 'UdmFunction', '15M', '{\"cn\":\"去订阅用户数据请求次数\",\"en\":\"UDM.SdmUnSubscrReq\"}', '统计UDM收到的去订阅用户数据相关通知请求次数'); +INSERT INTO `measure_title` VALUES (3754, 'UDM', 'UDMHA17', 'UDM.SdmUnSubscrSucc', 'false', 'UdmFunction', '15M', '{\"cn\":\"去订阅用户数据成功次数\",\"en\":\"UDM.SdmUnSubscrSucc\"}', '统计UDM返回的去订阅用户数据相关通知成功次数'); +INSERT INTO `measure_title` VALUES (3755, 'UDM', 'UDMHA18', 'UDM.UecmDeregNotif', 'false', 'UdmFunction', '15M', '{\"cn\":\"去注册通知次数\",\"en\":\"UDM.UecmDeregNotif\"}', '统计UDM发送的去注册通知次数'); +INSERT INTO `measure_title` VALUES (3756, 'UDM', 'UDMHA19', 'UDM.SdmGetUserNotFound', 'false', 'UdmFunction', '15M', '{\"cn\":\"获取用户数据返回用户不存在消息总数\",\"en\":\"UDM.SdmGetUserNotFound\"}', '统计获取用户数据时UDM返回用户不存在消息总数'); +INSERT INTO `measure_title` VALUES (3757, 'UDM', 'UDMHA20', 'UDM.SdmGetDataNotFound', 'false', 'UdmFunction', '15M', '{\"cn\":\"获取用户数据返回签约数据不存在消息总数\",\"en\":\"UDM.SdmGetDataNotFound\"}', '统计获取用户数据时UDM返回签约数据不存在消息总数'); +INSERT INTO `measure_title` VALUES (3758, 'UDM', 'UDMHA21', 'UDM.AmfUecmRegUserNotFound', 'false', 'UdmFunction', '15M', '{\"cn\":\"AMF发起的UECM注册返回用户不存在消息总数\",\"en\":\"UDM.AmfUecmRegUserNotFound\"}', 'AMF发起的UECM注册返回时,UDM返回用户不存在消息总数'); +INSERT INTO `measure_title` VALUES (3759, 'UDM', 'UDMHA22', 'UDM.AmfUecmRegUnknownSub', 'false', 'UdmFunction', '15M', '{\"cn\":\"AMF发起的UECM注册返回未签约5G业务消息总数\",\"en\":\"UDM.AmfUecmRegUnknownSub\"}', 'AMF发起的UECM注册返回时,UDM返回未签约5G业务消息总数'); +INSERT INTO `measure_title` VALUES (3760, 'UDM', 'UDMHA23', 'UDM.AmfUecmRegNoPsSub', 'false', 'UdmFunction', '15M', '{\"cn\":\"AMF发起的UECM注册返回未签约PS业务消息总数\",\"en\":\"UDM.AmfUecmRegNoPsSub\"}', 'AMF发起的UECM注册返回时,UDM返回未签约PS业务消息总数'); +INSERT INTO `measure_title` VALUES (3761, 'UDM', 'UDMHA24', 'UDM.AmfUecmRegRoamNotAllowed', 'false', 'UdmFunction', '15M', '{\"cn\":\"AMF发起的UECM注册返回漫游不允许消息总数\",\"en\":\"UDM.AmfUecmRegRoamNotAllowed\"}', 'AMF发起的UECM注册返回时,UDM返回漫游不允许消息总数'); +INSERT INTO `measure_title` VALUES (3762, 'UDM', 'UDMHA25', 'UDM.AmfUecmRegRatNotAllowed', 'false', 'UdmFunction', '15M', '{\"cn\":\"AMF发起的UECM注册返回RAT不允许消息总数\",\"en\":\"UDM.AmfUecmRegRatNotAllowed\"}', 'AMF发起的UECM注册返回时,UDM返回RAT不允许消息总数'); +INSERT INTO `measure_title` VALUES (3763, 'UDM', 'UDMHA26', 'UDM.AmfUecmRegContextNotFound', 'false', 'UdmFunction', '15M', '{\"cn\":\"AMF发起的UECM注册返回上下文不存在消息总数\",\"en\":\"UDM.AmfUecmRegContextNotFound\"}', 'AMF发起的UECM注册返回时,UDM返回上下文不存在消息总数'); +INSERT INTO `measure_title` VALUES (3764, 'UDM', 'UDMHA27', 'UDM.AmfUecmRegReAuth', 'false', 'UdmFunction', '15M', '{\"cn\":\"AMF发起的UECM注册返回UE未鉴权总数\",\"en\":\"UDM.AmfUecmRegReAuth\"}', 'AMF发起的UECM注册返回时,UDM返回UE未鉴权总数'); +INSERT INTO `measure_title` VALUES (3765, 'UDM', 'UDMHA28', 'UDM.SmfUecmRegUserNotFound', 'false', 'UdmFunction', '15M', '{\"cn\":\"SMF发起的UECM注册返回用户不存在消息总数\",\"en\":\"UDM.SmfUecmRegUserNotFound\"}', 'SMF发起的UECM注册返回时,UDM返回用户不存在消息总数'); +INSERT INTO `measure_title` VALUES (3766, 'UDM', 'UDMHA29', 'UDM.SmfUecmRegUnknownSub', 'false', 'UdmFunction', '15M', '{\"cn\":\"SMF发起的UECM注册返回未签约5G业务消息总数\",\"en\":\"UDM.SmfUecmRegUnknownSub\"}', 'SMF发起的UECM注册返回时,UDM返回未签约5G业务消息总数'); +INSERT INTO `measure_title` VALUES (3767, 'UDM', 'UDMHA30', 'UDM.SmfUecmRegRoamNotAllowed', 'false', 'UdmFunction', '15M', '{\"cn\":\"SMF发起的UECM注册返回漫游不允许消息总数\",\"en\":\"UDM.SmfUecmRegRoamNotAllowed\"}', 'SMF发起的UECM注册返回时,UDM返回漫游不允许消息总数'); +INSERT INTO `measure_title` VALUES (3768, 'UDM', 'UDMHA31', 'UDM.SmfUecmRegDnnNotAllowed', 'false', 'UdmFunction', '15M', '{\"cn\":\"SMF发起的UECM注册返回DNN不允许消息总数\",\"en\":\"UDM.SmfUecmRegDnnNotAllowed\"}', 'SMF发起的UECM注册返回时,UDM返回DNN不允许消息总数'); +INSERT INTO `measure_title` VALUES (3769, 'UDM', 'UDMHB01', 'UDR.5gSupi', 'false', 'UdrFunction', '15M', '{\"cn\":\"5G网络SUPI数\",\"en\":\"UDR.5gSupi\"}', '统计UDR存储的SUPI数最新值'); +INSERT INTO `measure_title` VALUES (3770, 'UDM', 'UDMHB02', 'UDR.5gSub', 'false', 'UdrFunction', '15M', '{\"cn\":\"5G用户数\",\"en\":\"UDR.5gSub\"}', '统计UDR存储的5G MSISDN数最新值'); +INSERT INTO `measure_title` VALUES (3771, 'UDM', 'UDMHB03', 'UDR.5gActSub', 'false', 'UdrFunction', '15M', '{\"cn\":\"5G活动用户数\",\"en\":\"UDR.5gActSub\"}', '统计UDR存储的有5G位置信息的MSISDN用户数最新值'); +INSERT INTO `measure_title` VALUES (3772, 'UDM', 'UDMHC01', 'Ausf.UeAuthReq', 'false', 'AusfFunction', '15M', '{\"cn\":\"鉴权请求次数\",\"en\":\"Ausf.UeAuthReq\"}', 'AUSF收到的鉴权请求次数'); +INSERT INTO `measure_title` VALUES (3773, 'UDM', 'UDMHC02', 'Ausf.UeAuthAnsSucc', 'false', 'AusfFunction', '15M', '{\"cn\":\"鉴权成功次数\",\"en\":\"Ausf.UeAuthAnsSucc\"}', 'AUSF返回鉴权成功响应次数'); +INSERT INTO `measure_title` VALUES (3774, 'UDM', 'UDMHC03', 'Ausf.UeAuthAnsUserNotFound', 'false', 'AusfFunction', '15M', '{\"cn\":\"鉴权返回用户不存在消息总数\",\"en\":\"Ausf.UeAuthAnsUserNotFound\"}', 'AUSF返回用户不存在消息总数'); +INSERT INTO `measure_title` VALUES (3775, 'UDM', 'UDMHC04', 'Ausf.UeAuthAnsContextNotFound', 'false', 'AusfFunction', '15M', '{\"cn\":\"返回上下文不存在消息总数\",\"en\":\"Ausf.UeAuthAnsContextNotFound\"}', 'AUSF返回上下文不存在消息总数'); +INSERT INTO `measure_title` VALUES (3776, 'UDM', 'UDMHD01', 'ME.MeanMeLoad', 'false', 'ManagedElement', '15M', '{\"cn\":\"系统平均负荷\",\"en\":\"ME.MeanMeLoad\"}', '\n指测量周期中,网元的虚拟机资源负荷的抽样平均值。网元的虚拟机资源负荷可取对网元影响最大的模块的负荷,或取不同模块的负荷的加权平均值,不同厂商设备的计算方法各不相同。'); +INSERT INTO `measure_title` VALUES (3777, 'UPF', 'UPFHA01', 'UPF.PfcpSessionEstabReq', 'false', 'UpfFunction', '15M', '{\"cn\":\"PFCP会话建立请求次数\",\"en\":\"UPF.PfcpSessionEstabReq\"}', 'PFCP会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3778, 'UPF', 'UPFHA01', 'UPF.PfcpSessionEstabReq._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的PFCP会话建立请求次数\",\"en\":\"UPF.PfcpSessionEstabReq._Ns\"}', '按照S-NSSAI统计的PFCP会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3779, 'UPF', 'UPFHA01', 'UPF.PfcpSessionEstabReq._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分Dnn的PFCP会话建立请求次数\",\"en\":\"UPF.PfcpSessionEstabReq._Dnn\"}', '按照Dnn统计的PFCP会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3780, 'UPF', 'UPFHA02', 'UPF.PfcpSessionEstabSucc', 'false', 'UpfFunction', '15M', '{\"cn\":\"PFCP会话建立成功次数\",\"en\":\"UPF.PfcpSessionEstabSucc\"}', 'PFCP会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3781, 'UPF', 'UPFHA02', 'UPF.PfcpSessionEstabSucc._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的PFCP会话建立成功次数\",\"en\":\"UPF.PfcpSessionEstabSucc._Ns\"}', '按照S-NSSAI统计的PFCP会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3782, 'UPF', 'UPFHA02', 'UPF.PfcpSessionEstabSucc._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分Dnn的PFCP会话建立成功次数\",\"en\":\"UPF.PfcpSessionEstabSucc._Dnn\"}', '按照Dnn统计的PFCP会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3783, 'UPF', 'UPFHA03', 'UPF.PfcpSessionEstabFail', 'false', 'UpfFunction', '15M', '{\"cn\":\"PFCP会话建立失败次数\",\"en\":\"UPF.PfcpSessionEstabFail\"}', 'PFCP会话建立被拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3784, 'UPF', 'UPFHA03', 'UPF.PfcpSessionEstabFail._Cause', 'true', 'UpfFunction', '15M', '{\"cn\":\"分原因的PFCP会话建立失败次数\",\"en\":\"UPF.PfcpSessionEstabFail._Cause\"}', 'PFCP会话建立被拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3785, 'UPF', 'UPFHA03', 'UPF.PfcpSessionEstabFail._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的PFCP会话建立失败次数\",\"en\":\"UPF.PfcpSessionEstabFail._Ns\"}', '按照S-NSSAI统计PFCP会话建立被拒绝的次数'); +INSERT INTO `measure_title` VALUES (3786, 'UPF', 'UPFHA03', 'UPF.PfcpSessionEstabFail._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分Dnn的PFCP会话建立失败次数\",\"en\":\"UPF.PfcpSessionEstabFail._Dnn\"}', '按照Dnn统计PFCP会话建立被拒绝的次数'); +INSERT INTO `measure_title` VALUES (3787, 'UPF', 'UPFHA04', 'UPF.PfcpSessionModifyReq', 'false', 'UpfFunction', '15M', '{\"cn\":\"PFCP会话修改请求次数\",\"en\":\"UPF.PfcpSessionModifyReq\"}', 'PFCP会话修改请求次数。'); +INSERT INTO `measure_title` VALUES (3788, 'UPF', 'UPFHA04', 'UPF.PfcpSessionModifyReq._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的PFCP会话修改请求次数\",\"en\":\"UPF.PfcpSessionModifyReq._Ns\"}', '按照S-NSSAI统计PFCP会话修改请求次数。'); +INSERT INTO `measure_title` VALUES (3789, 'UPF', 'UPFHA04', 'UPF.PfcpSessionModifyReq._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分Dnn的PFCP会话修改请求次数\",\"en\":\"UPF.PfcpSessionModifyReq._Dnn\"}', '按照Dnn统计PFCP会话修改请求次数。'); +INSERT INTO `measure_title` VALUES (3790, 'UPF', 'UPFHA05', 'UPF.PfcpSessionModifySucc', 'false', 'UpfFunction', '15M', '{\"cn\":\"PFCP会话修改成功次数\",\"en\":\"UPF.PfcpSessionModifySucc\"}', 'PFCP会话修改成功次数。'); +INSERT INTO `measure_title` VALUES (3791, 'UPF', 'UPFHA05', 'UPF.PfcpSessionModifySucc._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的PFCP会话修改成功次数\",\"en\":\"UPF.PfcpSessionModifySucc._Ns\"}', '按照S-NSSAI统计PFCP会话修改成功次数。'); +INSERT INTO `measure_title` VALUES (3792, 'UPF', 'UPFHA05', 'UPF.PfcpSessionModifySucc._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分Dnn的PFCP会话修改成功次数\",\"en\":\"UPF.PfcpSessionModifySucc._Dnn\"}', '按照Dnn统计PFCP会话修改成功次数。'); +INSERT INTO `measure_title` VALUES (3793, 'UPF', 'UPFHA06', 'UPF.PfcpSessionModifyFail', 'false', 'UpfFunction', '15M', '{\"cn\":\"PFCP会话修改失败次数\",\"en\":\"UPF.PfcpSessionModifyFail\"}', 'PFCP会话修改拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3794, 'UPF', 'UPFHA06', 'UPF.PfcpSessionModifyFail._Cause', 'true', 'UpfFunction', '15M', '{\"cn\":\"分原因的PFCP会话修改失败次数\",\"en\":\"UPF.PfcpSessionModifyFail._Cause\"}', 'PFCP会话修改拒绝的次数,并按拒绝原因分类统计。'); +INSERT INTO `measure_title` VALUES (3795, 'UPF', 'UPFHA06', 'UPF.PfcpSessionModifyFail._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的PFCP会话修改失败次数\",\"en\":\"UPF.PfcpSessionModifyFail._Ns\"}', '按照S-NSSAI统计PFCP会话修改拒绝的次数。'); +INSERT INTO `measure_title` VALUES (3796, 'UPF', 'UPFHA06', 'UPF.PfcpSessionModifyFail._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分Dnn的PFCP会话修改失败次数\",\"en\":\"UPF.PfcpSessionModifyFail._Dnn\"}', '按照Dnn统计PFCP会话修改拒绝的次数。'); +INSERT INTO `measure_title` VALUES (3797, 'UPF', 'UPFHB01', 'UPF.MeanQosFlows', 'false', 'UpfFunction', '15M', '{\"cn\":\"平均QoS流数\",\"en\":\"UPF.MeanQosFlows\"}', '一个统计周期内UPF中的平均QoS流数。'); +INSERT INTO `measure_title` VALUES (3798, 'UPF', 'UPFHB01', 'UPF.MeanQosFlows._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的平均QoS流数\",\"en\":\"UPF.MeanQosFlows._Ns\"}', '一个统计周期内按照S-NSSAI统计UPF中的平均QoS流数。'); +INSERT INTO `measure_title` VALUES (3799, 'UPF', 'UPFHB01', 'UPF.MeanQosFlows._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的平均QoS流数\",\"en\":\"UPF.MeanQosFlows._Dnn\"}', '一个统计周期内按照DNN统计UPF中的平均QoS流数。'); +INSERT INTO `measure_title` VALUES (3800, 'UPF', 'UPFHB01', 'UPF.MaxQosFlows', 'false', 'UpfFunction', '15M', '{\"cn\":\"最大QoS流数\",\"en\":\"UPF.MaxQosFlows\"}', '一个统计周期内UPF中的最大QoS流数。'); +INSERT INTO `measure_title` VALUES (3801, 'UPF', 'UPFHB01', 'UPF.MaxQosFlows._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的最大QoS流数\",\"en\":\"UPF.MaxQosFlows._Ns\"}', '一个统计周期内按照S-NSSAI统计UPF中的最大QoS流数。'); +INSERT INTO `measure_title` VALUES (3802, 'UPF', 'UPFHB01', 'UPF.MaxQosFlows._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的最大QoS流数\",\"en\":\"UPF.MaxQosFlows._Dnn\"}', '一个统计周期内按照DNN统计UPF中的最大QoS流数。'); +INSERT INTO `measure_title` VALUES (3803, 'UPF', 'UPFHC01', 'UPF.N3IncPkt', 'false', 'EpRpDynN3Upf', '15M', '{\"cn\":\"N3接口接收GTP包数\",\"en\":\"UPF.N3IncPkt\"}', 'UPF从N3接口接收的GTP包数。其中EpRpDynN3Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3804, 'UPF', 'UPFHC01', 'UPF.N3IncPkt._Ns', 'true', 'EpRpDynN3Upf', '15M', '{\"cn\":\"分切片的N3接口接收GTP包数\",\"en\":\"UPF.N3IncPkt._Ns\"}', 'UPF从N3接口接收的GTP包数。其中EpRpDynN3Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3805, 'UPF', 'UPFHC02', 'UPF.N3OgPkt', 'false', 'EpRpDynN3Upf', '15M', '{\"cn\":\"N3接口发送GTP包数\",\"en\":\"UPF.N3OgPkt\"}', 'UPF从N3接口发送出去的GTP包数,其中EpRpDynN3Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3806, 'UPF', 'UPFHC02', 'UPF.N3OgPkt._Ns', 'true', 'EpRpDynN3Upf', '15M', '{\"cn\":\"分切片的N3接口发送GTP包数\",\"en\":\"UPF.N3OgPkt._Ns\"}', 'UPF从N3接口发送出去的GTP包数,其中EpRpDynN3Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3807, 'UPF', 'UPFHC03', 'UPF.N3IncOct', 'false', 'EpRpDynN3Upf', '15M', '{\"cn\":\"N3接口接收GTP包字节数\",\"en\":\"UPF.N3IncOct\"}', 'UPF从N3接口接收的GTP包字节数(含GTP头),其中EpRpDynN3Upf_Global要求按S-NSSAI或UE分别进行统计。'); +INSERT INTO `measure_title` VALUES (3808, 'UPF', 'UPFHC03', 'UPF.N3IncOct._Ns', 'true', 'EpRpDynN3Upf', '15M', '{\"cn\":\"分切片的N3接口接收GTP包字节数\",\"en\":\"UPF.N3IncOct._Ns\"}', 'UPF从N3接口接收的GTP包字节数(含GTP头),其中EpRpDynN3Upf_Global要求按S-NSSAI或UE分别进行统计。'); +INSERT INTO `measure_title` VALUES (3809, 'UPF', 'UPFHC04', 'UPF.N3OgOct', 'false', 'EpRpDynN3Upf', '15M', '{\"cn\":\"N3接口发送GTP包字节数\",\"en\":\"UPF.N3OgOct\"}', 'UPF从N3接口发送的GTP包字节数(含GTP头),其中EpRpDynN3Upf_Global要求按S-NSSAI或UE分别进行统计。'); +INSERT INTO `measure_title` VALUES (3810, 'UPF', 'UPFHC04', 'UPF.N3OgOct._Ns', 'true', 'EpRpDynN3Upf', '15M', '{\"cn\":\"分切片的N3接口发送GTP包字节数\",\"en\":\"UPF.N3OgOct._Ns\"}', 'UPF从N3接口发送的GTP包字节数(含GTP头),其中EpRpDynN3Upf_Global要求按S-NSSAI或UE分别进行统计。'); +INSERT INTO `measure_title` VALUES (3811, 'UPF', 'UPFHC05', 'UPF.N3DiscPkt', 'false', 'EpRpDynN3Upf', '15M', '{\"cn\":\"N3接口接收错误GTP包数\",\"en\":\"UPF.N3DiscPkt\"}', 'N3接口因出错丢弃的GTP包个数,其中EpRpDynN3Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3812, 'UPF', 'UPFHC05', 'UPF.N3DiscPkt._Ns', 'true', 'EpRpDynN3Upf', '15M', '{\"cn\":\"分切片的N3接口接收错误GTP包数\",\"en\":\"UPF.N3DiscPkt._Ns\"}', 'N3接口因出错丢弃的GTP包个数,其中EpRpDynN3Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3813, 'UPF', 'UPFHD01', 'UPF.N9aIncPkt', 'false', 'EpRpDynN9Upf', '15M', '{\"cn\":\"N9a接口接收GTP包数\",\"en\":\"UPF.N9aIncPkt\"}', 'UPF从左侧N9a接口接收的GTP包数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3814, 'UPF', 'UPFHD01', 'UPF.N9aIncPkt._Ns', 'true', 'EpRpDynN9Upf', '15M', '{\"cn\":\"分切片的N9a接口接收GTP包数\",\"en\":\"UPF.N9aIncPkt._Ns\"}', 'UPF从左侧N9a接口接收的GTP包数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3815, 'UPF', 'UPFHD02', 'UPF.N9aOgPkt', 'false', 'EpRpDynN9Upf', '15M', '{\"cn\":\"N9a接口发送GTP包数\",\"en\":\"UPF.N9aOgPkt\"}', 'UPF从左侧N9a接口发送出去的GTP包数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3816, 'UPF', 'UPFHD02', 'UPF.N9aOgPkt._Ns', 'true', 'EpRpDynN9Upf', '15M', '{\"cn\":\"分切片的N9a接口发送GTP包数\",\"en\":\"UPF.N9aOgPkt._Ns\"}', 'UPF从左侧N9a接口发送出去的GTP包数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3817, 'UPF', 'UPFHD03', 'UPF.N9aIncOct', 'false', 'EpRpDynN9Upf', '15M', '{\"cn\":\"N9a接口接收GTP包字节数\",\"en\":\"UPF.N9aIncOct\"}', 'UPF从左侧N9a接口接收的GTP包字节数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3818, 'UPF', 'UPFHD03', 'UPF.N9aIncOct._Ns', 'true', 'EpRpDynN9Upf', '15M', '{\"cn\":\"分切片的N9a接口接收GTP包字节数\",\"en\":\"UPF.N9aIncOct._Ns\"}', 'UPF从左侧N9a接口接收的GTP包字节数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3819, 'UPF', 'UPFHD04', 'UPF.N9aOgOct', 'false', 'EpRpDynN9Upf', '15M', '{\"cn\":\"N9a接口发送GTP包字节数\",\"en\":\"UPF.N9aOgOct\"}', 'UPF从左侧N9a接口发送的GTP包字节数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3820, 'UPF', 'UPFHD04', 'UPF.N9aOgOct._Ns', 'true', 'EpRpDynN9Upf', '15M', '{\"cn\":\"分切片的N9a接口发送GTP包字节数\",\"en\":\"UPF.N9aOgOct._Ns\"}', 'UPF从左侧N9a接口发送的GTP包字节数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3821, 'UPF', 'UPFHD05', 'UPF.N9aDiscPkt', 'false', 'EpRpDynN9Upf', '15M', '{\"cn\":\"N9a接口接收错误GTP包数\",\"en\":\"UPF.N9aDiscPkt\"}', 'UPF对左侧N9a接口因出错丢弃的GTP包个数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3822, 'UPF', 'UPFHD05', 'UPF.N9aDiscPkt._Ns', 'true', 'EpRpDynN9Upf', '15M', '{\"cn\":\"分切片的N9a接口接收错误GTP包数\",\"en\":\"UPF.N9aDiscPkt._Ns\"}', 'UPF对左侧N9a接口因出错丢弃的GTP包个数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3823, 'UPF', 'UPFHD06', 'UPF.N9cIncPkt', 'false', 'EpRpDynN9Upf', '15M', '{\"cn\":\"N9c接口接收GTP包数\",\"en\":\"UPF.N9cIncPkt\"}', 'UPF从右侧N9c接口接收的GTP包数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3824, 'UPF', 'UPFHD06', 'UPF.N9cIncPkt._Ns', 'true', 'EpRpDynN9Upf', '15M', '{\"cn\":\"分切片的N9c接口接收GTP包数\",\"en\":\"UPF.N9cIncPkt._Ns\"}', 'UPF从右侧N9c接口接收的GTP包数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3825, 'UPF', 'UPFHD07', 'UPF.N9cOgPkt', 'false', 'EpRpDynN9Upf', '15M', '{\"cn\":\"N9c接口发送GTP包数\",\"en\":\"UPF.N9cOgPkt\"}', 'UPF从右侧N9c接口发送出去的GTP包数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3826, 'UPF', 'UPFHD07', 'UPF.N9cOgPkt._Ns', 'true', 'EpRpDynN9Upf', '15M', '{\"cn\":\"分切片的N9c接口发送GTP包数\",\"en\":\"UPF.N9cOgPkt._Ns\"}', 'UPF从右侧N9c接口发送出去的GTP包数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3827, 'UPF', 'UPFHD08', 'UPF.N9cIncOct', 'false', 'EpRpDynN9Upf', '15M', '{\"cn\":\"N9c接口接收GTP包字节数\",\"en\":\"UPF.N9cIncOct\"}', 'UPF从右侧N9c接口接收的GTP包字节数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3828, 'UPF', 'UPFHD08', 'UPF.N9cIncOct._Ns', 'true', 'EpRpDynN9Upf', '15M', '{\"cn\":\"分切片的N9c接口接收GTP包字节数\",\"en\":\"UPF.N9cIncOct._Ns\"}', 'UPF从右侧N9c接口接收的GTP包字节数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3829, 'UPF', 'UPFHD09', 'UPF.N9cOgOct', 'false', 'EpRpDynN9Upf', '15M', '{\"cn\":\"N9c接口发送GTP包字节数\",\"en\":\"UPF.N9cOgOct\"}', 'UPF从右侧N9c接口发送的GTP包字节数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3830, 'UPF', 'UPFHD09', 'UPF.N9cOgOct._Ns', 'true', 'EpRpDynN9Upf', '15M', '{\"cn\":\"分切片的N9c接口发送GTP包字节数\",\"en\":\"UPF.N9cOgOct._Ns\"}', 'UPF从右侧N9c接口发送的GTP包字节数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3831, 'UPF', 'UPFHD10', 'UPF.N9cDiscPkt', 'false', 'EpRpDynN9Upf', '15M', '{\"cn\":\"N9c接口接收错误GTP包数\",\"en\":\"UPF.N9cDiscPkt\"}', 'UPF对右侧N9c接口因出错丢弃的GTP包个数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3832, 'UPF', 'UPFHD10', 'UPF.N9cDiscPkt._Ns', 'true', 'EpRpDynN9Upf', '15M', '{\"cn\":\"分切片的N9c接口接收错误GTP包数\",\"en\":\"UPF.N9cDiscPkt._Ns\"}', 'UPF对右侧N9c接口因出错丢弃的GTP包个数,其中EpRpDynN9Upf_Global要求按S-NSSAI分别进行统计。'); +INSERT INTO `measure_title` VALUES (3833, 'UPF', 'UPFHE01', 'UPF.N6IncPkt', 'false', 'UpfFunction', '15M', '{\"cn\":\"N6接口接收IP包数\",\"en\":\"UPF.N6IncPkt\"}', '统计UPF在N6接口接收到的IP包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3834, 'UPF', 'UPFHE01', 'UPF.N6IncPkt._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的N6接口接收IP包数\",\"en\":\"UPF.N6IncPkt._Dnn\"}', '统计UPF在N6接口接收到的IP包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3835, 'UPF', 'UPFHE01', 'UPF.N6IncPktIpv6', 'false', 'UpfFunction', '15M', '{\"cn\":\"N6接口接收IPv6包数\",\"en\":\"UPF.N6IncPktIpv6\"}', '统计UPF在N6接口接收到的IPv6包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3836, 'UPF', 'UPFHE01', 'UPF.N6IncPktIpv6._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的N6接口接收IPv6包数\",\"en\":\"UPF.N6IncPktIpv6._Dnn\"}', '统计UPF在N6接口接收到的IPv6包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3837, 'UPF', 'UPFHE02', 'UPF.N6OgPkt', 'false', 'UpfFunction', '15M', '{\"cn\":\"N6接口发送IP包数\",\"en\":\"UPF.N6OgPkt\"}', '统计UPF在N6向发送的IP包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3838, 'UPF', 'UPFHE02', 'UPF.N6OgPkt._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的N6接口发送IP包数\",\"en\":\"UPF.N6OgPkt._Dnn\"}', '统计UPF在N6向发送的IP包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3839, 'UPF', 'UPFHE02', 'UPF.N6OgPktIpv6', 'false', 'UpfFunction', '15M', '{\"cn\":\"N6接口发送IPv6包数\",\"en\":\"UPF.N6OgPktIpv6\"}', '统计UPF在N6向发送的IPv6包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3840, 'UPF', 'UPFHE02', 'UPF.N6OgPktIpv6._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的N6接口发送IPv6包数\",\"en\":\"UPF.N6OgPktIpv6._Dnn\"}', '统计UPF在N6向发送的IPv6包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3841, 'UPF', 'UPFHE03', 'UPF.N6IncOct', 'false', 'UpfFunction', '15M', '{\"cn\":\"N6接口接收字节数\",\"en\":\"UPF.N6IncOct\"}', '统计UPF在N6接收到的IP包PDU字节数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3842, 'UPF', 'UPFHE03', 'UPF.N6IncOct._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的N6接口接收字节数\",\"en\":\"UPF.N6IncOct._Dnn\"}', '统计UPF在N6接收到的IP包PDU字节数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3843, 'UPF', 'UPFHE03', 'UPF.N6IncOctIpv6', 'false', 'UpfFunction', '15M', '{\"cn\":\"N6接口接收的IPv6字节数\",\"en\":\"UPF.N6IncOctIpv6\"}', '统计UPF在N6接收到的IPv6包PDU字节数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3844, 'UPF', 'UPFHE03', 'UPF.N6IncOctIpv6._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的N6接口接收的IPv6字节数\",\"en\":\"UPF.N6IncOctIpv6._Dnn\"}', '统计UPF在N6接收到的IPv6包PDU字节数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3845, 'UPF', 'UPFHE04', 'UPF.N6OgOct', 'false', 'UpfFunction', '15M', '{\"cn\":\"N6接口发送字节数\",\"en\":\"UPF.N6OgOct\"}', '统计UPF在N6发送的IP包PDU字节数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3846, 'UPF', 'UPFHE04', 'UPF.N6OgOct._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的N6接口发送字节数\",\"en\":\"UPF.N6OgOct._Dnn\"}', '统计UPF在N6发送的IP包PDU字节数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3847, 'UPF', 'UPFHE04', 'UPF.N6OgOctIpv6', 'false', 'UpfFunction', '15M', '{\"cn\":\"N6接口发送的IPv6字节数\",\"en\":\"UPF.N6OgOctIpv6\"}', '统计UPF在N6发送的IPv6包PDU字节数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3848, 'UPF', 'UPFHE04', 'UPF.N6OgOctIpv6._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的N6接口发送的IPv6字节数\",\"en\":\"UPF.N6OgOctIpv6._Dnn\"}', '统计UPF在N6发送的IPv6包PDU字节数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3849, 'UPF', 'UPFHE05', 'UPF.N6DiscPkt', 'false', 'UpfFunction', '15M', '{\"cn\":\"N6接口出错丢弃的IP包数\",\"en\":\"UPF.N6DiscPkt\"}', '统计N6口出错丢弃的IP包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3850, 'UPF', 'UPFHE05', 'UPF.N6DiscPkt._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的N6接口出错丢弃的IP包数\",\"en\":\"UPF.N6DiscPkt._Dnn\"}', '统计N6口出错丢弃的IP包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3851, 'UPF', 'UPFHE05', 'UPF.N6DiscPktIpv6', 'false', 'UpfFunction', '15M', '{\"cn\":\"N6接口出错丢弃的IPv6包数\",\"en\":\"UPF.N6DiscPktIpv6\"}', '统计N6口出错丢弃的IPv6包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3852, 'UPF', 'UPFHE05', 'UPF.N6DiscPktIpv6._Dnn', 'true', 'UpfFunction', '15M', '{\"cn\":\"分DNN的N6接口出错丢弃的IPv6包数\",\"en\":\"UPF.N6DiscPktIpv6._Dnn\"}', '统计N6口出错丢弃的IPv6包个数,并按DNN分别进行统计;'); +INSERT INTO `measure_title` VALUES (3853, 'UPF', 'UPFHF01', 'ME.MeanMeLoad', 'false', 'ManagedElement', '15M', '{\"cn\":\"系统平均负荷\",\"en\":\"ME.MeanMeLoad\"}', '对物理网元:指测量周期中,网元的硬件资源负荷的抽样平均值。网元的硬件资源负荷可取对网元影响最大的模块的负荷,或取不同模块的负荷的加权平均值,不同厂商设备的计算方法各不相同。\n对虚拟网元:指测量周期中,网元的虚拟机资源负荷的抽样平均值。网元的虚拟机资源负荷可取对网元影响最大的模块的负荷,或取不同模块的负荷的加权平均值,不同厂商设备的计算方法各不相同。'); +INSERT INTO `measure_title` VALUES (3854, 'UPF', 'UPFHG01', 'UPF.MeanRtDelay._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的平均往返时延\",\"en\":\"UPF.MeanRtDelay._Ns\"}', '基于切片对一个测量周期内所有归属该切片的采样用户获得的时延取平均后得到的往返时延'); +INSERT INTO `measure_title` VALUES (3855, 'UPF', 'UPFHG02', 'UPF.MeanUlDelay._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的平均上行时延\",\"en\":\"UPF.MeanUlDelay._Ns\"}', '基于切片对一个测量周期内所有归属该切片的采样用户获得的时延取平均后得到的上行时延'); +INSERT INTO `measure_title` VALUES (3856, 'UPF', 'UPFHG03', 'UPF.MeanDlDelay._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的平均下行时延\",\"en\":\"UPF.MeanDlDelay._Ns\"}', '基于切片对一个测量周期内所有归属该切片的采样用户获得的时延取平均后得到的下行时延'); +INSERT INTO `measure_title` VALUES (3857, 'UPF', 'UPFHG04', 'UPF.MaxRtDelay._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的最大往返时延\",\"en\":\"UPF.MaxRtDelay._Ns\"}', '基于切片对一个测量周期内所有归属该切片的采样用户获得的时延取平均后得到的最大往返时延'); +INSERT INTO `measure_title` VALUES (3858, 'UPF', 'UPFHG05', 'UPF.MaxUlDelay._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的最大上行时延\",\"en\":\"UPF.MaxUlDelay._Ns\"}', '基于切片对一个测量周期内所有归属该切片的采样用户获得的时延取平均后得到的最大上行时延'); +INSERT INTO `measure_title` VALUES (3859, 'UPF', 'UPFHG06', 'UPF.MaxDlDelay._Ns', 'true', 'UpfFunction', '15M', '{\"cn\":\"分切片的最大下行时延\",\"en\":\"UPF.MaxDlDelay._Ns\"}', '基于切片对一个测量周期内所有归属该切片的采样用户获得的时延取平均后得到的最大下行时延'); +INSERT INTO `measure_title` VALUES (3860, 'UPF', 'UPFHH01', 'UPF.5GLanMaxPduSession', 'false', 'UpfFunction', '15M', '{\"cn\":\"最大的5GLANGroup会话数\",\"en\":\"UPF.5GLanMaxPduSession\"}', '一个统计周期内UPF+中的最大5G LAN GROUP会话数目'); +INSERT INTO `measure_title` VALUES (3861, 'UPF', 'UPFHH01', 'UPF.5GLanMaxPduSession._5GLanGroup', 'true', 'UpfFunction', '15M', '{\"cn\":\"指定5GLANGroup的最大的5GLANGroup会话数\",\"en\":\"UPF.5GLanMaxPduSession._5GLanGroup\"}', '一个统计周期内UPF+中指定5G LAN Group的最大5G LAN GROUP会话数目'); +INSERT INTO `measure_title` VALUES (3862, 'UPF', 'UPFHH02', 'UPF.5GLanUeTransPkt', 'false', 'UpfFunction', '15M', '{\"cn\":\"5GLANGroupUE互访报文包数\",\"en\":\"UPF.5GLanUeTransPkt\"}', '一个统计周期内UPF+中的5G LAN GROUP UE转发给其他UE的报文报数'); +INSERT INTO `measure_title` VALUES (3863, 'UPF', 'UPFHH02', 'UPF.5GLanUeTransPkt._5GLanGroup', 'true', 'UpfFunction', '15M', '{\"cn\":\"指定5GLANGroup的UE互访报文包数\",\"en\":\"UPF.5GLanUeTransPkt._5GLanGroup\"}', '一个统计周期内UPF+中指定5G LAN Group的UE转发给其他UE的报文报数'); +INSERT INTO `measure_title` VALUES (3864, 'UPF', 'UPFHH03', 'UPF.5GLanUeTransOct', 'false', 'UpfFunction', '15M', '{\"cn\":\"5GLANGroupUE互访报文字节数\",\"en\":\"UPF.5GLanUeTransOct\"}', '一个统计周期内UPF+中的5G LAN GROUP UE转发给其他UE的报文字节数'); +INSERT INTO `measure_title` VALUES (3865, 'UPF', 'UPFHH03', 'UPF.5GLanUeTransOct._5GLanGroup', 'true', 'UpfFunction', '15M', '{\"cn\":\"指定5GLANGroup的UE互访报文字节数\",\"en\":\"UPF.5GLanUeTransOct._5GLanGroup\"}', '一个统计周期内UPF+中指定5G LAN Group的UE转发给其他UE的报文字节数'); +INSERT INTO `measure_title` VALUES (3866, 'UPF', 'UPFHI01', 'AMF.RegSub', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF注册态用户数\",\"en\":\"AMF.RegSub\"}', '当前所有注册在AMF上的用户'); +INSERT INTO `measure_title` VALUES (3867, 'UPF', 'UPFHI01', 'AMF.RegSub._Ns', 'true', 'AmfFunction', '15M', '{\"cn\":\"分切片的AMF注册用户数\",\"en\":\"AMF.RegSub._Ns\"}', 'AMF支持的允许UE使用的S-NSSAI统计每个网络切片在AMF上的用户数。以AMF下发给UE的allowed S-NSSAI中AMF支持的S-NSSAI的个数为准。'); +INSERT INTO `measure_title` VALUES (3868, 'UPF', 'UPFHI02', 'AMF.PagAtt', 'false', 'AmfFunction', '15M', '{\"cn\":\"寻呼请求次数\",\"en\":\"AMF.PagAtt\"}', 'AMF的寻呼请求次数。'); +INSERT INTO `measure_title` VALUES (3869, 'UPF', 'UPFHI03', 'AMF.FirstPagingSucc', 'false', 'AmfFunction', '15M', '{\"cn\":\"寻呼响应次数\",\"en\":\"AMF.FirstPagingSucc\"}', '寻呼成功次数。'); +INSERT INTO `measure_title` VALUES (3870, 'UPF', 'UPFHI04', 'AMF.GnbNum', 'false', 'AmfFunction', '15M', '{\"cn\":\"AMF挂接5G基站数\",\"en\":\"AMF.GnbNum\"}', '统计周期结束点时刻,挂接在AMF下的5G基站数量'); +INSERT INTO `measure_title` VALUES (3871, 'UPF', 'UPFHI05', 'AMF.AttInitReg', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册请求次数\",\"en\":\"AMF.AttInitReg\"}', '初始注册请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3872, 'UPF', 'UPFHI06', 'AMF.AttInitReg._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册请求次数\",\"en\":\"AMF.AttInitReg._Ta\"}', '初始注册请求次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3873, 'UPF', 'UPFHI07', 'AMF.SuccInitReg', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册成功次数\",\"en\":\"AMF.SuccInitReg\"}', '初始注册完成次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3874, 'UPF', 'UPFHI08', 'AMF.SuccInitReg._Ta', 'true', 'AmfFunction', '15M', '{\"cn\":\"分跟踪区的初始注册成功次数\",\"en\":\"AMF.SuccInitReg._Ta\"}', '初始注册完成次数,并分TA进行统计。'); +INSERT INTO `measure_title` VALUES (3875, 'UPF', 'UPFHI09', 'AMF.FailedInitReg', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数\",\"en\":\"AMF.FailedInitReg\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3876, 'UPF', 'UPFHI10', 'AMF.FailedInitReg._Cause', 'true', 'AmfFunction', '15M', '{\"cn\":\"分原因值的初始注册失败次数\",\"en\":\"AMF.FailedInitReg._Cause\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3877, 'UPF', 'UPFHI11', 'AMF.FailedInitReg.3', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_非法用户\",\"en\":\"AMF.FailedInitReg.3\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3878, 'UPF', 'UPFHI12', 'AMF.FailedInitReg.5', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_PEI不允许\",\"en\":\"AMF.FailedInitReg.5\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3879, 'UPF', 'UPFHI13', 'AMF.FailedInitReg.6', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_非法设备\",\"en\":\"AMF.FailedInitReg.6\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3880, 'UPF', 'UPFHI14', 'AMF.FailedInitReg.7', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_5GS服务不允许\",\"en\":\"AMF.FailedInitReg.7\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3881, 'UPF', 'UPFHI15', 'AMF.FailedInitReg.7.User', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_5GS服务不允许_用户原因\",\"en\":\"AMF.FailedInitReg.7.User\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3882, 'UPF', 'UPFHI16', 'AMF.FailedInitReg.15', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_跟踪区内无合适小区\",\"en\":\"AMF.FailedInitReg.15\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3883, 'UPF', 'UPFHI17', 'AMF.FailedInitReg.15.User', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_跟踪区内无合适小区_用户原因\",\"en\":\"AMF.FailedInitReg.15.User\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3884, 'UPF', 'UPFHI18', 'AMF.FailedInitReg.12', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_跟踪区不允许\",\"en\":\"AMF.FailedInitReg.12\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3885, 'UPF', 'UPFHI19', 'AMF.FailedInitReg.13', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_漫游跟踪区禁止接入\",\"en\":\"AMF.FailedInitReg.13\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3886, 'UPF', 'UPFHI20', 'AMF.FailedInitReg.27', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_N1模式不允许\",\"en\":\"AMF.FailedInitReg.27\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3887, 'UPF', 'UPFHI21', 'AMF.FailedInitReg.62', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_无可用网络切片\",\"en\":\"AMF.FailedInitReg.62\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3888, 'UPF', 'UPFHI22', 'AMF.FailedInitReg.11', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_PLMN不允许\",\"en\":\"AMF.FailedInitReg.11\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3889, 'UPF', 'UPFHI23', 'AMF.FailedInitReg.111', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_协议错误\",\"en\":\"AMF.FailedInitReg.111\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3890, 'UPF', 'UPFHI24', 'AMF.FailedInitReg.111.User', 'false', 'AmfFunction', '15M', '{\"cn\":\"初始注册失败次数_协议错误_用户原因\",\"en\":\"AMF.FailedInitReg.111.User\"}', '初始注册失败次数,分原因进行分类统计;\n其中,原因值3、5、6、7.User、15.User、27、9.User、11、12、13、62、111.User视为用户原因。'); +INSERT INTO `measure_title` VALUES (3891, 'UPF', 'UPFHJ01', 'SMF.AttCreatePduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立请求次数\",\"en\":\"SMF.AttCreatePduSession\"}', 'UE发起的PDU会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3892, 'UPF', 'UPFHJ02', 'SMF.SuccCreatePduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"PDU会话建立成功次数\",\"en\":\"SMF.SuccCreatePduSession\"}', 'UE发起的PDU会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3893, 'UPF', 'UPFHJ03', 'SMF.MeanPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"平均PDU会话数\",\"en\":\"SMF.MeanPduSession\"}', '一个统计周期内SMF中的平均PDU会话数。'); +INSERT INTO `measure_title` VALUES (3894, 'UPF', 'UPFHJ03', 'SMF.MeanPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的平均PDU会话数\",\"en\":\"SMF.MeanPduSession._Ns\"}', '一个统计周期内按照S-NSSAI统计SMF中的平均PDU会话数。'); +INSERT INTO `measure_title` VALUES (3895, 'UPF', 'UPFHJ04', 'SMF.MaxPduSession', 'false', 'SmfFunction', '15M', '{\"cn\":\"最大PDU会话数\",\"en\":\"SMF.MaxPduSession\"}', '一个统计周期内SMF中的最大PDU会话数。'); +INSERT INTO `measure_title` VALUES (3896, 'UPF', 'UPFHJ04', 'SMF.MaxPduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的最大PDU会话数\",\"en\":\"SMF.MaxPduSession._Ns\"}', '一个统计周期内按照S-NSSAI统计SMF中的最大PDU会话数。'); +INSERT INTO `measure_title` VALUES (3897, 'UPF', 'UPFHJ05', 'SMF.MeanQf', 'false', 'SmfFunction', '15M', '{\"cn\":\"平均Qos流数\",\"en\":\"SMF.MeanQf\"}', '一个统计周期内SMF中的平均Qos流数。'); +INSERT INTO `measure_title` VALUES (3898, 'UPF', 'UPFHJ05', 'SMF.MeanQf._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的平均Qos流数\",\"en\":\"SMF.MeanQf._Ns\"}', '一个统计周期内按照S-NSSAI统计SMF中的平均QoS流数。'); +INSERT INTO `measure_title` VALUES (3899, 'UPF', 'UPFHJ06', 'SMF.MaxQf', 'false', 'SmfFunction', '15M', '{\"cn\":\"最大Qos流数\",\"en\":\"SMF.MaxQf\"}', '一个统计周期内SMF中的最大Qos流数。'); +INSERT INTO `measure_title` VALUES (3900, 'UPF', 'UPFHJ06', 'SMF.MaxQf._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的最大Qos流数\",\"en\":\"SMF.MaxQf._Ns\"}', '一个统计周期内按照S-NSSAI统计SMF中的最大QoS流数。'); +INSERT INTO `measure_title` VALUES (3901, 'UPF', 'UPFHJ07', 'SMF.AttCreatePduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的PDU会话建立请求次数\",\"en\":\"SMF.AttCreatePduSession._Ns\"}', '按照S-NSSAI统计UE发起的PDU会话建立请求次数。'); +INSERT INTO `measure_title` VALUES (3902, 'UPF', 'UPFHJ07', 'SMF.SuccCreatePduSession._Ns', 'true', 'SmfFunction', '15M', '{\"cn\":\"分切片的PDU会话建立成功次数\",\"en\":\"SMF.SuccCreatePduSession._Ns\"}', '按照S-NSSAI统计UE发起的PDU会话建立成功次数。'); +INSERT INTO `measure_title` VALUES (3903, 'UPF', 'UPFHK01', 'UDR.5gActSub', 'false', 'UdrFunction', '15M', '{\"cn\":\"5G活动用户数\",\"en\":\"UDR.5gActSub\"}', '统计UDR存储的有5G位置信息的MSISDN用户数最新值'); +INSERT INTO `measure_title` VALUES (3904, 'UPF', 'UPFHK02', 'UDR.FileSyncReq', 'false', 'UdrFunction', '15M', '{\"cn\":\"文件同步请求次数\",\"en\":\"UDR.FileSyncReq\"}', '应急UDR和核心侧UDR文件同步请求次数'); +INSERT INTO `measure_title` VALUES (3905, 'UPF', 'UPFHK03', 'UDR.FileSyncReqSucc', 'false', 'UdrFunction', '15M', '{\"cn\":\"文件同步成功次数\",\"en\":\"UDR.FileSyncReqSucc\"}', '应急UDR和核心侧UDR文件同步请求成功次数'); +INSERT INTO `measure_title` VALUES (3906, 'UPF', 'UPFHK04', 'UDR.InstruSyncReq', 'false', 'UdrFunction', '15M', '{\"cn\":\"指令同步请求次数\",\"en\":\"UDR.InstruSyncReq\"}', '应急UDR和核心侧UDR指令同步请求次数'); +INSERT INTO `measure_title` VALUES (3907, 'UPF', 'UPFHK05', 'UDR.InstruSyncReqSucc', 'false', 'UdrFunction', '15M', '{\"cn\":\"指令同步成功次数\",\"en\":\"UDR.InstruSyncReqSucc\"}', '应急UDR和核心侧UDR指令同步请求成功次数'); +INSERT INTO `measure_title` VALUES (3908, 'UPF', 'UPFHK06', 'UDR.SynSub', 'false', 'UdrFunction', '15M', '{\"cn\":\"应急UDR同步的用户总数\",\"en\":\"UDR.SynSub\"}', '统计应急UDR从核心侧UDR同步的用户数'); +INSERT INTO `measure_title` VALUES (3909, 'UPF', 'UPFHK07', 'UDR.SynSubSucc', 'false', 'UdrFunction', '15M', '{\"cn\":\"应急UDR同步成功的用户数\",\"en\":\"UDR.SynSubSucc\"}', '统计应急UDR从核心侧UDR同步成功的用户数'); +INSERT INTO `measure_title` VALUES (3910, 'UPF', 'UPFHL01', 'Ausf.UeAuthReq', 'false', 'AusfFunction', '15M', '{\"cn\":\"鉴权请求次数\",\"en\":\"Ausf.UeAuthReq\"}', 'AUSF收到的鉴权请求次数'); +INSERT INTO `measure_title` VALUES (3911, 'UPF', 'UPFHL02', 'Ausf.UeAuthAnsSucc', 'false', 'AusfFunction', '15M', '{\"cn\":\"鉴权成功次数\",\"en\":\"Ausf.UeAuthAnsSucc\"}', 'AUSF返回鉴权成功响应次数'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/menu.sql b/database/install/menu.sql new file mode 100644 index 00000000..aa56353e --- /dev/null +++ b/database/install/menu.sql @@ -0,0 +1,60 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 07/08/2023 23:26:25 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for menu +-- ---------------------------- +DROP TABLE IF EXISTS `menu`; +CREATE TABLE `menu` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `group_name` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `menu_tag` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `sort_id` int(11) NULL DEFAULT NULL, + `lang_tag` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `menu_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of menu +-- ---------------------------- +INSERT INTO `menu` VALUES (1, 'admin', 'topologyManagement', 1, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [\r\n {\r\n \"id\": 3,\r\n \"href\": \"page/main/main.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/system/performanceCount.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"运行统计\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"系统状态\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (2, 'admin', 'faultManagement', 2, 'cn', '{\r\n \"id\": 1,\r\n \"href\": \"\",\r\n \"icon\": \"fa fa-wrench\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/alarm/alarmListDown.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"活动告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/alarm/AlarmListHistory.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"历史告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/alarm/alarmInfoConfig.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n } ,{\r\n \"id\": 6,\r\n \"href\": \"page/alarm/synchronous.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"定时同步设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 5,\r\n \"href\": \"page/alarm/alarmForwarding.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警前转\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"故障管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (3, 'admin', 'systemManagement', 3, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-pencil-square-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/nfManage/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/configParam/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"参数配置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/softwareManage/softwareManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"软件管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/softwareManage/backupManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"备份管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"配置管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (4, 'admin', 'performanceManagement', 4, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-line-chart\",\r\n \"child\": [{\r\n \"id\": 1,\r\n \"href\": \"page/task/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 2,\r\n \"href\": \"page/repair/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能数据\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/task/perfReport.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能报表\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/task/threshold.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能门限\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 6,\r\n \"href\": \"page/gold/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"黄金指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 7,\r\n \"href\": \"page/task/perfReportSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能通用设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 8,\r\n \"href\": \"page/indicators/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"自定义指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"性能管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (5, 'admin', 'operationMaintenance', 5, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"操作维护\",\r\n \"icon\": \"fa fa-gear\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [\r\n{\r\n \"id\": 4,\r\n \"title\": \"操作维护MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/omcList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n \r\n {\r\n \"id\": 2,\r\n \"title\": \"网元操作MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"用户数据MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/udmList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (6, 'admin', 'trackManagement', 8, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"跟踪管理\",\r\n \"icon\": \"fa fa-home\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [{\r\n \"id\": 2,\r\n \"title\": \"跟踪任务\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/trace/taskList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"信令分析\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/trace/traceShow.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (7, 'admin', 'logManagement', 6, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-newspaper-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/log/operLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"操作日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/log/alarmLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 6,\r\n \"href\": \"page/log/securityLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"安全日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 7,\r\n \"href\": \"page/log/forwardingLog.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警前转日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 8,\r\n \"href\": \"page/log/nbiAlarmLog.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"北向告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/log/logSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"日志通用管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"日志管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n\r\n}'); +INSERT INTO `menu` VALUES (8, 'admin', 'securityManagement', 7, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-users\",\r\n \"child\": [\r\n {\r\n \"id\": 2,\r\n \"href\": \"page/user/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"用户管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 3,\r\n \"href\": \"page/user/online.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"在线状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"安全管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (18, 'operator', 'topologyManagement', 1, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [\r\n {\r\n \"id\": 3,\r\n \"href\": \"page/main.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/system/performanceCount.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"运行统计\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"系统状态\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (19, 'operator', 'faultManagement', 2, 'cn', '{\r\n \"id\": 1,\r\n \"href\": \"\",\r\n \"icon\": \"fa fa-wrench\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/alarm/alarmListDown.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"活动告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/alarm/AlarmListHistory.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"历史告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/alarm/alarmInfoConfig.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"故障管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (20, 'operator', 'systemManagement', 3, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-pencil-square-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/nfManage/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"dormitoryset/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"参数配置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/softwareManage/softwareManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"软件管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 5,\r\n \"href\": \"page/softwareManage/backupManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"备份管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"配置管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (21, 'operator', 'performanceManagement', 4, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-line-chart\",\r\n \"child\": [{\r\n \"id\": 1,\r\n \"href\": \"page/task/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 2,\r\n \"href\": \"page/repair/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能数据\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/task/perfReport.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能报表\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/task/threshold.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能门限\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 6,\r\n \"href\": \"page/gold/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"黄金指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 7,\r\n \"href\": \"page/task/perfReportSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"报表设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"性能管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (22, 'operator', 'operationMaintenance', 5, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"操作维护\",\r\n \"icon\": \"fa fa-gear\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [\r\n\r\n {\r\n \"id\": 2,\r\n \"title\": \"系统操作MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"用户数据MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/udmList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (23, 'operator', 'logManagement', 6, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"跟踪管理\",\r\n \"icon\": \"fa fa-home\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [{\r\n \"id\": 2,\r\n \"title\": \"跟踪任务\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/trace/taskList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"信令分析\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"dormitoryset/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (24, 'operator', 'securityManagement', 7, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-newspaper-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/log/operLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"操作日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/log/alarmLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/log/logSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"日志设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"日志管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n\r\n}'); +INSERT INTO `menu` VALUES (25, 'user', 'topologyManagement', 1, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [\r\n {\r\n \"id\": 3,\r\n \"href\": \"page/main.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/system/performanceCount.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"运行统计\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"系统状态\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (26, 'user', 'faultManagement', 2, 'cn', '{\r\n \"id\": 1,\r\n \"href\": \"\",\r\n \"icon\": \"fa fa-wrench\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/alarm/alarmListDown.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"活动告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/alarm/AlarmListHistory.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"历史告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/alarm/alarmInfoConfig.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"故障管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (27, 'user', 'systemManagement', 3, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-pencil-square-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/nfManage/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"dormitoryset/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"参数配置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/softwareManage/softwareManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"软件管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 5,\r\n \"href\": \"page/softwareManage/backupManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"备份管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"配置管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (28, 'user', 'performanceManagement', 4, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-line-chart\",\r\n \"child\": [{\r\n \"id\": 1,\r\n \"href\": \"page/task/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 2,\r\n \"href\": \"page/repair/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能数据\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/task/perfReport.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能报表\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/task/threshold.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能门限\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 6,\r\n \"href\": \"page/gold/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"黄金指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 7,\r\n \"href\": \"page/task/perfReportSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"报表设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"性能管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (29, 'user', 'operationMaintenance', 5, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"操作维护\",\r\n \"icon\": \"fa fa-gear\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [\r\n\r\n {\r\n \"id\": 2,\r\n \"title\": \"系统操作MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"用户数据MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/udmList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (30, 'user', 'logManagement', 6, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"跟踪管理\",\r\n \"icon\": \"fa fa-home\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [{\r\n \"id\": 2,\r\n \"title\": \"跟踪任务\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/trace/taskList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"信令分析\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"dormitoryset/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (31, 'user', 'securityManagement', 7, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-newspaper-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/log/operLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"操作日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/log/alarmLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/log/logSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"日志设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"日志管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n\r\n}'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/mml_command.sql b/database/install/mml_command.sql new file mode 100644 index 00000000..262f6330 --- /dev/null +++ b/database/install/mml_command.sql @@ -0,0 +1,65 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 07/08/2023 23:44:30 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mml_command +-- ---------------------------- +DROP TABLE IF EXISTS `mml_command`; +CREATE TABLE `mml_command` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `cat_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `operation` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `mml_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `param_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 856 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of mml_command +-- ---------------------------- +INSERT INTO `mml_command` VALUES (832, 'OMC', 'mmlManagement', 'MML Management', 'lst', 'mmlcmd', 'List MML Command', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Category\",\"filter\":\"\",\"name\":\"category\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"operation\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Operation\",\"filter\":\"\",\"name\":\"operation\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"object\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Object\",\"filter\":\"\",\"name\":\"object\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (833, 'OMC', 'systemManagement', 'System Management', 'dsp', 'sysinfo', 'Display NE System Information', '[{\"alias\":\"neType\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"neId\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (834, 'OMC', 'systemManagement', 'System Management', 'dsp', 'licenseinfo', 'Display NE License Information', '[{\"alias\":\"neType\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"neId\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (835, 'OMC', 'systemManagement', 'System Management', 'dsp', 'nelink', 'Display NE Interface Link Status', '[{\"alias\":\"neType\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"neId\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"interface\",\"comment\":\"\",\"display\":\"Interface\",\"filter\":\"\",\"name\":\"interface\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (836, 'OMC', 'neManagement', 'Network Element Management', 'lst', 'neinfo', 'List NE Information', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"rm_uid\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Resource management UID\",\"filter\":\"\",\"name\":\"rmuid\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (837, 'OMC', 'neManagement', 'Network Element Management', 'lst', 'memap', 'List Managed Element Map', '[{\"alias\":\"rm_uid\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Resource management UID\",\"filter\":\"\",\"name\":\"rmuid\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (838, 'OMC', 'neManagement', 'Network Element Management', 'add', 'neinfo', 'Add Network Element', '[{\"alias\":\"ne_type\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"netype\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"neid\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"rm_uid\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Resource management UID\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"rmuid\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ip\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"port\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Port\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_name\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE name\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"nename\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"pv_flag\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"PV flag\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"pvflag\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (839, 'OMC', 'neManagement', 'Network Element Management', 'mod', 'neinfo', 'Modify Network Element', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"netype\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"neid\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"rm_uid\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Resource management UID\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"rmuid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ip\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"ip\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"port\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Port\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"port\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_name\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE name\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"nename\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"pv_flag\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"PV flag\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"pvflag\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (840, 'OMC', 'neManagement', 'Network Element Management', 'del', 'neinfo', 'Delete Network Element', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neid\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (841, 'OMC', 'neVersionManagement', 'NE Version Management', 'upg', 'neversion', 'Upgrade NE Software Version', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"netype\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"neid\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"version\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Version\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"version\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (842, 'OMC', 'faultManagement', 'Fault Management', 'dsp', 'alarm', 'Display Alarm Information', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE UID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_name\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE name\",\"filter\":\"\",\"name\":\"nename\",\"optional\":\"true\",\"type\":\"int\"},{\"alias\":\"alarm_code\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm code\",\"filter\":\"\",\"name\":\"alarmcode\",\"optional\":\"true\",\"type\":\"int\"},{\"alias\":\"orig_severity\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Original severity\",\"filter\":\"{\\\"Critical\\\",\\\"Major\\\",\\\"Minor\\\",\\\"Warning\\\",\\\"Event\\\"}\",\"name\":\"origseverity\",\"optional\":\"true\",\"type\":\"enum\"},{\"alias\":\"pv_flag\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"PV flag\",\"filter\":\"\",\"name\":\"pvflag\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"event_time\\u003e\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm event start time\",\"filter\":\"\",\"name\":\"starttime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"event_time\\u003c\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm event end time\",\"filter\":\"\",\"name\":\"endtime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"alarm_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm type\",\"filter\":\"{\\\"CommunicationAlarm\\\",\\\"EquipmentAlarm\\\",\\\"ProcessingFailure\\\",\\\"EnvironmentalAlarm\\\",\\\"QualityOfServiceAlarm\\\"}\",\"name\":\"alarmtype\",\"optional\":\"true\",\"type\":\"enum\"},{\"alias\":\"alarm_status\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Alarm status\",\"filter\":\"\",\"name\":\"alarmstatus\",\"optional\":\"true\",\"type\":\"int\"}]'); +INSERT INTO `mml_command` VALUES (843, 'OMC', 'pmTaskManagement', 'Performance Measure Task Management', 'lst', 'measuretask', 'List Performance Measure Task', '[{\"alias\":\"id\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Task ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"id\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"granul_option\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Time granularity\",\"filter\":\"\",\"name\":\"granuloption\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (844, 'OMC', 'pmTaskManagement', 'Performance Measure Task Management', 'add', 'measuretask', 'Add Performance Measure Task', '[{\"alias\":\"ne_type\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"netype\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_ids\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"NE ID set\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"neids\",\"optional\":\"false\",\"type\":\"array\"},{\"alias\":\"granul_option\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Granularity option\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"granuloption\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"kpi_set\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"KPI set\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"kpiset\",\"optional\":\"false\",\"type\":\"json\"},{\"alias\":\"start_time\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Measure task start time\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"starttime\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"end_time\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Measure task end time\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"endtime\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (845, 'OMC', 'pmTaskManagement', 'Performance Measure Task Management', 'mod', 'measuretask', 'Modify Performance Measure Task', '[{\"alias\":\"id\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Task ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"id\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"kpi_set\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"KPI set\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"kpiset\",\"optional\":\"true\",\"type\":\"json\"},{\"alias\":\"start_time\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Measure task start time\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"starttime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"end_time\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Measure task end time\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"endtime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"granul_option\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"granularity option\",\"filter\":\"\",\"loc\":\"false\",\"name\":\"granuloption\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (846, 'OMC', 'pmTaskManagement', 'Performance Measure Task Management', 'del', 'measuretask', 'Delete Performance Measure Task', '[{\"alias\":\"id\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Task ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"id\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (847, 'OMC', 'pmTaskManagement', 'Performance Measure Task Management', 'act', 'measuretask', 'Active Performance Measure Task', '[{\"alias\":\"id\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Task ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"id\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (848, 'OMC', 'pmTaskManagement', 'Performance Measure Task Management', 'dea', 'measuretask', 'Deactive Performance Measure Task', '[{\"alias\":\"id\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Task ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"id\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (849, 'OMC', 'nrmManagement', 'NBI Resourece Management', 'dsp', 'nbicm', 'Display NBI Resource Management', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"rm_uid\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Resource management UID\",\"filter\":\"\",\"name\":\"rmuid\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (850, 'OMC', 'pmDataManagement', 'Performance Data Management', 'lst', 'measuredata', 'List Performance Data', '[{\"alias\":\"task_id\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Task ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"id\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"kpi_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"kpiid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"start_time\\u003e\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Measure period start time(\\u003e=)\",\"filter\":\"\",\"name\":\"starttime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"start_time\\u003c\",\"apostr\":\"false\",\"comment\":\"\",\"display\":\"Measure period start time(\\u003c=)\",\"filter\":\"\",\"name\":\"endtime\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (851, 'OMC', 'logManagement', 'Log Management', 'lst', 'systemlog', 'List System Log', '[{\"alias\":\"process_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Process type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"processtype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"log_time\\u003e\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Log time more than\",\"filter\":\"\",\"name\":\"starttime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"log_time\\u003c\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Log time less than\",\"filter\":\"\",\"name\":\"endtime\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (852, 'OMC', 'logManagement', 'Log Management', 'lst', 'operationlog', 'List Operation Log', '[{\"alias\":\"account_name\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Account ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"accountid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"log_time\\u003e\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Log time more than\",\"filter\":\"\",\"name\":\"starttime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"log_time\\u003c\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Log Time Less Than\",\"filter\":\"\",\"name\":\"endtime\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (853, 'OMC', 'logManagement', 'Log Management', 'lst', 'securitylog', 'List Security Log', '[{\"alias\":\"account_name\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Account ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"accountid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"op_time\\u003e\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Log time more than\",\"filter\":\"\",\"name\":\"starttime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"op_time\\u003c\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Log time less than\",\"filter\":\"\",\"name\":\"endtime\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (854, 'OMC', 'logManagement', 'Log Management', 'lst', 'alarmlog', 'List Alarm Log', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"log_time\\u003e\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Log time(\\u003e=)\",\"filter\":\"\",\"name\":\"starttime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"log_time\\u003c\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Log time less than\",\"filter\":\"\",\"name\":\"endtime\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (855, 'OMC', 'logManagement', 'Log Management', 'lst', 'eventlog', 'List NE Event Log', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE type\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"netype\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"loc\":\"true\",\"name\":\"neid\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"log_time\\u003e\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Log time(\\u003e=)\",\"filter\":\"\",\"name\":\"starttime\",\"optional\":\"true\",\"type\":\"string\"},{\"alias\":\"log_time\\u003c\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Log time(\\u003c=)\",\"filter\":\"\",\"name\":\"endtime\",\"optional\":\"true\",\"type\":\"string\"}]'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/mml_http_map.sql b/database/install/mml_http_map.sql new file mode 100644 index 00000000..16fc003e --- /dev/null +++ b/database/install/mml_http_map.sql @@ -0,0 +1,68 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 07/08/2023 23:27:23 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mml_http_map +-- ---------------------------- +DROP TABLE IF EXISTS `mml_http_map`; +CREATE TABLE `mml_http_map` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `operation` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `uri` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ext_uri` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `input` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `output` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 26 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of mml_http_map +-- ---------------------------- +INSERT INTO `mml_http_map` VALUES (1, 'OMC', 'dsp', 'sysinfo', 'Get', '/api/rest/systemManagement/v1/sysInfo', '/%s', NULL, '{}', '{\r\n \"retFmt\": \"GetNF\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"NE System Information\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"neType\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"neId\",\r\n \"display\": \"NE ID\",\r\n \"length\": 28\r\n }, \r\n {\r\n \"name\": \"hostName\",\r\n \"display\": \"Host name\",\r\n \"length\": 16\r\n },\r\n {\r\n \"name\": \"osInfo\",\r\n \"display\": \"OS information\",\r\n \"length\": 128\r\n },\r\n {\r\n \"name\": \"dbInfo\",\r\n \"display\": \"Database information\",\r\n \"length\": 80\r\n },\r\n {\r\n \"name\": \"version\",\r\n \"display\": \"Software version\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"ipAddr\",\r\n \"display\": \"IP address\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"port\",\r\n \"display\": \"Port\",\r\n \"length\": 6\r\n },\r\n {\r\n \"name\": \"cpus\",\r\n \"display\": \"CPUs\",\r\n \"length\": 4\r\n },\r\n {\r\n \"name\": \"totalMem\",\r\n \"display\": \"Total memory(KB)\",\r\n \"length\": 11\r\n } \r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (2, 'OMC', 'lst', 'memap', 'Get', '/api/rest/dataManagement/v1/omc_db/ne_info', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Managed Element Map\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"rm_uid\",\r\n \"display\": \"Resource management UID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"ne_name\",\r\n \"display\": \"NE name\",\r\n \"length\": 28\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (3, 'OMC', 'lst', 'neinfo', 'Get', '/api/rest/dataManagement/v1/omc_db/ne_info', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Network element information\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 16\r\n },\r\n {\r\n \"name\": \"rm_uid\",\r\n \"display\": \"Resource management UID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"ne_name\",\r\n \"display\": \"NE name\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"pv_flag\",\r\n \"display\": \"PV flag\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ip\",\r\n \"display\": \"IP address\",\r\n \"length\": 32\r\n },\r\n {\r\n \"name\": \"port\",\r\n \"display\": \"Port\",\r\n \"length\": 6\r\n },\r\n {\r\n \"name\": \"status\",\r\n \"display\": \"Status\",\r\n \"length\": 10,\r\n \"alias\": [\r\n \"online\",\r\n \"offline\",\r\n \"standby\",\r\n \"maintain\"\r\n ]\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}\r\n'); +INSERT INTO `mml_http_map` VALUES (4, 'OMC', 'add', 'neinfo', 'Post', '/api/rest/dataManagement/v1/omc_db/ne_info', NULL, '', '{\"bodyFmt\":\"PostDB\", \"bodyKey\":\"ne_info\"}', '{\r\n \"retFmt\": \"PostDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}\r\n'); +INSERT INTO `mml_http_map` VALUES (5, 'OMC', 'del', 'neinfo', 'Delete', '/api/rest/dataManagement/v1/omc_db/ne_info', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}'); +INSERT INTO `mml_http_map` VALUES (6, 'OMC', 'mod', 'neinfo', 'Put', '/api/rest/dataManagement/v1/omc_db/ne_info', NULL, 'loc', '{\"bodyFmt\":\"PutDB\", \"bodyKey\":\"ne_info\"}', '{\r\n \"retFmt\": \"PutDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}'); +INSERT INTO `mml_http_map` VALUES (7, 'OMC', 'dsp', 'alarm', 'Get', '/api/rest/dataManagement/v1/omc_db/alarm', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Alarm Information\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE UID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"ne_name\",\r\n \"display\": \"NE name\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"alarm_seq\",\r\n \"display\": \"Alarm sequence\",\r\n \"length\": 11\r\n },\r\n {\r\n \"name\": \"alarm_title\",\r\n \"display\": \"Alarm title\",\r\n \"length\": 30\r\n }, \r\n {\r\n \"name\": \"orig_severity\",\r\n \"display\": \"Original severity\",\r\n \"length\": 11,\r\n \"alias\": [\r\n \"Critical\",\r\n \"Major\",\r\n \"Minor\",\r\n \"Warning\",\r\n \"Event\"\r\n ] \r\n },\r\n {\r\n \"name\": \"pv_flag\",\r\n \"display\": \"PV flag\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"event_time\",\r\n \"display\": \"Event time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (8, 'OMC', 'lst', 'measuretask', 'Get', '/api/rest/dataManagement/v1/omc_db/measure_task', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Alarm Information\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"id\",\r\n \"display\": \"Task ID\",\r\n \"length\": 11\r\n },\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_ids\",\r\n \"display\": \"NE ID Set\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"granul_option\",\r\n \"display\": \"Time granulity\",\r\n \"length\": 5\r\n },\r\n {\r\n \"name\": \"kpi_set\",\r\n \"display\": \"KPI set\",\r\n \"length\": 60\r\n },\r\n {\r\n \"name\": \"start_time\",\r\n \"display\": \"Start time\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"end_time\",\r\n \"display\": \"End time\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"status\",\r\n \"display\": \"Status\",\r\n \"length\": 8\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (9, 'OMC', 'add', 'measuretask', 'Post', '/api/rest/dataManagement/v1/omc_db/measure_task', NULL, '', '{\"bodyFmt\":\"PostDB\", \"bodyKey\":\"measure_task\"}', '{\r\n \"retFmt\": \"PostDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}\r\n'); +INSERT INTO `mml_http_map` VALUES (10, 'OMC', 'del', 'measuretask', 'Delete', '/api/rest/dataManagement/v1/omc_db/measure_task', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"DeleteDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}'); +INSERT INTO `mml_http_map` VALUES (11, 'OMC', 'mod', 'measuretask', 'Put', '/api/rest/dataManagement/v1/omc_db/measure_task', NULL, 'loc', '{\"bodyFmt\":\"PutDB\", \"bodyKey\":\"measure_task\"}', '{\r\n \"retFmt\": \"PutDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}'); +INSERT INTO `mml_http_map` VALUES (12, 'OMC', 'lst', 'measuredata', 'Get', '/api/rest/dataManagement/v1/omc_db/measure_data', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Performance Measure Data\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"task_id\",\r\n \"display\": \"Task ID\",\r\n \"length\": 11\r\n },\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"rm_uid\",\r\n \"display\": \"Resource management UID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"ne_name\",\r\n \"display\": \"NE name\",\r\n \"length\": 28\r\n }, \r\n {\r\n \"name\": \"granul_option\",\r\n \"display\": \"Time granulity\",\r\n \"length\": 5\r\n },\r\n {\r\n \"name\": \"kpi_id\",\r\n \"display\": \"KPI ID\",\r\n \"length\": 32\r\n },\r\n {\r\n \"name\": \"start_time\",\r\n \"display\": \"Start time\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"end_time\",\r\n \"display\": \"End time\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"value\",\r\n \"display\": \"value\",\r\n \"length\": 11\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (13, 'OMC', 'lst', 'operationlog', 'Get', '/api/rest/dataManagement/v1/omc_db/operation_log', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Operation Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"account_name\",\r\n \"display\": \"Account ID\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"op_ip\",\r\n \"display\": \"Source IP address\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"op_type\",\r\n \"display\": \"Opration type\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"op_content\",\r\n \"display\": \"Operation content\",\r\n \"length\": 50\r\n },\r\n {\r\n \"name\": \"op_result\",\r\n \"display\": \"Operation result\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"log_time\",\r\n \"display\": \"Log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (14, 'OMC', 'lst', 'securitylog', 'Get', '/api/rest/dataManagement/v1/omc_db/security_log', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Security Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"account_name\",\r\n \"display\": \"Account ID\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"op_ip\",\r\n \"display\": \"Source IP address\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"op_type\",\r\n \"display\": \"Opration type\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"op_content\",\r\n \"display\": \"Operation content\",\r\n \"length\": 50\r\n },\r\n {\r\n \"name\": \"op_result\",\r\n \"display\": \"Operation result\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"op_time\",\r\n \"display\": \"Operation log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (15, 'OMC', 'lst', 'alarmlog', 'Get', '/api/rest/dataManagement/v1/omc_db/alarm_log', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Alarm Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 8\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE UID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"alarm_seq\",\r\n \"display\": \"Alarm sequence\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"alarm_id\",\r\n \"display\": \"Alarm ID\",\r\n \"length\": 20\r\n }, \r\n {\r\n \"name\": \"event_time\",\r\n \"display\": \"Alarm event time\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"log_time\",\r\n \"display\": \"Log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (16, 'OMC', 'dsp', 'licenseinfo', 'Get', '/api/rest/systemManagement/v1/licenseInfo', '/%s', NULL, '{}', '{\r\n \"retFmt\": \"GetNF\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"NE License Information\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"neType\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"neId\",\r\n \"display\": \"NE ID\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"serialNum\",\r\n \"display\": \"Serial No\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"capability\",\r\n \"display\": \"License capability\",\r\n \"length\": 11\r\n },\r\n {\r\n \"name\": \"capUsed\",\r\n \"display\": \"License used\",\r\n \"length\": 11\r\n }, \r\n {\r\n \"name\": \"featureEnabled\",\r\n \"display\": \"Feature enabled\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"expiryDate\",\r\n \"display\": \"License expiry date\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (17, 'OMC', 'lst', 'systemlog', 'Get', '/api/rest/dataManagement/v1/omc_db/system_log', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"System Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"process_type\",\r\n \"display\": \"Process type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"process_name\",\r\n \"display\": \"Process name\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"user_name\",\r\n \"display\": \"User name\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"process_id\",\r\n \"display\": \"Process ID\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"event\",\r\n \"display\": \"Event\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"start_time\",\r\n \"display\": \"Start time\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"end_time\",\r\n \"display\": \"End time\",\r\n \"length\": 20\r\n }, \r\n {\r\n \"name\": \"log_time\",\r\n \"display\": \"Log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (18, 'OMC', 'lst', 'eventlog', 'Get', '/api/rest/dataManagement/v1/omc_db/event_log', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Event Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"event\",\r\n \"display\": \"Event\",\r\n \"length\": 12\r\n },\r\n {\r\n \"name\": \"event time\",\r\n \"display\": \"Event\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"log_time\",\r\n \"display\": \"Log time\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (19, 'OMC', 'lst', 'mmlcmd', 'Get', '/api/rest/dataManagement/v1/omc_db/mml_command', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Event Log\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"operation\",\r\n \"display\": \"Operation\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"object\",\r\n \"display\": \"Object\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"mml_display\",\r\n \"display\": \"MML description\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (20, 'OMC', 'help', 'mmlcmd', 'Get', '/api/rest/dataManagement/v1/omc_db/mml_command?SQL=select+operation,object,mml_display,json_extract(param_json,\'$[*].name\')+as+params+from+mml_command', NULL, '', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"OMC MML Command List\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"operation\",\r\n \"display\": \"Operation\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"object\",\r\n \"display\": \"Oject\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"params\",\r\n \"display\": \"Parameter list\",\r\n \"length\": 128\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (21, 'OMC', 'dsp', 'nelink', 'Get', '/api/rest/dataManagement/v1/omc_db/ne_link', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"Network Element Link\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 28\r\n },\r\n {\r\n \"name\": \"interface\",\r\n \"display\": \"Interface\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"status\",\r\n \"display\": \"Status\",\r\n \"length\": 20\r\n }, \r\n {\r\n \"name\": \"created_at\",\r\n \"display\": \"Timestamp\",\r\n \"length\": 20\r\n }\r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (22, 'OMC', 'act', 'measuretask', 'Put', '/api/rest/dataManagement/v1/omc_db/measure_task', NULL, 'loc', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"measure_task\",\r\n \"cols\": [\r\n {\r\n \"name\": \"status\",\r\n \"alias\": \"status\",\r\n \"type\": \"int\",\r\n \"length\": 11,\r\n \"value\": \"Active\"\r\n }\r\n ]\r\n}', '{\r\n \"retFmt\": \"PutDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}'); +INSERT INTO `mml_http_map` VALUES (23, 'OMC', 'dea', 'measuretask', 'Put', '/api/rest/dataManagement/v1/omc_db/measure_task', NULL, 'loc', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"measure_task\",\r\n \"cols\": [\r\n {\r\n \"name\": \"status\",\r\n \"alias\": \"status\",\r\n \"type\": \"int\",\r\n \"length\": 11,\r\n \"value\": \"Inactive\"\r\n }\r\n ]\r\n}\r\n', '{\r\n \"retFmt\": \"PutDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}'); +INSERT INTO `mml_http_map` VALUES (24, 'OMC', 'dsp', 'nbicm', 'Get', '/api/rest/dataManagement/v1/omc_db/northbound_cm', NULL, 'loc', '{}', '{\r\n \"retFmt\": \"GetDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"title\": \"NBI Resource Management\",\r\n \"singleList\": true,\r\n \"sepSpaceNum\": 2,\r\n \"alignmentM\": \"Left\",\r\n \"alignmentSN\": \"Right\",\r\n \"alignmentSV\": \"Left\",\r\n \"cols\": [\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"NE type\",\r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"NE ID\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"rm_uid\",\r\n \"display\": \"RM UID\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"user_label\",\r\n \"display\": \"User label\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"object_type\",\r\n \"display\": \"Object type\",\r\n \"length\": 20\r\n },\r\n {\r\n \"name\": \"pv_flag\",\r\n \"display\": \"PV flag\",\r\n \"length\": 8\r\n },\r\n {\r\n \"name\": \"value_json\",\r\n \"display\": \"NBI Resource Management\",\r\n \"length\": 200\r\n } \r\n ],\r\n \"end\": \"(Number of results = %d)\\n\\n\"\r\n}'); +INSERT INTO `mml_http_map` VALUES (25, 'OMC', 'upg', 'neversion', 'Put', '/api/rest/dataManagement/v1/omc_db/ne_version', NULL, 'loc', '{\r\n \"bodyFmt\": \"PutDB\",\r\n \"bodyKey\": \"ne_version\",\r\n \"cols\": [\r\n {\r\n \"name\": \"status\",\r\n \"alias\": \"status\",\r\n \"type\": \"string\",\r\n \"length\": 8,\r\n \"value\": \"Active\"\r\n }\r\n ]\r\n}', '{\r\n \"retFmt\": \"PutDB\",\r\n \"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n \"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n \"cols\": [\r\n {\r\n \"name\": \"affectedRows\",\r\n \"display\": \"Affected rows\",\r\n \"length\": 11\r\n }\r\n ]\r\n}'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/mml_log.sql b/database/install/mml_log.sql new file mode 100644 index 00000000..c84b3f0c --- /dev/null +++ b/database/install/mml_log.sql @@ -0,0 +1,36 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 15/07/2023 15:14:24 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mml_log +-- ---------------------------- +DROP TABLE IF EXISTS `mml_log`; +CREATE TABLE `mml_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `mml` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `result` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `log_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/mml_subscriber.sql b/database/install/mml_subscriber.sql new file mode 100644 index 00000000..834560ee --- /dev/null +++ b/database/install/mml_subscriber.sql @@ -0,0 +1,60 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 22/07/2023 15:06:26 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mml_subscriber +-- ---------------------------- +DROP TABLE IF EXISTS `mml_subscriber`; +CREATE TABLE `mml_subscriber` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `cat_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `operation` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `mml_display` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `param_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 234 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of mml_subscriber +-- ---------------------------- +INSERT INTO `mml_subscriber` VALUES (206, 'UDM', 'subscriberManagement', 'Subcriber Management', 'export', 'udmuser', 'Export Subscriber Data to File', '[{\"comment\":\"\",\"display\":\"Path file\",\"filter\":\"\",\"name\":\"file\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (216, 'UDM', 'authdataManagement', 'Authentication Data Management', 'dsp', 'authdat', 'Display Auth Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (217, 'UDM', 'authdataManagement', 'Authentication Data Management', 'add', 'authdat', 'Add Auth Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Ki\",\"filter\":\"\",\"name\":\"ki\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"AMF\",\"filter\":\"\",\"name\":\"amf\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Algo\",\"filter\":\"\",\"name\":\"algo\",\"optional\":\"false\",\"type\":\"\"},{\"comment\":\"\",\"display\":\"OPC\",\"filter\":\"\",\"name\":\"opc\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (218, 'UDM', 'authdataManagement', 'Authentication Data Management', 'del', 'authdat', 'Delete Auth Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (219, 'UDM', 'authdataManagement', 'Authentication Data Management', 'bat', 'authdat', 'Batch Add Auth Data', '[{\"comment\":\"\",\"display\":\"Starting IMSI\",\"filter\":\"\",\"name\":\"start_imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"auth data number\",\"filter\":\"\",\"name\":\"sub_num\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Ki\",\"filter\":\"\",\"name\":\"ki\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"AMF\",\"filter\":\"\",\"name\":\"amf\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Algo\",\"filter\":\"\",\"name\":\"algo\",\"optional\":\"false\",\"type\":\"\"}]'); +INSERT INTO `mml_subscriber` VALUES (220, 'UDM', 'authdataManagement', 'Authentication Data Management', 'bde', 'authdat', 'Batch Delete Auth Data', '[{\"comment\":\"\",\"display\":\"Starting IMSI\",\"filter\":\"\",\"name\":\"start_imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"auth data number\",\"filter\":\"\",\"name\":\"sub_num\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_subscriber` VALUES (221, 'UDM', 'authdataManagement', 'Authentication Data Management', 'import', 'authdat', 'Import Auth Data From File', '[{\"comment\":\"\",\"display\":\"Path file\",\"filter\":\"\",\"name\":\"file\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (222, 'UDM', 'authdataManagement', 'Authentication Data Management', 'export', 'authdat', 'Export Auth Data to File', '[{\"comment\":\"\",\"display\":\"Path file\",\"filter\":\"\",\"name\":\"file\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (223, 'UDM', 'subscriberManagement', 'Subcriber Management', 'dsp', 'udmuser', 'Display UDM Subscriber', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (224, 'UDM', 'subscriberManagement', 'Subcriber Management', 'add', 'udmuser', 'Add UDM Subscriber', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"MSISDN\",\"filter\":\"\",\"name\":\"msisdn\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"AMBR\",\"filter\":\"\",\"name\":\"ambr\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Nssai\",\"filter\":\"\",\"name\":\"nssai\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Arfb\",\"filter\":\"\",\"name\":\"arfb\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SAR\",\"filter\":\"\",\"name\":\"sar\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"RAT\",\"filter\":\"\",\"name\":\"rat\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"CN\",\"filter\":\"\",\"name\":\"cn\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SMF_sel\",\"filter\":\"\",\"name\":\"smf_sel\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SM_data\",\"filter\":\"\",\"name\":\"sm_data\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (225, 'UDM', 'subscriberManagement', 'Subcriber Management', 'del', 'udmuser', 'Delete Subscriber Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (226, 'UDM', 'subscriberManagement', 'Subcriber Management', 'mod', 'udmuser', 'Modify Subscriber Data', '[{\"c1omment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"MSISDN\",\"filter\":\"\",\"name\":\"msisdn\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"AMBR\",\"filter\":\"\",\"name\":\"ambr\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Nssai\",\"filter\":\"\",\"name\":\"nssai\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Arfb\",\"filter\":\"\",\"name\":\"arfb\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SAR\",\"filter\":\"\",\"name\":\"sar\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"RAT\",\"filter\":\"\",\"name\":\"rat\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"CN\",\"filter\":\"\",\"name\":\"cn\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SMF_sel\",\"filter\":\"\",\"name\":\"smf_sel\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SM_data\",\"filter\":\"\",\"name\":\"sm_data\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (227, 'UDM', 'subscriberManagement', 'Subcriber Management', 'bat', 'udmuser', 'Batch Add UDM Subscriber', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"start_imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"MSISDN\",\"filter\":\"\",\"name\":\"start_msisdn\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"subscriber number\",\"filter\":\"\",\"name\":\"sub_num\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"AMBR\",\"filter\":\"\",\"name\":\"ambr\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Nssai\",\"filter\":\"\",\"name\":\"nssai\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Arfb\",\"filter\":\"\",\"name\":\"arfb\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SAR\",\"filter\":\"\",\"name\":\"sar\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"RAT\",\"filter\":\"\",\"name\":\"rat\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"CN\",\"filter\":\"\",\"name\":\"cn\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SMF_sel\",\"filter\":\"\",\"name\":\"smf_sel\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SM_data\",\"filter\":\"\",\"name\":\"sm_data\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (228, 'UDM', 'subscriberManagement', 'Subcriber Management', 'bde', 'udmuser', 'Batch Delete Subscriber Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"start_imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Subcribers number\",\"filter\":\"\",\"name\":\"sub_num\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (229, 'UDM', 'subscriberManagement', 'Subcriber Management', 'bmd', 'udmuser', 'Batch Modify Subscriber Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"start_imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Subcribers number\",\"filter\":\"\",\"name\":\"sub_num\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SM_data\",\"filter\":\"\",\"name\":\"sm_data\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (230, 'UDM', 'subscriberManagement', 'Subcriber Management', 'import', 'udmuser', 'Import Subscriber Data From File', '[{\"comment\":\"\",\"display\":\"Path file\",\"filter\":\"\",\"name\":\"file\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (231, 'UDM', 'subscriberManagement', 'Subcriber Management', 'upload', 'udmuser', 'Upload Subscriber Data', '[{\"comment\":\"\",\"display\":\"Path file\",\"filter\":\"\",\"name\":\"file\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (232, 'UDM', 'subscriberManagement', 'Subcriber Management', 'sync', 'start', 'Sync UDM Data From Public UDM', 'null'); +INSERT INTO `mml_subscriber` VALUES (233, 'UDM', 'subscriberManagement', 'Subcriber Management', 'sync', 'state', 'Query State of Sync Task', 'null'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/mml_system.sql b/database/install/mml_system.sql new file mode 100644 index 00000000..be36b91f --- /dev/null +++ b/database/install/mml_system.sql @@ -0,0 +1,82 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 31/07/2023 09:20:58 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mml_system +-- ---------------------------- +DROP TABLE IF EXISTS `mml_system`; +CREATE TABLE `mml_system` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `cat_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `operation` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `mml_display` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `param_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 521 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of mml_system +-- ---------------------------- +INSERT INTO `mml_system` VALUES (475, 'AMF', 'systemManagement', 'System Management', 'set', 'n8_ip', 'Set N8 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (476, 'AMF', 'systemManagement', 'System Management', 'set', 'n11_ip', 'Set N11 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (477, 'AMF', 'systemManagement', 'System Management', 'set', 'n12_ip', 'Set N12 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (478, 'AMF', 'systemManagement', 'System Management', 'set', 'n2_ip', 'Set N2 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (479, 'AMF', 'systemManagement', 'System Management', 'set', 'n2_port', 'Set N2 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (480, 'AMF', 'systemManagement', 'System Management', 'add', 'slice', 'Add Slice', '[{\"comment\":\"\",\"display\":\"SST\",\"filter\":\"\",\"name\":\"sst\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SD\",\"filter\":\"\",\"name\":\"sd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (481, 'AMF', 'systemManagement', 'System Management', 'deregister', 'imsi', 'Deregister IMSI', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"IMSI\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (482, 'AMF', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (483, 'AUSF', 'systemManagement', 'System Management', 'set', 'n12ip', 'Set N12 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (484, 'AUSF', 'systemManagement', 'System Management', 'set', 'n12port', 'Set N12 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"1~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (485, 'AUSF', 'systemManagement', 'System Management', 'set', 'n12scheme', 'Set N12 Scheme', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"}]'); +INSERT INTO `mml_system` VALUES (486, 'AUSF', 'systemManagement', 'System Management', 'set', 'supirange', 'Set SUPI Range', '[{\"comment\":\"\",\"display\":\"SUPI Range\",\"filter\":\"\",\"name\":\"supirange\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (487, 'SMF', 'systemManagement', 'System Management', 'set', 'n7 server', 'Set N7 Server', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (488, 'SMF', 'systemManagement', 'System Management', 'set', 'n7 client', 'Set N7 Client', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (489, 'SMF', 'systemManagement', 'System Management', 'set', 'n10 server', 'Set N10 Server', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (490, 'SMF', 'systemManagement', 'System Management', 'set', 'n10 client', 'Set N10 Client', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (491, 'SMF', 'systemManagement', 'System Management', 'set', 'n11 server', 'Set N11 Server', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (492, 'SMF', 'systemManagement', 'System Management', 'set', 'n11 client', 'Set N11 Client', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (493, 'SMF', 'systemManagement', 'System Management', 'set', 'dnn', 'Set DNN', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"DNN\",\"filter\":\"\",\"name\":\"DNN\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (495, 'SMF', 'systemManagement', 'System Management', 'set', 'qos', 'Set Qos', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SD\",\"filter\":\"\",\"name\":\"5qi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"5qipl\",\"filter\":\"\",\"name\":\"5qipl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"arppl\",\"filter\":\"\",\"name\":\"arppl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"arppci\",\"filter\":\"\",\"name\":\"arppci\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"arppvi\",\"filter\":\"\",\"name\":\"arppvi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"mfbrul\",\"filter\":\"\",\"name\":\"mfbrul\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"mfbrdl\",\"filter\":\"\",\"name\":\"mfbrdl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"gfbrul\",\"filter\":\"\",\"name\":\"gfbrul\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"gfbrdl\",\"filter\":\"\",\"name\":\"gfbrdl\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (496, 'SMF', 'systemManagement', 'System Management', 'set', 'snssai', 'Set Snssai', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"display\":\"sst-sd\",\"filter\":\"\",\"name\":\"sst-sd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (497, 'SMF', 'systemManagement', 'System Management', 'release', 'imsi', 'Release IMSI', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"display\":\"PDU Session Id\",\"filter\":\"\",\"name\":\"pduSessId\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (498, 'SMF', 'systemManagement', 'System Management', 'set', 'urr', 'Set URR', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Volume Tatol\",\"filter\":\"\",\"name\":\"quotavolumetatol\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Volume UL\",\"filter\":\"\",\"name\":\"quotavolumeul\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Volume DL\",\"filter\":\"\",\"name\":\"quotavolumedl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Time\",\"filter\":\"\",\"name\":\"quotatime\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (499, 'SMF', 'systemManagement', 'System Management', 'set', 'dpi', 'Set DPI', '[{\"comment\":\"\",\"display\":\"Flag\",\"filter\":\"{\\\"0\\\":\\\"disable\\\", \\\"1\\\":\\\"enable\\\"}\",\"name\":\"flag\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"Max Detect Packet Number\",\"filter\":\"\",\"name\":\"max\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (500, 'SMF', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (505, 'UDM', 'systemManagement', 'System Management', 'set', 'n8ip', 'Set N8 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"ipv4\"}]'); +INSERT INTO `mml_system` VALUES (506, 'UDM', 'systemManagement', 'System Management', 'set', 'n8port', 'Set N8 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"1~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (507, 'UDM', 'systemManagement', 'System Management', 'set', 'n8scheme', 'Set N8 Scheme', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"}]'); +INSERT INTO `mml_system` VALUES (508, 'UDM', 'systemManagement', 'System Management', 'set', 'n10ip', 'Set N10 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (509, 'UDM', 'systemManagement', 'System Management', 'set', 'n10port', 'Set N10 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"1~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (510, 'UDM', 'systemManagement', 'System Management', 'set', 'n10scheme', 'Set N10 Scheme', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"}]'); +INSERT INTO `mml_system` VALUES (511, 'UDM', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (512, 'UPF', 'systemManagement', 'System Management', 'set', 'n3 driver', 'Set N3 Driver', '[{\"comment\":\"\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"type\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mask\",\"filter\":\"\",\"name\":\"mask\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mac address\",\"filter\":\"\",\"name\":\"mac\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"PCI address\",\"filter\":\"\",\"name\":\"pci\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (513, 'UPF', 'systemManagement', 'System Management', 'set', 'n4 ip', 'Set N4 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (514, 'UPF', 'systemManagement', 'System Management', 'set', 'n6 driver', 'Set N6 Driver', '[{\"comment\":\"\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"type\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mask\",\"filter\":\"\",\"name\":\"mask\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mac address\",\"filter\":\"\",\"name\":\"mac\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"PCI address\",\"filter\":\"\",\"name\":\"pci\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (515, 'UPF', 'systemManagement', 'System Management', 'set', 'n9 driver', 'Set N9 Driver', '[{\"comment\":\"\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"type\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mask\",\"filter\":\"\",\"name\":\"mask\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mac address\",\"filter\":\"\",\"name\":\"mac\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"PCI address\",\"filter\":\"\",\"name\":\"pci\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (516, 'UPF', 'systemManagement', 'System Management', 'set', 'dnn', 'Set DNN', '[{\"comment\":\"\",\"display\":\"DNN\",\"filter\":\"\",\"name\":\"dnn\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (517, 'UPF', 'systemManagement', 'System Management', 'set', 'pfcp', 'Set PFCP', '[{\"comment\":\"\",\"display\":\"Path\",\"filter\":\"\",\"name\":\"path\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Local IP Address\",\"filter\":\"\",\"name\":\"local\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Remote IP Address\",\"filter\":\"\",\"name\":\"remote\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (518, 'UPF', 'systemManagement', 'System Management', 'set', 'qos', 'Set Qos', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"5qi\",\"filter\":\"\",\"name\":\"5qi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Priority Level\",\"filter\":\"\",\"name\":\"priority\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"MBR\",\"filter\":\"\",\"name\":\"mbr\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"GBR\",\"filter\":\"\",\"name\":\"gbr\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (519, 'UPF', 'systemManagement', 'System Management', 'set', 'pccrule', 'Set PCC Rule', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"0~65535\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Precedence\",\"filter\":\"\",\"name\":\"precedence\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"QOS Index\",\"filter\":\"\",\"name\":\"qosindex\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Filter Direction\",\"filter\":\"{\\\"0\\\":\\\"NA\\\", \\\"1\\\":\\\"Uplink\\\", \\\"2\\\":\\\"Downlink\\\", \\\"3\\\":\\\"Bidirectionallink\\\"}\",\"name\":\"direction\",\"optional\":\"true\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Filter\",\"filter\":\"\",\"name\":\"filter\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Application ID\",\"filter\":\"\",\"name\":\"appid\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (520, 'UPF', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/nbi_alarm_log.sql b/database/install/nbi_alarm_log.sql new file mode 100644 index 00000000..ca4c88e9 --- /dev/null +++ b/database/install/nbi_alarm_log.sql @@ -0,0 +1,39 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 19/07/2023 09:47:42 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for nbi_alarm_log +-- ---------------------------- +DROP TABLE IF EXISTS `nbi_alarm_log`; +CREATE TABLE `nbi_alarm_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `op_user` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `src_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0', + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_seq` int(11) NOT NULL DEFAULT 0, + `alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_code` int(11) NULL DEFAULT 0, + `event_time` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `log_time` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + `a_id` int(11) NOT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2133 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/nbi_operation_log.sql b/database/install/nbi_operation_log.sql new file mode 100644 index 00000000..67352bc3 --- /dev/null +++ b/database/install/nbi_operation_log.sql @@ -0,0 +1,38 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 15/07/2023 15:17:10 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for nbi_operation_log +-- ---------------------------- +DROP TABLE IF EXISTS `nbi_operation_log`; +CREATE TABLE `nbi_operation_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `src_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `dst_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_proto` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_result` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_time` datetime NULL DEFAULT NULL, + `log_time` datetime NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 145 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/ne_backup.sql b/database/install/ne_backup.sql new file mode 100644 index 00000000..3ca0112b --- /dev/null +++ b/database/install/ne_backup.sql @@ -0,0 +1,35 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 21/06/2023 20:47:58 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ne_backup +-- ---------------------------- +DROP TABLE IF EXISTS `ne_backup`; +CREATE TABLE `ne_backup` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `file_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `path` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `md5_sum` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `create_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/ne_info.sql b/database/install/ne_info.sql new file mode 100644 index 00000000..3151ce11 --- /dev/null +++ b/database/install/ne_info.sql @@ -0,0 +1,43 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 20/07/2023 23:14:46 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ne_info +-- ---------------------------- +DROP TABLE IF EXISTS `ne_info`; +CREATE TABLE `ne_info` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `rm_uid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `port` int(11) NULL DEFAULT NULL, + `pv_flag` enum('PNF','VNF') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'PNF', + `province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `vendor_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `dn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `status` int(11) NULL DEFAULT 0, + `update_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`, `ne_type`, `ne_id`) USING BTREE, + UNIQUE INDEX `idx_netype_neid`(`ne_type`, `ne_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 134 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/ne_license.sql b/database/install/ne_license.sql new file mode 100644 index 00000000..91b7a260 --- /dev/null +++ b/database/install/ne_license.sql @@ -0,0 +1,38 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 28/06/2023 20:23:10 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ne_license +-- ---------------------------- +DROP TABLE IF EXISTS `ne_license`; +CREATE TABLE `ne_license` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `file_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `path` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `version` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `patch` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `md5_sum` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `status` enum('Uploaded','Inactive','Active') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/ne_link.sql b/database/install/ne_link.sql new file mode 100644 index 00000000..6cfa4bbb --- /dev/null +++ b/database/install/ne_link.sql @@ -0,0 +1,38 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 06/08/2023 01:23:04 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ne_link +-- ---------------------------- +DROP TABLE IF EXISTS `ne_link`; +CREATE TABLE `ne_link` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `rm_uid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `interface` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `status` enum('UP','DOWN','STANDBY') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'UP' COMMENT 'UP, DOWN, STANDBY', + `created_at` datetime NULL DEFAULT current_timestamp(), + `updated_at` datetime NULL DEFAULT current_timestamp(), + `deleted_at` datetime NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `idx_netype_neid`(`ne_type`, `ne_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 167 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/ne_software.sql b/database/install/ne_software.sql new file mode 100644 index 00000000..747bb690 --- /dev/null +++ b/database/install/ne_software.sql @@ -0,0 +1,39 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 28/06/2023 20:22:58 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ne_software +-- ---------------------------- +DROP TABLE IF EXISTS `ne_software`; +CREATE TABLE `ne_software` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `file_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `path` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `version` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `patch` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `md5_sum` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `status` enum('Uploaded','Inactive','Active') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/ne_state.sql b/database/install/ne_state.sql new file mode 100644 index 00000000..a95b2455 --- /dev/null +++ b/database/install/ne_state.sql @@ -0,0 +1,41 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 25/07/2023 21:02:27 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ne_state +-- ---------------------------- +DROP TABLE IF EXISTS `ne_state`; +CREATE TABLE `ne_state` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `version` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `capability` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `serial_num` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `expiry_date` date NULL DEFAULT NULL, + `cpu_usage` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `mem_usage` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `disk_space` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `timestamp` datetime NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_ne_type_id`(`ne_type`, `ne_id`) USING BTREE, + INDEX `idx_timestamp`(`timestamp`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 782922 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/ne_version.sql b/database/install/ne_version.sql new file mode 100644 index 00000000..61d2c111 --- /dev/null +++ b/database/install/ne_version.sql @@ -0,0 +1,39 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 06/07/2023 21:00:49 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for ne_version +-- ---------------------------- +DROP TABLE IF EXISTS `ne_version`; +CREATE TABLE `ne_version` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `version` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `pre_version` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `pre_file` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `new_version` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `new_file` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `status` enum('Uploaded','Inactive','Active') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 26 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/northbound_cm.sql b/database/install/northbound_cm.sql new file mode 100644 index 00000000..9d277284 --- /dev/null +++ b/database/install/northbound_cm.sql @@ -0,0 +1,43 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 06/07/2023 21:02:46 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for northbound_cm +-- ---------------------------- +DROP TABLE IF EXISTS `northbound_cm`; +CREATE TABLE `northbound_cm` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `timestamp` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + `time_zone` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `vendor_name` varchar(65) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `cm_version` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `rm_uid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `user_label` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `pv_flag` enum('PNF','VNF') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'PNF', + `vm_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0', + `vnf_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `value_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `status` enum('Original','Created','Updated','Deleted') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'Original', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 311430 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/northbound_pm.sql b/database/install/northbound_pm.sql new file mode 100644 index 00000000..28d01781 --- /dev/null +++ b/database/install/northbound_pm.sql @@ -0,0 +1,41 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 06/07/2023 21:00:18 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for northbound_pm +-- ---------------------------- +DROP TABLE IF EXISTS `northbound_pm`; +CREATE TABLE `northbound_pm` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `date` date NULL DEFAULT NULL, + `index` int(11) NULL DEFAULT NULL, + `start_time` datetime NULL DEFAULT NULL, + `time_zone` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `pm_version` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `period` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `dn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `datas` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `timestamp` datetime NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 9310 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/operation_log.sql b/database/install/operation_log.sql new file mode 100644 index 00000000..c4bc382c --- /dev/null +++ b/database/install/operation_log.sql @@ -0,0 +1,40 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 26/07/2023 23:29:20 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for operation_log +-- ---------------------------- +DROP TABLE IF EXISTS `operation_log`; +CREATE TABLE `operation_log` ( + `op_id` int(11) NOT NULL AUTO_INCREMENT, + `account_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `account_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'group_name', + `op_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `subsys_tag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_result` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `begin_time` datetime NULL DEFAULT NULL, + `end_time` datetime NULL DEFAULT NULL, + `vnf_flag` tinyint(4) NULL DEFAULT NULL, + `log_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`op_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 345 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/param_config.sql b/database/install/param_config.sql new file mode 100644 index 00000000..5392e6ca --- /dev/null +++ b/database/install/param_config.sql @@ -0,0 +1,73 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 22/07/2023 15:07:12 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for param_config +-- ---------------------------- +DROP TABLE IF EXISTS `param_config`; +CREATE TABLE `param_config` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `top_tag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `top_display` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `param_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 847 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of param_config +-- ---------------------------- +INSERT INTO `param_config` VALUES (1, 'UPF', '', 'General', 'General', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Config File Directory\",\"filter\":\"\",\"name\":\"ConfigFileDirectory\",\"type\":\"string\",\"value\":\"/usr/local/etc/upf/\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Exe File Directory\",\"filter\":\"\",\"name\":\"ExeFileDirectory\",\"type\":\"string\",\"value\":\"/usr/local/bin/\"},{\"access\":\"read-write\",\"comment\":\"1~255\",\"display\":\"System Id\",\"filter\":\"\",\"name\":\"SystemId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~8\",\"display\":\"Data Forwarder Number\",\"filter\":\"1~8\",\"name\":\"DataForwarderNum\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"Common Statistic Interval\",\"filter\":\"0~255\",\"name\":\"CommonStatisticInterval\",\"type\":\"int\",\"value\":\"60\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"User Statistic Interval\",\"filter\":\"0~255\",\"name\":\"UserStatisticInterval\",\"type\":\"int\",\"value\":\"60\"}]}'); +INSERT INTO `param_config` VALUES (2, 'UPF', '', 'Logger', 'Logger', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Log File Full Path\",\"filter\":\"\",\"name\":\"LogFileFullPath\",\"type\":\"string\",\"value\":\"/var/log/upf.log\"},{\"access\":\"read-write\",\"comment\":\"error|warning|info|debug\",\"display\":\"Log Level\",\"filter\":\"\",\"name\":\"LogLevel\",\"type\":\"string\",\"value\":\"error\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Upfd Log Transfer\",\"filter\":\"\",\"name\":\"UpfdLogTransfer\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Report Caller\",\"filter\":\"\",\"name\":\"ReportCaller\",\"type\":\"bool\",\"value\":\"false\"}]}'); +INSERT INTO `param_config` VALUES (3, 'UPF', '', 'Pfcp', 'Pfcp', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv46\",\"display\":\"Ip Type\",\"filter\":\"\",\"name\":\"IpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv4\",\"filter\":\"\",\"name\":\"LocalIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv6\",\"filter\":\"\",\"name\":\"LocalIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Local Udp Port\",\"filter\":\"0~65535\",\"name\":\"LocalUdpPort\",\"type\":\"int\",\"value\":\"8805\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SMF Ipv4\",\"filter\":\"\",\"name\":\"SmfIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SMF Ipv6\",\"filter\":\"\",\"name\":\"SmfIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"SMF UDP Port\",\"filter\":\"0~65535\",\"name\":\"SmfUdpPort\",\"type\":\"int\",\"value\":\"8805\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"Retry Interval\",\"filter\":\"0~255\",\"name\":\"RetryInterval\",\"type\":\"int\",\"value\":\"2\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"Max Retry\",\"filter\":\"0~255\",\"name\":\"MaxRetry\",\"type\":\"int\",\"value\":\"3\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"Heartbeat Interval\",\"filter\":\"0~255\",\"name\":\"HeartbeatInterval\",\"type\":\"int\",\"value\":\"15\"}]}'); +INSERT INTO `param_config` VALUES (4, 'UPF', '', 'Omc', 'Omc', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Enabled\",\"filter\":\"\",\"name\":\"Enabled\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv46\",\"display\":\"Ip Type\",\"filter\":\"\",\"name\":\"IpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv4\",\"filter\":\"\",\"name\":\"LocalIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv6\",\"filter\":\"\",\"name\":\"LocalIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Local Sever Port\",\"filter\":\"0~65535\",\"name\":\"LocalSeverPort\",\"type\":\"int\",\"value\":\"3030\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"OMC Ipv4\",\"filter\":\"\",\"name\":\"OmcIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"OMC Ipv6\",\"filter\":\"\",\"name\":\"OmcIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"OMC Port\",\"filter\":\"0~65535\",\"name\":\"OmcPort\",\"type\":\"int\",\"value\":\"3030\"},{\"access\":\"read-write\",\"comment\":\"http|https\",\"display\":\"Http Scheme\",\"filter\":\"\",\"name\":\"HttpScheme\",\"type\":\"string\",\"value\":\"http\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"Kpi Statistic Interval\",\"filter\":\"0~255\",\"name\":\"KpiStatisticInterval\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Ne Id\",\"filter\":\"\",\"name\":\"NeId\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Ne Name\",\"filter\":\"\",\"name\":\"NeName\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Object Name\",\"filter\":\"\",\"name\":\"ObjectName\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Province\",\"filter\":\"\",\"name\":\"Province\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"PV Flag\",\"filter\":\"\",\"name\":\"PVFlag\",\"type\":\"string\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (5, 'UPF', '', 'Telnet', 'Telnet', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Enabled\",\"filter\":\"\",\"name\":\"Enabled\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv46\",\"display\":\"Ip Type\",\"filter\":\"\",\"name\":\"IpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv4\",\"filter\":\"\",\"name\":\"LocalIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv6\",\"filter\":\"\",\"name\":\"LocalIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Local Port\",\"filter\":\"0~65535\",\"name\":\"LocalPort\",\"type\":\"int\",\"value\":\"4100\"}]}'); +INSERT INTO `param_config` VALUES (6, 'UPF', '', 'Sbi', 'Sbi', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Enabled\",\"filter\":\"\",\"name\":\"Enabled\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv46\",\"display\":\"Ip Type\",\"filter\":\"\",\"name\":\"IpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv4\",\"filter\":\"\",\"name\":\"LocalIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv6\",\"filter\":\"\",\"name\":\"LocalIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Local Port\",\"filter\":\"0~65535\",\"name\":\"LocalPort\",\"type\":\"int\",\"value\":\"4100\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF Ipv4\",\"filter\":\"\",\"name\":\"NrfIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF Ipv6\",\"filter\":\"\",\"name\":\"NrfIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"NRF Port\",\"filter\":\"0~65535\",\"name\":\"NrfPort\",\"type\":\"int\",\"value\":\"8080\"}]}'); +INSERT INTO `param_config` VALUES (8, 'UPF', '', 'DataForwarderCommon', 'Data Forwarder Common', '{\"list\":[{\"access\":\"read-only\",\"comment\":\"Type\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"Type\",\"type\":\"string\",\"value\":\"upfd\"},{\"access\":\"read-only\",\"comment\":\"1~255\",\"display\":\"Instance Id\",\"filter\":\"1~255\",\"name\":\"InstanceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~255\",\"display\":\"Main Cpu\",\"filter\":\"1~255\",\"name\":\"MainCpu\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"2,3,4,5 or 2-5\",\"display\":\"Cpu Workers\",\"filter\":\"\",\"name\":\"CpuWorkers\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"data forwarder already run or not\",\"display\":\"Is Run\",\"filter\":\"0~1\",\"name\":\"IsRun\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Hot Standby work or not\",\"display\":\"Is Hot Standby\",\"filter\":\"0~1\",\"name\":\"IsHotStandby\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Teid Start Value\",\"display\":\"Teid Start\",\"filter\":\"\",\"name\":\"TeidStart\",\"type\":\"int\",\"value\":\"16777216\"}]}'); +INSERT INTO `param_config` VALUES (9, 'UPF', '', 'DataForwarderUpfd', 'Data Forwarder Upfd', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"Uio Driver name\",\"display\":\"Uio Driver\",\"filter\":\"\",\"name\":\"UioDriver\",\"type\":\"string\",\"value\":\"vfio-pci\"},{\"access\":\"read-write\",\"comment\":\"Telnet Address IP:Port\",\"display\":\"Telnet Address IP:Port\",\"filter\":\"\",\"name\":\"CommandlineListen\",\"type\":\"string\",\"value\":\"localhost:5002\"},{\"access\":\"read-write\",\"comment\":\"Heap Size Gb\",\"display\":\"Heap Size Gb\",\"filter\":\"1~4\",\"name\":\"HeapSizeGB\",\"type\":\"int\",\"value\":\"2\"},{\"access\":\"read-write\",\"comment\":\"State Seg Size Mb\",\"display\":\"State Seg Size Mb\",\"filter\":\"64~512\",\"name\":\"StateSegSizeMB\",\"type\":\"int\",\"value\":\"256\"},{\"access\":\"read-write\",\"comment\":\"Dpdk No Pci\",\"display\":\"Dpdk No Pci\",\"filter\":\"0~1\",\"name\":\"DpdkNoPci\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Session Base Va\",\"display\":\"Session Base Va\",\"filter\":\"\",\"name\":\"SessionBaseVa\",\"type\":\"string\",\"value\":\"0x2000000000\"}]}'); +INSERT INTO `param_config` VALUES (10, 'UPF', '', 'DataInterfaceList', 'Data Interface List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"N3|N6|N9|N19\",\"display\":\"Interface Type\",\"filter\":\"\",\"name\":\"InterfaceType\",\"type\":\"string\",\"value\":\"N3\"},{\"access\":\"read-write\",\"comment\":\"Interface Id\",\"display\":\"Interface Id\",\"filter\":\"0~255\",\"name\":\"InterfaceId\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"host|vmxnet3|dpdk|socket|uds\",\"display\":\"Driver Type\",\"filter\":\"\",\"name\":\"DriverType\",\"type\":\"string\",\"value\":\"host\"},{\"access\":\"read-write\",\"comment\":\"Dnn Name\",\"display\":\"Dnn Name\",\"filter\":\"\",\"name\":\"DnnName\",\"type\":\"string\",\"value\":\"default\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv4v6\",\"display\":\"Ip Type\",\"filter\":\"\",\"name\":\"IpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"Ipv4 Address\",\"display\":\"Ipv4\",\"filter\":\"\",\"name\":\"Ipv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Ipv4 Mask Address\",\"display\":\"Ipv4 Mask\",\"filter\":\"\",\"name\":\"Ipv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"},{\"access\":\"read-write\",\"comment\":\"Ipv6 Address\",\"display\":\"Ipv6\",\"filter\":\"\",\"name\":\"Ipv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Ipv6 Prefix Value\",\"display\":\"Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"Ipv6Prefix\",\"type\":\"int\",\"value\":\"64\"},{\"access\":\"read-write\",\"comment\":\"Mac Address\",\"display\":\"Mac Address\",\"filter\":\"\",\"name\":\"MacAddr\",\"type\":\"string\",\"value\":\"00:00:00:00:00:00\"},{\"access\":\"read-write\",\"comment\":\"Interface PCI Value\",\"display\":\"Interface PCI\",\"filter\":\"\",\"name\":\"InterfacePCI\",\"type\":\"string\",\"value\":\"0000:00:00.0\"},{\"access\":\"read-write\",\"comment\":\"System Network Card Name\",\"display\":\"System Network Card Name\",\"filter\":\"\",\"name\":\"SystemNetworkCardName\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Gateway Ipv4 Value\",\"display\":\"Gateway Ipv4\",\"filter\":\"\",\"name\":\"GatewayIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Gateway Ipv6 Value\",\"display\":\"Gateway Ipv6\",\"filter\":\"\",\"name\":\"GatewayIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Mtu\",\"display\":\"Mtu\",\"filter\":\"1~65536\",\"name\":\"Mtu\",\"type\":\"int\",\"value\":\"1500\"},{\"access\":\"read-write\",\"comment\":\"Vlan Id Min Value\",\"display\":\"Vlan Id Min\",\"filter\":\"\",\"name\":\"VlanIdMin\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Vlan Id Max Value\",\"display\":\"Vlan Id Max\",\"filter\":\"\",\"name\":\"VlanIdMax\",\"type\":\"int\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Udp Src Port\",\"display\":\"Udp Src Port\",\"filter\":\"1~65536\",\"name\":\"UdpSrcPort\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Udp Listen Port Value\",\"display\":\"Udp Listen Port\",\"filter\":\"1~65536\",\"name\":\"UdpListenPort\",\"type\":\"string\",\"value\":\"2152\"},{\"access\":\"read-write\",\"comment\":\"Uds Local File Full Path\",\"display\":\"Uds Local File Full Path\",\"filter\":\"\",\"name\":\"UdsLocalFileFullPath\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Uds Remote File Full Path\",\"display\":\"Uds Remote File Full Path\",\"filter\":\"\",\"name\":\"UdsRemoteFileFullPath\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Link Detection Type\",\"display\":\"Link Detection Type\",\"filter\":\"0~1\",\"name\":\"LinkDetectionType\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Ipv4\",\"display\":\"Ipv4\",\"filter\":\"\",\"name\":\"Ipv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Ipv4 Mask\",\"display\":\"Ipv4 Mask\",\"filter\":\"\",\"name\":\"Ipv4Mask\",\"type\":\"string\",\"value\":\"0.0.0.0\"}],\"comment\":\"Gtpu Remote Ipv4 Pool List\",\"display\":\"Gtpu Remote Ipv4 Pool List\",\"filter\":\"1~32\",\"name\":\"GtpuRemoteIpv4PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Ipv6\",\"display\":\"Ipv6\",\"filter\":\"\",\"name\":\"Ipv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Ipv6 Prefix\",\"display\":\"Ipv6 Prefix\",\"filter\":\"\",\"name\":\"Ipv6Prefix\",\"type\":\"int\",\"value\":\"64\"}],\"comment\":\"Gtpu Remote Ipv6 Pool List\",\"display\":\"Gtpu Remote Ipv6 Pool List\",\"filter\":\"1~32\",\"name\":\"GtpuRemoteIpv6PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Gtpu Signaling Handle\",\"display\":\"Gtpu Signaling Handle\",\"filter\":\"0~1\",\"name\":\"GtpuSignalingHandle\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Ims Default DSCP Value\",\"display\":\"Ims Default DSCP Value\",\"filter\":\"0~1\",\"name\":\"ImsDefaultDSCPValue\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Data Default DSCP Value\",\"display\":\"Data Default DSCP Value\",\"filter\":\"0~1\",\"name\":\"DataDefaultDSCPValue\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Inner DSCP Value Map\",\"display\":\"Inner DSCP Value Map\",\"filter\":\"0~1\",\"name\":\"InnerDSCPValueMap\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Max Support Speed Mbps\",\"display\":\"Max Support Speed Mbps\",\"filter\":\"0~65536\",\"name\":\"MaxSupportSpeedMbps\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Dpdk Rx Queues Number\",\"display\":\"Dpdk Rx Queues Number\",\"filter\":\"0~127\",\"name\":\"DpdkRxQueuesNumber\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Dpdk Tx Queues Number\",\"display\":\"Dpdk Tx Queues Number\",\"filter\":\"0~127\",\"name\":\"DpdkTxQueuesNumber\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Dpdk Workers Number\",\"display\":\"Dpdk Workers Number\",\"filter\":\"0~127\",\"name\":\"DpdkWorkersNumber\",\"type\":\"int\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (11, 'UPF', '', 'NetworkControlCommon', 'Network Control Common', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"Local Switch Disabled\",\"display\":\"Local Switch Disabled\",\"filter\":\"0~1\",\"name\":\"LocalSwitchDisabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Max TCP Sync Per Second\",\"display\":\"Max TCP Sync Per Second\",\"filter\":\"\",\"name\":\"MaxTCPSyncPerSecond\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Upf Max Support Mbps\",\"display\":\"Upf Max Support Mbps\",\"filter\":\"\",\"name\":\"UpfMaxSupportMbps\",\"type\":\"int\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (12, 'UPF', '', 'NetworkControlDnnList', 'Network Control Dnn List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Dnn Name\",\"display\":\"Dnn Name\",\"filter\":\"\",\"name\":\"DnnName\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"N3 Interface Id\",\"display\":\"N3 Interface Id\",\"filter\":\"1~32\",\"name\":\"N3InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"N6 Interface Id\",\"display\":\"N6 Interface Id\",\"filter\":\"1~32\",\"name\":\"N6InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Http Proto Enabled\",\"display\":\"Http Proto Enabled\",\"filter\":\"0~1\",\"name\":\"HttpProtoEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Https Proto Enabled\",\"display\":\"Https Proto Enabled\",\"filter\":\"0~1\",\"name\":\"HttpsProtoEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Type\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"Type\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Name\",\"display\":\"Name\",\"filter\":\"\",\"name\":\"Name\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Value\",\"display\":\"Value\",\"filter\":\"\",\"name\":\"Value\",\"type\":\"string\",\"value\":\"\"}],\"comment\":\"Header Enrich Info List\",\"display\":\"Header Enrich Info List\",\"filter\":\"1~32\",\"name\":\"HeaderEnrichInfoList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Statistic Enabled\",\"display\":\"Statistic Enabled\",\"filter\":\"0~1\",\"name\":\"StatisticEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Local Switch Check\",\"display\":\"Local Switch Check\",\"filter\":\"0~1\",\"name\":\"LocalSwitchCheck\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"QER Max Support Mbps\",\"display\":\"QER Max Support Mbps\",\"filter\":\"\",\"name\":\"QerMaxSupportMbps\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"Ipv4\",\"display\":\"Ipv4\",\"filter\":\"\",\"name\":\"Ipv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-only\",\"comment\":\"Ipv4Mask\",\"display\":\"Ipv4Mask\",\"filter\":\"\",\"name\":\"Ipv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"}],\"comment\":\"Ue Ipv4 Pool List\",\"display\":\"Ue Ipv4 Pool List\",\"filter\":\"1~32\",\"name\":\"UeIpv4PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"Ipv6\",\"display\":\"Ipv6\",\"filter\":\"\",\"name\":\"Ipv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Ipv6 Prefix\",\"display\":\"Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"Ipv6Prefix\",\"type\":\"int\",\"value\":\"64\"}],\"comment\":\"Ue Ipv6 Pool List\",\"display\":\"Ue Ipv6 Pool List\",\"filter\":\"1~32\",\"name\":\"UeIpv6PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"Ipv4\",\"display\":\"Ipv4\",\"filter\":\"\",\"name\":\"Ipv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-only\",\"comment\":\"Ipv4Mask\",\"display\":\"Ipv4Mask\",\"filter\":\"\",\"name\":\"Ipv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"}],\"comment\":\"Dst Server Ipv4 Pool List\",\"display\":\"Dst Server Ipv4 Pool List\",\"filter\":\"1~32\",\"name\":\"DstServerIpv4PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"Ipv6\",\"display\":\"Ipv6\",\"filter\":\"\",\"name\":\"Ipv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Ipv6 Prefix\",\"display\":\"Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"Ipv6Prefix\",\"type\":\"int\",\"value\":\"64\"}],\"comment\":\"Dst Server Ipv6 Pool List\",\"display\":\"Dst Server Ipv6 Pool List\",\"filter\":\"1~32\",\"name\":\"DstServerIpv6PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv4v6\",\"display\":\"Gateway Ip Type\",\"filter\":\"\",\"name\":\"GatewayIpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"Gateway Ipv4\",\"display\":\"Gateway Ipv4\",\"filter\":\"\",\"name\":\"GatewayIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Gateway Ipv6\",\"display\":\"Gateway Ipv6\",\"filter\":\"\",\"name\":\"GatewayIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv4v6\",\"display\":\"M2M Ip Type\",\"filter\":\"\",\"name\":\"M2MIpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"M2M Ipv4\",\"display\":\"M2M Ipv4\",\"filter\":\"\",\"name\":\"M2MIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"M2M Ipv6\",\"display\":\"M2M Ipv6\",\"filter\":\"\",\"name\":\"M2MIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"M2M Udp Port\",\"display\":\"M2M Udp Port\",\"filter\":\"1~65535\",\"name\":\"M2MUdpPort\",\"type\":\"int\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv4v6\",\"display\":\"Gre Local Inner Ip Type\",\"filter\":\"\",\"name\":\"GreLocalInnerIpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"Gre Local Inner Ipv4\",\"display\":\"Gre Local Inner Ipv4\",\"filter\":\"\",\"name\":\"GreLocalInnerIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Gre Local Inner Ipv6\",\"display\":\"Gre Local Inner Ipv6\",\"filter\":\"\",\"name\":\"GreLocalInnerIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv4v6\",\"display\":\"Gre Remote Outer Ip Type\",\"filter\":\"\",\"name\":\"GreRemoteOuterIpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"Gre Remote Outer Ipv4\",\"display\":\"Gre Remote Outer Ipv4\",\"filter\":\"\",\"name\":\"GreRemoteOuterIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Gre Remote Outer Ipv6\",\"display\":\"Gre Remote Outer Ipv6\",\"filter\":\"\",\"name\":\"GreRemoteOuterIpv6\",\"type\":\"string\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (13, 'UPF', '', 'NetworkControlSnssaiList', 'Network Control Snssai List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Sst\",\"display\":\"Sst\",\"filter\":\"\",\"name\":\"Sst\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Sd\",\"display\":\"Sd\",\"filter\":\"\",\"name\":\"Sd\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"N3 Interface Id\",\"display\":\"N3 Interface Id\",\"filter\":\"1~32\",\"name\":\"N3InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"N6 Interface Id\",\"display\":\"N6 Interface Id\",\"filter\":\"1~32\",\"name\":\"N6InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Qer Max Support Mbps\",\"display\":\"Qer Max Support Mbps\",\"filter\":\"\",\"name\":\"QerMaxSupportMbps\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Statistic Enabled\",\"display\":\"Statistic Enabled\",\"filter\":\"0~1\",\"name\":\"StatisticEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Vlan Id Min\",\"display\":\"Vlan Id Min\",\"filter\":\"\",\"name\":\"VlanIdMin\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Vlan Id Max\",\"display\":\"Vlan Id Max\",\"filter\":\"\",\"name\":\"VlanIdMax\",\"type\":\"int\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (14, 'UPF', '', 'NetworkControlAclWhiteList', 'Network Control Acl White List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv4\",\"display\":\"Ue Ipv4\",\"filter\":\"\",\"name\":\"UeIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv4 Mask\",\"display\":\"Ue Ipv4 Mask\",\"filter\":\"\",\"name\":\"UeIpv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv6\",\"display\":\"Ue Ipv6\",\"filter\":\"\",\"name\":\"UeIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv6 Prefix\",\"display\":\"Ue Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"UeIpv6Prefix\",\"type\":\"int\",\"value\":\"64\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv4\",\"display\":\"Dst Server Ipv4\",\"filter\":\"\",\"name\":\"DstServerIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv4 Mask\",\"display\":\"Dst Server Ipv4 Mask\",\"filter\":\"\",\"name\":\"DstServerIpv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv6\",\"display\":\"Dst Server Ipv6\",\"filter\":\"\",\"name\":\"DstServerIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv6 Prefix\",\"display\":\"Dst Server Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"DstServerIpv6Prefix\",\"type\":\"int\",\"value\":\"64\"}]}'); +INSERT INTO `param_config` VALUES (15, 'UPF', '', 'NetworkControlAclBlackList', 'Network Control Acl Black List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv4\",\"display\":\"Ue Ipv4\",\"filter\":\"\",\"name\":\"UeIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv4 Mask\",\"display\":\"Ue Ipv4 Mask\",\"filter\":\"\",\"name\":\"UeIpv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv6\",\"display\":\"Ue Ipv6\",\"filter\":\"\",\"name\":\"UeIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv6 Prefix\",\"display\":\"Ue Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"UeIpv6Prefix\",\"type\":\"int\",\"value\":\"64\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv4\",\"display\":\"Dst Server Ipv4\",\"filter\":\"\",\"name\":\"DstServerIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv4 Mask\",\"display\":\"Dst Server Ipv4 Mask\",\"filter\":\"\",\"name\":\"DstServerIpv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv6\",\"display\":\"Dst Server Ipv6\",\"filter\":\"\",\"name\":\"DstServerIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv6 Prefix\",\"display\":\"Dst Server Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"DstServerIpv6Prefix\",\"type\":\"int\",\"value\":\"64\"}]}'); +INSERT INTO `param_config` VALUES (16, 'UPF', '', 'DpiCommon', 'Dpi Common', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"Max Detect Packet Num\",\"display\":\"Max Detect Packet Num\",\"filter\":\"\",\"name\":\"MaxDetectPacketNum\",\"type\":\"int\",\"value\":\"20\"},{\"access\":\"read-write\",\"comment\":\"Dns Cache Enabled\",\"display\":\"Dns Cache Enabled\",\"filter\":\"\",\"name\":\"DnsCacheEnabled\",\"type\":\"int\",\"value\":\"0~1\"},{\"access\":\"read-write\",\"comment\":\"Http Proto Enabled\",\"display\":\"Http Proto Enabled\",\"filter\":\"0~1\",\"name\":\"HttpProtoEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Https Proto Enabled\",\"display\":\"Https Proto Enabled\",\"filter\":\"0~1\",\"name\":\"HttpsProtoEnabled\",\"type\":\"int\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (17, 'UPF', '', 'DpiHeaderEnrichInfoList', 'Dpi Header Enrich Info List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Type\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"Type\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Name\",\"display\":\"Name\",\"filter\":\"\",\"name\":\"Name\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Value\",\"display\":\"Value\",\"filter\":\"\",\"name\":\"Value\",\"type\":\"string\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (18, 'UPF', '', 'DpiAppList', 'Dpi App List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"App Name\",\"display\":\"App Name\",\"filter\":\"\",\"name\":\"AppName\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Proxy Enabled\",\"display\":\"Proxy Enabled\",\"filter\":\"0~1\",\"name\":\"ProxyEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Force Check Type\",\"display\":\"Force Check Type\",\"filter\":\"0~1\",\"name\":\"ForceCheckType\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"N3 Interface Id\",\"display\":\"N3 Interface Id\",\"filter\":\"1~32\",\"name\":\"N3InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"N6 Interface Id\",\"display\":\"N6 Interface Id\",\"filter\":\"1~32\",\"name\":\"N6InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"Rule Id\",\"display\":\"Rule Id\",\"filter\":\"\",\"name\":\"RuleId\",\"type\":\"int\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Regex Match\",\"display\":\"Regex Match\",\"filter\":\"\",\"name\":\"RegexMatch\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Flow Description\",\"display\":\"Flow Description\",\"filter\":\"\",\"name\":\"FlowDescription\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Custom Name\",\"display\":\"Custom Name\",\"filter\":\"\",\"name\":\"CustomName\",\"type\":\"string\",\"value\":\"\"}],\"comment\":\"Rule List\",\"display\":\"Rule List\",\"filter\":\"1~32\",\"name\":\"RuleList\",\"type\":\"int\",\"value\":\"1\"}]}'); +INSERT INTO `param_config` VALUES (484, 'AUSF', '', 'system', 'System', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Service IP\",\"filter\":\"\",\"name\":\"serviceIP\",\"type\":\"ipv4\",\"value\":\"172.16.5.130\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Service Port\",\"filter\":\"0~65535\",\"name\":\"servicePort\",\"type\":\"int\",\"value\":\"8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"type\":\"enum\",\"value\":\"http\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF URI\",\"filter\":\"\",\"name\":\"nrfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.180:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"UDM URI\",\"filter\":\"\",\"name\":\"udmUri\",\"type\":\"string\",\"value\":\"http://172.16.5.140:8080\"},{\"access\":\"read-write\",\"comment\":\"0~31\",\"display\":\"Group Id\",\"filter\":\"\",\"name\":\"groupId\",\"type\":\"string\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (485, 'SMF', '', 'smfSystem', 'SMF System', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SBI IpAddr\",\"filter\":\"\",\"name\":\"sbiIpAddr\",\"type\":\"string\",\"value\":\"172.16.5.150\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"SBI Port\",\"filter\":\"0~65535\",\"name\":\"sbiPort\",\"type\":\"int\",\"value\":\"8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SBI Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"sbiScheme\",\"type\":\"enum\",\"value\":\"http\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"N4 IPv4\",\"filter\":\"\",\"name\":\"n4Ipv4\",\"type\":\"ipv4\",\"value\":\"172.16.5.150\"},{\"access\":\"read-write\",\"comment\":\"N4 IPv6\",\"display\":\"N4 Ipv6\",\"filter\":\"\",\"name\":\"n4Ipv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"N4U IPv4\",\"filter\":\"\",\"name\":\"n4UIpv4\",\"type\":\"ipv4\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"N4U IPv6\",\"display\":\"N4U IPv6\",\"filter\":\"\",\"name\":\"n4UIpv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"AMF Uri\",\"filter\":\"\",\"name\":\"amfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.120:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"PCF Uri\",\"filter\":\"\",\"name\":\"pcfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.160:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"UDM Uri\",\"filter\":\"\",\"name\":\"udmUri\",\"type\":\"string\",\"value\":\"http://172.16.5.140:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF Enable\",\"filter\":\"{\\\"0\\\":\\\"false\\\", \\\"1\\\":\\\"true\\\"}\",\"name\":\"nrfEnable\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF Uri\",\"filter\":\"\",\"name\":\"nrfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.180:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Primary Dns Ipv4\",\"filter\":\"\",\"name\":\"primaryDnsIpv4\",\"type\":\"ipv4\",\"value\":\"114.114.114.114\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Secondary Dns Ipv4\",\"filter\":\"\",\"name\":\"secondaryDnsIpv4\",\"type\":\"ipv4\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Primary Dns Ipv6\",\"filter\":\"\",\"name\":\"primaryDnsIpv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Secondary Dns Ipv6\",\"filter\":\"\",\"name\":\"secondaryDnsIpv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Primary Pcscf Ipv4\",\"filter\":\"\",\"name\":\"primaryPcscfIpv4\",\"type\":\"ipv4\",\"value\":\"172.16.5.110\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Secondary Pcscf Ipv4\",\"filter\":\"\",\"name\":\"secondaryPcscfIpv4\",\"type\":\"ipv4\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Primary Pcscf Ipv6\",\"filter\":\"\",\"name\":\"primaryPcscfIpv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Secondary Pcscf Ipv6\",\"filter\":\"\",\"name\":\"secondaryPcscfIpv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Ue MTU\",\"filter\":\"0~65535\",\"name\":\"ueMtu\",\"type\":\"int\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (486, 'SMF', '', 'upfConfig', 'UPF Config', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Index\",\"filter\":\"0~65535\",\"name\":\"index\",\"type\":\"int\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"upfId-1\",\"display\":\"Upf Id\",\"filter\":\"1~64\",\"name\":\"id\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ip:port\",\"display\":\"Addr\",\"filter\":\"7~45\",\"name\":\"addr\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"CIDR format, e.g. 192.168.1.0/24\",\"display\":\"Ipv4Pools\",\"filter\":\"10~256\",\"name\":\"ipv4Pools\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"CIDR format, e.g. fe80::20c:29ff:fee4:dab7/50\",\"display\":\"Ipv6Pools\",\"filter\":\"5~512\",\"name\":\"ipv6Pools\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"StaticIpv4Enable\",\"filter\":\"{\\\"0\\\":\\\"false\\\", \\\"1\\\":\\\"true\\\"}\",\"name\":\"staticIpv4Enable\",\"type\":\"bool\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv4 format\",\"display\":\"StaticIpv4Start\",\"filter\":\"\",\"name\":\"staticIpv4Start\",\"type\":\"ipv4\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv4 format\",\"display\":\"StaticIpv4End\",\"filter\":\"\",\"name\":\"staticIpv4End\",\"type\":\"ipv4\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"StaticIpv6Enable\",\"filter\":\"{\\\"0\\\":\\\"false\\\", \\\"1\\\":\\\"true\\\"}\",\"name\":\"staticIpv6Enable\",\"type\":\"bool\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv6 format\",\"display\":\"StaticIpv6Start\",\"filter\":\"\",\"name\":\"staticIpv6Start\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv6 format\",\"display\":\"StaticIpv6End\",\"filter\":\"\",\"name\":\"staticIpv6End\",\"type\":\"ipv6\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (487, 'SMF', '', 'dnnSelectUpf', 'Dnn Select UPF', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Index\",\"filter\":\"0~65535\",\"name\":\"index\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Dnn\",\"filter\":\"1~64\",\"name\":\"dnn\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"upf Id\",\"display\":\"Upf Id\",\"filter\":\"1~64\",\"name\":\"upfId\",\"type\":\"string\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (488, 'SMF', '', 'dnnTaiSelectUpf', 'Dnn Tai Select UPF', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Index\",\"filter\":\"0~65535\",\"name\":\"index\",\"type\":\"int\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Dnn\",\"filter\":\"1~64\",\"name\":\"dnn\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"46000123456\",\"display\":\"Tai\",\"filter\":\"1~64\",\"name\":\"tai\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"upf Id\",\"display\":\"Upf Id\",\"filter\":\"1~64\",\"name\":\"upfId\",\"type\":\"string\",\"value\":\"upf2-Id\"}]}'); +INSERT INTO `param_config` VALUES (503, 'UDM', '', 'system', 'System', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Service IP\",\"filter\":\"\",\"name\":\"serviceIP\",\"type\":\"ipv4\",\"value\":\"172.16.5.140\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Service Port\",\"filter\":\"0~65535\",\"name\":\"servicePort\",\"type\":\"int\",\"value\":\"8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF URI\",\"filter\":\"\",\"name\":\"nrfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.180:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"AUSF IP\",\"filter\":\"\",\"name\":\"ausfIP\",\"type\":\"ipv4\",\"value\":\"172.16.5.130\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"fqdn\",\"filter\":\"\",\"name\":\"fqdn\",\"type\":\"string\",\"value\":\"agt.com\"},{\"access\":\"read-write\",\"comment\":\"0~4095\",\"display\":\"Priority\",\"filter\":\"0~4095\",\"name\":\"priority\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Capacity\",\"filter\":\"0~65535\",\"name\":\"capacity\",\"type\":\"int\",\"value\":\"4096\"},{\"access\":\"read-write\",\"comment\":\"0~31\",\"display\":\"Group Id\",\"filter\":\"\",\"name\":\"groupId\",\"type\":\"string\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SUPI Ranges\",\"filter\":\"^imsi-\\\\d{15}~imsi-\\\\d{15}$\",\"name\":\"supiRanges\",\"type\":\"regex\",\"value\":\"imsi-001010100080000~imsi-001010100080099\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"GPSI Ranges\",\"filter\":\"^msisdn-\\\\d{2,15}~msisdn-\\\\d{2,15}$\",\"name\":\"gpsiRanges\",\"type\":\"regex\",\"value\":\"msisdn-69072000~msisdn-69072099\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"type\":\"enum\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (504, 'UDM', '', 'subsUEAmbr', 'Subs UE AMBR', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_ambr\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Uplink\",\"filter\":\"^\\\\d+(\\\\.\\\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$\",\"name\":\"uplink\",\"type\":\"string\",\"value\":\"1Gbps\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Downlink\",\"filter\":\"^\\\\d+(\\\\.\\\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$\",\"name\":\"downlink\",\"type\":\"string\",\"value\":\"2Gbps\"}]}'); +INSERT INTO `param_config` VALUES (505, 'UDM', '', 'subsNssais', 'Subs Nssais', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_nssai\"},{\"access\":\"read-write\",\"comment\":\"8~8\",\"display\":\"Supported Features\",\"filter\":\"8~8\",\"name\":\"supportedFeatures\",\"type\":\"string\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"Default Single NSSAIs\",\"filter\":\"\",\"name\":\"defaultSingleNSSAIs\",\"type\":\"string\",\"value\":\"1-000001\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"Single Nssais\",\"filter\":\"\",\"name\":\"singleNssais\",\"type\":\"string\",\"value\":\"1-000002\"}]}'); +INSERT INTO `param_config` VALUES (506, 'UDM', '', 'forbiddenAreas', 'Forbidden Areas', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_ambr\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"TACs\",\"filter\":\"\",\"name\":\"tacs\",\"type\":\"string\",\"value\":\"123\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"AreaCodes\",\"filter\":\"\",\"name\":\"areaCodes\",\"type\":\"string\",\"value\":\"123456\"}]}'); +INSERT INTO `param_config` VALUES (507, 'UDM', '', 'serviceAreaRestriction', 'Service Area Restriction', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_ambr\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"Restriction Type\",\"filter\":\"{\\\"0\\\":\\\"allowedAreas\\\", \\\"1\\\":\\\"notAllowedAreas\\\"}\",\"name\":\"restrictionType\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"TACs\",\"filter\":\"\",\"name\":\"tacs\",\"type\":\"string\",\"value\":\"123\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"AreaCodes\",\"filter\":\"\",\"name\":\"areaCodes\",\"type\":\"string\",\"value\":\"123456\"},{\"access\":\"read-write\",\"comment\":\"0~32\",\"display\":\"Max TAs\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"maxTAs\",\"type\":\"int\",\"value\":\"1\"}]}'); +INSERT INTO `param_config` VALUES (508, 'UDM', '', 'smfSelection', 'Subs Smf Selection', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"1~16\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"0~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_snssai\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Snssai\",\"filter\":\"^\\\\d{1,3}[A-Fa-f0-9]{6}$\",\"name\":\"snssai\",\"type\":\"string\",\"value\":\"1-000001\"},{\"access\":\"read-only\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~4\",\"display\":\"index\",\"filter\":\"1~4\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"0~32\",\"display\":\"Dnn\",\"filter\":\"^.{1,32}$\",\"name\":\"dnn\",\"type\":\"string\",\"value\":\"cmnet\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"default Dnn Indicator\",\"filter\":\"false;true;\",\"name\":\"defaultDnnInd\",\"type\":\"bool\",\"value\":\"true\"},{\"access\":\"read-write\",\"comment\":\"LBO Roaming Allowed\",\"display\":\"LBO Roaming Allowed\",\"filter\":\"false;true;\",\"name\":\"lboRoamingAllowed\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"Iwk EPS Ind\",\"display\":\"Iwk EPS Ind\",\"filter\":\"false;true;\",\"name\":\"iwkEpsInd\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"LADN Indicator\",\"display\":\"LADN Indicator\",\"filter\":\"false;true;\",\"name\":\"ladnIndicator\",\"type\":\"bool\",\"value\":\"false\"}],\"comment\":\"\",\"display\":\"Dnn List\",\"filter\":\"1~4\",\"name\":\"dnnList\",\"type\":\"int\",\"value\":\"1\"}]}'); +INSERT INTO `param_config` VALUES (509, 'UDM', '', 'dnn', 'Dnn Conf', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_nssai\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Default PDU Session Type\",\"filter\":\"{\\\"0\\\":\\\"ipv4\\\",\\\"1\\\":\\\"ipv6\\\",\\\"2\\\":\\\"ipv4v6\\\",\\\"3\\\":\\\"ethernet\\\",\\\"4\\\":\\\"unstruction\\\"}\",\"name\":\"defaultPDUSessionType\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Allowed PDU Session Types\",\"filter\":\"{\\\"0\\\":\\\"ipv4\\\",\\\"1\\\":\\\"ipv6\\\",\\\"2\\\":\\\"ipv4v6\\\",\\\"3\\\":\\\"ethernet\\\",\\\"4\\\":\\\"unstruction\\\",\\\"5\\\":\\\"ipv4andipv6\\\",\\\"6\\\":\\\"ipv4andipv4v6\\\",\\\"7\\\":\\\"ipv6andipv4v6\\\",\\\"8\\\":\\\"ipv4andipv6andipv4v6\\\"}\",\"name\":\"allowedPDUSessionTypes\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"1~16\",\"display\":\"Default SSC Mode\",\"filter\":\"{\\\"0\\\":\\\"sscMode1\\\",\\\"1\\\":\\\"sscMode2\\\",\\\"2\\\":\\\"sscMode3\\\"}\",\"name\":\"defaultSSCmode\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"1~16\",\"display\":\"Allowed SSC Modes\",\"filter\":\"{\\\"0\\\":\\\"sscMode1\\\",\\\"1\\\":\\\"sscMode2\\\",\\\"2\\\":\\\"sscMode3\\\",\\\"3\\\":\\\"sscMode1sscMode2\\\",\\\"4\\\":\\\"sscMode1sscMode3\\\",\\\"5\\\":\\\"sscMode2sscMode3\\\",\\\"6\\\":\\\"sscMode1sscMode2sscMode3\\\"}\",\"name\":\"allowedSSCmodes\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Interworking EPS Indicator\",\"filter\":\"\",\"name\":\"interworkingEPSIndicator\",\"type\":\"bool\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"LADN Indicator\",\"filter\":\"\",\"name\":\"ladnIndicator\",\"type\":\"bool\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"4~4\",\"display\":\"Charging Characteristics\",\"filter\":\"4~4\",\"name\":\"chargingCharacteristics\",\"type\":\"string\",\"value\":\"0001\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Subscribed Session Ambr UL\",\"filter\":\"^\\\\d+(\\\\.\\\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$\",\"name\":\"subscribedSessionAmbrUL\",\"type\":\"regex\",\"value\":\"1Gbps\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Subscribed Session Ambr DL\",\"filter\":\"^\\\\d+(\\\\.\\\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$\",\"name\":\"subscribedSessionAmbrDL\",\"type\":\"regex\",\"value\":\"2Gbps\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Static IP Address\",\"filter\":\"\",\"name\":\"staticIPAddress\",\"type\":\"ipv4\",\"value\":\"192.168.1.100\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"User Plane Integrity\",\"filter\":\"{\\\"0\\\":\\\"null\\\",\\\"1\\\":\\\"required\\\",\\\"2\\\":\\\"preferred\\\",\\\"3\\\":\\\"notNeeded\\\"}\",\"name\":\"userPlaneIntegrity\",\"type\":\"enum\",\"value\":\"3\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"User Plane Confidentiality\",\"filter\":\"{\\\"0\\\":\\\"null\\\",\\\"1\\\":\\\"required\\\",\\\"2\\\":\\\"preferred\\\",\\\"3\\\":\\\"notNeeded\\\"}\",\"name\":\"userPlaneConfidentiality\",\"type\":\"enum\",\"value\":\"3\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"5qi\",\"filter\":\"0~255\",\"name\":\"5qi\",\"type\":\"int\",\"value\":\"9\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Priority Level\",\"filter\":\"1~127\",\"name\":\"priorityLevel\",\"type\":\"int\",\"value\":\"9\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"ARP Priority Level\",\"filter\":\"0~255\",\"name\":\"arpPriorityLevel\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"ARP PreemptCap\",\"filter\":\"{\\\"0\\\":\\\"notPreempt\\\",\\\"1\\\":\\\"mayPreempt\\\"}\",\"name\":\"arpPreemptCap\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"ARP PreemptVuln\",\"filter\":\"{\\\"0\\\":\\\"notPreemptable\\\",\\\"1\\\":\\\"preemptable\\\"}\",\"name\":\"arpPreemptVuln\",\"type\":\"enum\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (554, 'AMF', '', 'system', 'System Config', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"AMF Name\",\"filter\":\"0~64\",\"name\":\"amfName\",\"type\":\"string\",\"value\":\"AMF\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Relative Capacity\",\"filter\":\"0~255\",\"name\":\"relativeCapacity\",\"type\":\"int\",\"value\":\"255\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SBI Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\",\\\"1\\\":\\\"https\\\"}\",\"name\":\"sbiScheme\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SBI Server IP\",\"filter\":\"0~64\",\"name\":\"sbiServerIp\",\"type\":\"string\",\"value\":\"192.168.1.183\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"SBI Server Port\",\"filter\":\"0~65535\",\"name\":\"sbiServerPort\",\"type\":\"int\",\"value\":\"8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF Enabled\",\"filter\":\"{\\\"0\\\":\\\"false\\\",\\\"1\\\":\\\"true\\\"}\",\"name\":\"nrfEnabled\",\"type\":\"bool\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF URI\",\"filter\":\"0~64\",\"name\":\"nrfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.180:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"AUSF URI\",\"filter\":\"0~64\",\"name\":\"ausfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.130:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"UDM URI\",\"filter\":\"0~64\",\"name\":\"udmUri\",\"type\":\"string\",\"value\":\"http://172.16.5.140:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SMF URI\",\"filter\":\"0~64\",\"name\":\"smfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.150:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"PCF URI\",\"filter\":\"0~64\",\"name\":\"pcfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.160:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"LMF URI\",\"filter\":\"0~64\",\"name\":\"lmfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.200:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NEF URI\",\"filter\":\"0~64\",\"name\":\"nefUri\",\"type\":\"string\",\"value\":\"http://172.16.5.210:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"DNN Correction Enabled\",\"filter\":\"{\\\"0\\\":\\\"false\\\",\\\"1\\\":\\\"true\\\"}\",\"name\":\"dnnCorrectionEnabled\",\"type\":\"bool\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Default DNN\",\"filter\":\"0~64\",\"name\":\"defaultDnn\",\"type\":\"string\",\"value\":\"cmnet\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Integrity Algorithm\",\"filter\":\"{\\\"0\\\":\\\"NIA0\\\",\\\"1\\\":\\\"NIA1\\\",\\\"2\\\":\\\"NIA2\\\",\\\"3\\\":\\\"NIA3\\\"}\",\"name\":\"integrityAlgorithm\",\"type\":\"enum\",\"value\":\"2\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Ciphering Algorithm\",\"filter\":\"{\\\"0\\\":\\\"NEA0\\\",\\\"1\\\":\\\"NEA1\\\",\\\"2\\\":\\\"NEA2\\\",\\\"3\\\":\\\"NEA3\\\"}\",\"name\":\"cipheringAlgorithm\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3502\",\"filter\":\"\",\"name\":\"t3502\",\"type\":\"int\",\"value\":\"720\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3512\",\"filter\":\"\",\"name\":\"t3512\",\"type\":\"int\",\"value\":\"3600\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3513\",\"filter\":\"\",\"name\":\"t3513\",\"type\":\"int\",\"value\":\"2\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3522\",\"filter\":\"\",\"name\":\"t3522\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3550\",\"filter\":\"\",\"name\":\"t3550\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3555\",\"filter\":\"\",\"name\":\"t3555\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3560\",\"filter\":\"\",\"name\":\"t3560\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3565\",\"filter\":\"\",\"name\":\"t3565\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3570\",\"filter\":\"\",\"name\":\"t3570\",\"type\":\"int\",\"value\":\"6\"}]}'); +INSERT INTO `param_config` VALUES (555, 'AMF', '', 'association', 'TNL Association', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"0~15\",\"display\":\"Index\",\"filter\":\"0~15\",\"name\":\"index\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NGAP IP\",\"filter\":\"0~64\",\"name\":\"ngapIp\",\"type\":\"string\",\"value\":\"192.168.1.183\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"NGAP SCTP Port\",\"filter\":\"0~65535\",\"name\":\"ngapSctpPort\",\"type\":\"int\",\"value\":\"38412\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Weight\",\"filter\":\"0~255\",\"name\":\"weightFactor\",\"type\":\"int\",\"value\":\"255\"}]}'); +INSERT INTO `param_config` VALUES (556, 'AMF', '', 'guami', 'Guami List', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"0~15\",\"display\":\"Index\",\"filter\":\"0~15\",\"name\":\"index\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Plmn Id\",\"filter\":\"^[0-9]{5,6}$\",\"name\":\"plmnId\",\"type\":\"regex\",\"value\":\"46000\"},{\"access\":\"read-write\",\"comment\":\"0~256\",\"display\":\"Region ID\",\"filter\":\"0~256\",\"name\":\"regionId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Set ID\",\"filter\":\"0~1023\",\"name\":\"setId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Pointer\",\"filter\":\"0~63\",\"name\":\"pointer\",\"type\":\"int\",\"value\":\"1\"}]}'); +INSERT INTO `param_config` VALUES (557, 'AMF', '', 'tai', 'TAI List', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"0~15\",\"display\":\"Index\",\"filter\":\"0~15\",\"name\":\"index\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Plmn Id\",\"filter\":\"^[0-9]{5,6}$\",\"name\":\"plmnId\",\"type\":\"regex\",\"value\":\"46000\"},{\"access\":\"read-write\",\"comment\":\"0~8\",\"display\":\"TAC\",\"filter\":\"0~8\",\"name\":\"tac\",\"type\":\"string\",\"value\":\"1\"}]}'); +INSERT INTO `param_config` VALUES (558, 'AMF', '', 'slice', 'Slice List', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"0~15\",\"display\":\"Index\",\"filter\":\"0~15\",\"name\":\"index\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Plmn Id\",\"filter\":\"^[0-9]{5,6}$\",\"name\":\"plmnId\",\"type\":\"regex\",\"value\":\"46000\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Sst\",\"filter\":\"0~127\",\"name\":\"sst\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Sd\",\"filter\":\"\",\"name\":\"sd\",\"type\":\"regex\",\"value\":\"000001\"}]}'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/param_value.sql b/database/install/param_value.sql new file mode 100644 index 00000000..a3175e96 --- /dev/null +++ b/database/install/param_value.sql @@ -0,0 +1,34 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 21/06/2023 20:51:25 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for param_value +-- ---------------------------- +DROP TABLE IF EXISTS `param_value`; +CREATE TABLE `param_value` ( + `id` int(11) NOT NULL, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', + `flag` tinyint(4) NOT NULL DEFAULT 1 COMMENT '0: before update, 1: current', + `top_tag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `value_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/permission_map.sql b/database/install/permission_map.sql new file mode 100644 index 00000000..c5d9e2c6 --- /dev/null +++ b/database/install/permission_map.sql @@ -0,0 +1,58 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 10/08/2023 08:44:54 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for permission_map +-- ---------------------------- +DROP TABLE IF EXISTS `permission_map`; +CREATE TABLE `permission_map` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `permission_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `element` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `create_at` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`, `permission_name`) USING BTREE, + UNIQUE INDEX `id`(`id`) USING BTREE, + INDEX `permission_name`(`permission_name`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of permission_map +-- ---------------------------- +INSERT INTO `permission_map` VALUES (1, 'get.dm.omcdb', 'get', 'omc_db', '*', NULL, '2023-08-08 20:46:56'); +INSERT INTO `permission_map` VALUES (2, 'get.dm.omcdb.neinfo', 'get ', 'omc_db', 'ne_info', NULL, '2023-08-08 20:47:11'); +INSERT INTO `permission_map` VALUES (3, 'get.dm.omcdb.nelink', 'get ', 'omc_db', 'ne_link', NULL, '2023-08-08 20:47:22'); +INSERT INTO `permission_map` VALUES (4, 'get.db.omcdb.neconfig', 'get', 'omc_db', 'ne_config', NULL, '2023-08-08 20:47:40'); +INSERT INTO `permission_map` VALUES (5, 'post.dm.omcdb', 'post', 'omc_db', '*', NULL, '2023-08-08 20:47:56'); +INSERT INTO `permission_map` VALUES (6, 'put.dm.omcdb', 'put', 'omc_db', '*', NULL, '2023-08-08 20:48:08'); +INSERT INTO `permission_map` VALUES (7, 'del.dm.omcdb', 'delete', 'omc_db', '*', NULL, '2023-08-08 20:48:15'); +INSERT INTO `permission_map` VALUES (8, 'get.dm.omcdb.mmlcmd', 'get ', 'omc_db', 'mml_command', NULL, '2023-08-08 20:47:11'); +INSERT INTO `permission_map` VALUES (9, '*#*', '*', '*', '*', NULL, '2023-08-09 20:07:49'); +INSERT INTO `permission_map` VALUES (10, 'get#dm.omcdb', 'get', 'omc_db', '*', NULL, '2023-08-08 20:46:56'); +INSERT INTO `permission_map` VALUES (11, 'get#dm.omcdb.neinfo', 'get ', 'omc_db', 'ne_info', NULL, '2023-08-08 20:47:11'); +INSERT INTO `permission_map` VALUES (12, 'get#dm.omcdb.nelink', 'get ', 'omc_db', 'ne_link', NULL, '2023-08-08 20:47:22'); +INSERT INTO `permission_map` VALUES (13, 'get#db.omcdb.neconfig', 'get', 'omc_db', 'ne_config', NULL, '2023-08-08 20:47:40'); +INSERT INTO `permission_map` VALUES (14, 'post#dm.omcdb', 'post', 'omc_db', '*', NULL, '2023-08-08 20:47:56'); +INSERT INTO `permission_map` VALUES (15, 'put#dm.omcdb', 'put', 'omc_db', '*', NULL, '2023-08-08 20:48:08'); +INSERT INTO `permission_map` VALUES (16, 'del#dm.omcdb', 'delete', 'omc_db', '*', NULL, '2023-08-08 20:48:15'); +INSERT INTO `permission_map` VALUES (17, 'get#dm.omcdb.mmlcmd', 'get ', 'omc_db', 'mml_command', NULL, '2023-08-08 20:47:11'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/pm_custom_data.sql b/database/install/pm_custom_data.sql new file mode 100644 index 00000000..247ea609 --- /dev/null +++ b/database/install/pm_custom_data.sql @@ -0,0 +1,42 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 06/07/2023 21:00:04 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for pm_custom_data +-- ---------------------------- +DROP TABLE IF EXISTS `pm_custom_data`; +CREATE TABLE `pm_custom_data` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `date` date NULL DEFAULT NULL, + `task_id` int(11) NULL DEFAULT NULL, + `ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `granul_option` enum('15M','30M','60M','24H') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '15M', + `kpi_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_ext` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `start_time` datetime NULL DEFAULT NULL, + `end_time` datetime NULL DEFAULT NULL, + `value` bigint(20) NULL DEFAULT 0, + `timestamp` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 321904 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/pm_custom_title.sql b/database/install/pm_custom_title.sql new file mode 100644 index 00000000..6d88b88a --- /dev/null +++ b/database/install/pm_custom_title.sql @@ -0,0 +1,40 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 28/07/2023 20:02:50 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for pm_custom_title +-- ---------------------------- +DROP TABLE IF EXISTS `pm_custom_title`; +CREATE TABLE `pm_custom_title` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_set` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `expression` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `period` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT current_timestamp(), + `delete_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/role.sql b/database/install/role.sql new file mode 100644 index 00000000..0ecb2302 --- /dev/null +++ b/database/install/role.sql @@ -0,0 +1,43 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 10/08/2023 08:44:35 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for role +-- ---------------------------- +DROP TABLE IF EXISTS `role`; +CREATE TABLE `role` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `role_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `create_at` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`, `role_name`) USING BTREE, + INDEX `role_name`(`role_name`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of role +-- ---------------------------- +INSERT INTO `role` VALUES (1, 'testrole1', 'get permisson role', '2023-08-08 20:04:18'); +INSERT INTO `role` VALUES (2, 'testrole2', 'operate permission role', '2023-08-08 20:59:19'); +INSERT INTO `role` VALUES (3, 'admin', 'administrator', '2023-08-09 20:06:15'); +INSERT INTO `role` VALUES (4, 'user', NULL, '2023-08-09 20:06:26'); +INSERT INTO `role` VALUES (5, 'operator', NULL, '2023-08-09 20:06:36'); +INSERT INTO `role` VALUES (6, 'test', NULL, '2023-08-09 20:06:45'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/role_permission.sql b/database/install/role_permission.sql new file mode 100644 index 00000000..8112e494 --- /dev/null +++ b/database/install/role_permission.sql @@ -0,0 +1,47 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 10/08/2023 08:44:23 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for role_permission +-- ---------------------------- +DROP TABLE IF EXISTS `role_permission`; +CREATE TABLE `role_permission` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `r_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `p_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `create_at` datetime NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) USING BTREE, + INDEX `r_name`(`r_name`) USING BTREE, + INDEX `role_permission_ibfk_2`(`p_name`) USING BTREE, + CONSTRAINT `role_permission_ibfk_1` FOREIGN KEY (`r_name`) REFERENCES `role` (`role_name`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `role_permission_ibfk_2` FOREIGN KEY (`p_name`) REFERENCES `permission_map` (`permission_name`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of role_permission +-- ---------------------------- +INSERT INTO `role_permission` VALUES (1, 'testrole1', 'get#dm.omcdb', NULL, '2023-08-08 18:40:25'); +INSERT INTO `role_permission` VALUES (2, 'testrole2', 'post#dm.omcdb', NULL, '2023-08-08 18:40:52'); +INSERT INTO `role_permission` VALUES (3, 'testrole2', 'put#dm.omcdb', NULL, '2023-08-08 18:41:08'); +INSERT INTO `role_permission` VALUES (4, 'testrole2', 'del#dm.omcdb', NULL, '2023-08-08 18:41:30'); +INSERT INTO `role_permission` VALUES (8, 'testrole1', 'get#dm.omcdb.mmlcmd', NULL, '2023-08-08 23:41:58'); +INSERT INTO `role_permission` VALUES (9, 'admin', '*#*', NULL, '2023-08-09 20:08:58'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/security_log.sql b/database/install/security_log.sql new file mode 100644 index 00000000..5f104435 --- /dev/null +++ b/database/install/security_log.sql @@ -0,0 +1,36 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 29/06/2023 18:41:42 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for security_log +-- ---------------------------- +DROP TABLE IF EXISTS `security_log`; +CREATE TABLE `security_log` ( + `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, + `account_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `account_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `op_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_type` tinyint(4) NULL DEFAULT NULL, + `op_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_result` tinyint(4) NULL DEFAULT NULL, + `op_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/session.sql b/database/install/session.sql new file mode 100644 index 00000000..8108c593 --- /dev/null +++ b/database/install/session.sql @@ -0,0 +1,39 @@ +/* + Navicat Premium Data Transfer + + Source Server : root@192.168.0.229 + Source Server Type : MariaDB + Source Server Version : 100335 (10.3.35-MariaDB) + Source Host : 192.168.0.229:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100335 (10.3.35-MariaDB) + File Encoding : 65001 + + Date: 25/07/2023 17:40:06 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for session +-- ---------------------------- +DROP TABLE IF EXISTS `session`; +CREATE TABLE `session` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `account_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `host` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `access_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `expires` int(11) NULL DEFAULT NULL, + `status` enum('online','offline') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'online', + `login_time` datetime NULL DEFAULT current_timestamp(), + `shake_time` datetime NULL DEFAULT NULL, + `logout_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_token`(`access_token`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 235 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/system_log.sql b/database/install/system_log.sql new file mode 100644 index 00000000..a3382a9e --- /dev/null +++ b/database/install/system_log.sql @@ -0,0 +1,37 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 04/08/2023 22:38:49 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for system_log +-- ---------------------------- +DROP TABLE IF EXISTS `system_log`; +CREATE TABLE `system_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `process_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `process_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `user_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `process_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `event` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `start_time` datetime NULL DEFAULT NULL, + `end_time` datetime NULL DEFAULT NULL, + `log_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1292 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/title_info.sql b/database/install/title_info.sql new file mode 100644 index 00000000..1ed5888b --- /dev/null +++ b/database/install/title_info.sql @@ -0,0 +1,36 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 21/06/2023 20:52:17 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for title_info +-- ---------------------------- +DROP TABLE IF EXISTS `title_info`; +CREATE TABLE `title_info` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `tag` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `title_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '某个title的各种语言显示内容的json格式', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of title_info +-- ---------------------------- + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/trace_data.sql b/database/install/trace_data.sql new file mode 100644 index 00000000..49b8479d --- /dev/null +++ b/database/install/trace_data.sql @@ -0,0 +1,40 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 06/07/2023 20:59:14 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for trace_data +-- ---------------------------- +DROP TABLE IF EXISTS `trace_data`; +CREATE TABLE `trace_data` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `task_id` int(11) NULL DEFAULT NULL, + `imsi` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `msisdn` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `src_addr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `dst_addr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `if_type` int(11) NULL DEFAULT 0, + `msg_type` int(11) NULL DEFAULT NULL, + `msg_direct` int(11) NULL DEFAULT NULL, + `timestamp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `raw_msg` blob NULL DEFAULT NULL, + `dec_msg` blob NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 311486 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/trace_info.sql b/database/install/trace_info.sql new file mode 100644 index 00000000..cef2bc50 --- /dev/null +++ b/database/install/trace_info.sql @@ -0,0 +1,52 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 07/08/2023 23:27:55 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for trace_info +-- ---------------------------- +DROP TABLE IF EXISTS `trace_info`; +CREATE TABLE `trace_info` ( + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `interface` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of trace_info +-- ---------------------------- +INSERT INTO `trace_info` VALUES ('UDM', 'N8'); +INSERT INTO `trace_info` VALUES ('UDM', 'N10'); +INSERT INTO `trace_info` VALUES ('UDM', 'N13'); +INSERT INTO `trace_info` VALUES ('AMF', 'N1'); +INSERT INTO `trace_info` VALUES ('AMF', 'N2'); +INSERT INTO `trace_info` VALUES ('AMF', 'N8'); +INSERT INTO `trace_info` VALUES ('AMF', 'N11'); +INSERT INTO `trace_info` VALUES ('AMF', 'N12'); +INSERT INTO `trace_info` VALUES ('AMF', 'N14'); +INSERT INTO `trace_info` VALUES ('AMF', 'N15'); +INSERT INTO `trace_info` VALUES ('SMF', 'N4'); +INSERT INTO `trace_info` VALUES ('SMF', 'N7'); +INSERT INTO `trace_info` VALUES ('SMF', 'N10'); +INSERT INTO `trace_info` VALUES ('SMF', 'N11'); +INSERT INTO `trace_info` VALUES ('UPF', 'N3'); +INSERT INTO `trace_info` VALUES ('UPF', 'N4'); +INSERT INTO `trace_info` VALUES ('UPF', 'N6'); +INSERT INTO `trace_info` VALUES ('UPF', 'N9'); +INSERT INTO `trace_info` VALUES ('AUSF', 'N12'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/trace_task.sql b/database/install/trace_task.sql new file mode 100644 index 00000000..62bfedfd --- /dev/null +++ b/database/install/trace_task.sql @@ -0,0 +1,47 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 06/07/2023 20:58:50 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for trace_task +-- ---------------------------- +DROP TABLE IF EXISTS `trace_task`; +CREATE TABLE `trace_task` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `trace_type` enum('Interface','Device','UE') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `start_time` datetime NULL DEFAULT NULL, + `end_time` datetime NULL DEFAULT NULL, + `imsi` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `msisdn` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `src_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `dst_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `signal_port` smallint(6) NULL DEFAULT NULL, + `spc` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `dpc` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ue_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `interfaces` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `status` enum('Inactive','Active','Failed') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Inactive', + `succ_nes` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `fail_nes` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/user.sql b/database/install/user.sql new file mode 100644 index 00000000..eee44221 --- /dev/null +++ b/database/install/user.sql @@ -0,0 +1,69 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 10/08/2023 08:44:09 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for user +-- ---------------------------- +DROP TABLE IF EXISTS `user`; +CREATE TABLE `user` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `account_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `real_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `sn` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `gender` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `id_card_number` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `description` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `telephone_number` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `phone` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `mobile` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `employee_number` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `employee_type` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `organize` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `supporter_corp_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `start_time` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `end_time` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `password` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `password_sha512` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `change_password_flag` tinyint(4) UNSIGNED ZEROFILL NULL DEFAULT 0000, + `password_expiration` datetime NULL DEFAULT NULL, + `status` enum('Active','Closed','Locked','Pending') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Active', + `user_expiration` datetime NULL DEFAULT NULL, + `group_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `profile` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `create_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + `update_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE, + INDEX `account_id`(`account_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 167 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of user +-- ---------------------------- +INSERT INTO `user` VALUES (1, 'admin', 'admin', 'administrator', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '$2a$10$QgIcp6yuOEGrEU0TNU12K.uQRLbcufesEU7hiRYlRSSdUO7OAkoTq', '324584ab0b03a5af1899c1801485de8a455a114d5f6ee08a48dbdf7e8f1a047eaaa1789e881f9eb268113f6c6814fa20f43183ffa6e014765f2aa8733c526048', 0000, NULL, 'Active', NULL, 'admin', '{\"color\":{\"critical\":\"#e8994a\",\"event\":\"#c5d2dc\",\"major\":\"#494040\",\"minor\":\"#5f70a8\",\"sound\":\"custom\",\"warning\":\"#b9e1dd\"},\"sound\":\"custom\",\"custom\":\"hrxz.com-exz2s3uxhc47391.mp3\"}', '2023-07-26 10:50:00', '2023-07-26 10:50:00'); +INSERT INTO `user` VALUES (2, 'manager', 'manager', 'manager', NULL, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '$2a$10$kAZzBChYKpJmFUxttuXyouZ7p1zdUeAQj8t/o8Sr2X0txF1E1RzZ2', NULL, 0000, NULL, 'Active', NULL, 'manager', '{\"color\":{\"critical\":\"#e8994a\",\"event\":\"#c5d2dc\",\"major\":\"#494040\",\"minor\":\"#5f70a8\",\"sound\":\"custom\",\"warning\":\"#b9e1dd\"},\"sound\":\"custom\",\"custom\":\"hrxz.com-exz2s3uxhc47391.mp3\"}', '2023-08-08 13:04:22', '2023-08-08 13:04:22'); +INSERT INTO `user` VALUES (3, 'omc', 'omc', 'omc nbi', NULL, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '$2a$10$jZIsj/nez.8jD4uXFe.Y4Ofzg2suzxtiHnOVv/j.m40vmogV4E4R.', NULL, 0000, NULL, 'Active', NULL, 'oss', '{\"color\":{\"critical\":\"#e8994a\",\"event\":\"#c5d2dc\",\"major\":\"#494040\",\"minor\":\"#5f70a8\",\"sound\":\"custom\",\"warning\":\"#b9e1dd\"},\"sound\":\"custom\",\"custom\":\"hrxz.com-exz2s3uxhc47391.mp3\"}', '2023-08-09 14:08:27', '2023-08-09 14:08:27'); +INSERT INTO `user` VALUES (4, 'audit', 'audit', 'audit', NULL, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '$2a$10$.CA9D51m5Gc9UPP3I10kAeEYEJCR/JpgK8eR49towu3CZ8GALsuty', NULL, 0000, NULL, 'Active', NULL, 'audit', '{\"color\":{\"critical\":\"#e8994a\",\"event\":\"#c5d2dc\",\"major\":\"#494040\",\"minor\":\"#5f70a8\",\"sound\":\"custom\",\"warning\":\"#b9e1dd\"},\"sound\":\"custom\",\"custom\":\"hrxz.com-exz2s3uxhc47391.mp3\"}', '2023-08-08 13:04:24', '2023-08-08 13:04:24'); +INSERT INTO `user` VALUES (5, 'operator', 'operator', 'operator', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '$2a$10$QgIcp6yuOEGrEU0TNU12K.uQRLbcufesEU7hiRYlRSSdUO7OAkoTq', '324584ab0b03a5af1899c1801485de8a455a114d5f6ee08a48dbdf7e8f1a047eaaa1789e881f9eb268113f6c6814fa20f43183ffa6e014765f2aa8733c526048', 0000, NULL, 'Active', NULL, 'operator', '{\"color\":{\"critical\":\"#e8994a\",\"event\":\"#c5d2dc\",\"major\":\"#494040\",\"minor\":\"#5f70a8\",\"sound\":\"custom\",\"warning\":\"#b9e1dd\"},\"sound\":\"custom\",\"custom\":\"hrxz.com-exz2s3uxhc47391.mp3\"}', '2023-08-08 13:04:09', '2023-08-08 13:04:09'); +INSERT INTO `user` VALUES (6, 'user', 'user', 'user', '', '', '', NULL, NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '$2a$10$JuouEm/nnenQWw3MAeKElOxZXLmw/3Mvcn9b0lqLVMHcIDdU4utBS', '324584ab0b03a5af1899c1801485de8a455a114d5f6ee08a48dbdf7e8f1a047eaaa1789e881f9eb268113f6c6814fa20f43183ffa6e014765f2aa8733c526048', 0000, NULL, 'Active', NULL, 'user', '{\"color\":{\"critical\":\"#e8994a\",\"event\":\"#c5d2dc\",\"major\":\"#494040\",\"minor\":\"#5f70a8\",\"sound\":\"custom\",\"warning\":\"#b9e1dd\"},\"sound\":\"custom\",\"custom\":\"hrxz.com-exz2s3uxhc47391.mp3\"}', '2023-08-08 13:02:12', '2023-08-08 13:02:12'); +INSERT INTO `user` VALUES (7, 'test1', 'test1', 'test1', '', '', '', NULL, NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '$2a$10$gaK9oBjiCa5wjC1dvDgpvO9lpDoYgq2hEo3N3ao8JBHpv4oGvtTui', '324584ab0b03a5af1899c1801485de8a455a114d5f6ee08a48dbdf7e8f1a047eaaa1789e881f9eb268113f6c6814fa20f43183ffa6e014765f2aa8733c526048', 0000, NULL, 'Active', NULL, 'test', '{\"color\":{\"critical\":\"#e8994a\",\"event\":\"#c5d2dc\",\"major\":\"#494040\",\"minor\":\"#5f70a8\",\"sound\":\"custom\",\"warning\":\"#b9e1dd\"},\"sound\":\"custom\",\"custom\":\"hrxz.com-exz2s3uxhc47391.mp3\"}', '2023-08-09 16:05:10', '2023-08-09 16:05:10'); +INSERT INTO `user` VALUES (8, 'test2', 'test2', 'test2', '', '', '', NULL, NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '$2a$10$JgL4xQylbddlmNvcGClFkOeQE4H7IuE4iYs2NyEaM4mxYwSnRpXhO', '324584ab0b03a5af1899c1801485de8a455a114d5f6ee08a48dbdf7e8f1a047eaaa1789e881f9eb268113f6c6814fa20f43183ffa6e014765f2aa8733c526048', 0000, NULL, 'Active', NULL, 'operator', '{\"color\":{\"critical\":\"#e8994a\",\"event\":\"#c5d2dc\",\"major\":\"#494040\",\"minor\":\"#5f70a8\",\"sound\":\"custom\",\"warning\":\"#b9e1dd\"},\"sound\":\"custom\",\"custom\":\"hrxz.com-exz2s3uxhc47391.mp3\"}', '2023-08-08 20:34:09', '2023-08-08 20:34:09'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/user_menu.sql b/database/install/user_menu.sql new file mode 100644 index 00000000..636c2284 --- /dev/null +++ b/database/install/user_menu.sql @@ -0,0 +1,52 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 21/06/2023 20:52:49 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for user_menu +-- ---------------------------- +DROP TABLE IF EXISTS `user_menu`; +CREATE TABLE `user_menu` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NULL DEFAULT NULL, + `menu_tag` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `sort_id` int(11) NULL DEFAULT NULL, + `lang_tag` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `menu_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of user_menu +-- ---------------------------- +INSERT INTO `user_menu` VALUES (1, 3, 'topologyManagement', 1, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [{\r\n \"id\": 3,\r\n \"href\": \"page/main.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"系统状态\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `user_menu` VALUES (2, 3, 'faultManagement', 2, 'cn', '{\r\n \"id\": 1,\r\n \"href\": \"\",\r\n \"icon\": \"fa fa-wrench\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/alarm/alarmListDown.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"活动告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/alarm/AlarmListHistory.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"历史告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/alarm/alarmInfoConfig.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"故障管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `user_menu` VALUES (3, 3, 'systemManagement', 3, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-pencil-square-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/nfManage/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"dormitoryset/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"参数配置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, ],\r\n \"title\": \"配置管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `user_menu` VALUES (4, 3, 'performanceManagement', 4, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-line-chart\",\r\n \"child\": [{\r\n \"id\": 1,\r\n \"href\": \"page/task/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 2,\r\n \"href\": \"page/repair/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"数据管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/task/threshold.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能门限\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"性能管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `user_menu` VALUES (5, 3, 'operationMaintenance', 5, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"操作维护\",\r\n \"icon\": \"fa fa-gear\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [\r\n \r\n {\r\n \"id\": 2,\r\n \"title\": \"MML命令\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `user_menu` VALUES (6, 3, 'logManagement', 6, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-newspaper-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/log/operLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"操作日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/log/alarmLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/log/logSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"日志设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"日志管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n\r\n}'); +INSERT INTO `user_menu` VALUES (7, 3, 'securityManagement', 7, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-users\",\r\n \"child\": [\r\n {\r\n \"id\": 2,\r\n \"href\": \"page/user/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"用户管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"安全管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `user_menu` VALUES (8, 1, 'topologyManagement', 1, 'cn', '\r\n{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-cog\",\r\n \"child\": [ {\r\n \"id\": 3,\r\n \"href\": \"grade/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"系统状态\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `user_menu` VALUES (9, 1, 'faultManagement', 2, 'cn', '{\"id\": 1, \"href\": \"\", \"icon\": \"fa fa-telegram\", \"child\": [{\"id\": 2, \"href\": \"page/alarm/alarmListDown.html\", \"icon\": \"fa fa-caret-right\", \"child\": null, \"title\": \"活动告警\", \"target\": null, \"parentId\": 1}, {\"id\": 3, \"href\": \"page/alarm/AlarmListHistory.html\", \"icon\": \"fa fa-caret-right\", \"child\": null, \"title\": \"历史告警\", \"target\": null, \"parentId\": 1}, {\"id\": 4, \"href\": \"page/alarm/alarmInfoConfig.html\", \"icon\": \"fa fa-caret-right\", \"child\": null, \"title\": \"告警设置\", \"target\": null, \"parentId\": 1}], \"title\": \"故障管理\", \"target\": null, \"parentId\": 0}'); +INSERT INTO `user_menu` VALUES (10, 1, 'systemManagement', 3, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/nfManage/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"dormitoryset/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"参数配置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },],\r\n \"title\": \"配置管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `user_menu` VALUES (11, 1, 'performanceManagement', 4, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-wrench\",\r\n \"child\": [{\r\n \"id\": 1,\r\n \"href\": \"page/task/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 2,\r\n \"href\": \"page/repair/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"数据管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/gold/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"黄金指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/task/threshold.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能门限设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"性能管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `user_menu` VALUES (12, 1, 'logManagement', 5, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/log/operLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"操作日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/log/alarmLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/log/logSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"日志设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"日志管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `user_menu` VALUES (13, 1, 'traceManagement', 6, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"building/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/mml/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"信令分析\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"跟踪管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `user_menu` VALUES (14, 1, 'securityManagement', 7, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-users\",\r\n \"child\": [\r\n {\r\n \"id\": 2,\r\n \"href\": \"page/user/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"用户管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"安全管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/install/user_role.sql b/database/install/user_role.sql new file mode 100644 index 00000000..71acc978 --- /dev/null +++ b/database/install/user_role.sql @@ -0,0 +1,45 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 10/08/2023 08:44:01 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for user_role +-- ---------------------------- +DROP TABLE IF EXISTS `user_role`; +CREATE TABLE `user_role` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `u_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `r_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `create_at` datetime NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) USING BTREE, + INDEX `r_name`(`u_name`) USING BTREE, + INDEX `p_name`(`r_name`) USING BTREE, + CONSTRAINT `user_role_rbfk1` FOREIGN KEY (`u_name`) REFERENCES `user` (`account_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `user_role_rbfk2` FOREIGN KEY (`r_name`) REFERENCES `role` (`role_name`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of user_role +-- ---------------------------- +INSERT INTO `user_role` VALUES (6, 'test2', 'testrole2', NULL, '2023-08-08 20:19:21'); +INSERT INTO `user_role` VALUES (7, 'test2 ', 'testrole1', NULL, '2023-08-08 23:57:15'); +INSERT INTO `user_role` VALUES (8, 'test1', 'testrole1', NULL, '2023-08-08 23:57:15'); +INSERT INTO `user_role` VALUES (9, 'admin', 'admin', NULL, '2023-08-09 20:09:47'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade/upgrade.sql b/database/upgrade/upgrade.sql new file mode 100644 index 00000000..c7a997b5 --- /dev/null +++ b/database/upgrade/upgrade.sql @@ -0,0 +1,13 @@ +DROP TRIGGER IF EXISTS `tg_account_menu`; +ALTER TABLE `omc_db`.`gold_kpi` +MODIFY COLUMN `value` bigint NULL DEFAULT 0 AFTER `kpi_id`; +ALTER TABLE `omc_db`.`user` +DROP INDEX IF EXISTS `account_id`, +DROP INDEX IF EXISTS `idx_uni_user_acc_id`, +ADD UNIQUE INDEX `idx_uni_user_acc_id`(`account_id`) USING BTREE; +ALTER TABLE `omc_db`.`ne_link` DROP INDEX IF EXISTS `idx_netype_neid`; +ALTER TABLE `omc_db`.`user` +MODIFY COLUMN `password_expiration` date NULL DEFAULT NULL AFTER `change_password_flag`, +MODIFY COLUMN `user_expiration` date NULL DEFAULT NULL AFTER `status`; +ALTER TABLE `omc_db`.`config` +ADD COLUMN IF NOT EXISTS `comment` varchar(255) NULL AFTER `update_time`; diff --git a/database/upgrade0719/alarm_define.sql b/database/upgrade0719/alarm_define.sql new file mode 100644 index 00000000..e18aed10 --- /dev/null +++ b/database/upgrade0719/alarm_define.sql @@ -0,0 +1,52 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 25/07/2023 11:13:16 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for alarm_define +-- ---------------------------- +DROP TABLE IF EXISTS `alarm_define`; +CREATE TABLE `alarm_define` ( + `alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `alarm_code` int(11) NULL DEFAULT NULL, + `alarm_title_cn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `orig_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Warning' COMMENT 'Critical, Major, Minor, Warning, Event(Only VNF)', + `object_uid` varchar(28) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0', + `object_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `location_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `specific_problem` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `specific_problem_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `add_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `threshold` bigint(20) NULL DEFAULT NULL, + `status` enum('Inactive','Active') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Active', + PRIMARY KEY (`alarm_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of alarm_define +-- ---------------------------- +INSERT INTO `alarm_define` VALUES ('RJHXEMSCM10100', 10100, 'License即将过期', 'The license is about to expire', 'EMS', 'EnvironmentalAlarm', 'Warning', NULL, 'EMS;CM;License', 'CM', '', 'Alarm cause: the license expiration time is less than %d days', 'AC10100', '', 15, 'Active'); +INSERT INTO `alarm_define` VALUES ('RJHXEMSPM10200', 10200, '性能越限', 'Performance exceeds the threshold', 'EMS', 'QualityOfServiceAlarm', 'Warning', NULL, 'EMS;PM', 'PM', '', 'Alarm cause: performance exceed threshold, alarm generate from omc', 'AC10200', '', NULL, 'Active'); +INSERT INTO `alarm_define` VALUES ('RJHXEMSSM10000', 10000, '系统状态异常', 'The system state is abnormal', 'EMS', 'EquipmentAlarm', 'Major', NULL, 'EMS;SystemManagement;Heartbeat', 'SystemState', '', 'Alarm cause: the system state of target NE has not been received for %d seconds', 'AC10000', '', 30, 'Active'); +INSERT INTO `alarm_define` VALUES ('RJHXEMSSM10001', 10001, 'CPU占用率越限', 'CPU usage exceeds the threshold', 'EMS', 'EnvironmentalAlarm', 'Minor', NULL, 'EMS;SystemManagement;Heartbeat', 'SystemState', '', 'Alarm cause: the CPU occupancy rate of the target NE exceeds %d', 'AC10001', '', 70, 'Active'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/alarm_log.sql b/database/upgrade0719/alarm_log.sql new file mode 100644 index 00000000..49013f2c --- /dev/null +++ b/database/upgrade0719/alarm_log.sql @@ -0,0 +1,9 @@ + +ALTER TABLE `omc_db`.`alarm_log` +MODIFY COLUMN `log_time` datetime NOT NULL DEFAULT current_timestamp() AFTER `event_time`; + +UPDATE `omc_db`.`alarm_log` +SET event_time = STR_TO_DATE(SUBSTRING_INDEX(CONVERT_TZ(SUBSTRING_INDEX(event_time, '+', 1), '+08:00', CONCAT('+', SUBSTRING_INDEX(event_time, '+', -1))), '.', 1), '%Y-%m-%d %H:%i:%s'); + +ALTER TABLE `omc_db`.`alarm_log` +MODIFY COLUMN `event_time` datetime NULL DEFAULT NULL AFTER `alarm_status`; \ No newline at end of file diff --git a/database/upgrade0719/alarm_up0719.sql b/database/upgrade0719/alarm_up0719.sql new file mode 100644 index 00000000..52fef5b8 --- /dev/null +++ b/database/upgrade0719/alarm_up0719.sql @@ -0,0 +1,11 @@ +UPDATE `omc_db`.`alarm` +SET event_time = STR_TO_DATE(SUBSTRING_INDEX(CONVERT_TZ(SUBSTRING_INDEX(event_time, '+', 1), '+08:00', CONCAT('+', SUBSTRING_INDEX(event_time, '+', -1))), '.', 1), '%Y-%m-%d %H:%i:%s'); +ALTER TABLE `omc_db`.`alarm` +MODIFY COLUMN `event_time` datetime NULL DEFAULT NULL AFTER `alarm_code`; +ALTER TABLE `omc_db`.`alarm` +MODIFY COLUMN `orig_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Minor' COMMENT '1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)' AFTER `alarm_type`, +ADD COLUMN `perceived_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)' AFTER `orig_severity`, +ADD COLUMN `clear_user` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL AFTER `clear_time`, +DROP INDEX `idx_uni_aid_ne_aseq`, +ADD UNIQUE INDEX `idx_uni_aid_ne_aseq`(`ne_type`, `ne_id`, `alarm_id`, `alarm_seq`) USING BTREE, +ADD INDEX `idx_event_time`(`event_time`) USING BTREE; diff --git a/database/upgrade0719/config.sql b/database/upgrade0719/config.sql new file mode 100644 index 00000000..1a166bc5 --- /dev/null +++ b/database/upgrade0719/config.sql @@ -0,0 +1,46 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 28/07/2023 00:25:12 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for config +-- ---------------------------- +DROP TABLE IF EXISTS `config`; +CREATE TABLE `config` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `module_name` varchar(32) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL, + `config_tag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `title_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `value` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL, + `value_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of config +-- ---------------------------- +INSERT INTO `config` VALUES (1, 'Alarm', 'historyDuration', '{\"cn\": \"历史告警保留时间间隔(天)\", \"en\": \"History alarm duration(day)\"}', '90', NULL, '2023-07-25 20:41:18'); +INSERT INTO `config` VALUES (2, 'LOG', 'logDuration', '{\"cn\": \"日志保留时间(天)\", \"en\": \"Log saved duration(day)\"}', '90', NULL, '2023-05-08 17:40:28'); +INSERT INTO `config` VALUES (3, 'LOG', 'logCapacity', '{\"cn\": \"日志占用空间(MB)\", \"en\": \"Log occupation space(MB)\"}', '1321', NULL, '2023-04-22 11:06:42'); +INSERT INTO `config` VALUES (4, 'PM', 'pmBackupTask', '{\"cn\": \"性能数据报表定期备份(天)\", \"en\": \"PM data backup task(day)\"}', '1', NULL, '2023-07-07 14:09:55'); +INSERT INTO `config` VALUES (5, 'Alarm', 'syncTaskPeriod', '{\"cn\": \"告警同步周期时长(小时)\", \"en\": \"Alarm sync task period(小时)\"}', '24', NULL, '2023-07-25 20:41:18'); +INSERT INTO `config` VALUES (6, 'Alarm', 'displayFilter', '{\"cn\": \"告警显示过滤设置\", \"en\": \"Alarm filter setting\"}', '', '{}', '2023-07-27 15:02:23'); +INSERT INTO `config` VALUES (7, 'Alarm', 'autoAlarmAck', '{\"cn\": \"告警自动确认设置\", \"en\": \"Alarm automatic ack setting\"}', '', '{}', '2023-07-28 00:24:30'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/group.sql b/database/upgrade0719/group.sql new file mode 100644 index 00000000..5775a3e2 --- /dev/null +++ b/database/upgrade0719/group.sql @@ -0,0 +1,54 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 15/07/2023 15:38:58 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for group +-- ---------------------------- +DROP TABLE IF EXISTS `group`; +CREATE TABLE `group` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `menu_id` int(11) NULL DEFAULT NULL, + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `create_time` datetime NULL DEFAULT current_timestamp(), + INDEX `fk_account_id`(`id`) USING BTREE, + INDEX `fk_menu_id`(`name`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of group +-- ---------------------------- +INSERT INTO `group` VALUES (1, 'admin', NULL, '', '2023-05-13 11:04:54'); +INSERT INTO `group` VALUES (4, 'user', NULL, NULL, '2023-05-16 22:48:46'); +INSERT INTO `group` VALUES (3, 'audit', NULL, NULL, '2023-05-16 22:48:54'); +INSERT INTO `group` VALUES (2, 'operator', NULL, NULL, '2023-05-16 22:49:42'); +INSERT INTO `group` VALUES (5, 'oss', NULL, NULL, '2023-05-16 22:54:50'); + +-- ---------------------------- +-- Triggers structure for table group +-- ---------------------------- +DROP TRIGGER IF EXISTS `tg_account_menu`; +delimiter ;; +CREATE TRIGGER `tg_account_menu` AFTER INSERT ON `group` FOR EACH ROW BEGIN + call func_account_menu(16); +END +;; +delimiter ; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/kpi_title.sql b/database/upgrade0719/kpi_title.sql new file mode 100644 index 00000000..832bfcb5 --- /dev/null +++ b/database/upgrade0719/kpi_title.sql @@ -0,0 +1,112 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 25/07/2023 19:53:26 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for kpi_title +-- ---------------------------- +DROP TABLE IF EXISTS `kpi_title`; +CREATE TABLE `kpi_title` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `title_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `cn_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `en_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 77 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of kpi_title +-- ---------------------------- +INSERT INTO `kpi_title` VALUES (1, 'AMF', 'AMF.01', '{\"cn\": \"AMF注册态用户数\", \"en\": \"AMF.RegSub\"}', 'AMF注册态用户数', 'AMF.RegSub'); +INSERT INTO `kpi_title` VALUES (2, 'AMF', 'AMF.02', '{\"cn\": \"AMF初始注册请求次数\", \"en\": \"AMF.AttInitReg\"}', 'AMF初始注册请求次数', 'AMF.AttInitReg'); +INSERT INTO `kpi_title` VALUES (3, 'AMF', 'AMF.03', '{\"cn\": \"AMF初始注册成功次数\", \"en\": \"AMF.SuccInitReg\"}', 'AMF初始注册成功次数', 'AMF.SuccInitReg'); +INSERT INTO `kpi_title` VALUES (4, 'AMF', 'AMF.04', '{\"cn\": \"AMF初始注册失败次数_非法用户\", \"en\": \"AMF.FailedInitReg.3\"}', 'AMF初始注册失败次数_非法用户', 'AMF.FailedInitReg.3'); +INSERT INTO `kpi_title` VALUES (5, 'AMF', 'AMF.05', '{\"cn\": \"AMF初始注册失败次数_PEI不允许\", \"en\": \"AMF.FailedInitReg.5\"}', 'AMF初始注册失败次数_PEI不允许', 'AMF.FailedInitReg.5'); +INSERT INTO `kpi_title` VALUES (6, 'AMF', 'AMF.06', '{\"cn\": \"AMF初始注册失败次数_非法设备\", \"en\": \"AMF.FailedInitReg.6\"}', 'AMF初始注册失败次数_非法设备', 'AMF.FailedInitReg.6'); +INSERT INTO `kpi_title` VALUES (7, 'AMF', 'AMF.07', '{\"cn\": \"AMF初始注册失败次数_5GS服务不允许_用户原因\", \"en\": \"AMF.FailedInitReg.7.User\"}', 'AMF初始注册失败次数_5GS服务不允许_用户原因', 'AMF.FailedInitReg.7.User'); +INSERT INTO `kpi_title` VALUES (8, 'AMF', 'AMF.08', '{\"cn\": \"AMF初始注册失败次数_跟踪区内无合适小区_用户原因\", \"en\": \"AMF.FailedInitReg.15.User\"}', 'AMF初始注册失败次数_跟踪区内无合适小区_用户原因', 'AMF.FailedInitReg.15.User'); +INSERT INTO `kpi_title` VALUES (9, 'AMF', 'AMF.09', '{\"cn\": \"AMF初始注册失败次数_N1模式不允许\", \"en\": \"AMF.FailedInitReg.27\"}', 'AMF初始注册失败次数_N1模式不允许', 'AMF.FailedInitReg.27'); +INSERT INTO `kpi_title` VALUES (10, 'AMF', 'AMF.10', '{\"cn\": \"AMF初始注册失败次数_PLMN不允许\", \"en\": \"AMF.FailedInitReg.11\"}', 'AMF初始注册失败次数_PLMN不允许', 'AMF.FailedInitReg.11'); +INSERT INTO `kpi_title` VALUES (11, 'AMF', 'AMF.11', '{\"cn\": \"AMF初始注册失败次数_跟踪区不允许\", \"en\": \"AMF.FailedInitReg.12\"}', 'AMF初始注册失败次数_跟踪区不允许', 'AMF.FailedInitReg.12'); +INSERT INTO `kpi_title` VALUES (12, 'AMF', 'AMF.12', '{\"cn\": \"AMF初始注册失败次数_漫游跟踪区禁止接入\", \"en\": \"AMF.FailedInitReg.13\"}', 'AMF初始注册失败次数_漫游跟踪区禁止接入', 'AMF.FailedInitReg.13'); +INSERT INTO `kpi_title` VALUES (13, 'AMF', 'AMF.13', '{\"cn\": \"AMF初始注册失败次数_无可用网络切片\", \"en\": \"AMF.FailedInitReg.62\"}', 'AMF初始注册失败次数_无可用网络切片', 'AMF.FailedInitReg.62'); +INSERT INTO `kpi_title` VALUES (14, 'AMF', 'AMF.14', '{\"cn\": \"AMF初始注册失败次数_协议错误_用户原因\", \"en\": \"AMF.FailedInitReg.111.User\"}', 'AMF初始注册失败次数_协议错误_用户原因', 'AMF.FailedInitReg.111.User'); +INSERT INTO `kpi_title` VALUES (15, 'AMF', 'AMF.15', '{\"cn\": \"AMF一次寻呼响应次数\", \"en\": \"AMF.FirstPagingSucc\"}', 'AMF一次寻呼响应次数', 'AMF.FirstPagingSucc'); +INSERT INTO `kpi_title` VALUES (16, 'AMF', 'AMF.16', '{\"cn\": \"AMF二次寻呼响应次数\", \"en\": \"AMF.SecondPagingSucc\"}', 'AMF二次寻呼响应次数', 'AMF.SecondPagingSucc'); +INSERT INTO `kpi_title` VALUES (17, 'AMF', 'AMF.17', '{\"cn\": \"AMF寻呼请求次数\", \"en\": \"AMF.PagAtt\"}', 'AMF寻呼请求次数', 'AMF.PagAtt'); +INSERT INTO `kpi_title` VALUES (18, 'AMF', 'AMF.18', '{\"cn\": \"AMF业务请求被拒次数\", \"en\": \"AMF.FailServiceReq\"}', 'AMF业务请求被拒次数', 'AMF.FailServiceReq'); +INSERT INTO `kpi_title` VALUES (19, 'AMF', 'AMF.19', '{\"cn\": \"AMF业务请求尝试次数\", \"en\": \"AMF.AttServiceReq\"}', 'AMF业务请求尝试次数', 'AMF.AttServiceReq'); +INSERT INTO `kpi_title` VALUES (21, 'SMF', 'SMF.01', '{\"cn\": \"5G实时PDU会话数\", \"en\": \"SMF.MeanPduSession\"}', '5G实时PDU会话数', 'SMF.MeanPduSession'); +INSERT INTO `kpi_title` VALUES (22, 'SMF', 'SMF.02', '{\"cn\": \"PDU会话建立成功次数\", \"en\": \"SMF.SuccCreatePduSession\"}', 'PDU会话建立成功次数', 'SMF.SuccCreatePduSession'); +INSERT INTO `kpi_title` VALUES (23, 'SMF', 'SMF.03', '{\"cn\": \"PDU会话建立请求次数\", \"en\": \"SMF.AttCreatePduSession\"}', 'PDU会话建立请求次数', 'SMF.AttCreatePduSession'); +INSERT INTO `kpi_title` VALUES (24, 'SMF', 'SMF.04', '{\"cn\": \"IMS PDU会话建立成功次数\", \"en\": \"SMF.SuccCreatePduSession._Ims\"}', 'IMS PDU会话建立成功次数', 'SMF.SuccCreatePduSession._Ims'); +INSERT INTO `kpi_title` VALUES (25, 'SMF', 'SMF.05', '{\"cn\": \"IMS PDU会话建立请求次数\", \"en\": \"SMF.AttCreatePduSession._Ims\"}', 'IMS PDU会话建立请求次数', 'SMF.AttCreatePduSession._Ims'); +INSERT INTO `kpi_title` VALUES (26, 'SMF', 'SMF.06', '{\"cn\": \"EPS-Fallback成功数\", \"en\": \"SMF.SuccSmfModifyBearerResponse.Epsfb\"}', 'EPS-Fallback成功数', 'SMF.SuccSmfModifyBearerResponse.Epsfb'); +INSERT INTO `kpi_title` VALUES (27, 'SMF', 'SMF.07', '{\"cn\": \"EPS-Fallback请求数\", \"en\": \"SMF.AttSmfModifyPduSession.Epsfb\"}', 'EPS-Fallback请求数', 'SMF.AttSmfModifyPduSession.Epsfb'); +INSERT INTO `kpi_title` VALUES (28, 'UDM', 'UDM.01', '{\"cn\": \"5G注册用户数\", \"en\": \"UDR.5gActSub\"}', '5G注册用户数', 'UDR.5gActSub'); +INSERT INTO `kpi_title` VALUES (29, 'UDM', 'UDM.02', '{\"cn\": \"AMF发起的UECM注册请求次数\", \"en\": \"UDM.AmfUecmRegReq\"}', 'AMF发起的UECM注册请求次数', 'UDM.AmfUecmRegReq'); +INSERT INTO `kpi_title` VALUES (30, 'UDM', 'UDM.03', '{\"cn\": \"AMF发起的UECM注册成功次数\", \"en\": \"UDM.AmfUecmRegSucc\"}', 'AMF发起的UECM注册成功次数', 'UDM.AmfUecmRegSucc'); +INSERT INTO `kpi_title` VALUES (31, 'UDM', 'UDM.04', '{\"cn\": \"SMF发起的UECM注册成功次数\", \"en\": \"UDM.SmfUecmRegSucc\"}', 'SMF发起的UECM注册成功次数', 'UDM.SmfUecmRegSucc'); +INSERT INTO `kpi_title` VALUES (32, 'UDM', 'UDM.05', '{\"cn\": \"SMF发起的UECM注册请求次数\", \"en\": \"UDM.SmfUecmRegReq\"}', 'SMF发起的UECM注册请求次数', 'UDM.SmfUecmRegReq'); +INSERT INTO `kpi_title` VALUES (33, 'UDM', 'UDM.06', '{\"cn\": \"4G注册用户数\", \"en\": \"SUB.EpsActSubsInHss\"}', '4G注册用户数', 'SUB.EpsActSubsInHss'); +INSERT INTO `kpi_title` VALUES (34, 'UDM', 'UDM.07', '{\"cn\": \"4G鉴权信息查询成功次数\", \"en\": \"DIAM.AucInfoAnsSucc\"}', '4G鉴权信息查询成功次数', 'DIAM.AucInfoAnsSucc'); +INSERT INTO `kpi_title` VALUES (35, 'UDM', 'UDM.08', '{\"cn\": \"4G鉴权信息查询请求次数\", \"en\": \"DIAM.AucInfoReq\"}', '4G鉴权信息查询请求次数', 'DIAM.AucInfoReq'); +INSERT INTO `kpi_title` VALUES (36, 'UDM', 'UDM.09', '{\"cn\": \"4G更新位置成功次数\", \"en\": \"DIAM.UpdateLocationAnsSucc\"}', '4G更新位置成功次数', 'DIAM.UpdateLocationAnsSucc'); +INSERT INTO `kpi_title` VALUES (37, 'UDM', 'UDM.10', '{\"cn\": \"4G更新位置请求次数\", \"en\": \"DIAM.UpdateLocationReq\"}', '4G更新位置请求次数', 'DIAM.UpdateLocationReq'); +INSERT INTO `kpi_title` VALUES (38, 'UDM', 'UDM.11', '{\"cn\": \"SAR成功响应总次数\", \"en\": \"UR.SuccSAA\"}', 'SAR成功响应总次数', 'UR.SuccSAA'); +INSERT INTO `kpi_title` VALUES (39, 'UDM', 'UDM.12', '{\"cn\": \"SAR请求总次数\", \"en\": \"UR.AttSAR\"}', 'SAR请求总次数', 'UR.AttSAR'); +INSERT INTO `kpi_title` VALUES (40, 'UDM', 'UDM.13', '{\"cn\": \"LIR成功响应总次数\", \"en\": \"LIQ.SuccLIA\"}', 'LIR成功响应总次数', 'LIQ.SuccLIA'); +INSERT INTO `kpi_title` VALUES (41, 'UDM', 'UDM.14', '{\"cn\": \"LIR请求总次数\", \"en\": \"LIQ.AttLIR\"}', 'LIR请求总次数', 'LIQ.AttLIR'); +INSERT INTO `kpi_title` VALUES (42, 'AUSF', 'AUSF.01', '{\"cn\": \"鉴权成功次数\", \"en\": \"Ausf.UeAuthAnsSucc\"}', '鉴权成功次数', 'Ausf.UeAuthAnsSucc'); +INSERT INTO `kpi_title` VALUES (43, 'AUSF', 'AUSF.02', '{\"cn\": \"鉴权请求次数\", \"en\": \"Ausf.UeAuthReq\"}', '鉴权请求次数', 'Ausf.UeAuthReq'); +INSERT INTO `kpi_title` VALUES (64, 'UPF', 'UPF.01', '{\"cn\": \"PFCP会话建立成功次数\", \"en\": \"UPF.PfcpSessionEstabSucc\"}', 'PFCP会话建立成功次数', 'UPF.PfcpSessionEstabSucc'); +INSERT INTO `kpi_title` VALUES (65, 'UPF', 'UPF.02', '{\"cn\": \"PFCP会话建立请求次数\", \"en\": \"UPF.PfcpSessionEstabReq\"}', 'PFCP会话建立请求次数', 'UPF.PfcpSessionEstabReq'); +INSERT INTO `kpi_title` VALUES (66, 'UPF', 'UPF.03', '{\"cn\": \"N6接口上行字节数\", \"en\": \"UPF.N6OgOct\"}', 'N6接口上行字节数', 'UPF.N6OgOct'); +INSERT INTO `kpi_title` VALUES (67, 'UPF', 'UPF.04', '{\"cn\": \"N6接口下行字节数\", \"en\": \"UPF.N6IncOct\"}', 'N6接口下行字节数', 'UPF.N6IncOct'); +INSERT INTO `kpi_title` VALUES (68, 'UPF', 'UPF.05', '{\"cn\": \"N3接口上行字节数\", \"en\": \"UPF.N3OgOct\"}', 'N3接口上行字节数', 'UPF.N3OgOct'); +INSERT INTO `kpi_title` VALUES (69, 'UPF', 'UPF.06', '{\"cn\": \"N3接口下行字节数\", \"en\": \"UPF.N3IncOct\"}', 'N3接口下行字节数', 'UPF.N3IncOct'); +INSERT INTO `kpi_title` VALUES (70, 'UPF', 'UPF.07', '{\"cn\": \"SGi接口上行字节数\", \"en\": \"IP.PeakThroughputUlSgi\"}', 'SGi接口上行字节数', 'IP.PeakThroughputUlSgi'); +INSERT INTO `kpi_title` VALUES (71, 'UPF', 'UPF.08', '{\"cn\": \"SGi接口下行字节数\", \"en\": \"IP.PeakThroughputDlSgi\"}', 'SGi接口下行字节数', 'IP.PeakThroughputDlSgi'); +INSERT INTO `kpi_title` VALUES (72, 'UPF', 'UPF.09', '{\"cn\": \"S1-U接口上行字节数\", \"en\": \"GTP.OutOctS1uSgw\"}', 'S1-U接口上行字节数', 'GTP.OutOctS1uSgw'); +INSERT INTO `kpi_title` VALUES (73, 'UPF', 'UPF.10', '{\"cn\": \"S1-U接口下行字节数\", \"en\": \"GTP.IncOctS1uSgw\"}', 'S1-U接口下行字节数', 'GTP.IncOctS1uSgw'); +INSERT INTO `kpi_title` VALUES (74, 'AMF', 'AMF.20', '{\"cn\": \"EPS在线用户数\", \"en\": \"SUB.NbrSub.EcmIdle+SUB.NbrSub.EcmConnected\"}', 'EPS在线用户数', 'SUB.NbrSub.EcmIdle+SUB.NbrSub.EcmConnected'); +INSERT INTO `kpi_title` VALUES (75, 'AMF', 'AMF.21', '{\"cn\": \"EPS附着成功次数\", \"en\": \"MM.SuccEpsAttach\"}', 'EPS附着成功次数', 'MM.SuccEpsAttach'); +INSERT INTO `kpi_title` VALUES (76, 'AMF', 'AMF.22', '{\"cn\": \"EPS附着请求次数\", \"en\": \"MM.AttEpsAttach\"}', 'EPS附着请求次数', 'MM.AttEpsAttach'); +INSERT INTO `kpi_title` VALUES (77, 'AMF', 'AMF.23', '{\"cn\": \"EPS附着失败次数_非法用户\", \"en\": \"MM.FailedEpsAttach.3\"}', 'EPS附着失败次数_非法用户', 'MM.FailedEpsAttach.3'); +INSERT INTO `kpi_title` VALUES (78, 'AMF', 'AMF.24', '{\"cn\": \"EPS附着失败次数_非法终端\", \"en\": \"MM.FailedEpsAttach.5\"}', 'EPS附着失败次数_非法终端', 'MM.FailedEpsAttach.5'); +INSERT INTO `kpi_title` VALUES (79, 'AMF', 'AMF.25', '{\"cn\": \"EPS附着失败次数_非法ME\", \"en\": \"MM.FailedEpsAttach.6\"}', 'EPS附着失败次数_非法ME', 'MM.FailedEpsAttach.6'); +INSERT INTO `kpi_title` VALUES (80, 'AMF', 'AMF.26', '{\"cn\": \"EPS附着失败次数_EPS服务不允许_用户原因\", \"en\": \"MM.FailedEpsAttach.7.User\"}', 'EPS附着失败次数_EPS服务不允许_用户原因', 'MM.FailedEpsAttach.7.User'); +INSERT INTO `kpi_title` VALUES (81, 'AMF', 'AMF.27', '{\"cn\": \"EPS附着失败次数_EPS和非EPS服务不允许\", \"en\": \"MM.FailedEpsAttach.8\"}', 'EPS附着失败次数_EPS和非EPS服务不允许', 'MM.FailedEpsAttach.8'); +INSERT INTO `kpi_title` VALUES (82, 'AMF', 'AMF.28', '{\"cn\": \"EPS附着失败次数_跟踪区内无合适小区_用户原因\", \"en\": \"MM.FailedEpsAttach.15.User\"}', 'EPS附着失败次数_跟踪区内无合适小区_用户原因', 'MM.FailedEpsAttach.15.User'); +INSERT INTO `kpi_title` VALUES (83, 'AMF', 'AMF.29', '{\"cn\": \"EPS附着失败次数_ESM失败_用户原因\", \"en\": \"MM.FailedEpsAttach.19.User\"}', 'EPS附着失败次数_ESM失败_用户原因', 'MM.FailedEpsAttach.19.User'); +INSERT INTO `kpi_title` VALUES (84, 'AMF', 'AMF.30', '{\"cn\": \"MME一次寻呼响应次数\", \"en\": \"MM.FirstPagingSucc\"}', 'MME一次寻呼响应次数', 'MM.FirstPagingSucc'); +INSERT INTO `kpi_title` VALUES (85, 'AMF', 'AMF.31', '{\"cn\": \"MME二次寻呼响应次数\", \"en\": \"MM.SecondPagingSucc\"}', 'MME二次寻呼响应次数', 'MM.SecondPagingSucc'); +INSERT INTO `kpi_title` VALUES (86, 'AMF', 'AMF.32', '{\"cn\": \"MME寻呼请求次数\", \"en\": \"MM.PagAtt\"}', 'MME寻呼请求次数', 'MM.PagAtt'); + +INSERT INTO `kpi_title` VALUES (87, 'SMF', 'SMF.08', '{\"cn\": \"4G在线会话数\", \"en\": \"SM.MeanNbrBearerPgw.Default\"}', '4G在线会话数', 'SM.MeanNbrBearerPgw.Default'); +INSERT INTO `kpi_title` VALUES (88, 'SMF', 'SMF.09', '{\"cn\": \"PGW缺省承载建立成功个数\", \"en\": \"SM.SuccCreateDefaultEpsBearer\"}', 'PGW缺省承载建立成功个数', 'SM.SuccCreateDefaultEpsBearer'); +INSERT INTO `kpi_title` VALUES (89, 'SMF', 'SMF.10', '{\"cn\": \"PGW缺省承载建立请求个数\", \"en\": \"SM.AttCreateDefaultEpsBearer\"}', 'PGW缺省承载建立请求个数', 'SM.AttCreateDefaultEpsBearer'); +INSERT INTO `kpi_title` VALUES (90, 'SMF', 'SMF.11', '{\"cn\": \"PGW专用承载建立成功个数\", \"en\": \"SM.SuccCreateDedicatedEpsBearer\"}', 'PGW专用承载建立成功个数', 'SM.SuccCreateDedicatedEpsBearer'); +INSERT INTO `kpi_title` VALUES (91, 'SMF', 'SMF.12', '{\"cn\": \"PGW专用承载建立请求个数\", \"en\": \"SM.AttCreateDedicatedEpsBearer\"}', 'PGW专用承载建立请求个数', 'SM.AttCreateDedicatedEpsBearer'); +INSERT INTO `kpi_title` VALUES (92, 'SMF', 'SMF.13', '{\"cn\": \"IMS缺省承载成功建立个数\", \"en\": \"SM.SuccCreateDefaultEpsBearer._Ims\"}', 'IMS缺省承载成功建立个数', 'SM.SuccCreateDefaultEpsBearer._Ims'); +INSERT INTO `kpi_title` VALUES (93, 'SMF', 'SMF.14', '{\"cn\": \"IMS缺省承载请求建立个数\", \"en\": \"SM.AttCreateDefaultEpsBearer._Ims\"}', 'IMS缺省承载请求建立个数', 'SM.AttCreateDefaultEpsBearer._Ims'); + + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/measure_threshold.sql b/database/upgrade0719/measure_threshold.sql new file mode 100644 index 00000000..e48f0ce5 --- /dev/null +++ b/database/upgrade0719/measure_threshold.sql @@ -0,0 +1,6 @@ + +UPDATE `omc_db`.`measure_threshold` SET `alarm_id`='RJHXEMSPM10200'; +ALTER TABLE `omc_db`.`measure_threshold` +MODIFY COLUMN `alarm_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'RJHXEMSPM10200' AFTER `orig_severity`; +ALTER TABLE `omc_db`.`measure_threshold` +ADD COLUMN `alarm_flag` bool DEFAULT false AFTER `alarm_id`; \ No newline at end of file diff --git a/database/upgrade0719/menu.sql b/database/upgrade0719/menu.sql new file mode 100644 index 00000000..b5891098 --- /dev/null +++ b/database/upgrade0719/menu.sql @@ -0,0 +1,60 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 20/07/2023 16:35:32 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for menu +-- ---------------------------- +DROP TABLE IF EXISTS `menu`; +CREATE TABLE `menu` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `group_name` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `menu_tag` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `sort_id` int(11) NULL DEFAULT NULL, + `lang_tag` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `menu_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of menu +-- ---------------------------- +INSERT INTO `menu` VALUES (1, 'admin', 'topologyManagement', 1, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [\r\n {\r\n \"id\": 3,\r\n \"href\": \"page/main/main.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/system/performanceCount.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"运行统计\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"系统状态\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (2, 'admin', 'faultManagement', 2, 'cn', '{\r\n \"id\": 1,\r\n \"href\": \"\",\r\n \"icon\": \"fa fa-wrench\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/alarm/alarmListDown.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"活动告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/alarm/AlarmListHistory.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"历史告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/alarm/alarmInfoConfig.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"故障管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (3, 'admin', 'systemManagement', 3, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-pencil-square-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/nfManage/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/configParam/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"参数配置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/softwareManage/softwareManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"软件管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/softwareManage/backupManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"备份管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"配置管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (4, 'admin', 'performanceManagement', 4, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-line-chart\",\r\n \"child\": [{\r\n \"id\": 1,\r\n \"href\": \"page/task/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 2,\r\n \"href\": \"page/repair/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能数据\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/task/perfReport.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能报表\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/task/threshold.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能门限\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 6,\r\n \"href\": \"page/gold/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"黄金指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 7,\r\n \"href\": \"page/task/perfReportSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"报表设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"性能管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (5, 'admin', 'operationMaintenance', 5, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"操作维护\",\r\n \"icon\": \"fa fa-gear\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [\r\n\r\n {\r\n \"id\": 2,\r\n \"title\": \"系统操作MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"用户数据MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/udmList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (6, 'admin', 'trackManagement', 8, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"跟踪管理\",\r\n \"icon\": \"fa fa-home\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [{\r\n \"id\": 2,\r\n \"title\": \"跟踪任务\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/trace/taskList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"信令分析\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"dormitoryset/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (7, 'admin', 'logManagement', 6, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-newspaper-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/log/operLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"操作日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/log/alarmLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/log/logSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"日志设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"日志管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n\r\n}'); +INSERT INTO `menu` VALUES (8, 'admin', 'securityManagement', 7, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-users\",\r\n \"child\": [\r\n {\r\n \"id\": 2,\r\n \"href\": \"page/user/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"用户管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"安全管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (18, 'operator', 'topologyManagement', 1, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [\r\n {\r\n \"id\": 3,\r\n \"href\": \"page/main.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/system/performanceCount.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"运行统计\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"系统状态\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (19, 'operator', 'faultManagement', 2, 'cn', '{\r\n \"id\": 1,\r\n \"href\": \"\",\r\n \"icon\": \"fa fa-wrench\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/alarm/alarmListDown.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"活动告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/alarm/AlarmListHistory.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"历史告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/alarm/alarmInfoConfig.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"故障管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (20, 'operator', 'systemManagement', 3, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-pencil-square-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/nfManage/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"dormitoryset/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"参数配置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/softwareManage/softwareManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"软件管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 5,\r\n \"href\": \"page/softwareManage/backupManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"备份管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"配置管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (21, 'operator', 'performanceManagement', 4, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-line-chart\",\r\n \"child\": [{\r\n \"id\": 1,\r\n \"href\": \"page/task/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 2,\r\n \"href\": \"page/repair/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能数据\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/task/perfReport.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能报表\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/task/threshold.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能门限\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 6,\r\n \"href\": \"page/gold/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"黄金指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 7,\r\n \"href\": \"page/task/perfReportSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"报表设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"性能管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (22, 'operator', 'operationMaintenance', 5, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"操作维护\",\r\n \"icon\": \"fa fa-gear\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [\r\n\r\n {\r\n \"id\": 2,\r\n \"title\": \"系统操作MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"用户数据MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/udmList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (23, 'operator', 'logManagement', 6, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"跟踪管理\",\r\n \"icon\": \"fa fa-home\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [{\r\n \"id\": 2,\r\n \"title\": \"跟踪任务\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/trace/taskList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"信令分析\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"dormitoryset/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (24, 'operator', 'securityManagement', 7, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-newspaper-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/log/operLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"操作日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/log/alarmLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/log/logSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"日志设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"日志管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n\r\n}'); +INSERT INTO `menu` VALUES (25, 'user', 'topologyManagement', 1, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [\r\n {\r\n \"id\": 3,\r\n \"href\": \"page/main.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/system/performanceCount.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"运行统计\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"系统状态\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (26, 'user', 'faultManagement', 2, 'cn', '{\r\n \"id\": 1,\r\n \"href\": \"\",\r\n \"icon\": \"fa fa-wrench\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/alarm/alarmListDown.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"活动告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/alarm/AlarmListHistory.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"历史告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/alarm/alarmInfoConfig.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"故障管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (27, 'user', 'systemManagement', 3, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-pencil-square-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/nfManage/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"dormitoryset/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"参数配置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/softwareManage/softwareManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"软件管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 5,\r\n \"href\": \"page/softwareManage/backupManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"备份管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"配置管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (28, 'user', 'performanceManagement', 4, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-line-chart\",\r\n \"child\": [{\r\n \"id\": 1,\r\n \"href\": \"page/task/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 2,\r\n \"href\": \"page/repair/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能数据\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/task/perfReport.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能报表\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/task/threshold.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能门限\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 6,\r\n \"href\": \"page/gold/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"黄金指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 7,\r\n \"href\": \"page/task/perfReportSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"报表设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"性能管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (29, 'user', 'operationMaintenance', 5, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"操作维护\",\r\n \"icon\": \"fa fa-gear\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [\r\n\r\n {\r\n \"id\": 2,\r\n \"title\": \"系统操作MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"用户数据MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/udmList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (30, 'user', 'logManagement', 6, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"跟踪管理\",\r\n \"icon\": \"fa fa-home\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [{\r\n \"id\": 2,\r\n \"title\": \"跟踪任务\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/trace/taskList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"信令分析\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"dormitoryset/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (31, 'user', 'securityManagement', 7, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-newspaper-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/log/operLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"操作日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/log/alarmLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/log/logSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"日志设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"日志管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n\r\n}'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/mml_command.sql b/database/upgrade0719/mml_command.sql new file mode 100644 index 00000000..195e7c59 --- /dev/null +++ b/database/upgrade0719/mml_command.sql @@ -0,0 +1,41 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 15/07/2023 15:29:28 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mml_command +-- ---------------------------- +DROP TABLE IF EXISTS `mml_command`; +CREATE TABLE `mml_command` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `cat_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `operation` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `mml_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `param_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 513 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of mml_command +-- ---------------------------- + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/mml_subscriber.sql b/database/upgrade0719/mml_subscriber.sql new file mode 100644 index 00000000..5356dedc --- /dev/null +++ b/database/upgrade0719/mml_subscriber.sql @@ -0,0 +1,60 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 22/07/2023 15:06:12 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mml_subscriber +-- ---------------------------- +DROP TABLE IF EXISTS `mml_subscriber`; +CREATE TABLE `mml_subscriber` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `cat_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `operation` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `mml_display` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `param_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 234 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of mml_subscriber +-- ---------------------------- +INSERT INTO `mml_subscriber` VALUES (206, 'UDM', 'subscriberManagement', 'Subcriber Management', 'export', 'udmuser', 'Export Subscriber Data to File', '[{\"comment\":\"\",\"display\":\"Path file\",\"filter\":\"\",\"name\":\"file\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (216, 'UDM', 'authdataManagement', 'Authentication Data Management', 'dsp', 'authdat', 'Display Auth Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (217, 'UDM', 'authdataManagement', 'Authentication Data Management', 'add', 'authdat', 'Add Auth Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Ki\",\"filter\":\"\",\"name\":\"ki\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"AMF\",\"filter\":\"\",\"name\":\"amf\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Algo\",\"filter\":\"\",\"name\":\"algo\",\"optional\":\"false\",\"type\":\"\"},{\"comment\":\"\",\"display\":\"OPC\",\"filter\":\"\",\"name\":\"opc\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (218, 'UDM', 'authdataManagement', 'Authentication Data Management', 'del', 'authdat', 'Delete Auth Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (219, 'UDM', 'authdataManagement', 'Authentication Data Management', 'bat', 'authdat', 'Batch Add Auth Data', '[{\"comment\":\"\",\"display\":\"Starting IMSI\",\"filter\":\"\",\"name\":\"start_imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"auth data number\",\"filter\":\"\",\"name\":\"sub_num\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Ki\",\"filter\":\"\",\"name\":\"ki\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"AMF\",\"filter\":\"\",\"name\":\"amf\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Algo\",\"filter\":\"\",\"name\":\"algo\",\"optional\":\"false\",\"type\":\"\"}]'); +INSERT INTO `mml_subscriber` VALUES (220, 'UDM', 'authdataManagement', 'Authentication Data Management', 'bde', 'authdat', 'Batch Delete Auth Data', '[{\"comment\":\"\",\"display\":\"Starting IMSI\",\"filter\":\"\",\"name\":\"start_imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"auth data number\",\"filter\":\"\",\"name\":\"sub_num\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_subscriber` VALUES (221, 'UDM', 'authdataManagement', 'Authentication Data Management', 'import', 'authdat', 'Import Auth Data From File', '[{\"comment\":\"\",\"display\":\"Path file\",\"filter\":\"\",\"name\":\"file\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (222, 'UDM', 'authdataManagement', 'Authentication Data Management', 'export', 'authdat', 'Export Auth Data to File', '[{\"comment\":\"\",\"display\":\"Path file\",\"filter\":\"\",\"name\":\"file\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (223, 'UDM', 'subscriberManagement', 'Subcriber Management', 'dsp', 'udmuser', 'Display UDM Subscriber', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (224, 'UDM', 'subscriberManagement', 'Subcriber Management', 'add', 'udmuser', 'Add UDM Subscriber', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"MSISDN\",\"filter\":\"\",\"name\":\"msisdn\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"AMBR\",\"filter\":\"\",\"name\":\"ambr\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Nssai\",\"filter\":\"\",\"name\":\"nssai\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Arfb\",\"filter\":\"\",\"name\":\"arfb\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SAR\",\"filter\":\"\",\"name\":\"sar\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"RAT\",\"filter\":\"\",\"name\":\"rat\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"CN\",\"filter\":\"\",\"name\":\"cn\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SMF_sel\",\"filter\":\"\",\"name\":\"smf_sel\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SM_data\",\"filter\":\"\",\"name\":\"sm_data\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (225, 'UDM', 'subscriberManagement', 'Subcriber Management', 'del', 'udmuser', 'Delete Subscriber Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (226, 'UDM', 'subscriberManagement', 'Subcriber Management', 'mod', 'udmuser', 'Modify Subscriber Data', '[{\"c1omment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"MSISDN\",\"filter\":\"\",\"name\":\"msisdn\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"AMBR\",\"filter\":\"\",\"name\":\"ambr\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Nssai\",\"filter\":\"\",\"name\":\"nssai\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Arfb\",\"filter\":\"\",\"name\":\"arfb\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SAR\",\"filter\":\"\",\"name\":\"sar\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"RAT\",\"filter\":\"\",\"name\":\"rat\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"CN\",\"filter\":\"\",\"name\":\"cn\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SMF_sel\",\"filter\":\"\",\"name\":\"smf_sel\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SM_data\",\"filter\":\"\",\"name\":\"sm_data\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (227, 'UDM', 'subscriberManagement', 'Subcriber Management', 'bat', 'udmuser', 'Batch Add UDM Subscriber', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"start_imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"MSISDN\",\"filter\":\"\",\"name\":\"start_msisdn\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"subscriber number\",\"filter\":\"\",\"name\":\"sub_num\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"AMBR\",\"filter\":\"\",\"name\":\"ambr\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Nssai\",\"filter\":\"\",\"name\":\"nssai\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Arfb\",\"filter\":\"\",\"name\":\"arfb\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SAR\",\"filter\":\"\",\"name\":\"sar\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"RAT\",\"filter\":\"\",\"name\":\"rat\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"CN\",\"filter\":\"\",\"name\":\"cn\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SMF_sel\",\"filter\":\"\",\"name\":\"smf_sel\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SM_data\",\"filter\":\"\",\"name\":\"sm_data\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (228, 'UDM', 'subscriberManagement', 'Subcriber Management', 'bde', 'udmuser', 'Batch Delete Subscriber Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"start_imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Subcribers number\",\"filter\":\"\",\"name\":\"sub_num\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (229, 'UDM', 'subscriberManagement', 'Subcriber Management', 'bmd', 'udmuser', 'Batch Modify Subscriber Data', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"start_imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Subcribers number\",\"filter\":\"\",\"name\":\"sub_num\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SM_data\",\"filter\":\"\",\"name\":\"sm_data\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (230, 'UDM', 'subscriberManagement', 'Subcriber Management', 'import', 'udmuser', 'Import Subscriber Data From File', '[{\"comment\":\"\",\"display\":\"Path file\",\"filter\":\"\",\"name\":\"file\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (231, 'UDM', 'subscriberManagement', 'Subcriber Management', 'upload', 'udmuser', 'Upload Subscriber Data', '[{\"comment\":\"\",\"display\":\"Path file\",\"filter\":\"\",\"name\":\"file\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_subscriber` VALUES (232, 'UDM', 'subscriberManagement', 'Subcriber Management', 'sync', 'start', 'Sync UDM Data From Public UDM', 'null'); +INSERT INTO `mml_subscriber` VALUES (233, 'UDM', 'subscriberManagement', 'Subcriber Management', 'sync', 'state', 'Query State of Sync Task', 'null'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/mml_system.sql b/database/upgrade0719/mml_system.sql new file mode 100644 index 00000000..7c1687ca --- /dev/null +++ b/database/upgrade0719/mml_system.sql @@ -0,0 +1,82 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 15/07/2023 15:14:55 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mml_system +-- ---------------------------- +DROP TABLE IF EXISTS `mml_system`; +CREATE TABLE `mml_system` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `cat_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `operation` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `mml_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `param_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 475 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of mml_system +-- ---------------------------- +INSERT INTO `mml_system` VALUES (433, 'AMF', 'systemManagement', 'System Management', 'set', 'n8_ip', 'Set N8 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (434, 'AMF', 'systemManagement', 'System Management', 'set', 'n11_ip', 'Set N11 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (435, 'AMF', 'systemManagement', 'System Management', 'set', 'n12_ip', 'Set N12 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (436, 'AMF', 'systemManagement', 'System Management', 'set', 'n2_ip', 'Set N2 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (437, 'AMF', 'systemManagement', 'System Management', 'set', 'n2_port', 'Set N2 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (438, 'AMF', 'systemManagement', 'System Management', 'add', 'slice', 'Add Slice', '[{\"comment\":\"\",\"display\":\"SST\",\"filter\":\"\",\"name\":\"sst\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SD\",\"filter\":\"\",\"name\":\"sd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (439, 'AMF', 'systemManagement', 'System Management', 'deregister', 'imsi', 'Deregister IMSI', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"IMSI\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (440, 'AMF', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (441, 'SMF', 'systemManagement', 'System Management', 'set', 'n7 server', 'Set N7 Server', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (442, 'SMF', 'systemManagement', 'System Management', 'set', 'n7 client', 'Set N7 Client', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (443, 'SMF', 'systemManagement', 'System Management', 'set', 'n10 server', 'Set N10 Server', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (444, 'SMF', 'systemManagement', 'System Management', 'set', 'n10 client', 'Set N10 Client', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (445, 'SMF', 'systemManagement', 'System Management', 'set', 'n11 server', 'Set N11 Server', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (446, 'SMF', 'systemManagement', 'System Management', 'set', 'n11 client', 'Set N11 Client', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (447, 'SMF', 'systemManagement', 'System Management', 'set', 'dnn', 'Set DNN', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"DNN\",\"filter\":\"\",\"name\":\"DNN\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (449, 'SMF', 'systemManagement', 'System Management', 'set', 'qos', 'Set Qos', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SD\",\"filter\":\"\",\"name\":\"5qi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"5qipl\",\"filter\":\"\",\"name\":\"5qipl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"arppl\",\"filter\":\"\",\"name\":\"arppl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"arppci\",\"filter\":\"\",\"name\":\"arppci\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"arppvi\",\"filter\":\"\",\"name\":\"arppvi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"mfbrul\",\"filter\":\"\",\"name\":\"mfbrul\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"mfbrdl\",\"filter\":\"\",\"name\":\"mfbrdl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"gfbrul\",\"filter\":\"\",\"name\":\"gfbrul\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"gfbrdl\",\"filter\":\"\",\"name\":\"gfbrdl\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (450, 'SMF', 'systemManagement', 'System Management', 'set', 'snssai', 'Set Snssai', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"display\":\"sst-sd\",\"filter\":\"\",\"name\":\"sst-sd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (451, 'SMF', 'systemManagement', 'System Management', 'release', 'imsi', 'Release IMSI', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"display\":\"PDU Session Id\",\"filter\":\"\",\"name\":\"pduSessId\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (452, 'SMF', 'systemManagement', 'System Management', 'set', 'urr', 'Set URR', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Volume Tatol\",\"filter\":\"\",\"name\":\"quotavolumetatol\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Volume UL\",\"filter\":\"\",\"name\":\"quotavolumeul\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Volume DL\",\"filter\":\"\",\"name\":\"quotavolumedl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Time\",\"filter\":\"\",\"name\":\"quotatime\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (453, 'SMF', 'systemManagement', 'System Management', 'set', 'dpi', 'Set DPI', '[{\"comment\":\"\",\"display\":\"Flag\",\"filter\":\"{\\\"0\\\":\\\"disable\\\", \\\"1\\\":\\\"enable\\\"}\",\"name\":\"flag\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"Max Detect Packet Number\",\"filter\":\"\",\"name\":\"max\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (454, 'SMF', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (455, 'UDM', 'systemManagement', 'System Management', 'set', 'n8ip', 'Set N8 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"ipv4\"}]'); +INSERT INTO `mml_system` VALUES (456, 'UDM', 'systemManagement', 'System Management', 'set', 'n8port', 'Set N8 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"1~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (457, 'UDM', 'systemManagement', 'System Management', 'set', 'n8scheme', 'Set N8 Scheme', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"}]'); +INSERT INTO `mml_system` VALUES (458, 'UDM', 'systemManagement', 'System Management', 'set', 'n10ip', 'Set N10 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (459, 'UDM', 'systemManagement', 'System Management', 'set', 'n10port', 'Set N10 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"1~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (460, 'UDM', 'systemManagement', 'System Management', 'set', 'n10scheme', 'Set N10 Scheme', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"}]'); +INSERT INTO `mml_system` VALUES (461, 'UDM', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (462, 'UDM', 'ausfManagement', 'AUSF Management', 'set', 'n12ip', 'Set N12 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (463, 'UDM', 'ausfManagement', 'AUSF Management', 'set', 'n12port', 'Set N12 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"1~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (464, 'UDM', 'ausfManagement', 'AUSF Management', 'set', 'n12scheme', 'Set N12 Scheme', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"}]'); +INSERT INTO `mml_system` VALUES (465, 'UDM', 'ausfManagement', 'AUSF Management', 'set', 'supirange', 'Set SUPI Range', '[{\"comment\":\"\",\"display\":\"SUPI Range\",\"filter\":\"\",\"name\":\"supirange\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (466, 'UPF', 'systemManagement', 'System Management', 'set', 'n3 driver', 'Set N3 Driver', '[{\"comment\":\"\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"type\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mask\",\"filter\":\"\",\"name\":\"mask\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mac address\",\"filter\":\"\",\"name\":\"mac\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"PCI address\",\"filter\":\"\",\"name\":\"pci\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (467, 'UPF', 'systemManagement', 'System Management', 'set', 'n4 ip', 'Set N4 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (468, 'UPF', 'systemManagement', 'System Management', 'set', 'n6 driver', 'Set N6 Driver', '[{\"comment\":\"\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"type\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mask\",\"filter\":\"\",\"name\":\"mask\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mac address\",\"filter\":\"\",\"name\":\"mac\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"PCI address\",\"filter\":\"\",\"name\":\"pci\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (469, 'UPF', 'systemManagement', 'System Management', 'set', 'n9 driver', 'Set N9 Driver', '[{\"comment\":\"\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"type\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mask\",\"filter\":\"\",\"name\":\"mask\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mac address\",\"filter\":\"\",\"name\":\"mac\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"PCI address\",\"filter\":\"\",\"name\":\"pci\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (470, 'UPF', 'systemManagement', 'System Management', 'set', 'dnn', 'Set DNN', '[{\"comment\":\"\",\"display\":\"DNN\",\"filter\":\"\",\"name\":\"dnn\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (471, 'UPF', 'systemManagement', 'System Management', 'set', 'pfcp', 'Set PFCP', '[{\"comment\":\"\",\"display\":\"Path\",\"filter\":\"\",\"name\":\"path\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Local IP Address\",\"filter\":\"\",\"name\":\"local\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Remote IP Address\",\"filter\":\"\",\"name\":\"remote\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (472, 'UPF', 'systemManagement', 'System Management', 'set', 'qos', 'Set Qos', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"5qi\",\"filter\":\"\",\"name\":\"5qi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Priority Level\",\"filter\":\"\",\"name\":\"priority\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"MBR\",\"filter\":\"\",\"name\":\"mbr\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"GBR\",\"filter\":\"\",\"name\":\"gbr\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (473, 'UPF', 'systemManagement', 'System Management', 'set', 'pccrule', 'Set PCC Rule', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"0~65535\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Precedence\",\"filter\":\"\",\"name\":\"precedence\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"QOS Index\",\"filter\":\"\",\"name\":\"qosindex\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Filter Direction\",\"filter\":\"{\\\"0\\\":\\\"NA\\\", \\\"1\\\":\\\"Uplink\\\", \\\"2\\\":\\\"Downlink\\\", \\\"3\\\":\\\"Bidirectionallink\\\"}\",\"name\":\"direction\",\"optional\":\"true\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Filter\",\"filter\":\"\",\"name\":\"filter\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Application ID\",\"filter\":\"\",\"name\":\"appid\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (474, 'UPF', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/nbi_alarm_log.sql b/database/upgrade0719/nbi_alarm_log.sql new file mode 100644 index 00000000..64da9984 --- /dev/null +++ b/database/upgrade0719/nbi_alarm_log.sql @@ -0,0 +1,39 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 19/07/2023 09:47:26 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for nbi_alarm_log +-- ---------------------------- +DROP TABLE IF EXISTS `nbi_alarm_log`; +CREATE TABLE `nbi_alarm_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `op_user` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `src_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0', + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_seq` int(11) NOT NULL DEFAULT 0, + `alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_code` int(11) NULL DEFAULT 0, + `event_time` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `log_time` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + `a_id` int(11) NOT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2133 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/nbi_operation_log.sql b/database/upgrade0719/nbi_operation_log.sql new file mode 100644 index 00000000..89ffc216 --- /dev/null +++ b/database/upgrade0719/nbi_operation_log.sql @@ -0,0 +1,38 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 15/07/2023 15:16:49 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for nbi_operation_log +-- ---------------------------- +DROP TABLE IF EXISTS `nbi_operation_log`; +CREATE TABLE `nbi_operation_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `src_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_user` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `dst_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_proto` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_result` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `op_time` datetime NULL DEFAULT NULL, + `log_time` datetime NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 145 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/ne_info_up0720.sql b/database/upgrade0719/ne_info_up0720.sql new file mode 100644 index 00000000..0b4a7bee --- /dev/null +++ b/database/upgrade0719/ne_info_up0720.sql @@ -0,0 +1 @@ +ALTER TABLE `omc_db`.`ne_info` DROP COLUMN `user_label`; \ No newline at end of file diff --git a/database/upgrade0719/ne_state_up0725.sql b/database/upgrade0719/ne_state_up0725.sql new file mode 100644 index 00000000..c7ef36b6 --- /dev/null +++ b/database/upgrade0719/ne_state_up0725.sql @@ -0,0 +1 @@ +ALTER TABLE `omc_db`.`ne_state` ADD INDEX `idx_timestamp`(`timestamp`) USING BTREE; \ No newline at end of file diff --git a/database/upgrade0719/operation_log_up0726.sql b/database/upgrade0719/operation_log_up0726.sql new file mode 100644 index 00000000..3970cabc --- /dev/null +++ b/database/upgrade0719/operation_log_up0726.sql @@ -0,0 +1,2 @@ +ALTER TABLE `omc_db`.`operation_log` +ADD COLUMN `log_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP AFTER `vnf_flag`; \ No newline at end of file diff --git a/database/upgrade0719/param_config.sql b/database/upgrade0719/param_config.sql new file mode 100644 index 00000000..6d7e1a9b --- /dev/null +++ b/database/upgrade0719/param_config.sql @@ -0,0 +1,73 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 22/07/2023 15:07:28 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for param_config +-- ---------------------------- +DROP TABLE IF EXISTS `param_config`; +CREATE TABLE `param_config` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `top_tag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `top_display` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `param_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 847 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of param_config +-- ---------------------------- +INSERT INTO `param_config` VALUES (1, 'UPF', '', 'General', 'General', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Config File Directory\",\"filter\":\"\",\"name\":\"ConfigFileDirectory\",\"type\":\"string\",\"value\":\"/usr/local/etc/upf/\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Exe File Directory\",\"filter\":\"\",\"name\":\"ExeFileDirectory\",\"type\":\"string\",\"value\":\"/usr/local/bin/\"},{\"access\":\"read-write\",\"comment\":\"1~255\",\"display\":\"System Id\",\"filter\":\"\",\"name\":\"SystemId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~8\",\"display\":\"Data Forwarder Number\",\"filter\":\"1~8\",\"name\":\"DataForwarderNum\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"Common Statistic Interval\",\"filter\":\"0~255\",\"name\":\"CommonStatisticInterval\",\"type\":\"int\",\"value\":\"60\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"User Statistic Interval\",\"filter\":\"0~255\",\"name\":\"UserStatisticInterval\",\"type\":\"int\",\"value\":\"60\"}]}'); +INSERT INTO `param_config` VALUES (2, 'UPF', '', 'Logger', 'Logger', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Log File Full Path\",\"filter\":\"\",\"name\":\"LogFileFullPath\",\"type\":\"string\",\"value\":\"/var/log/upf.log\"},{\"access\":\"read-write\",\"comment\":\"error|warning|info|debug\",\"display\":\"Log Level\",\"filter\":\"\",\"name\":\"LogLevel\",\"type\":\"string\",\"value\":\"error\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Upfd Log Transfer\",\"filter\":\"\",\"name\":\"UpfdLogTransfer\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Report Caller\",\"filter\":\"\",\"name\":\"ReportCaller\",\"type\":\"bool\",\"value\":\"false\"}]}'); +INSERT INTO `param_config` VALUES (3, 'UPF', '', 'Pfcp', 'Pfcp', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv46\",\"display\":\"Ip Type\",\"filter\":\"\",\"name\":\"IpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv4\",\"filter\":\"\",\"name\":\"LocalIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv6\",\"filter\":\"\",\"name\":\"LocalIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Local Udp Port\",\"filter\":\"0~65535\",\"name\":\"LocalUdpPort\",\"type\":\"int\",\"value\":\"8805\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SMF Ipv4\",\"filter\":\"\",\"name\":\"SmfIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SMF Ipv6\",\"filter\":\"\",\"name\":\"SmfIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"SMF UDP Port\",\"filter\":\"0~65535\",\"name\":\"SmfUdpPort\",\"type\":\"int\",\"value\":\"8805\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"Retry Interval\",\"filter\":\"0~255\",\"name\":\"RetryInterval\",\"type\":\"int\",\"value\":\"2\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"Max Retry\",\"filter\":\"0~255\",\"name\":\"MaxRetry\",\"type\":\"int\",\"value\":\"3\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"Heartbeat Interval\",\"filter\":\"0~255\",\"name\":\"HeartbeatInterval\",\"type\":\"int\",\"value\":\"15\"}]}'); +INSERT INTO `param_config` VALUES (4, 'UPF', '', 'Omc', 'Omc', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Enabled\",\"filter\":\"\",\"name\":\"Enabled\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv46\",\"display\":\"Ip Type\",\"filter\":\"\",\"name\":\"IpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv4\",\"filter\":\"\",\"name\":\"LocalIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv6\",\"filter\":\"\",\"name\":\"LocalIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Local Sever Port\",\"filter\":\"0~65535\",\"name\":\"LocalSeverPort\",\"type\":\"int\",\"value\":\"3030\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"OMC Ipv4\",\"filter\":\"\",\"name\":\"OmcIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"OMC Ipv6\",\"filter\":\"\",\"name\":\"OmcIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"OMC Port\",\"filter\":\"0~65535\",\"name\":\"OmcPort\",\"type\":\"int\",\"value\":\"3030\"},{\"access\":\"read-write\",\"comment\":\"http|https\",\"display\":\"Http Scheme\",\"filter\":\"\",\"name\":\"HttpScheme\",\"type\":\"string\",\"value\":\"http\"},{\"access\":\"read-write\",\"comment\":\"0~255\",\"display\":\"Kpi Statistic Interval\",\"filter\":\"0~255\",\"name\":\"KpiStatisticInterval\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Ne Id\",\"filter\":\"\",\"name\":\"NeId\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Ne Name\",\"filter\":\"\",\"name\":\"NeName\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Object Name\",\"filter\":\"\",\"name\":\"ObjectName\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Province\",\"filter\":\"\",\"name\":\"Province\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"PV Flag\",\"filter\":\"\",\"name\":\"PVFlag\",\"type\":\"string\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (5, 'UPF', '', 'Telnet', 'Telnet', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Enabled\",\"filter\":\"\",\"name\":\"Enabled\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv46\",\"display\":\"Ip Type\",\"filter\":\"\",\"name\":\"IpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv4\",\"filter\":\"\",\"name\":\"LocalIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv6\",\"filter\":\"\",\"name\":\"LocalIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Local Port\",\"filter\":\"0~65535\",\"name\":\"LocalPort\",\"type\":\"int\",\"value\":\"4100\"}]}'); +INSERT INTO `param_config` VALUES (6, 'UPF', '', 'Sbi', 'Sbi', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Enabled\",\"filter\":\"\",\"name\":\"Enabled\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv46\",\"display\":\"Ip Type\",\"filter\":\"\",\"name\":\"IpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv4\",\"filter\":\"\",\"name\":\"LocalIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Local Ipv6\",\"filter\":\"\",\"name\":\"LocalIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Local Port\",\"filter\":\"0~65535\",\"name\":\"LocalPort\",\"type\":\"int\",\"value\":\"4100\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF Ipv4\",\"filter\":\"\",\"name\":\"NrfIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF Ipv6\",\"filter\":\"\",\"name\":\"NrfIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"NRF Port\",\"filter\":\"0~65535\",\"name\":\"NrfPort\",\"type\":\"int\",\"value\":\"8080\"}]}'); +INSERT INTO `param_config` VALUES (8, 'UPF', '', 'DataForwarderCommon', 'Data Forwarder Common', '{\"list\":[{\"access\":\"read-only\",\"comment\":\"Type\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"Type\",\"type\":\"string\",\"value\":\"upfd\"},{\"access\":\"read-only\",\"comment\":\"1~255\",\"display\":\"Instance Id\",\"filter\":\"1~255\",\"name\":\"InstanceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~255\",\"display\":\"Main Cpu\",\"filter\":\"1~255\",\"name\":\"MainCpu\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"2,3,4,5 or 2-5\",\"display\":\"Cpu Workers\",\"filter\":\"\",\"name\":\"CpuWorkers\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"data forwarder already run or not\",\"display\":\"Is Run\",\"filter\":\"0~1\",\"name\":\"IsRun\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Hot Standby work or not\",\"display\":\"Is Hot Standby\",\"filter\":\"0~1\",\"name\":\"IsHotStandby\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Teid Start Value\",\"display\":\"Teid Start\",\"filter\":\"\",\"name\":\"TeidStart\",\"type\":\"int\",\"value\":\"16777216\"}]}'); +INSERT INTO `param_config` VALUES (9, 'UPF', '', 'DataForwarderUpfd', 'Data Forwarder Upfd', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"Uio Driver name\",\"display\":\"Uio Driver\",\"filter\":\"\",\"name\":\"UioDriver\",\"type\":\"string\",\"value\":\"vfio-pci\"},{\"access\":\"read-write\",\"comment\":\"Telnet Address IP:Port\",\"display\":\"Telnet Address IP:Port\",\"filter\":\"\",\"name\":\"CommandlineListen\",\"type\":\"string\",\"value\":\"localhost:5002\"},{\"access\":\"read-write\",\"comment\":\"Heap Size Gb\",\"display\":\"Heap Size Gb\",\"filter\":\"1~4\",\"name\":\"HeapSizeGB\",\"type\":\"int\",\"value\":\"2\"},{\"access\":\"read-write\",\"comment\":\"State Seg Size Mb\",\"display\":\"State Seg Size Mb\",\"filter\":\"64~512\",\"name\":\"StateSegSizeMB\",\"type\":\"int\",\"value\":\"256\"},{\"access\":\"read-write\",\"comment\":\"Dpdk No Pci\",\"display\":\"Dpdk No Pci\",\"filter\":\"0~1\",\"name\":\"DpdkNoPci\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Session Base Va\",\"display\":\"Session Base Va\",\"filter\":\"\",\"name\":\"SessionBaseVa\",\"type\":\"string\",\"value\":\"0x2000000000\"}]}'); +INSERT INTO `param_config` VALUES (10, 'UPF', '', 'DataInterfaceList', 'Data Interface List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"N3|N6|N9|N19\",\"display\":\"Interface Type\",\"filter\":\"\",\"name\":\"InterfaceType\",\"type\":\"string\",\"value\":\"N3\"},{\"access\":\"read-write\",\"comment\":\"Interface Id\",\"display\":\"Interface Id\",\"filter\":\"0~255\",\"name\":\"InterfaceId\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"host|vmxnet3|dpdk|socket|uds\",\"display\":\"Driver Type\",\"filter\":\"\",\"name\":\"DriverType\",\"type\":\"string\",\"value\":\"host\"},{\"access\":\"read-write\",\"comment\":\"Dnn Name\",\"display\":\"Dnn Name\",\"filter\":\"\",\"name\":\"DnnName\",\"type\":\"string\",\"value\":\"default\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv4v6\",\"display\":\"Ip Type\",\"filter\":\"\",\"name\":\"IpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"Ipv4 Address\",\"display\":\"Ipv4\",\"filter\":\"\",\"name\":\"Ipv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Ipv4 Mask Address\",\"display\":\"Ipv4 Mask\",\"filter\":\"\",\"name\":\"Ipv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"},{\"access\":\"read-write\",\"comment\":\"Ipv6 Address\",\"display\":\"Ipv6\",\"filter\":\"\",\"name\":\"Ipv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Ipv6 Prefix Value\",\"display\":\"Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"Ipv6Prefix\",\"type\":\"int\",\"value\":\"64\"},{\"access\":\"read-write\",\"comment\":\"Mac Address\",\"display\":\"Mac Address\",\"filter\":\"\",\"name\":\"MacAddr\",\"type\":\"string\",\"value\":\"00:00:00:00:00:00\"},{\"access\":\"read-write\",\"comment\":\"Interface PCI Value\",\"display\":\"Interface PCI\",\"filter\":\"\",\"name\":\"InterfacePCI\",\"type\":\"string\",\"value\":\"0000:00:00.0\"},{\"access\":\"read-write\",\"comment\":\"System Network Card Name\",\"display\":\"System Network Card Name\",\"filter\":\"\",\"name\":\"SystemNetworkCardName\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Gateway Ipv4 Value\",\"display\":\"Gateway Ipv4\",\"filter\":\"\",\"name\":\"GatewayIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Gateway Ipv6 Value\",\"display\":\"Gateway Ipv6\",\"filter\":\"\",\"name\":\"GatewayIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Mtu\",\"display\":\"Mtu\",\"filter\":\"1~65536\",\"name\":\"Mtu\",\"type\":\"int\",\"value\":\"1500\"},{\"access\":\"read-write\",\"comment\":\"Vlan Id Min Value\",\"display\":\"Vlan Id Min\",\"filter\":\"\",\"name\":\"VlanIdMin\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Vlan Id Max Value\",\"display\":\"Vlan Id Max\",\"filter\":\"\",\"name\":\"VlanIdMax\",\"type\":\"int\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Udp Src Port\",\"display\":\"Udp Src Port\",\"filter\":\"1~65536\",\"name\":\"UdpSrcPort\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Udp Listen Port Value\",\"display\":\"Udp Listen Port\",\"filter\":\"1~65536\",\"name\":\"UdpListenPort\",\"type\":\"string\",\"value\":\"2152\"},{\"access\":\"read-write\",\"comment\":\"Uds Local File Full Path\",\"display\":\"Uds Local File Full Path\",\"filter\":\"\",\"name\":\"UdsLocalFileFullPath\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Uds Remote File Full Path\",\"display\":\"Uds Remote File Full Path\",\"filter\":\"\",\"name\":\"UdsRemoteFileFullPath\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Link Detection Type\",\"display\":\"Link Detection Type\",\"filter\":\"0~1\",\"name\":\"LinkDetectionType\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Ipv4\",\"display\":\"Ipv4\",\"filter\":\"\",\"name\":\"Ipv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Ipv4 Mask\",\"display\":\"Ipv4 Mask\",\"filter\":\"\",\"name\":\"Ipv4Mask\",\"type\":\"string\",\"value\":\"0.0.0.0\"}],\"comment\":\"Gtpu Remote Ipv4 Pool List\",\"display\":\"Gtpu Remote Ipv4 Pool List\",\"filter\":\"1~32\",\"name\":\"GtpuRemoteIpv4PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Ipv6\",\"display\":\"Ipv6\",\"filter\":\"\",\"name\":\"Ipv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Ipv6 Prefix\",\"display\":\"Ipv6 Prefix\",\"filter\":\"\",\"name\":\"Ipv6Prefix\",\"type\":\"int\",\"value\":\"64\"}],\"comment\":\"Gtpu Remote Ipv6 Pool List\",\"display\":\"Gtpu Remote Ipv6 Pool List\",\"filter\":\"1~32\",\"name\":\"GtpuRemoteIpv6PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Gtpu Signaling Handle\",\"display\":\"Gtpu Signaling Handle\",\"filter\":\"0~1\",\"name\":\"GtpuSignalingHandle\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Ims Default DSCP Value\",\"display\":\"Ims Default DSCP Value\",\"filter\":\"0~1\",\"name\":\"ImsDefaultDSCPValue\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Data Default DSCP Value\",\"display\":\"Data Default DSCP Value\",\"filter\":\"0~1\",\"name\":\"DataDefaultDSCPValue\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Inner DSCP Value Map\",\"display\":\"Inner DSCP Value Map\",\"filter\":\"0~1\",\"name\":\"InnerDSCPValueMap\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Max Support Speed Mbps\",\"display\":\"Max Support Speed Mbps\",\"filter\":\"0~65536\",\"name\":\"MaxSupportSpeedMbps\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Dpdk Rx Queues Number\",\"display\":\"Dpdk Rx Queues Number\",\"filter\":\"0~127\",\"name\":\"DpdkRxQueuesNumber\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Dpdk Tx Queues Number\",\"display\":\"Dpdk Tx Queues Number\",\"filter\":\"0~127\",\"name\":\"DpdkTxQueuesNumber\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Dpdk Workers Number\",\"display\":\"Dpdk Workers Number\",\"filter\":\"0~127\",\"name\":\"DpdkWorkersNumber\",\"type\":\"int\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (11, 'UPF', '', 'NetworkControlCommon', 'Network Control Common', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"Local Switch Disabled\",\"display\":\"Local Switch Disabled\",\"filter\":\"0~1\",\"name\":\"LocalSwitchDisabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Max TCP Sync Per Second\",\"display\":\"Max TCP Sync Per Second\",\"filter\":\"\",\"name\":\"MaxTCPSyncPerSecond\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Upf Max Support Mbps\",\"display\":\"Upf Max Support Mbps\",\"filter\":\"\",\"name\":\"UpfMaxSupportMbps\",\"type\":\"int\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (12, 'UPF', '', 'NetworkControlDnnList', 'Network Control Dnn List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Dnn Name\",\"display\":\"Dnn Name\",\"filter\":\"\",\"name\":\"DnnName\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"N3 Interface Id\",\"display\":\"N3 Interface Id\",\"filter\":\"1~32\",\"name\":\"N3InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"N6 Interface Id\",\"display\":\"N6 Interface Id\",\"filter\":\"1~32\",\"name\":\"N6InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Http Proto Enabled\",\"display\":\"Http Proto Enabled\",\"filter\":\"0~1\",\"name\":\"HttpProtoEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Https Proto Enabled\",\"display\":\"Https Proto Enabled\",\"filter\":\"0~1\",\"name\":\"HttpsProtoEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Type\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"Type\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Name\",\"display\":\"Name\",\"filter\":\"\",\"name\":\"Name\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Value\",\"display\":\"Value\",\"filter\":\"\",\"name\":\"Value\",\"type\":\"string\",\"value\":\"\"}],\"comment\":\"Header Enrich Info List\",\"display\":\"Header Enrich Info List\",\"filter\":\"1~32\",\"name\":\"HeaderEnrichInfoList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Statistic Enabled\",\"display\":\"Statistic Enabled\",\"filter\":\"0~1\",\"name\":\"StatisticEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Local Switch Check\",\"display\":\"Local Switch Check\",\"filter\":\"0~1\",\"name\":\"LocalSwitchCheck\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"QER Max Support Mbps\",\"display\":\"QER Max Support Mbps\",\"filter\":\"\",\"name\":\"QerMaxSupportMbps\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"Ipv4\",\"display\":\"Ipv4\",\"filter\":\"\",\"name\":\"Ipv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-only\",\"comment\":\"Ipv4Mask\",\"display\":\"Ipv4Mask\",\"filter\":\"\",\"name\":\"Ipv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"}],\"comment\":\"Ue Ipv4 Pool List\",\"display\":\"Ue Ipv4 Pool List\",\"filter\":\"1~32\",\"name\":\"UeIpv4PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"Ipv6\",\"display\":\"Ipv6\",\"filter\":\"\",\"name\":\"Ipv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Ipv6 Prefix\",\"display\":\"Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"Ipv6Prefix\",\"type\":\"int\",\"value\":\"64\"}],\"comment\":\"Ue Ipv6 Pool List\",\"display\":\"Ue Ipv6 Pool List\",\"filter\":\"1~32\",\"name\":\"UeIpv6PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"Ipv4\",\"display\":\"Ipv4\",\"filter\":\"\",\"name\":\"Ipv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-only\",\"comment\":\"Ipv4Mask\",\"display\":\"Ipv4Mask\",\"filter\":\"\",\"name\":\"Ipv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"}],\"comment\":\"Dst Server Ipv4 Pool List\",\"display\":\"Dst Server Ipv4 Pool List\",\"filter\":\"1~32\",\"name\":\"DstServerIpv4PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"Ipv6\",\"display\":\"Ipv6\",\"filter\":\"\",\"name\":\"Ipv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Ipv6 Prefix\",\"display\":\"Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"Ipv6Prefix\",\"type\":\"int\",\"value\":\"64\"}],\"comment\":\"Dst Server Ipv6 Pool List\",\"display\":\"Dst Server Ipv6 Pool List\",\"filter\":\"1~32\",\"name\":\"DstServerIpv6PoolList\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv4v6\",\"display\":\"Gateway Ip Type\",\"filter\":\"\",\"name\":\"GatewayIpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"Gateway Ipv4\",\"display\":\"Gateway Ipv4\",\"filter\":\"\",\"name\":\"GatewayIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Gateway Ipv6\",\"display\":\"Gateway Ipv6\",\"filter\":\"\",\"name\":\"GatewayIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv4v6\",\"display\":\"M2M Ip Type\",\"filter\":\"\",\"name\":\"M2MIpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"M2M Ipv4\",\"display\":\"M2M Ipv4\",\"filter\":\"\",\"name\":\"M2MIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"M2M Ipv6\",\"display\":\"M2M Ipv6\",\"filter\":\"\",\"name\":\"M2MIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"M2M Udp Port\",\"display\":\"M2M Udp Port\",\"filter\":\"1~65535\",\"name\":\"M2MUdpPort\",\"type\":\"int\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv4v6\",\"display\":\"Gre Local Inner Ip Type\",\"filter\":\"\",\"name\":\"GreLocalInnerIpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"Gre Local Inner Ipv4\",\"display\":\"Gre Local Inner Ipv4\",\"filter\":\"\",\"name\":\"GreLocalInnerIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Gre Local Inner Ipv6\",\"display\":\"Gre Local Inner Ipv6\",\"filter\":\"\",\"name\":\"GreLocalInnerIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv4|ipv6|ipv4v6\",\"display\":\"Gre Remote Outer Ip Type\",\"filter\":\"\",\"name\":\"GreRemoteOuterIpType\",\"type\":\"string\",\"value\":\"ipv4\"},{\"access\":\"read-write\",\"comment\":\"Gre Remote Outer Ipv4\",\"display\":\"Gre Remote Outer Ipv4\",\"filter\":\"\",\"name\":\"GreRemoteOuterIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Gre Remote Outer Ipv6\",\"display\":\"Gre Remote Outer Ipv6\",\"filter\":\"\",\"name\":\"GreRemoteOuterIpv6\",\"type\":\"string\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (13, 'UPF', '', 'NetworkControlSnssaiList', 'Network Control Snssai List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Sst\",\"display\":\"Sst\",\"filter\":\"\",\"name\":\"Sst\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Sd\",\"display\":\"Sd\",\"filter\":\"\",\"name\":\"Sd\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"N3 Interface Id\",\"display\":\"N3 Interface Id\",\"filter\":\"1~32\",\"name\":\"N3InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"N6 Interface Id\",\"display\":\"N6 Interface Id\",\"filter\":\"1~32\",\"name\":\"N6InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Qer Max Support Mbps\",\"display\":\"Qer Max Support Mbps\",\"filter\":\"\",\"name\":\"QerMaxSupportMbps\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Statistic Enabled\",\"display\":\"Statistic Enabled\",\"filter\":\"0~1\",\"name\":\"StatisticEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Vlan Id Min\",\"display\":\"Vlan Id Min\",\"filter\":\"\",\"name\":\"VlanIdMin\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Vlan Id Max\",\"display\":\"Vlan Id Max\",\"filter\":\"\",\"name\":\"VlanIdMax\",\"type\":\"int\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (14, 'UPF', '', 'NetworkControlAclWhiteList', 'Network Control Acl White List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv4\",\"display\":\"Ue Ipv4\",\"filter\":\"\",\"name\":\"UeIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv4 Mask\",\"display\":\"Ue Ipv4 Mask\",\"filter\":\"\",\"name\":\"UeIpv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv6\",\"display\":\"Ue Ipv6\",\"filter\":\"\",\"name\":\"UeIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv6 Prefix\",\"display\":\"Ue Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"UeIpv6Prefix\",\"type\":\"int\",\"value\":\"64\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv4\",\"display\":\"Dst Server Ipv4\",\"filter\":\"\",\"name\":\"DstServerIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv4 Mask\",\"display\":\"Dst Server Ipv4 Mask\",\"filter\":\"\",\"name\":\"DstServerIpv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv6\",\"display\":\"Dst Server Ipv6\",\"filter\":\"\",\"name\":\"DstServerIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv6 Prefix\",\"display\":\"Dst Server Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"DstServerIpv6Prefix\",\"type\":\"int\",\"value\":\"64\"}]}'); +INSERT INTO `param_config` VALUES (15, 'UPF', '', 'NetworkControlAclBlackList', 'Network Control Acl Black List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv4\",\"display\":\"Ue Ipv4\",\"filter\":\"\",\"name\":\"UeIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv4 Mask\",\"display\":\"Ue Ipv4 Mask\",\"filter\":\"\",\"name\":\"UeIpv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv6\",\"display\":\"Ue Ipv6\",\"filter\":\"\",\"name\":\"UeIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Ue Ipv6 Prefix\",\"display\":\"Ue Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"UeIpv6Prefix\",\"type\":\"int\",\"value\":\"64\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv4\",\"display\":\"Dst Server Ipv4\",\"filter\":\"\",\"name\":\"DstServerIpv4\",\"type\":\"string\",\"value\":\"0.0.0.0\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv4 Mask\",\"display\":\"Dst Server Ipv4 Mask\",\"filter\":\"\",\"name\":\"DstServerIpv4Mask\",\"type\":\"string\",\"value\":\"255.255.255.0\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv6\",\"display\":\"Dst Server Ipv6\",\"filter\":\"\",\"name\":\"DstServerIpv6\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Dst Server Ipv6 Prefix\",\"display\":\"Dst Server Ipv6 Prefix\",\"filter\":\"1~128\",\"name\":\"DstServerIpv6Prefix\",\"type\":\"int\",\"value\":\"64\"}]}'); +INSERT INTO `param_config` VALUES (16, 'UPF', '', 'DpiCommon', 'Dpi Common', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"Max Detect Packet Num\",\"display\":\"Max Detect Packet Num\",\"filter\":\"\",\"name\":\"MaxDetectPacketNum\",\"type\":\"int\",\"value\":\"20\"},{\"access\":\"read-write\",\"comment\":\"Dns Cache Enabled\",\"display\":\"Dns Cache Enabled\",\"filter\":\"\",\"name\":\"DnsCacheEnabled\",\"type\":\"int\",\"value\":\"0~1\"},{\"access\":\"read-write\",\"comment\":\"Http Proto Enabled\",\"display\":\"Http Proto Enabled\",\"filter\":\"0~1\",\"name\":\"HttpProtoEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Https Proto Enabled\",\"display\":\"Https Proto Enabled\",\"filter\":\"0~1\",\"name\":\"HttpsProtoEnabled\",\"type\":\"int\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (17, 'UPF', '', 'DpiHeaderEnrichInfoList', 'Dpi Header Enrich Info List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"Type\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"Type\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Name\",\"display\":\"Name\",\"filter\":\"\",\"name\":\"Name\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"Value\",\"display\":\"Value\",\"filter\":\"\",\"name\":\"Value\",\"type\":\"string\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (18, 'UPF', '', 'DpiAppList', 'Dpi App List', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"App Name\",\"display\":\"App Name\",\"filter\":\"\",\"name\":\"AppName\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Proxy Enabled\",\"display\":\"Proxy Enabled\",\"filter\":\"0~1\",\"name\":\"ProxyEnabled\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"Force Check Type\",\"display\":\"Force Check Type\",\"filter\":\"0~1\",\"name\":\"ForceCheckType\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"N3 Interface Id\",\"display\":\"N3 Interface Id\",\"filter\":\"1~32\",\"name\":\"N3InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"N6 Interface Id\",\"display\":\"N6 Interface Id\",\"filter\":\"1~32\",\"name\":\"N6InterfaceId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~32\",\"display\":\"Index\",\"filter\":\"1~32\",\"name\":\"Index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-only\",\"comment\":\"Rule Id\",\"display\":\"Rule Id\",\"filter\":\"\",\"name\":\"RuleId\",\"type\":\"int\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Regex Match\",\"display\":\"Regex Match\",\"filter\":\"\",\"name\":\"RegexMatch\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Flow Description\",\"display\":\"Flow Description\",\"filter\":\"\",\"name\":\"FlowDescription\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-only\",\"comment\":\"Custom Name\",\"display\":\"Custom Name\",\"filter\":\"\",\"name\":\"CustomName\",\"type\":\"string\",\"value\":\"\"}],\"comment\":\"Rule List\",\"display\":\"Rule List\",\"filter\":\"1~32\",\"name\":\"RuleList\",\"type\":\"int\",\"value\":\"1\"}]}'); +INSERT INTO `param_config` VALUES (484, 'AUSF', '', 'system', 'System', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Service IP\",\"filter\":\"\",\"name\":\"serviceIP\",\"type\":\"ipv4\",\"value\":\"172.16.5.130\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Service Port\",\"filter\":\"0~65535\",\"name\":\"servicePort\",\"type\":\"int\",\"value\":\"8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"type\":\"enum\",\"value\":\"http\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF URI\",\"filter\":\"\",\"name\":\"nrfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.180:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"UDM URI\",\"filter\":\"\",\"name\":\"udmUri\",\"type\":\"string\",\"value\":\"http://172.16.5.140:8080\"},{\"access\":\"read-write\",\"comment\":\"0~31\",\"display\":\"Group Id\",\"filter\":\"\",\"name\":\"groupId\",\"type\":\"string\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (485, 'SMF', '', 'smfSystem', 'SMF System', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SBI IpAddr\",\"filter\":\"\",\"name\":\"sbiIpAddr\",\"type\":\"string\",\"value\":\"172.16.5.150\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"SBI Port\",\"filter\":\"0~65535\",\"name\":\"sbiPort\",\"type\":\"int\",\"value\":\"8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SBI Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"sbiScheme\",\"type\":\"enum\",\"value\":\"http\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"N4 IPv4\",\"filter\":\"\",\"name\":\"n4Ipv4\",\"type\":\"ipv4\",\"value\":\"172.16.5.150\"},{\"access\":\"read-write\",\"comment\":\"N4 IPv6\",\"display\":\"N4 Ipv6\",\"filter\":\"\",\"name\":\"n4Ipv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"N4U IPv4\",\"filter\":\"\",\"name\":\"n4UIpv4\",\"type\":\"ipv4\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"N4U IPv6\",\"display\":\"N4U IPv6\",\"filter\":\"\",\"name\":\"n4UIpv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"AMF Uri\",\"filter\":\"\",\"name\":\"amfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.120:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"PCF Uri\",\"filter\":\"\",\"name\":\"pcfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.160:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"UDM Uri\",\"filter\":\"\",\"name\":\"udmUri\",\"type\":\"string\",\"value\":\"http://172.16.5.140:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF Enable\",\"filter\":\"{\\\"0\\\":\\\"false\\\", \\\"1\\\":\\\"true\\\"}\",\"name\":\"nrfEnable\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF Uri\",\"filter\":\"\",\"name\":\"nrfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.180:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Primary Dns Ipv4\",\"filter\":\"\",\"name\":\"primaryDnsIpv4\",\"type\":\"ipv4\",\"value\":\"114.114.114.114\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Secondary Dns Ipv4\",\"filter\":\"\",\"name\":\"secondaryDnsIpv4\",\"type\":\"ipv4\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Primary Dns Ipv6\",\"filter\":\"\",\"name\":\"primaryDnsIpv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Secondary Dns Ipv6\",\"filter\":\"\",\"name\":\"secondaryDnsIpv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Primary Pcscf Ipv4\",\"filter\":\"\",\"name\":\"primaryPcscfIpv4\",\"type\":\"ipv4\",\"value\":\"172.16.5.110\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Secondary Pcscf Ipv4\",\"filter\":\"\",\"name\":\"secondaryPcscfIpv4\",\"type\":\"ipv4\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Primary Pcscf Ipv6\",\"filter\":\"\",\"name\":\"primaryPcscfIpv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Secondary Pcscf Ipv6\",\"filter\":\"\",\"name\":\"secondaryPcscfIpv6\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Ue MTU\",\"filter\":\"0~65535\",\"name\":\"ueMtu\",\"type\":\"int\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (486, 'SMF', '', 'upfConfig', 'UPF Config', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Index\",\"filter\":\"0~65535\",\"name\":\"index\",\"type\":\"int\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"upfId-1\",\"display\":\"Upf Id\",\"filter\":\"1~64\",\"name\":\"id\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ip:port\",\"display\":\"Addr\",\"filter\":\"7~45\",\"name\":\"addr\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"CIDR format, e.g. 192.168.1.0/24\",\"display\":\"Ipv4Pools\",\"filter\":\"10~256\",\"name\":\"ipv4Pools\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"CIDR format, e.g. fe80::20c:29ff:fee4:dab7/50\",\"display\":\"Ipv6Pools\",\"filter\":\"5~512\",\"name\":\"ipv6Pools\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"StaticIpv4Enable\",\"filter\":\"{\\\"0\\\":\\\"false\\\", \\\"1\\\":\\\"true\\\"}\",\"name\":\"staticIpv4Enable\",\"type\":\"bool\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv4 format\",\"display\":\"StaticIpv4Start\",\"filter\":\"\",\"name\":\"staticIpv4Start\",\"type\":\"ipv4\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv4 format\",\"display\":\"StaticIpv4End\",\"filter\":\"\",\"name\":\"staticIpv4End\",\"type\":\"ipv4\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"StaticIpv6Enable\",\"filter\":\"{\\\"0\\\":\\\"false\\\", \\\"1\\\":\\\"true\\\"}\",\"name\":\"staticIpv6Enable\",\"type\":\"bool\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv6 format\",\"display\":\"StaticIpv6Start\",\"filter\":\"\",\"name\":\"staticIpv6Start\",\"type\":\"ipv6\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"ipv6 format\",\"display\":\"StaticIpv6End\",\"filter\":\"\",\"name\":\"staticIpv6End\",\"type\":\"ipv6\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (487, 'SMF', '', 'dnnSelectUpf', 'Dnn Select UPF', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Index\",\"filter\":\"0~65535\",\"name\":\"index\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Dnn\",\"filter\":\"1~64\",\"name\":\"dnn\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"upf Id\",\"display\":\"Upf Id\",\"filter\":\"1~64\",\"name\":\"upfId\",\"type\":\"string\",\"value\":\"\"}]}'); +INSERT INTO `param_config` VALUES (488, 'SMF', '', 'dnnTaiSelectUpf', 'Dnn Tai Select UPF', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Index\",\"filter\":\"0~65535\",\"name\":\"index\",\"type\":\"int\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Dnn\",\"filter\":\"1~64\",\"name\":\"dnn\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"46000123456\",\"display\":\"Tai\",\"filter\":\"1~64\",\"name\":\"tai\",\"type\":\"string\",\"value\":\"\"},{\"access\":\"read-write\",\"comment\":\"upf Id\",\"display\":\"Upf Id\",\"filter\":\"1~64\",\"name\":\"upfId\",\"type\":\"string\",\"value\":\"upf2-Id\"}]}'); +INSERT INTO `param_config` VALUES (503, 'UDM', '', 'system', 'System', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Service IP\",\"filter\":\"\",\"name\":\"serviceIP\",\"type\":\"ipv4\",\"value\":\"172.16.5.140\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Service Port\",\"filter\":\"0~65535\",\"name\":\"servicePort\",\"type\":\"int\",\"value\":\"8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF URI\",\"filter\":\"\",\"name\":\"nrfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.180:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"AUSF IP\",\"filter\":\"\",\"name\":\"ausfIP\",\"type\":\"ipv4\",\"value\":\"172.16.5.130\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"fqdn\",\"filter\":\"\",\"name\":\"fqdn\",\"type\":\"string\",\"value\":\"agt.com\"},{\"access\":\"read-write\",\"comment\":\"0~4095\",\"display\":\"Priority\",\"filter\":\"0~4095\",\"name\":\"priority\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"Capacity\",\"filter\":\"0~65535\",\"name\":\"capacity\",\"type\":\"int\",\"value\":\"4096\"},{\"access\":\"read-write\",\"comment\":\"0~31\",\"display\":\"Group Id\",\"filter\":\"\",\"name\":\"groupId\",\"type\":\"string\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SUPI Ranges\",\"filter\":\"^imsi-\\\\d{15}~imsi-\\\\d{15}$\",\"name\":\"supiRanges\",\"type\":\"regex\",\"value\":\"imsi-001010100080000~imsi-001010100080099\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"GPSI Ranges\",\"filter\":\"^msisdn-\\\\d{2,15}~msisdn-\\\\d{2,15}$\",\"name\":\"gpsiRanges\",\"type\":\"regex\",\"value\":\"msisdn-69072000~msisdn-69072099\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"type\":\"enum\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (504, 'UDM', '', 'subsUEAmbr', 'Subs UE AMBR', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_ambr\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Uplink\",\"filter\":\"^\\\\d+(\\\\.\\\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$\",\"name\":\"uplink\",\"type\":\"string\",\"value\":\"1Gbps\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Downlink\",\"filter\":\"^\\\\d+(\\\\.\\\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$\",\"name\":\"downlink\",\"type\":\"string\",\"value\":\"2Gbps\"}]}'); +INSERT INTO `param_config` VALUES (505, 'UDM', '', 'subsNssais', 'Subs Nssais', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_nssai\"},{\"access\":\"read-write\",\"comment\":\"8~8\",\"display\":\"Supported Features\",\"filter\":\"8~8\",\"name\":\"supportedFeatures\",\"type\":\"string\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"Default Single NSSAIs\",\"filter\":\"\",\"name\":\"defaultSingleNSSAIs\",\"type\":\"string\",\"value\":\"1-000001\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"Single Nssais\",\"filter\":\"\",\"name\":\"singleNssais\",\"type\":\"string\",\"value\":\"1-000002\"}]}'); +INSERT INTO `param_config` VALUES (506, 'UDM', '', 'forbiddenAreas', 'Forbidden Areas', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_ambr\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"TACs\",\"filter\":\"\",\"name\":\"tacs\",\"type\":\"string\",\"value\":\"123\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"AreaCodes\",\"filter\":\"\",\"name\":\"areaCodes\",\"type\":\"string\",\"value\":\"123456\"}]}'); +INSERT INTO `param_config` VALUES (507, 'UDM', '', 'serviceAreaRestriction', 'Service Area Restriction', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_ambr\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"Restriction Type\",\"filter\":\"{\\\"0\\\":\\\"allowedAreas\\\", \\\"1\\\":\\\"notAllowedAreas\\\"}\",\"name\":\"restrictionType\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"TACs\",\"filter\":\"\",\"name\":\"tacs\",\"type\":\"string\",\"value\":\"123\"},{\"access\":\"read-write\",\"comment\":\"0~128\",\"display\":\"AreaCodes\",\"filter\":\"\",\"name\":\"areaCodes\",\"type\":\"string\",\"value\":\"123456\"},{\"access\":\"read-write\",\"comment\":\"0~32\",\"display\":\"Max TAs\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"maxTAs\",\"type\":\"int\",\"value\":\"1\"}]}'); +INSERT INTO `param_config` VALUES (508, 'UDM', '', 'smfSelection', 'Subs Smf Selection', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"1~16\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"0~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_snssai\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Snssai\",\"filter\":\"^\\\\d{1,3}[A-Fa-f0-9]{6}$\",\"name\":\"snssai\",\"type\":\"string\",\"value\":\"1-000001\"},{\"access\":\"read-only\",\"array\":[{\"access\":\"read-only\",\"comment\":\"1~4\",\"display\":\"index\",\"filter\":\"1~4\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"0~32\",\"display\":\"Dnn\",\"filter\":\"^.{1,32}$\",\"name\":\"dnn\",\"type\":\"string\",\"value\":\"cmnet\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"default Dnn Indicator\",\"filter\":\"false;true;\",\"name\":\"defaultDnnInd\",\"type\":\"bool\",\"value\":\"true\"},{\"access\":\"read-write\",\"comment\":\"LBO Roaming Allowed\",\"display\":\"LBO Roaming Allowed\",\"filter\":\"false;true;\",\"name\":\"lboRoamingAllowed\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"Iwk EPS Ind\",\"display\":\"Iwk EPS Ind\",\"filter\":\"false;true;\",\"name\":\"iwkEpsInd\",\"type\":\"bool\",\"value\":\"false\"},{\"access\":\"read-write\",\"comment\":\"LADN Indicator\",\"display\":\"LADN Indicator\",\"filter\":\"false;true;\",\"name\":\"ladnIndicator\",\"type\":\"bool\",\"value\":\"false\"}],\"comment\":\"\",\"display\":\"Dnn List\",\"filter\":\"1~4\",\"name\":\"dnnList\",\"type\":\"int\",\"value\":\"1\"}]}'); +INSERT INTO `param_config` VALUES (509, 'UDM', '', 'dnn', 'Dnn Conf', '{\"array\":[{\"access\":\"read-only\",\"comment\":\"1~16\",\"display\":\"Index\",\"filter\":\"^\\\\d{1,2}$\",\"name\":\"index\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"1~32\",\"display\":\"Name\",\"filter\":\"^.{1,32}$\",\"name\":\"name\",\"type\":\"string\",\"value\":\"def_nssai\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Default PDU Session Type\",\"filter\":\"{\\\"0\\\":\\\"ipv4\\\",\\\"1\\\":\\\"ipv6\\\",\\\"2\\\":\\\"ipv4v6\\\",\\\"3\\\":\\\"ethernet\\\",\\\"4\\\":\\\"unstruction\\\"}\",\"name\":\"defaultPDUSessionType\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Allowed PDU Session Types\",\"filter\":\"{\\\"0\\\":\\\"ipv4\\\",\\\"1\\\":\\\"ipv6\\\",\\\"2\\\":\\\"ipv4v6\\\",\\\"3\\\":\\\"ethernet\\\",\\\"4\\\":\\\"unstruction\\\",\\\"5\\\":\\\"ipv4andipv6\\\",\\\"6\\\":\\\"ipv4andipv4v6\\\",\\\"7\\\":\\\"ipv6andipv4v6\\\",\\\"8\\\":\\\"ipv4andipv6andipv4v6\\\"}\",\"name\":\"allowedPDUSessionTypes\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"1~16\",\"display\":\"Default SSC Mode\",\"filter\":\"{\\\"0\\\":\\\"sscMode1\\\",\\\"1\\\":\\\"sscMode2\\\",\\\"2\\\":\\\"sscMode3\\\"}\",\"name\":\"defaultSSCmode\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"1~16\",\"display\":\"Allowed SSC Modes\",\"filter\":\"{\\\"0\\\":\\\"sscMode1\\\",\\\"1\\\":\\\"sscMode2\\\",\\\"2\\\":\\\"sscMode3\\\",\\\"3\\\":\\\"sscMode1sscMode2\\\",\\\"4\\\":\\\"sscMode1sscMode3\\\",\\\"5\\\":\\\"sscMode2sscMode3\\\",\\\"6\\\":\\\"sscMode1sscMode2sscMode3\\\"}\",\"name\":\"allowedSSCmodes\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Interworking EPS Indicator\",\"filter\":\"\",\"name\":\"interworkingEPSIndicator\",\"type\":\"bool\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"LADN Indicator\",\"filter\":\"\",\"name\":\"ladnIndicator\",\"type\":\"bool\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"4~4\",\"display\":\"Charging Characteristics\",\"filter\":\"4~4\",\"name\":\"chargingCharacteristics\",\"type\":\"string\",\"value\":\"0001\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Subscribed Session Ambr UL\",\"filter\":\"^\\\\d+(\\\\.\\\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$\",\"name\":\"subscribedSessionAmbrUL\",\"type\":\"regex\",\"value\":\"1Gbps\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Subscribed Session Ambr DL\",\"filter\":\"^\\\\d+(\\\\.\\\\d+)?( ?)(bps|Kbps|Mbps|Gbps|Tbps)$\",\"name\":\"subscribedSessionAmbrDL\",\"type\":\"regex\",\"value\":\"2Gbps\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Static IP Address\",\"filter\":\"\",\"name\":\"staticIPAddress\",\"type\":\"ipv4\",\"value\":\"192.168.1.100\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"User Plane Integrity\",\"filter\":\"{\\\"0\\\":\\\"null\\\",\\\"1\\\":\\\"required\\\",\\\"2\\\":\\\"preferred\\\",\\\"3\\\":\\\"notNeeded\\\"}\",\"name\":\"userPlaneIntegrity\",\"type\":\"enum\",\"value\":\"3\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"User Plane Confidentiality\",\"filter\":\"{\\\"0\\\":\\\"null\\\",\\\"1\\\":\\\"required\\\",\\\"2\\\":\\\"preferred\\\",\\\"3\\\":\\\"notNeeded\\\"}\",\"name\":\"userPlaneConfidentiality\",\"type\":\"enum\",\"value\":\"3\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"5qi\",\"filter\":\"0~255\",\"name\":\"5qi\",\"type\":\"int\",\"value\":\"9\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Priority Level\",\"filter\":\"1~127\",\"name\":\"priorityLevel\",\"type\":\"int\",\"value\":\"9\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"ARP Priority Level\",\"filter\":\"0~255\",\"name\":\"arpPriorityLevel\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"ARP PreemptCap\",\"filter\":\"{\\\"0\\\":\\\"notPreempt\\\",\\\"1\\\":\\\"mayPreempt\\\"}\",\"name\":\"arpPreemptCap\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"ARP PreemptVuln\",\"filter\":\"{\\\"0\\\":\\\"notPreemptable\\\",\\\"1\\\":\\\"preemptable\\\"}\",\"name\":\"arpPreemptVuln\",\"type\":\"enum\",\"value\":\"0\"}]}'); +INSERT INTO `param_config` VALUES (554, 'AMF', '', 'system', 'System Config', '{\"list\":[{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"AMF Name\",\"filter\":\"0~64\",\"name\":\"amfName\",\"type\":\"string\",\"value\":\"AMF\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Relative Capacity\",\"filter\":\"0~255\",\"name\":\"relativeCapacity\",\"type\":\"int\",\"value\":\"255\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SBI Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\",\\\"1\\\":\\\"https\\\"}\",\"name\":\"sbiScheme\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SBI Server IP\",\"filter\":\"0~64\",\"name\":\"sbiServerIp\",\"type\":\"string\",\"value\":\"192.168.1.183\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"SBI Server Port\",\"filter\":\"0~65535\",\"name\":\"sbiServerPort\",\"type\":\"int\",\"value\":\"8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF Enabled\",\"filter\":\"{\\\"0\\\":\\\"false\\\",\\\"1\\\":\\\"true\\\"}\",\"name\":\"nrfEnabled\",\"type\":\"bool\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NRF URI\",\"filter\":\"0~64\",\"name\":\"nrfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.180:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"AUSF URI\",\"filter\":\"0~64\",\"name\":\"ausfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.130:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"UDM URI\",\"filter\":\"0~64\",\"name\":\"udmUri\",\"type\":\"string\",\"value\":\"http://172.16.5.140:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"SMF URI\",\"filter\":\"0~64\",\"name\":\"smfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.150:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"PCF URI\",\"filter\":\"0~64\",\"name\":\"pcfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.160:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"LMF URI\",\"filter\":\"0~64\",\"name\":\"lmfUri\",\"type\":\"string\",\"value\":\"http://172.16.5.200:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NEF URI\",\"filter\":\"0~64\",\"name\":\"nefUri\",\"type\":\"string\",\"value\":\"http://172.16.5.210:8080\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"DNN Correction Enabled\",\"filter\":\"{\\\"0\\\":\\\"false\\\",\\\"1\\\":\\\"true\\\"}\",\"name\":\"dnnCorrectionEnabled\",\"type\":\"bool\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Default DNN\",\"filter\":\"0~64\",\"name\":\"defaultDnn\",\"type\":\"string\",\"value\":\"cmnet\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Integrity Algorithm\",\"filter\":\"{\\\"0\\\":\\\"NIA0\\\",\\\"1\\\":\\\"NIA1\\\",\\\"2\\\":\\\"NIA2\\\",\\\"3\\\":\\\"NIA3\\\"}\",\"name\":\"integrityAlgorithm\",\"type\":\"enum\",\"value\":\"2\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Ciphering Algorithm\",\"filter\":\"{\\\"0\\\":\\\"NEA0\\\",\\\"1\\\":\\\"NEA1\\\",\\\"2\\\":\\\"NEA2\\\",\\\"3\\\":\\\"NEA3\\\"}\",\"name\":\"cipheringAlgorithm\",\"type\":\"enum\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3502\",\"filter\":\"\",\"name\":\"t3502\",\"type\":\"int\",\"value\":\"720\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3512\",\"filter\":\"\",\"name\":\"t3512\",\"type\":\"int\",\"value\":\"3600\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3513\",\"filter\":\"\",\"name\":\"t3513\",\"type\":\"int\",\"value\":\"2\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3522\",\"filter\":\"\",\"name\":\"t3522\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3550\",\"filter\":\"\",\"name\":\"t3550\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3555\",\"filter\":\"\",\"name\":\"t3555\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3560\",\"filter\":\"\",\"name\":\"t3560\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3565\",\"filter\":\"\",\"name\":\"t3565\",\"type\":\"int\",\"value\":\"6\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"T3570\",\"filter\":\"\",\"name\":\"t3570\",\"type\":\"int\",\"value\":\"6\"}]}'); +INSERT INTO `param_config` VALUES (555, 'AMF', '', 'association', 'TNL Association', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"0~15\",\"display\":\"Index\",\"filter\":\"0~15\",\"name\":\"index\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"NGAP IP\",\"filter\":\"0~64\",\"name\":\"ngapIp\",\"type\":\"string\",\"value\":\"192.168.1.183\"},{\"access\":\"read-write\",\"comment\":\"0~65535\",\"display\":\"NGAP SCTP Port\",\"filter\":\"0~65535\",\"name\":\"ngapSctpPort\",\"type\":\"int\",\"value\":\"38412\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Weight\",\"filter\":\"0~255\",\"name\":\"weightFactor\",\"type\":\"int\",\"value\":\"255\"}]}'); +INSERT INTO `param_config` VALUES (556, 'AMF', '', 'guami', 'Guami List', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"0~15\",\"display\":\"Index\",\"filter\":\"0~15\",\"name\":\"index\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Plmn Id\",\"filter\":\"^[0-9]{5,6}$\",\"name\":\"plmnId\",\"type\":\"regex\",\"value\":\"46000\"},{\"access\":\"read-write\",\"comment\":\"0~256\",\"display\":\"Region ID\",\"filter\":\"0~256\",\"name\":\"regionId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Set ID\",\"filter\":\"0~1023\",\"name\":\"setId\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Pointer\",\"filter\":\"0~63\",\"name\":\"pointer\",\"type\":\"int\",\"value\":\"1\"}]}'); +INSERT INTO `param_config` VALUES (557, 'AMF', '', 'tai', 'TAI List', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"0~15\",\"display\":\"Index\",\"filter\":\"0~15\",\"name\":\"index\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Plmn Id\",\"filter\":\"^[0-9]{5,6}$\",\"name\":\"plmnId\",\"type\":\"regex\",\"value\":\"46000\"},{\"access\":\"read-write\",\"comment\":\"0~8\",\"display\":\"TAC\",\"filter\":\"0~8\",\"name\":\"tac\",\"type\":\"string\",\"value\":\"1\"}]}'); +INSERT INTO `param_config` VALUES (558, 'AMF', '', 'slice', 'Slice List', '{\"array\":[{\"access\":\"read-write\",\"comment\":\"0~15\",\"display\":\"Index\",\"filter\":\"0~15\",\"name\":\"index\",\"type\":\"int\",\"value\":\"0\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Plmn Id\",\"filter\":\"^[0-9]{5,6}$\",\"name\":\"plmnId\",\"type\":\"regex\",\"value\":\"46000\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Sst\",\"filter\":\"0~127\",\"name\":\"sst\",\"type\":\"int\",\"value\":\"1\"},{\"access\":\"read-write\",\"comment\":\"\",\"display\":\"Sd\",\"filter\":\"\",\"name\":\"sd\",\"type\":\"regex\",\"value\":\"000001\"}]}'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/session.sql b/database/upgrade0719/session.sql new file mode 100644 index 00000000..bea7cba6 --- /dev/null +++ b/database/upgrade0719/session.sql @@ -0,0 +1,39 @@ +/* + Navicat Premium Data Transfer + + Source Server : root@192.168.0.229 + Source Server Type : MariaDB + Source Server Version : 100335 (10.3.35-MariaDB) + Source Host : 192.168.0.229:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100335 (10.3.35-MariaDB) + File Encoding : 65001 + + Date: 25/07/2023 17:40:28 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for session +-- ---------------------------- +DROP TABLE IF EXISTS `session`; +CREATE TABLE `session` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `account_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `host` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `access_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `expires` int(11) NULL DEFAULT NULL, + `status` enum('online','offline') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'online', + `login_time` datetime NULL DEFAULT current_timestamp(), + `shake_time` datetime NULL DEFAULT NULL, + `logout_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_token`(`access_token`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 235 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/trace_info.sql b/database/upgrade0719/trace_info.sql new file mode 100644 index 00000000..eb9d00fd --- /dev/null +++ b/database/upgrade0719/trace_info.sql @@ -0,0 +1,52 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 15/07/2023 15:20:34 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for trace_info +-- ---------------------------- +DROP TABLE IF EXISTS `trace_info`; +CREATE TABLE `trace_info` ( + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `interface` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of trace_info +-- ---------------------------- +INSERT INTO `trace_info` VALUES ('UDM', 'N8'); +INSERT INTO `trace_info` VALUES ('UDM', 'N10'); +INSERT INTO `trace_info` VALUES ('UDM', 'N13'); +INSERT INTO `trace_info` VALUES ('UDM', 'N12'); +INSERT INTO `trace_info` VALUES ('AMF', 'N1'); +INSERT INTO `trace_info` VALUES ('AMF', 'N2'); +INSERT INTO `trace_info` VALUES ('AMF', 'N8'); +INSERT INTO `trace_info` VALUES ('AMF', 'N11'); +INSERT INTO `trace_info` VALUES ('AMF', 'N12'); +INSERT INTO `trace_info` VALUES ('AMF', 'N14'); +INSERT INTO `trace_info` VALUES ('AMF', 'N15'); +INSERT INTO `trace_info` VALUES ('SMF', 'N4'); +INSERT INTO `trace_info` VALUES ('SMF', 'N7'); +INSERT INTO `trace_info` VALUES ('SMF', 'N10'); +INSERT INTO `trace_info` VALUES ('SMF', 'N11'); +INSERT INTO `trace_info` VALUES ('UPF', 'N3'); +INSERT INTO `trace_info` VALUES ('UPF', 'N4'); +INSERT INTO `trace_info` VALUES ('UPF', 'N6'); +INSERT INTO `trace_info` VALUES ('UPF', 'N9'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0719/user.sql b/database/upgrade0719/user.sql new file mode 100644 index 00000000..160ec91b --- /dev/null +++ b/database/upgrade0719/user.sql @@ -0,0 +1,3 @@ +ALTER TABLE `omc_db`.`user` +DROP PRIMARY KEY, +ADD PRIMARY KEY (`id`, `account_id`) USING BTREE; \ No newline at end of file diff --git a/database/upgrade0727/alarm_define.sql b/database/upgrade0727/alarm_define.sql new file mode 100644 index 00000000..84f45bea --- /dev/null +++ b/database/upgrade0727/alarm_define.sql @@ -0,0 +1,53 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 31/07/2023 00:01:36 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for alarm_define +-- ---------------------------- +DROP TABLE IF EXISTS `alarm_define`; +CREATE TABLE `alarm_define` ( + `alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `alarm_code` int(11) NULL DEFAULT NULL, + `alarm_title_cn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `alarm_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `orig_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Warning' COMMENT 'Critical, Major, Minor, Warning, Event(Only VNF)', + `object_uid` varchar(28) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0', + `object_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `location_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `specific_problem` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `specific_problem_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `add_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `threshold` bigint(20) NULL DEFAULT NULL, + `status` enum('Inactive','Active') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Active', + PRIMARY KEY (`alarm_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of alarm_define +-- ---------------------------- +INSERT INTO `alarm_define` VALUES ('RJHXEMSCM10100', 10100, 'License即将过期', 'The license is about to expire', 'EMS', 'EnvironmentalAlarm', 'Warning', NULL, 'EMS;CM;License', 'CM', '', 'Alarm cause: the license expiration time is less than %d days', 'AC10100', '', 15, 'Active'); +INSERT INTO `alarm_define` VALUES ('RJHXEMSPM10200', 10200, '性能越限', 'Performance exceeds the threshold', 'EMS', 'QualityOfServiceAlarm', 'Warning', NULL, 'EMS;PM', 'PM', '', 'Alarm cause: performance exceed threshold, alarm generate from omc', 'AC10200', '', NULL, 'Active'); +INSERT INTO `alarm_define` VALUES ('RJHXEMSPM10201', 10201, '性能数据采集超时', 'Performance data report timed out', 'EMS', 'EquipmentAlarm', 'Minor', NULL, 'EMS;PM', 'PM', '', 'Alarm cause: performance data report timed out, period=%d(minutes), time delay=%d(minutes), alarm generate from omc', 'AC10201', '', NULL, 'Active'); +INSERT INTO `alarm_define` VALUES ('RJHXEMSSM10000', 10000, '系统状态异常', 'The system state is abnormal', 'EMS', 'EquipmentAlarm', 'Major', NULL, 'EMS;SystemManagement;Heartbeat', 'SystemState', '', 'Alarm cause: the system state of target NE has not been received for %d seconds', 'AC10000', '', 30, 'Active'); +INSERT INTO `alarm_define` VALUES ('RJHXEMSSM10001', 10001, 'CPU占用率越限', 'CPU usage exceeds the threshold', 'EMS', 'EnvironmentalAlarm', 'Minor', NULL, 'EMS;SystemManagement;Heartbeat', 'SystemState', '', 'Alarm cause: the CPU occupancy rate of the target NE exceeds %d', 'AC10001', '', 70, 'Active'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0727/alarm_up0727.sql b/database/upgrade0727/alarm_up0727.sql new file mode 100644 index 00000000..bcc483ba --- /dev/null +++ b/database/upgrade0727/alarm_up0727.sql @@ -0,0 +1,2 @@ +ALTER TABLE `omc_db`.`alarm` +ADD COLUMN `timestamp` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP AFTER `clear_user`; \ No newline at end of file diff --git a/database/upgrade0727/config.sql b/database/upgrade0727/config.sql new file mode 100644 index 00000000..824dcd79 --- /dev/null +++ b/database/upgrade0727/config.sql @@ -0,0 +1,49 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 31/07/2023 00:01:54 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for config +-- ---------------------------- +DROP TABLE IF EXISTS `config`; +CREATE TABLE `config` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `module_name` varchar(32) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL, + `config_tag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `title_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `value` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL, + `value_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of config +-- ---------------------------- +INSERT INTO `config` VALUES (1, 'Alarm', 'historyDuration', '{\"cn\": \"历史告警保留时间间隔(天)\", \"en\": \"History alarm duration(day)\"}', '90', NULL, '2023-07-25 20:41:18'); +INSERT INTO `config` VALUES (2, 'LOG', 'logDuration', '{\"cn\": \"日志保留时间(天)\", \"en\": \"Log saved duration(day)\"}', '90', NULL, '2023-05-08 17:40:28'); +INSERT INTO `config` VALUES (3, 'LOG', 'logCapacity', '{\"cn\": \"日志占用空间(MB)\", \"en\": \"Log occupation space(MB)\"}', '1321', NULL, '2023-04-22 11:06:42'); +INSERT INTO `config` VALUES (4, 'PM', 'pmBackupTask', '{\"cn\": \"性能数据报表定期备份(天)\", \"en\": \"PM data backup task(day)\"}', '1', NULL, '2023-07-07 14:09:55'); +INSERT INTO `config` VALUES (5, 'Alarm', 'syncTaskPeriod', '{\"cn\": \"告警同步周期时长(小时)\", \"en\": \"Alarm sync task period(小时)\"}', '24', NULL, '2023-07-25 20:41:18'); +INSERT INTO `config` VALUES (6, 'Alarm', 'displayFilter', '{\"cn\": \"告警显示过滤设置\", \"en\": \"Alarm filter setting\"}', '', '{}', '2023-07-27 15:02:23'); +INSERT INTO `config` VALUES (7, 'Alarm', 'autoAlarmAck', '{\"cn\": \"告警自动确认设置\", \"en\": \"Alarm automatic ack setting\"}', '', '{\"alarm_status\":\"0\",\"alarm_type\":\"EquipmentAlarm\",\"orig_severity\":\"Major\",\"ack_user\":\"admin\"}', '2023-07-28 08:07:02'); +INSERT INTO `config` VALUES (8, 'PM', 'keepPMCKpi', '{\"cn\": \"删除指标保留时长(天)\", \"en\": \"Keep custom pm kpi duration(day)\"}', '4', NULL, '2023-07-29 11:01:45'); +INSERT INTO `config` VALUES (9, 'Security', 'sessionExpires', '{\"cn\": \"登录会话超时时长(秒)\", \"en\": \"User\'s session expires(second)\"}', '300', NULL, '2023-07-30 20:19:00'); +INSERT INTO `config` VALUES (10, 'Alarm', 'forwardAlarm', '{\"cn\": \"告警前转接口设置\", \"en\": \"Alarm forward interface\"}', NULL, '[{\"interface\":\"Email\",\"to_user\":[\"APP\",\"Avv\"]},{\"interface\":\"SMS\",\"to_user\":[\"APP\",\"Avv\"]}]', '2023-07-30 21:20:50'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0727/kpi_title.sql b/database/upgrade0727/kpi_title.sql new file mode 100644 index 00000000..832bfcb5 --- /dev/null +++ b/database/upgrade0727/kpi_title.sql @@ -0,0 +1,112 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 25/07/2023 19:53:26 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for kpi_title +-- ---------------------------- +DROP TABLE IF EXISTS `kpi_title`; +CREATE TABLE `kpi_title` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `kpi_id` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `title_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `cn_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `en_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 77 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of kpi_title +-- ---------------------------- +INSERT INTO `kpi_title` VALUES (1, 'AMF', 'AMF.01', '{\"cn\": \"AMF注册态用户数\", \"en\": \"AMF.RegSub\"}', 'AMF注册态用户数', 'AMF.RegSub'); +INSERT INTO `kpi_title` VALUES (2, 'AMF', 'AMF.02', '{\"cn\": \"AMF初始注册请求次数\", \"en\": \"AMF.AttInitReg\"}', 'AMF初始注册请求次数', 'AMF.AttInitReg'); +INSERT INTO `kpi_title` VALUES (3, 'AMF', 'AMF.03', '{\"cn\": \"AMF初始注册成功次数\", \"en\": \"AMF.SuccInitReg\"}', 'AMF初始注册成功次数', 'AMF.SuccInitReg'); +INSERT INTO `kpi_title` VALUES (4, 'AMF', 'AMF.04', '{\"cn\": \"AMF初始注册失败次数_非法用户\", \"en\": \"AMF.FailedInitReg.3\"}', 'AMF初始注册失败次数_非法用户', 'AMF.FailedInitReg.3'); +INSERT INTO `kpi_title` VALUES (5, 'AMF', 'AMF.05', '{\"cn\": \"AMF初始注册失败次数_PEI不允许\", \"en\": \"AMF.FailedInitReg.5\"}', 'AMF初始注册失败次数_PEI不允许', 'AMF.FailedInitReg.5'); +INSERT INTO `kpi_title` VALUES (6, 'AMF', 'AMF.06', '{\"cn\": \"AMF初始注册失败次数_非法设备\", \"en\": \"AMF.FailedInitReg.6\"}', 'AMF初始注册失败次数_非法设备', 'AMF.FailedInitReg.6'); +INSERT INTO `kpi_title` VALUES (7, 'AMF', 'AMF.07', '{\"cn\": \"AMF初始注册失败次数_5GS服务不允许_用户原因\", \"en\": \"AMF.FailedInitReg.7.User\"}', 'AMF初始注册失败次数_5GS服务不允许_用户原因', 'AMF.FailedInitReg.7.User'); +INSERT INTO `kpi_title` VALUES (8, 'AMF', 'AMF.08', '{\"cn\": \"AMF初始注册失败次数_跟踪区内无合适小区_用户原因\", \"en\": \"AMF.FailedInitReg.15.User\"}', 'AMF初始注册失败次数_跟踪区内无合适小区_用户原因', 'AMF.FailedInitReg.15.User'); +INSERT INTO `kpi_title` VALUES (9, 'AMF', 'AMF.09', '{\"cn\": \"AMF初始注册失败次数_N1模式不允许\", \"en\": \"AMF.FailedInitReg.27\"}', 'AMF初始注册失败次数_N1模式不允许', 'AMF.FailedInitReg.27'); +INSERT INTO `kpi_title` VALUES (10, 'AMF', 'AMF.10', '{\"cn\": \"AMF初始注册失败次数_PLMN不允许\", \"en\": \"AMF.FailedInitReg.11\"}', 'AMF初始注册失败次数_PLMN不允许', 'AMF.FailedInitReg.11'); +INSERT INTO `kpi_title` VALUES (11, 'AMF', 'AMF.11', '{\"cn\": \"AMF初始注册失败次数_跟踪区不允许\", \"en\": \"AMF.FailedInitReg.12\"}', 'AMF初始注册失败次数_跟踪区不允许', 'AMF.FailedInitReg.12'); +INSERT INTO `kpi_title` VALUES (12, 'AMF', 'AMF.12', '{\"cn\": \"AMF初始注册失败次数_漫游跟踪区禁止接入\", \"en\": \"AMF.FailedInitReg.13\"}', 'AMF初始注册失败次数_漫游跟踪区禁止接入', 'AMF.FailedInitReg.13'); +INSERT INTO `kpi_title` VALUES (13, 'AMF', 'AMF.13', '{\"cn\": \"AMF初始注册失败次数_无可用网络切片\", \"en\": \"AMF.FailedInitReg.62\"}', 'AMF初始注册失败次数_无可用网络切片', 'AMF.FailedInitReg.62'); +INSERT INTO `kpi_title` VALUES (14, 'AMF', 'AMF.14', '{\"cn\": \"AMF初始注册失败次数_协议错误_用户原因\", \"en\": \"AMF.FailedInitReg.111.User\"}', 'AMF初始注册失败次数_协议错误_用户原因', 'AMF.FailedInitReg.111.User'); +INSERT INTO `kpi_title` VALUES (15, 'AMF', 'AMF.15', '{\"cn\": \"AMF一次寻呼响应次数\", \"en\": \"AMF.FirstPagingSucc\"}', 'AMF一次寻呼响应次数', 'AMF.FirstPagingSucc'); +INSERT INTO `kpi_title` VALUES (16, 'AMF', 'AMF.16', '{\"cn\": \"AMF二次寻呼响应次数\", \"en\": \"AMF.SecondPagingSucc\"}', 'AMF二次寻呼响应次数', 'AMF.SecondPagingSucc'); +INSERT INTO `kpi_title` VALUES (17, 'AMF', 'AMF.17', '{\"cn\": \"AMF寻呼请求次数\", \"en\": \"AMF.PagAtt\"}', 'AMF寻呼请求次数', 'AMF.PagAtt'); +INSERT INTO `kpi_title` VALUES (18, 'AMF', 'AMF.18', '{\"cn\": \"AMF业务请求被拒次数\", \"en\": \"AMF.FailServiceReq\"}', 'AMF业务请求被拒次数', 'AMF.FailServiceReq'); +INSERT INTO `kpi_title` VALUES (19, 'AMF', 'AMF.19', '{\"cn\": \"AMF业务请求尝试次数\", \"en\": \"AMF.AttServiceReq\"}', 'AMF业务请求尝试次数', 'AMF.AttServiceReq'); +INSERT INTO `kpi_title` VALUES (21, 'SMF', 'SMF.01', '{\"cn\": \"5G实时PDU会话数\", \"en\": \"SMF.MeanPduSession\"}', '5G实时PDU会话数', 'SMF.MeanPduSession'); +INSERT INTO `kpi_title` VALUES (22, 'SMF', 'SMF.02', '{\"cn\": \"PDU会话建立成功次数\", \"en\": \"SMF.SuccCreatePduSession\"}', 'PDU会话建立成功次数', 'SMF.SuccCreatePduSession'); +INSERT INTO `kpi_title` VALUES (23, 'SMF', 'SMF.03', '{\"cn\": \"PDU会话建立请求次数\", \"en\": \"SMF.AttCreatePduSession\"}', 'PDU会话建立请求次数', 'SMF.AttCreatePduSession'); +INSERT INTO `kpi_title` VALUES (24, 'SMF', 'SMF.04', '{\"cn\": \"IMS PDU会话建立成功次数\", \"en\": \"SMF.SuccCreatePduSession._Ims\"}', 'IMS PDU会话建立成功次数', 'SMF.SuccCreatePduSession._Ims'); +INSERT INTO `kpi_title` VALUES (25, 'SMF', 'SMF.05', '{\"cn\": \"IMS PDU会话建立请求次数\", \"en\": \"SMF.AttCreatePduSession._Ims\"}', 'IMS PDU会话建立请求次数', 'SMF.AttCreatePduSession._Ims'); +INSERT INTO `kpi_title` VALUES (26, 'SMF', 'SMF.06', '{\"cn\": \"EPS-Fallback成功数\", \"en\": \"SMF.SuccSmfModifyBearerResponse.Epsfb\"}', 'EPS-Fallback成功数', 'SMF.SuccSmfModifyBearerResponse.Epsfb'); +INSERT INTO `kpi_title` VALUES (27, 'SMF', 'SMF.07', '{\"cn\": \"EPS-Fallback请求数\", \"en\": \"SMF.AttSmfModifyPduSession.Epsfb\"}', 'EPS-Fallback请求数', 'SMF.AttSmfModifyPduSession.Epsfb'); +INSERT INTO `kpi_title` VALUES (28, 'UDM', 'UDM.01', '{\"cn\": \"5G注册用户数\", \"en\": \"UDR.5gActSub\"}', '5G注册用户数', 'UDR.5gActSub'); +INSERT INTO `kpi_title` VALUES (29, 'UDM', 'UDM.02', '{\"cn\": \"AMF发起的UECM注册请求次数\", \"en\": \"UDM.AmfUecmRegReq\"}', 'AMF发起的UECM注册请求次数', 'UDM.AmfUecmRegReq'); +INSERT INTO `kpi_title` VALUES (30, 'UDM', 'UDM.03', '{\"cn\": \"AMF发起的UECM注册成功次数\", \"en\": \"UDM.AmfUecmRegSucc\"}', 'AMF发起的UECM注册成功次数', 'UDM.AmfUecmRegSucc'); +INSERT INTO `kpi_title` VALUES (31, 'UDM', 'UDM.04', '{\"cn\": \"SMF发起的UECM注册成功次数\", \"en\": \"UDM.SmfUecmRegSucc\"}', 'SMF发起的UECM注册成功次数', 'UDM.SmfUecmRegSucc'); +INSERT INTO `kpi_title` VALUES (32, 'UDM', 'UDM.05', '{\"cn\": \"SMF发起的UECM注册请求次数\", \"en\": \"UDM.SmfUecmRegReq\"}', 'SMF发起的UECM注册请求次数', 'UDM.SmfUecmRegReq'); +INSERT INTO `kpi_title` VALUES (33, 'UDM', 'UDM.06', '{\"cn\": \"4G注册用户数\", \"en\": \"SUB.EpsActSubsInHss\"}', '4G注册用户数', 'SUB.EpsActSubsInHss'); +INSERT INTO `kpi_title` VALUES (34, 'UDM', 'UDM.07', '{\"cn\": \"4G鉴权信息查询成功次数\", \"en\": \"DIAM.AucInfoAnsSucc\"}', '4G鉴权信息查询成功次数', 'DIAM.AucInfoAnsSucc'); +INSERT INTO `kpi_title` VALUES (35, 'UDM', 'UDM.08', '{\"cn\": \"4G鉴权信息查询请求次数\", \"en\": \"DIAM.AucInfoReq\"}', '4G鉴权信息查询请求次数', 'DIAM.AucInfoReq'); +INSERT INTO `kpi_title` VALUES (36, 'UDM', 'UDM.09', '{\"cn\": \"4G更新位置成功次数\", \"en\": \"DIAM.UpdateLocationAnsSucc\"}', '4G更新位置成功次数', 'DIAM.UpdateLocationAnsSucc'); +INSERT INTO `kpi_title` VALUES (37, 'UDM', 'UDM.10', '{\"cn\": \"4G更新位置请求次数\", \"en\": \"DIAM.UpdateLocationReq\"}', '4G更新位置请求次数', 'DIAM.UpdateLocationReq'); +INSERT INTO `kpi_title` VALUES (38, 'UDM', 'UDM.11', '{\"cn\": \"SAR成功响应总次数\", \"en\": \"UR.SuccSAA\"}', 'SAR成功响应总次数', 'UR.SuccSAA'); +INSERT INTO `kpi_title` VALUES (39, 'UDM', 'UDM.12', '{\"cn\": \"SAR请求总次数\", \"en\": \"UR.AttSAR\"}', 'SAR请求总次数', 'UR.AttSAR'); +INSERT INTO `kpi_title` VALUES (40, 'UDM', 'UDM.13', '{\"cn\": \"LIR成功响应总次数\", \"en\": \"LIQ.SuccLIA\"}', 'LIR成功响应总次数', 'LIQ.SuccLIA'); +INSERT INTO `kpi_title` VALUES (41, 'UDM', 'UDM.14', '{\"cn\": \"LIR请求总次数\", \"en\": \"LIQ.AttLIR\"}', 'LIR请求总次数', 'LIQ.AttLIR'); +INSERT INTO `kpi_title` VALUES (42, 'AUSF', 'AUSF.01', '{\"cn\": \"鉴权成功次数\", \"en\": \"Ausf.UeAuthAnsSucc\"}', '鉴权成功次数', 'Ausf.UeAuthAnsSucc'); +INSERT INTO `kpi_title` VALUES (43, 'AUSF', 'AUSF.02', '{\"cn\": \"鉴权请求次数\", \"en\": \"Ausf.UeAuthReq\"}', '鉴权请求次数', 'Ausf.UeAuthReq'); +INSERT INTO `kpi_title` VALUES (64, 'UPF', 'UPF.01', '{\"cn\": \"PFCP会话建立成功次数\", \"en\": \"UPF.PfcpSessionEstabSucc\"}', 'PFCP会话建立成功次数', 'UPF.PfcpSessionEstabSucc'); +INSERT INTO `kpi_title` VALUES (65, 'UPF', 'UPF.02', '{\"cn\": \"PFCP会话建立请求次数\", \"en\": \"UPF.PfcpSessionEstabReq\"}', 'PFCP会话建立请求次数', 'UPF.PfcpSessionEstabReq'); +INSERT INTO `kpi_title` VALUES (66, 'UPF', 'UPF.03', '{\"cn\": \"N6接口上行字节数\", \"en\": \"UPF.N6OgOct\"}', 'N6接口上行字节数', 'UPF.N6OgOct'); +INSERT INTO `kpi_title` VALUES (67, 'UPF', 'UPF.04', '{\"cn\": \"N6接口下行字节数\", \"en\": \"UPF.N6IncOct\"}', 'N6接口下行字节数', 'UPF.N6IncOct'); +INSERT INTO `kpi_title` VALUES (68, 'UPF', 'UPF.05', '{\"cn\": \"N3接口上行字节数\", \"en\": \"UPF.N3OgOct\"}', 'N3接口上行字节数', 'UPF.N3OgOct'); +INSERT INTO `kpi_title` VALUES (69, 'UPF', 'UPF.06', '{\"cn\": \"N3接口下行字节数\", \"en\": \"UPF.N3IncOct\"}', 'N3接口下行字节数', 'UPF.N3IncOct'); +INSERT INTO `kpi_title` VALUES (70, 'UPF', 'UPF.07', '{\"cn\": \"SGi接口上行字节数\", \"en\": \"IP.PeakThroughputUlSgi\"}', 'SGi接口上行字节数', 'IP.PeakThroughputUlSgi'); +INSERT INTO `kpi_title` VALUES (71, 'UPF', 'UPF.08', '{\"cn\": \"SGi接口下行字节数\", \"en\": \"IP.PeakThroughputDlSgi\"}', 'SGi接口下行字节数', 'IP.PeakThroughputDlSgi'); +INSERT INTO `kpi_title` VALUES (72, 'UPF', 'UPF.09', '{\"cn\": \"S1-U接口上行字节数\", \"en\": \"GTP.OutOctS1uSgw\"}', 'S1-U接口上行字节数', 'GTP.OutOctS1uSgw'); +INSERT INTO `kpi_title` VALUES (73, 'UPF', 'UPF.10', '{\"cn\": \"S1-U接口下行字节数\", \"en\": \"GTP.IncOctS1uSgw\"}', 'S1-U接口下行字节数', 'GTP.IncOctS1uSgw'); +INSERT INTO `kpi_title` VALUES (74, 'AMF', 'AMF.20', '{\"cn\": \"EPS在线用户数\", \"en\": \"SUB.NbrSub.EcmIdle+SUB.NbrSub.EcmConnected\"}', 'EPS在线用户数', 'SUB.NbrSub.EcmIdle+SUB.NbrSub.EcmConnected'); +INSERT INTO `kpi_title` VALUES (75, 'AMF', 'AMF.21', '{\"cn\": \"EPS附着成功次数\", \"en\": \"MM.SuccEpsAttach\"}', 'EPS附着成功次数', 'MM.SuccEpsAttach'); +INSERT INTO `kpi_title` VALUES (76, 'AMF', 'AMF.22', '{\"cn\": \"EPS附着请求次数\", \"en\": \"MM.AttEpsAttach\"}', 'EPS附着请求次数', 'MM.AttEpsAttach'); +INSERT INTO `kpi_title` VALUES (77, 'AMF', 'AMF.23', '{\"cn\": \"EPS附着失败次数_非法用户\", \"en\": \"MM.FailedEpsAttach.3\"}', 'EPS附着失败次数_非法用户', 'MM.FailedEpsAttach.3'); +INSERT INTO `kpi_title` VALUES (78, 'AMF', 'AMF.24', '{\"cn\": \"EPS附着失败次数_非法终端\", \"en\": \"MM.FailedEpsAttach.5\"}', 'EPS附着失败次数_非法终端', 'MM.FailedEpsAttach.5'); +INSERT INTO `kpi_title` VALUES (79, 'AMF', 'AMF.25', '{\"cn\": \"EPS附着失败次数_非法ME\", \"en\": \"MM.FailedEpsAttach.6\"}', 'EPS附着失败次数_非法ME', 'MM.FailedEpsAttach.6'); +INSERT INTO `kpi_title` VALUES (80, 'AMF', 'AMF.26', '{\"cn\": \"EPS附着失败次数_EPS服务不允许_用户原因\", \"en\": \"MM.FailedEpsAttach.7.User\"}', 'EPS附着失败次数_EPS服务不允许_用户原因', 'MM.FailedEpsAttach.7.User'); +INSERT INTO `kpi_title` VALUES (81, 'AMF', 'AMF.27', '{\"cn\": \"EPS附着失败次数_EPS和非EPS服务不允许\", \"en\": \"MM.FailedEpsAttach.8\"}', 'EPS附着失败次数_EPS和非EPS服务不允许', 'MM.FailedEpsAttach.8'); +INSERT INTO `kpi_title` VALUES (82, 'AMF', 'AMF.28', '{\"cn\": \"EPS附着失败次数_跟踪区内无合适小区_用户原因\", \"en\": \"MM.FailedEpsAttach.15.User\"}', 'EPS附着失败次数_跟踪区内无合适小区_用户原因', 'MM.FailedEpsAttach.15.User'); +INSERT INTO `kpi_title` VALUES (83, 'AMF', 'AMF.29', '{\"cn\": \"EPS附着失败次数_ESM失败_用户原因\", \"en\": \"MM.FailedEpsAttach.19.User\"}', 'EPS附着失败次数_ESM失败_用户原因', 'MM.FailedEpsAttach.19.User'); +INSERT INTO `kpi_title` VALUES (84, 'AMF', 'AMF.30', '{\"cn\": \"MME一次寻呼响应次数\", \"en\": \"MM.FirstPagingSucc\"}', 'MME一次寻呼响应次数', 'MM.FirstPagingSucc'); +INSERT INTO `kpi_title` VALUES (85, 'AMF', 'AMF.31', '{\"cn\": \"MME二次寻呼响应次数\", \"en\": \"MM.SecondPagingSucc\"}', 'MME二次寻呼响应次数', 'MM.SecondPagingSucc'); +INSERT INTO `kpi_title` VALUES (86, 'AMF', 'AMF.32', '{\"cn\": \"MME寻呼请求次数\", \"en\": \"MM.PagAtt\"}', 'MME寻呼请求次数', 'MM.PagAtt'); + +INSERT INTO `kpi_title` VALUES (87, 'SMF', 'SMF.08', '{\"cn\": \"4G在线会话数\", \"en\": \"SM.MeanNbrBearerPgw.Default\"}', '4G在线会话数', 'SM.MeanNbrBearerPgw.Default'); +INSERT INTO `kpi_title` VALUES (88, 'SMF', 'SMF.09', '{\"cn\": \"PGW缺省承载建立成功个数\", \"en\": \"SM.SuccCreateDefaultEpsBearer\"}', 'PGW缺省承载建立成功个数', 'SM.SuccCreateDefaultEpsBearer'); +INSERT INTO `kpi_title` VALUES (89, 'SMF', 'SMF.10', '{\"cn\": \"PGW缺省承载建立请求个数\", \"en\": \"SM.AttCreateDefaultEpsBearer\"}', 'PGW缺省承载建立请求个数', 'SM.AttCreateDefaultEpsBearer'); +INSERT INTO `kpi_title` VALUES (90, 'SMF', 'SMF.11', '{\"cn\": \"PGW专用承载建立成功个数\", \"en\": \"SM.SuccCreateDedicatedEpsBearer\"}', 'PGW专用承载建立成功个数', 'SM.SuccCreateDedicatedEpsBearer'); +INSERT INTO `kpi_title` VALUES (91, 'SMF', 'SMF.12', '{\"cn\": \"PGW专用承载建立请求个数\", \"en\": \"SM.AttCreateDedicatedEpsBearer\"}', 'PGW专用承载建立请求个数', 'SM.AttCreateDedicatedEpsBearer'); +INSERT INTO `kpi_title` VALUES (92, 'SMF', 'SMF.13', '{\"cn\": \"IMS缺省承载成功建立个数\", \"en\": \"SM.SuccCreateDefaultEpsBearer._Ims\"}', 'IMS缺省承载成功建立个数', 'SM.SuccCreateDefaultEpsBearer._Ims'); +INSERT INTO `kpi_title` VALUES (93, 'SMF', 'SMF.14', '{\"cn\": \"IMS缺省承载请求建立个数\", \"en\": \"SM.AttCreateDefaultEpsBearer._Ims\"}', 'IMS缺省承载请求建立个数', 'SM.AttCreateDefaultEpsBearer._Ims'); + + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0727/menu.sql b/database/upgrade0727/menu.sql new file mode 100644 index 00000000..0244da9e --- /dev/null +++ b/database/upgrade0727/menu.sql @@ -0,0 +1,60 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 31/07/2023 00:02:05 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for menu +-- ---------------------------- +DROP TABLE IF EXISTS `menu`; +CREATE TABLE `menu` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `group_name` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `menu_tag` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '', + `sort_id` int(11) NULL DEFAULT NULL, + `lang_tag` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `menu_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of menu +-- ---------------------------- +INSERT INTO `menu` VALUES (1, 'admin', 'topologyManagement', 1, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [\r\n {\r\n \"id\": 3,\r\n \"href\": \"page/main/main.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/system/performanceCount.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"运行统计\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"系统状态\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (2, 'admin', 'faultManagement', 2, 'cn', '{\r\n \"id\": 1,\r\n \"href\": \"\",\r\n \"icon\": \"fa fa-wrench\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/alarm/alarmListDown.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"活动告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/alarm/AlarmListHistory.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"历史告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/alarm/alarmInfoConfig.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n } ,{\r\n \"id\": 5,\r\n \"href\": \"page/alarm/alarmForwarding.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警前转\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"故障管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (3, 'admin', 'systemManagement', 3, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-pencil-square-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/nfManage/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/configParam/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"参数配置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/softwareManage/softwareManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"软件管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/softwareManage/backupManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"备份管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"配置管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (4, 'admin', 'performanceManagement', 4, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-line-chart\",\r\n \"child\": [{\r\n \"id\": 1,\r\n \"href\": \"page/task/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 2,\r\n \"href\": \"page/repair/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能数据\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/task/perfReport.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能报表\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/task/threshold.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能门限\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 6,\r\n \"href\": \"page/gold/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"黄金指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 7,\r\n \"href\": \"page/task/perfReportSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"报表设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 8,\r\n \"href\": \"page/indicators/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"自定义指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"性能管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (5, 'admin', 'operationMaintenance', 5, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"操作维护\",\r\n \"icon\": \"fa fa-gear\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [\r\n\r\n {\r\n \"id\": 2,\r\n \"title\": \"系统操作MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"用户数据MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/udmList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (6, 'admin', 'trackManagement', 8, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"跟踪管理\",\r\n \"icon\": \"fa fa-home\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [{\r\n \"id\": 2,\r\n \"title\": \"跟踪任务\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/trace/taskList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"信令分析\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"dormitoryset/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (7, 'admin', 'logManagement', 6, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-newspaper-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/log/operLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"操作日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/log/alarmLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 6,\r\n \"href\": \"page/log/securityLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"安全日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/log/logSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"日志设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"日志管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n\r\n}'); +INSERT INTO `menu` VALUES (8, 'admin', 'securityManagement', 7, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-users\",\r\n \"child\": [\r\n {\r\n \"id\": 2,\r\n \"href\": \"page/user/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"用户管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 3,\r\n \"href\": \"page/user/online.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"在线状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"安全管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (18, 'operator', 'topologyManagement', 1, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [\r\n {\r\n \"id\": 3,\r\n \"href\": \"page/main.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/system/performanceCount.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"运行统计\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"系统状态\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (19, 'operator', 'faultManagement', 2, 'cn', '{\r\n \"id\": 1,\r\n \"href\": \"\",\r\n \"icon\": \"fa fa-wrench\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/alarm/alarmListDown.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"活动告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/alarm/AlarmListHistory.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"历史告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/alarm/alarmInfoConfig.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"故障管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (20, 'operator', 'systemManagement', 3, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-pencil-square-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/nfManage/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"dormitoryset/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"参数配置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/softwareManage/softwareManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"软件管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 5,\r\n \"href\": \"page/softwareManage/backupManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"备份管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"配置管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (21, 'operator', 'performanceManagement', 4, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-line-chart\",\r\n \"child\": [{\r\n \"id\": 1,\r\n \"href\": \"page/task/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 2,\r\n \"href\": \"page/repair/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能数据\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/task/perfReport.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能报表\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/task/threshold.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能门限\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 6,\r\n \"href\": \"page/gold/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"黄金指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 7,\r\n \"href\": \"page/task/perfReportSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"报表设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"性能管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (22, 'operator', 'operationMaintenance', 5, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"操作维护\",\r\n \"icon\": \"fa fa-gear\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [\r\n\r\n {\r\n \"id\": 2,\r\n \"title\": \"系统操作MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"用户数据MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/udmList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (23, 'operator', 'logManagement', 6, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"跟踪管理\",\r\n \"icon\": \"fa fa-home\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [{\r\n \"id\": 2,\r\n \"title\": \"跟踪任务\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/trace/taskList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"信令分析\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"dormitoryset/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (24, 'operator', 'securityManagement', 7, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-newspaper-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/log/operLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"操作日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/log/alarmLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/log/logSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"日志设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"日志管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n\r\n}'); +INSERT INTO `menu` VALUES (25, 'user', 'topologyManagement', 1, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-home\",\r\n \"child\": [\r\n {\r\n \"id\": 3,\r\n \"href\": \"page/main.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元状态\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/system/performanceCount.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"运行统计\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"系统状态\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (26, 'user', 'faultManagement', 2, 'cn', '{\r\n \"id\": 1,\r\n \"href\": \"\",\r\n \"icon\": \"fa fa-wrench\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/alarm/alarmListDown.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"活动告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"page/alarm/AlarmListHistory.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"历史告警\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/alarm/alarmInfoConfig.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"故障管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (27, 'user', 'systemManagement', 3, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-pencil-square-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/nfManage/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"网元管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 3,\r\n \"href\": \"dormitoryset/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"参数配置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/softwareManage/softwareManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"软件管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 5,\r\n \"href\": \"page/softwareManage/backupManage.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"备份管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"配置管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (28, 'user', 'performanceManagement', 4, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-line-chart\",\r\n \"child\": [{\r\n \"id\": 1,\r\n \"href\": \"page/task/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"任务管理\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 2,\r\n \"href\": \"page/repair/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能数据\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/task/perfReport.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能报表\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },\r\n {\r\n \"id\": 4,\r\n \"href\": \"page/task/threshold.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"性能门限\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 6,\r\n \"href\": \"page/gold/list.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"黄金指标\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n },{\r\n \"id\": 7,\r\n \"href\": \"page/task/perfReportSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"报表设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }\r\n ],\r\n \"title\": \"性能管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n}'); +INSERT INTO `menu` VALUES (29, 'user', 'operationMaintenance', 5, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"操作维护\",\r\n \"icon\": \"fa fa-gear\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [\r\n\r\n {\r\n \"id\": 2,\r\n \"title\": \"系统操作MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"用户数据MML\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/mml/udmList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (30, 'user', 'logManagement', 6, 'cn', '{\r\n \"id\": 1,\r\n \"title\": \"跟踪管理\",\r\n \"icon\": \"fa fa-home\",\r\n \"href\": null,\r\n \"target\": null,\r\n \"parentId\": 0,\r\n \"child\": [{\r\n \"id\": 2,\r\n \"title\": \"跟踪任务\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"page/trace/taskList.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n },\r\n {\r\n \"id\": 3,\r\n \"title\": \"信令分析\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"href\": \"dormitoryset/list.html\",\r\n \"target\": null,\r\n \"parentId\": 1,\r\n \"child\": null\r\n }\r\n ]\r\n}'); +INSERT INTO `menu` VALUES (31, 'user', 'securityManagement', 7, 'cn', '{\r\n \"id\": 1,\r\n \"href\": null,\r\n \"icon\": \"fa fa-newspaper-o\",\r\n \"child\": [{\r\n \"id\": 2,\r\n \"href\": \"page/log/operLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"操作日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 4,\r\n \"href\": \"page/log/alarmLogList.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"告警日志\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }, {\r\n \"id\": 5,\r\n \"href\": \"page/log/logSet.html\",\r\n \"icon\": \"fa fa-caret-right\",\r\n \"child\": null,\r\n \"title\": \"日志设置\",\r\n \"target\": null,\r\n \"parentId\": 1\r\n }],\r\n \"title\": \"日志管理\",\r\n \"target\": null,\r\n \"parentId\": 0\r\n\r\n}'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0727/mml_command.sql b/database/upgrade0727/mml_command.sql new file mode 100644 index 00000000..3167eb4d --- /dev/null +++ b/database/upgrade0727/mml_command.sql @@ -0,0 +1,46 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 30/07/2023 02:46:28 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mml_command +-- ---------------------------- +DROP TABLE IF EXISTS `mml_command`; +CREATE TABLE `mml_command` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `cat_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `operation` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `mml_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `param_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 523 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of mml_command +-- ---------------------------- +INSERT INTO `mml_command` VALUES (518, 'EMS', 'neManagement', 'Network Element Management', 'dsp', 'neInfo', 'Display Network Element Information', '[{\"alias\":\"ne_type\",\"apostr\":\"true\",\"comment\":\"\",\"display\":\"Network Element Type\",\"filter\":\"\",\"name\":\"neType\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"ne_id\",\"comment\":\"\",\"display\":\"Network Element ID\",\"filter\":\"\",\"name\":\"neId\",\"optional\":\"false\",\"type\":\"string\"},{\"alias\":\"rm_uid\",\"comment\":\"\",\"display\":\"Resource Management Universal Identifier\",\"filter\":\"\",\"name\":\"RmUID\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Phisical/Virtual Flag\",\"filter\":\"\",\"name\":\"pvFlag\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Status\",\"filter\":\"\",\"name\":\"status\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (519, 'EMS', 'neManagement', 'Network Element Management', 'add', 'neInfo', 'Add Network Element', '[{\"comment\":\"\",\"display\":\"NE Type\",\"filter\":\"\",\"name\":\"neType\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neId\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Phisical/Virtual Flag\",\"filter\":\"\",\"name\":\"pvFlag\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (520, 'EMS', 'neManagement', 'Network Element Management', 'mod', 'neInfo', 'Modify Network Element', '[{\"comment\":\"\",\"display\":\"NE Type\",\"filter\":\"\",\"name\":\"neType\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neId\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Phisical/Virtual Flag\",\"filter\":\"\",\"name\":\"pvFlag\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (521, 'EMS', 'neManagement', 'Network Element Management', 'del', 'neInfo', 'Delete Network Element', '[{\"comment\":\"\",\"display\":\"NE Type\",\"filter\":\"\",\"name\":\"neType\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neId\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_command` VALUES (522, 'EMS', 'faultManagement', 'Fault Management', 'dsp', 'alarms', 'Display Alarms Information', '[{\"comment\":\"\",\"display\":\"NE Type\",\"filter\":\"\",\"name\":\"neType\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"NE ID\",\"filter\":\"\",\"name\":\"neId\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Alarm Code\",\"filter\":\"\",\"name\":\"alarmCode\",\"optional\":\"true\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Original Severity\",\"filter\":\"{\\\"Critical\\\",\\\"Major\\\",\\\"Minor\\\",\\\"Warning\\\",\\\"Event\\\"}\",\"name\":\"origSeverity\",\"optional\":\"true\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"Alarm Event Start Time\",\"filter\":\"\",\"name\":\"startTime\",\"optional\":\"true\",\"type\":\"string\"}]'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0727/mml_http_map.sql b/database/upgrade0727/mml_http_map.sql new file mode 100644 index 00000000..e9ea7755 --- /dev/null +++ b/database/upgrade0727/mml_http_map.sql @@ -0,0 +1,43 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 30/07/2023 02:45:48 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mml_http_map +-- ---------------------------- +DROP TABLE IF EXISTS `mml_http_map`; +CREATE TABLE `mml_http_map` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `operation` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `uri` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `output` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 515 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of mml_http_map +-- ---------------------------- +INSERT INTO `mml_http_map` VALUES (513, 'EMS', 'dsp', 'neInfo', 'Get', '/api/rest/databaseManagement/v1/omc_db/ne_info', 'WHERE', '{\r\n\"retFmt\": \"GetDB\", \r\n\"retMsg\": \"RetCode = %d operation succeeded\\n\\n\",\r\n\"errMsg\": \"ErrorCode = %d operation failed: %s\\n\\n\",\r\n\"title\": \"Network element information\",\r\n\"singleList\": true,\r\n\"sepSpaceNum\": 2,\r\n\"alignmentM\": \"Left\",\r\n\"alignmentSN\": \"Right\",\r\n\"alignmentSV\": \"Left\",\r\n\"cols\":\r\n[\r\n {\r\n \"name\": \"ne_type\",\r\n \"display\": \"Network type\", \r\n \"length\": 10\r\n },\r\n {\r\n \"name\": \"ne_id\",\r\n \"display\": \"Network identifier\",\r\n \"length\": 16\r\n },\r\n {\r\n \"name\": \"rm_uid\",\r\n \"display\": \"Resource management universal identifier\",\r\n \"length\": 28\r\n } \r\n],\r\n\"end\": \"(Number of results = %d)\\n\\n\"\r\n}\r\n\r\n'); +INSERT INTO `mml_http_map` VALUES (514, 'EMS', 'dsp', 'neState', 'Get', '/api/rest/systemManagement/v1/elementType/UDM/objectType/systemState', NULL, NULL); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0727/mml_system.sql b/database/upgrade0727/mml_system.sql new file mode 100644 index 00000000..0f9779c8 --- /dev/null +++ b/database/upgrade0727/mml_system.sql @@ -0,0 +1,86 @@ +/* + Navicat Premium Data Transfer + + Source Server : local_mariadb + Source Server Type : MariaDB + Source Server Version : 100338 (10.3.38-MariaDB) + Source Host : localhost:33066 + Source Schema : omc_db + + Target Server Type : MariaDB + Target Server Version : 100338 (10.3.38-MariaDB) + File Encoding : 65001 + + Date: 31/07/2023 00:02:43 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for mml_system +-- ---------------------------- +DROP TABLE IF EXISTS `mml_system`; +CREATE TABLE `mml_system` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `cat_display` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `operation` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `object` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `mml_display` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `param_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 521 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of mml_system +-- ---------------------------- +INSERT INTO `mml_system` VALUES (475, 'AMF', 'systemManagement', 'System Management', 'set', 'n8_ip', 'Set N8 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (476, 'AMF', 'systemManagement', 'System Management', 'set', 'n11_ip', 'Set N11 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (477, 'AMF', 'systemManagement', 'System Management', 'set', 'n12_ip', 'Set N12 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (478, 'AMF', 'systemManagement', 'System Management', 'set', 'n2_ip', 'Set N2 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (479, 'AMF', 'systemManagement', 'System Management', 'set', 'n2_port', 'Set N2 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (480, 'AMF', 'systemManagement', 'System Management', 'add', 'slice', 'Add Slice', '[{\"comment\":\"\",\"display\":\"SST\",\"filter\":\"\",\"name\":\"sst\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SD\",\"filter\":\"\",\"name\":\"sd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (481, 'AMF', 'systemManagement', 'System Management', 'deregister', 'imsi', 'Deregister IMSI', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"IMSI\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (482, 'AMF', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (483, 'AUSF', 'systemManagement', 'System Management', 'set', 'n12ip', 'Set N12 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (484, 'AUSF', 'systemManagement', 'System Management', 'set', 'n12port', 'Set N12 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"1~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (485, 'AUSF', 'systemManagement', 'System Management', 'set', 'n12scheme', 'Set N12 Scheme', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"}]'); +INSERT INTO `mml_system` VALUES (486, 'AUSF', 'systemManagement', 'System Management', 'set', 'supirange', 'Set SUPI Range', '[{\"comment\":\"\",\"display\":\"SUPI Range\",\"filter\":\"\",\"name\":\"supirange\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (487, 'SMF', 'systemManagement', 'System Management', 'set', 'n7 server', 'Set N7 Server', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (488, 'SMF', 'systemManagement', 'System Management', 'set', 'n7 client', 'Set N7 Client', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (489, 'SMF', 'systemManagement', 'System Management', 'set', 'n10 server', 'Set N10 Server', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (490, 'SMF', 'systemManagement', 'System Management', 'set', 'n10 client', 'Set N10 Client', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (491, 'SMF', 'systemManagement', 'System Management', 'set', 'n11 server', 'Set N11 Server', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"0~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (492, 'SMF', 'systemManagement', 'System Management', 'set', 'n11 client', 'Set N11 Client', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"0~64\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (493, 'SMF', 'systemManagement', 'System Management', 'set', 'dnn', 'Set DNN', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"DNN\",\"filter\":\"\",\"name\":\"DNN\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (495, 'SMF', 'systemManagement', 'System Management', 'set', 'qos', 'Set Qos', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"SD\",\"filter\":\"\",\"name\":\"5qi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"5qipl\",\"filter\":\"\",\"name\":\"5qipl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"arppl\",\"filter\":\"\",\"name\":\"arppl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"arppci\",\"filter\":\"\",\"name\":\"arppci\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"arppvi\",\"filter\":\"\",\"name\":\"arppvi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"mfbrul\",\"filter\":\"\",\"name\":\"mfbrul\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"mfbrdl\",\"filter\":\"\",\"name\":\"mfbrdl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"gfbrul\",\"filter\":\"\",\"name\":\"gfbrul\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"gfbrdl\",\"filter\":\"\",\"name\":\"gfbrdl\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (496, 'SMF', 'systemManagement', 'System Management', 'set', 'snssai', 'Set Snssai', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"display\":\"sst-sd\",\"filter\":\"\",\"name\":\"sst-sd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (497, 'SMF', 'systemManagement', 'System Management', 'release', 'imsi', 'Release IMSI', '[{\"comment\":\"\",\"display\":\"IMSI\",\"filter\":\"\",\"name\":\"imsi\",\"optional\":\"false\",\"type\":\"string\"},{\"display\":\"PDU Session Id\",\"filter\":\"\",\"name\":\"pduSessId\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (498, 'SMF', 'systemManagement', 'System Management', 'set', 'urr', 'Set URR', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Volume Tatol\",\"filter\":\"\",\"name\":\"quotavolumetatol\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Volume UL\",\"filter\":\"\",\"name\":\"quotavolumeul\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Volume DL\",\"filter\":\"\",\"name\":\"quotavolumedl\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Quota Time\",\"filter\":\"\",\"name\":\"quotatime\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (499, 'SMF', 'systemManagement', 'System Management', 'set', 'dpi', 'Set DPI', '[{\"comment\":\"\",\"display\":\"Flag\",\"filter\":\"{\\\"0\\\":\\\"disable\\\", \\\"1\\\":\\\"enable\\\"}\",\"name\":\"flag\",\"optional\":\"false\",\"type\":\"enum\"},{\"comment\":\"\",\"display\":\"Max Detect Packet Number\",\"filter\":\"\",\"name\":\"max\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (500, 'SMF', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (501, 'UDM', 'ausfManagement', 'AUSF Management', 'set', 'n12ip', 'Set N12 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (502, 'UDM', 'ausfManagement', 'AUSF Management', 'set', 'n12port', 'Set N12 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"1~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (503, 'UDM', 'ausfManagement', 'AUSF Management', 'set', 'n12scheme', 'Set N12 Scheme', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"}]'); +INSERT INTO `mml_system` VALUES (504, 'UDM', 'ausfManagement', 'AUSF Management', 'set', 'supirange', 'Set SUPI Range', '[{\"comment\":\"\",\"display\":\"SUPI Range\",\"filter\":\"\",\"name\":\"supirange\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (505, 'UDM', 'systemManagement', 'System Management', 'set', 'n8ip', 'Set N8 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"ipv4\"}]'); +INSERT INTO `mml_system` VALUES (506, 'UDM', 'systemManagement', 'System Management', 'set', 'n8port', 'Set N8 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"1~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (507, 'UDM', 'systemManagement', 'System Management', 'set', 'n8scheme', 'Set N8 Scheme', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"}]'); +INSERT INTO `mml_system` VALUES (508, 'UDM', 'systemManagement', 'System Management', 'set', 'n10ip', 'Set N10 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (509, 'UDM', 'systemManagement', 'System Management', 'set', 'n10port', 'Set N10 Port', '[{\"comment\":\"\",\"display\":\"Port\",\"filter\":\"1~65535\",\"name\":\"port\",\"optional\":\"false\",\"type\":\"int\"}]'); +INSERT INTO `mml_system` VALUES (510, 'UDM', 'systemManagement', 'System Management', 'set', 'n10scheme', 'Set N10 Scheme', '[{\"comment\":\"\",\"display\":\"Scheme\",\"filter\":\"{\\\"0\\\":\\\"http\\\", \\\"1\\\":\\\"https\\\"}\",\"name\":\"scheme\",\"optional\":\"false\",\"type\":\"enum\"}]'); +INSERT INTO `mml_system` VALUES (511, 'UDM', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (512, 'UPF', 'systemManagement', 'System Management', 'set', 'n3 driver', 'Set N3 Driver', '[{\"comment\":\"\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"type\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mask\",\"filter\":\"\",\"name\":\"mask\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mac address\",\"filter\":\"\",\"name\":\"mac\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"PCI address\",\"filter\":\"\",\"name\":\"pci\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (513, 'UPF', 'systemManagement', 'System Management', 'set', 'n4 ip', 'Set N4 IP Address', '[{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (514, 'UPF', 'systemManagement', 'System Management', 'set', 'n6 driver', 'Set N6 Driver', '[{\"comment\":\"\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"type\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mask\",\"filter\":\"\",\"name\":\"mask\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mac address\",\"filter\":\"\",\"name\":\"mac\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"PCI address\",\"filter\":\"\",\"name\":\"pci\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (515, 'UPF', 'systemManagement', 'System Management', 'set', 'n9 driver', 'Set N9 Driver', '[{\"comment\":\"\",\"display\":\"Type\",\"filter\":\"\",\"name\":\"type\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"IP address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mask\",\"filter\":\"\",\"name\":\"mask\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Mac address\",\"filter\":\"\",\"name\":\"mac\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"PCI address\",\"filter\":\"\",\"name\":\"pci\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (516, 'UPF', 'systemManagement', 'System Management', 'set', 'dnn', 'Set DNN', '[{\"comment\":\"\",\"display\":\"DNN\",\"filter\":\"\",\"name\":\"dnn\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"IP Address\",\"filter\":\"\",\"name\":\"ip\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (517, 'UPF', 'systemManagement', 'System Management', 'set', 'pfcp', 'Set PFCP', '[{\"comment\":\"\",\"display\":\"Path\",\"filter\":\"\",\"name\":\"path\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Local IP Address\",\"filter\":\"\",\"name\":\"local\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Remote IP Address\",\"filter\":\"\",\"name\":\"remote\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (518, 'UPF', 'systemManagement', 'System Management', 'set', 'qos', 'Set Qos', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"5qi\",\"filter\":\"\",\"name\":\"5qi\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Priority Level\",\"filter\":\"\",\"name\":\"priority\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"MBR\",\"filter\":\"\",\"name\":\"mbr\",\"optional\":\"false\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"GBR\",\"filter\":\"\",\"name\":\"gbr\",\"optional\":\"false\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (519, 'UPF', 'systemManagement', 'System Management', 'set', 'pccrule', 'Set PCC Rule', '[{\"comment\":\"\",\"display\":\"Index\",\"filter\":\"0~65535\",\"name\":\"index\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Precedence\",\"filter\":\"\",\"name\":\"precedence\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"QOS Index\",\"filter\":\"\",\"name\":\"qosindex\",\"optional\":\"false\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Filter Direction\",\"filter\":\"{\\\"0\\\":\\\"NA\\\", \\\"1\\\":\\\"Uplink\\\", \\\"2\\\":\\\"Downlink\\\", \\\"3\\\":\\\"Bidirectionallink\\\"}\",\"name\":\"direction\",\"optional\":\"true\",\"type\":\"int\"},{\"comment\":\"\",\"display\":\"Filter\",\"filter\":\"\",\"name\":\"filter\",\"optional\":\"true\",\"type\":\"string\"},{\"comment\":\"\",\"display\":\"Application ID\",\"filter\":\"\",\"name\":\"appid\",\"optional\":\"true\",\"type\":\"string\"}]'); +INSERT INTO `mml_system` VALUES (520, 'UPF', 'systemManagement', 'System Management', 'exec', 'shell', 'Execute Shell Command', '[{\"comment\":\"\",\"display\":\"CMD\",\"filter\":\"\",\"name\":\"cmd\",\"optional\":\"false\",\"type\":\"string\"}]'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/database/upgrade0727/pm_custom_title.sql b/database/upgrade0727/pm_custom_title.sql new file mode 100644 index 00000000..2d6e5f07 --- /dev/null +++ b/database/upgrade0727/pm_custom_title.sql @@ -0,0 +1,4 @@ +ALTER TABLE `omc_db`.`pm_custom_title` +ADD COLUMN `kpi_set` json NULL AFTER `kpi_id`, +ADD COLUMN `status` enum('Active','Deleted') NULL AFTER `period`, +MODIFY COLUMN `update_time` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP AFTER `description`; diff --git a/features/aaaa/aaaa.go b/features/aaaa/aaaa.go index e37c5789..15dc8c41 100644 --- a/features/aaaa/aaaa.go +++ b/features/aaaa/aaaa.go @@ -9,13 +9,17 @@ import ( "github.com/go-resty/resty/v2" + "ems.agt/lib/dborm" "ems.agt/lib/log" + "ems.agt/lib/oauth" "ems.agt/lib/services" "ems.agt/restagent/config" ) var ( - UriAAAASSO = config.UriPrefix + "/aaaa/{apiVersion}/security/sso" // for external + UriAAAASSO = config.DefaultUriPrefix + "/aaaa/{apiVersion}/security/sso" // for 4A external + + CustomUriAAAASSO = config.UriPrefix + "/aaaa/{apiVersion}/security/sso" // for 4A external ) var client = resty.New() @@ -64,17 +68,9 @@ func GetSSOFromAAAA(w http.ResponseWriter, r *http.Request) { log.Debugf("r.RemoteAddr:%s r.Host: %s", r.RemoteAddr, r.Host) - var aaaaIp, omcIp string - addr := strings.Split(r.RemoteAddr, ":") - if len(addr) > 0 { - //aaaaIp := r.RemoteAddr[:strings.Index(r.Host, ":")] - aaaaIp = addr[0] - } - addr = strings.Split(r.Host, ":") - if len(addr) > 0 { - //omcIp := r.Host[:strings.Index(r.Host, ":")] - omcIp = addr[0] - } + aaaaIp := r.RemoteAddr[:strings.Index(r.RemoteAddr, ":")] + omcIp := r.Host[:strings.Index(r.Host, ":")] + log.Debugf("aaaaIp=%s omcIp=%s", aaaaIp, omcIp) requestURI2NF := fmt.Sprintf("http://%s:8080/qryUserByTicket", aaaaIp) @@ -107,11 +103,35 @@ func GetSSOFromAAAA(w http.ResponseWriter, r *http.Request) { if len(ssoResult.SSO.Account) != 0 { accid = ssoResult.SSO.Account[0].Accid } - redirectUrl := fmt.Sprintf("http://%s:8888/home.html?user=%s", omcIp, accid) - services.ResponseRedirect(w, redirectUrl) - return + + log.Debug("accid:", accid) + exist, err := dborm.XormIsExistUser(accid) + if err != nil { + services.ResponseInternalServerError500ProcessError(w, err) + return + } + token := oauth.GenRandToken() // Generate new token to session ID + affected, err := dborm.XormInsertSession(accid, r.RemoteAddr, token, + config.GetExpiresFromConfig(), config.GetYamlConfig().Auth.Session) + if err != nil { + log.Error("Failed to XormInsertSession:", err) + if affected == -1 { + services.ResponseForbidden403MultiLoginNotAllowed(w) + } else { + services.ResponseBadRequest400IncorrectLogin(w) + } + return + } + if exist == true { + redirectUrl := fmt.Sprintf("http://%s:8888/home.html?user=%s&token=%s", omcIp, accid, token) + services.ResponseRedirect(w, redirectUrl, accid, token) + return + } else { + services.ResponseBadRequest400IncorrectLogin(w) + return + } default: - services.ResponseNotFound404UriNotExist(w, r) + services.ResponseForbidden403NotPermission(w) return } } diff --git a/features/cm/license.go b/features/cm/license.go index 1a0925e0..e691a903 100644 --- a/features/cm/license.go +++ b/features/cm/license.go @@ -12,8 +12,11 @@ import ( var ( // License - LicenseUri = config.UriPrefix + "/systemManagement/{apiVersion}/{neType}/license" - NeLicenseUri = config.UriPrefix + "/systemManagement/{apiVersion}/{neType}/license/{neId}" + LicenseUri = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/{neType}/license" + NeLicenseUri = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/{neType}/license/{neId}" + + CustomLicenseUri = config.UriPrefix + "/systemManagement/{apiVersion}/{neType}/license" + CustomNeLicenseUri = config.UriPrefix + "/systemManagement/{apiVersion}/{neType}/license/{neId}" ) func UploadLicenseFile(w http.ResponseWriter, r *http.Request) { diff --git a/features/cm/ne.go b/features/cm/ne.go index 3e6aa1b5..a1b87ede 100644 --- a/features/cm/ne.go +++ b/features/cm/ne.go @@ -20,13 +20,18 @@ import ( ) var ( - UriParamOmcNeConfig = config.UriPrefix + "/systemManagement/v1/elementType/%s/objectType/config/omcNeConfig" + UriParamOmcNeConfig = config.DefaultUriPrefix + "/systemManagement/v1/elementType/%s/objectType/config/omcNeConfig" // NE CM export/import - NeCmUri = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/cm" + NeCmUri = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/cm" // NE info - UriNeInfo = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/neInfo" + UriNeInfo = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/neInfo" // NE backup file - UriNeCmFile = config.UriPrefix + "/systemManagement/{apiVersion}/{neType}/neBackup/{fileName}" + UriNeCmFile = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/{neType}/neBackup/{fileName}" + + CustomUriParamOmcNeConfig = config.UriPrefix + "/systemManagement/v1/elementType/%s/objectType/config/omcNeConfig" + CustomNeCmUri = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/cm" + CustomUriNeInfo = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/neInfo" + CustomUriNeCmFile = config.UriPrefix + "/systemManagement/{apiVersion}/{neType}/neBackup/{fileName}" ) func init() { diff --git a/features/cm/param.go b/features/cm/param.go index f4603a49..09da3104 100644 --- a/features/cm/param.go +++ b/features/cm/param.go @@ -18,8 +18,11 @@ import ( var ( // parameter config management - ParamConfigUri = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/config/{paraName}" - ParamConfigUrl = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/config/{paraName}" + ParamConfigUri = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/config/{paraName}" + ParamConfigUrl = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/config/{paraName}" + + CustomParamConfigUri = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/config/{paraName}" + CustomParamConfigUrl = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/config/{paraName}" ) func GetParamConfigFromNF(w http.ResponseWriter, r *http.Request) { diff --git a/features/cm/software.go b/features/cm/software.go index 0ed8ddee..81ad080e 100644 --- a/features/cm/software.go +++ b/features/cm/software.go @@ -25,8 +25,11 @@ const ( ) var ( - UriSoftware = config.UriPrefix + "/systemManagement/{apiVersion}/{neType}/software/{version}" - UriSoftwareNE = config.UriPrefix + "/systemManagement/{apiVersion}/{neType}/software/{version}/{neId}" + UriSoftware = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/{neType}/software/{version}" + UriSoftwareNE = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/{neType}/software/{version}/{neId}" + + CustomUriSoftware = config.UriPrefix + "/systemManagement/{apiVersion}/{neType}/software/{version}" + CustomUriSoftwareNE = config.UriPrefix + "/systemManagement/{apiVersion}/{neType}/software/{version}/{neId}" ) func UploadSoftwareFile(w http.ResponseWriter, r *http.Request) { diff --git a/features/dbrest/dbrest.go b/features/dbrest/dbrest.go index cf5b70a5..f69373bd 100644 --- a/features/dbrest/dbrest.go +++ b/features/dbrest/dbrest.go @@ -29,15 +29,25 @@ type XormInsertResponse struct { var ( // database management rest pattern, discard - XormGetDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/elementType/{databaseName}/objectType/{tableName}" - XormSelectDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/select/{databaseName}/{tableName}" - XormInsertDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/insert/{databaseName}/{tableName}" - XormUpdateDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/update/{databaseName}/{tableName}" - XormDeleteDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/delete/{databaseName}/{tableName}" + XormGetDataUri = config.DefaultUriPrefix + "/databaseManagement/{apiVersion}/elementType/{databaseName}/objectType/{tableName}" + XormSelectDataUri = config.DefaultUriPrefix + "/databaseManagement/{apiVersion}/select/{databaseName}/{tableName}" + XormInsertDataUri = config.DefaultUriPrefix + "/databaseManagement/{apiVersion}/insert/{databaseName}/{tableName}" + XormUpdateDataUri = config.DefaultUriPrefix + "/databaseManagement/{apiVersion}/update/{databaseName}/{tableName}" + XormDeleteDataUri = config.DefaultUriPrefix + "/databaseManagement/{apiVersion}/delete/{databaseName}/{tableName}" - XormCommonUri = config.UriPrefix + "/databaseManagement/{apiVersion}/{databaseName}/{tableName}" // for internal - XormExtDataUri = config.UriPrefix + "/dataManagement/{apiVersion}/{dataStorage}/{dataObject}" // for external - XormDataSQLUri = config.UriPrefix + "/dataManagement/{apiVersion}/{dataStorage}/{dataObject}" // for external + CustomXormGetDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/elementType/{databaseName}/objectType/{tableName}" + CustomXormSelectDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/select/{databaseName}/{tableName}" + CustomXormInsertDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/insert/{databaseName}/{tableName}" + CustomXormUpdateDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/update/{databaseName}/{tableName}" + CustomXormDeleteDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/delete/{databaseName}/{tableName}" + + XormCommonUri = config.DefaultUriPrefix + "/databaseManagement/{apiVersion}/{databaseName}/{tableName}" // for internal + XormExtDataUri = config.DefaultUriPrefix + "/dataManagement/{apiVersion}/{dataStorage}/{dataObject}" // for external + XormDataSQLUri = config.DefaultUriPrefix + "/dataManagement/{apiVersion}/{dataStorage}/{dataObject}" // for external + + CustomXormCommonUri = config.UriPrefix + "/databaseManagement/{apiVersion}/{databaseName}/{tableName}" // for internal + CustomXormExtDataUri = config.UriPrefix + "/dataManagement/{apiVersion}/{dataStorage}/{dataObject}" // for external + CustomXormDataSQLUri = config.UriPrefix + "/dataManagement/{apiVersion}/{dataStorage}/{dataObject}" // for external ) var xormResponse XormResponse @@ -259,7 +269,8 @@ func ExtDatabaseGetData(w http.ResponseWriter, r *http.Request) { tbname := vars["dataObject"] log.Debugf("token:%s, method:%s, dbname:%s, tbname:%s", token, r.Method, dbname, tbname) - exist, err := dborm.IsPermissionDeny(token, strings.ToLower(r.Method), dbname, tbname) + + exist, err := services.CheckUserPermission(token, strings.ToLower(r.Method), dbname, tbname) if err != nil { log.Error("Failed to get permission:", err) services.ResponseForbidden403NotPermission(w) @@ -346,14 +357,14 @@ func ExtDatabaseInsertData(w http.ResponseWriter, r *http.Request) { tbname := vars["dataObject"] log.Debugf("token:%s, method:%s, dbname:%s, tbname:%s", token, r.Method, dbname, tbname) - exist, err := dborm.IsPermissionDeny(token, strings.ToLower(r.Method), dbname, tbname) + exist, err := services.CheckUserPermission(token, strings.ToLower(r.Method), dbname, tbname) if err != nil { log.Error("Failed to get permission:", err) services.ResponseForbidden403NotPermission(w) return } if !exist { - log.Error("Not permission!") + log.Error("permission deny!") services.ResponseForbidden403NotPermission(w) return } @@ -400,7 +411,7 @@ func ExtDatabaseUpdateData(w http.ResponseWriter, r *http.Request) { tbname := vars["dataObject"] log.Debugf("token:%s, method:%s, dbname:%s, tbname:%s", token, r.Method, dbname, tbname) - exist, err := dborm.IsPermissionDeny(token, strings.ToLower(r.Method), dbname, tbname) + exist, err := services.CheckUserPermission(token, strings.ToLower(r.Method), dbname, tbname) if err != nil { log.Error("Failed to get permission:", err) services.ResponseForbidden403NotPermission(w) @@ -461,7 +472,7 @@ func ExtDatabaseDeleteData(w http.ResponseWriter, r *http.Request) { tbname := vars["dataObject"] log.Debugf("token:%s, method:%s, dbname:%s, tbname:%s", token, r.Method, dbname, tbname) - exist, err := dborm.IsPermissionDeny(token, strings.ToLower(r.Method), dbname, tbname) + exist, err := services.CheckUserPermission(token, strings.ToLower(r.Method), dbname, tbname) if err != nil { log.Error("Failed to get permission:", err) services.ResponseForbidden403NotPermission(w) diff --git a/features/file/file.go b/features/file/file.go index 2ddc9ad2..02439fb8 100644 --- a/features/file/file.go +++ b/features/file/file.go @@ -11,7 +11,9 @@ import ( var ( // parameter config management - UriFile = config.UriPrefix + "/fileManagement/{apiVersion}/{location}/file" + UriFile = config.DefaultUriPrefix + "/fileManagement/{apiVersion}/{location}/file" + + CustomUriFile = config.UriPrefix + "/fileManagement/{apiVersion}/{location}/file" ) // func init() { diff --git a/features/fm/alarm.go b/features/fm/alarm.go index 90e242cf..11515315 100644 --- a/features/fm/alarm.go +++ b/features/fm/alarm.go @@ -106,8 +106,11 @@ type AlarmLog struct { var ( // alarm management - UriAlarms = config.UriPrefix + "/faultManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/alarms" - UriAlarmsFmt = config.UriPrefix + "/faultManagement/v1/elementType/%s/objectType/alarms" + UriAlarms = config.DefaultUriPrefix + "/faultManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/alarms" + UriAlarmsFmt = config.DefaultUriPrefix + "/faultManagement/v1/elementType/%s/objectType/alarms" + + CustomUriAlarms = config.UriPrefix + "/faultManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/alarms" + CustomUriAlarmsFmt = config.UriPrefix + "/faultManagement/v1/elementType/%s/objectType/alarms" ) var xEngine *xorm.Engine @@ -391,6 +394,12 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) { alarmData.ObjectUid = alarmData.NeId alarmData.ObjectType = "VNFM" alarmData.EventTime = eventTime + if alarmData.LocationInfo == "" { + alarmData.LocationInfo = fmt.Sprintf("Host:%s", r.RemoteAddr) + } + if alarmData.AddInfo == "" { + alarmData.LocationInfo = fmt.Sprintf("subNeInfo:%s", alarmData.NeType) + } if IsNeedToAckAlarm(valueJson, &alarmData) == true { SetAlarmAckInfo(valueJson, &alarmData) } diff --git a/features/mml/mml.go b/features/mml/mml.go index e7061cd9..71590721 100644 --- a/features/mml/mml.go +++ b/features/mml/mml.go @@ -36,10 +36,15 @@ type MMLRequest struct { var ( // MML interface - UriMML = config.UriPrefix + "/opeartionManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/mml" - UriNeOmMml = config.UriPrefix + "/omManagement/{apiVersion}/mml/{netype}/{neid}" - UriOmMmlExt = config.UriPrefix + "/opeartionManagement/{apiVersion}/elementType/OMC/objectType/mml" - UriOmMmlInt = config.UriPrefix + "/omManagement/{apiVersion}/mml/{neType}/{neId}" + UriMML = config.DefaultUriPrefix + "/opeartionManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/mml" + UriNeOmMml = config.DefaultUriPrefix + "/omManagement/{apiVersion}/mml/{netype}/{neid}" + UriOmMmlExt = config.DefaultUriPrefix + "/opeartionManagement/{apiVersion}/elementType/OMC/objectType/mml" + UriOmMmlInt = config.DefaultUriPrefix + "/omManagement/{apiVersion}/mml/{neType}/{neId}" + + CustomUriMML = config.UriPrefix + "/opeartionManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/mml" + CustomUriNeOmMml = config.UriPrefix + "/omManagement/{apiVersion}/mml/{netype}/{neid}" + CustomUriOmMmlExt = config.UriPrefix + "/opeartionManagement/{apiVersion}/elementType/OMC/objectType/mml" + CustomUriOmMmlInt = config.UriPrefix + "/omManagement/{apiVersion}/mml/{neType}/{neId}" ) func PostMMLToNF(w http.ResponseWriter, r *http.Request) { diff --git a/features/nbi/nbi.go b/features/nbi/nbi.go index 8caed50b..e87fe82c 100644 --- a/features/nbi/nbi.go +++ b/features/nbi/nbi.go @@ -48,8 +48,10 @@ var ( var ( // Northbound interface - GetNRMUri = config.UriPrefix + "/resourceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/{objectTypeValue}" - NorthboundGetAlarmUri = config.UriPrefix + "/faultManagement/{apiVersion}/alarms" // ?alarmIds={alarmIdValues} + GetNRMUri = config.DefaultUriPrefix + "/resourceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/{objectTypeValue}" + NorthboundGetAlarmUri = config.DefaultUriPrefix + "/faultManagement/{apiVersion}/alarms" // ?alarmIds={alarmIdValues} + + CustomGetNRMUri = config.UriPrefix + "/resourceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/{objectTypeValue}" ) func CheckParameterName(r *http.Request) []string { diff --git a/features/pm/performance.go b/features/pm/performance.go index cece86e5..d7fe84ad 100644 --- a/features/pm/performance.go +++ b/features/pm/performance.go @@ -62,15 +62,20 @@ type GoldKpi struct { var ( // performance management - PostPerformanceUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/kpiReport/{index}" + PerformanceUri = config.DefaultUriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/kpiReport/{index}" + MeasureTaskUri = config.DefaultUriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measureTask" + MeasureReportUri = config.DefaultUriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measureReport" + MeasureReportFmt = config.DefaultUriPrefix + "/performanceManagement/v1/elementType/%s/objectType/measureReport" + MeasurementUri = config.DefaultUriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measurement/{index}" + UriMeasureTask = config.DefaultUriPrefix + "/performanceManagement/{apiVersion}/measureTask/{netype}" // performance management - PostPerformancePattern = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/kpiReport/{index}" - MeasureTaskUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measureTask" - MeasureReportUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measureReport" - MeasureReportFmt = config.UriPrefix + "/performanceManagement/v1/elementType/%s/objectType/measureReport" - MeasurementUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measurement/{index}" - UriMeasureTask = config.UriPrefix + "/performanceManagement/{apiVersion}/measureTask/{netype}" + CustomPerformanceUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/kpiReport/{index}" + CustomMeasureTaskUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measureTask" + CustomMeasureReportUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measureReport" + CustomMeasureReportFmt = config.UriPrefix + "/performanceManagement/v1/elementType/%s/objectType/measureReport" + CustomMeasurementUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measurement/{index}" + CustomUriMeasureTask = config.UriPrefix + "/performanceManagement/{apiVersion}/measureTask/{netype}" ) var xEngine *xorm.Engine diff --git a/features/security/account.go b/features/security/account.go index a699160d..3ce5c7cb 100644 --- a/features/security/account.go +++ b/features/security/account.go @@ -14,8 +14,11 @@ import ( ) var ( - UriOauthToken = config.UriPrefix + "/securityManagement/{apiVersion}/oauth/token" - UriOauthHandshake = config.UriPrefix + "/securityManagement/{apiVersion}/oauth/handshake" + UriOauthToken = config.DefaultUriPrefix + "/securityManagement/{apiVersion}/oauth/token" + UriOauthHandshake = config.DefaultUriPrefix + "/securityManagement/{apiVersion}/oauth/handshake" + + CustomUriOauthToken = config.UriPrefix + "/securityManagement/{apiVersion}/oauth/token" + CustomUriOauthHandshake = config.UriPrefix + "/securityManagement/{apiVersion}/oauth/handshake" ) func LoginFromOMC(w http.ResponseWriter, r *http.Request) { @@ -105,36 +108,42 @@ func LoginFromOMC(w http.ResponseWriter, r *http.Request) { func LogoutFromOMC(w http.ResponseWriter, r *http.Request) { log.Info("LogoutFromOMC processing... ") - // check media type(content type) only support "application/json" - if services.IsVallidContentType(r, !config.GetYamlConfig().OMC.CheckContentType) { - log.Error("Invalid Content-Type") - services.ResponseUnsupportedMediaType415(w) + token, err := services.CheckFrontValidRequest(w, r) + if err != nil { + log.Error("Request error:", err) return } + // // check media type(content type) only support "application/json" + // if services.IsVallidContentType(r, config.GetYamlConfig().OMC.CheckContentType) == false { + // log.Error("Invalid Content-Type") + // services.ResponseUnsupportedMediaType415(w) + // return + // } - // check extend uri, response 404 - if !services.IsValidOAuthUri(r) { - log.Error("Uri is invalid") - services.ResponseNotFound404UriNotExist(w, r) - return - } + // // check extend uri, response 404 + // if !services.IsValidOAuthUri(r) { + // log.Error("Uri is invalid") + // services.ResponseNotFound404UriNotExist(w, r) + // return + // } - // error processing ... - // 401-1 response - token, ret := oauth.IsCarriedToken(r) - if !ret { - log.Error("AccessToken is not carried") - services.ResponseUnauthorized401AccessTokenNotCarried(w) - return - } + // // error processing ... + // // 401-1 response + // token, ret := oauth.IsCarriedToken(r) + // if ret == false { + // log.Error("AccessToken is not carried") + // services.ResponseUnauthorized401AccessTokenNotCarried(w) + // return + // } - _, err := dborm.XormLogoutUpdateSession(token) + _, err = dborm.XormLogoutUpdateSession(token) if err != nil { log.Error("Uri is invalid") services.ResponseNotFound404UriNotExist(w, r) return } services.ResponseStatusOK200Null(w) + return } func HandshakeFromOMC(w http.ResponseWriter, r *http.Request) { @@ -157,7 +166,7 @@ func HandshakeFromOMC(w http.ResponseWriter, r *http.Request) { // error processing ... // 401-1 response token, ret := oauth.IsCarriedToken(r) - if !ret { + if ret == false { log.Error("AccessToken is not carried") services.ResponseUnauthorized401AccessTokenNotCarried(w) return @@ -170,4 +179,5 @@ func HandshakeFromOMC(w http.ResponseWriter, r *http.Request) { return } services.ResponseStatusOK200Null(w) + return } diff --git a/features/state/getstate.go b/features/state/getstate.go index f69cfc14..bcffc139 100644 --- a/features/state/getstate.go +++ b/features/state/getstate.go @@ -125,12 +125,19 @@ type Response struct { } var ( - UriSysState = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/systemState" - UriSysState2 = config.UriPrefix + "/systemManagement/{apiVersion}/systemState/{elementTypeValue}" - UriSysInfoAll = config.UriPrefix + "/systemManagement/{apiVersion}/sysInfo" - UriSysInfoOne = config.UriPrefix + "/systemManagement/{apiVersion}/sysInfo/{neType}/{neId}" - UriLicenseInfoAll = config.UriPrefix + "/systemManagement/{apiVersion}/licenseInfo" - UriLicenseInfoOne = config.UriPrefix + "/systemManagement/{apiVersion}/licenseInfo/{neType}/{neId}" + UriSysState = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/systemState" + UriSysState2 = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/{elementTypeValue}/systemState" + UriSysInfoAll = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/sysInfo" + UriSysInfoOne = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/sysInfo/{neType}/{neId}" + UriLicenseInfoAll = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/licenseInfo" + UriLicenseInfoOne = config.DefaultUriPrefix + "/systemManagement/{apiVersion}/licenseInfo/{neType}/{neId}" + + CustomUriSysState = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/systemState" + CustomUriSysState2 = config.UriPrefix + "/systemManagement/{apiVersion}/{elementTypeValue}/systemState" + CustomUriSysInfoAll = config.UriPrefix + "/systemManagement/{apiVersion}/sysInfo" + CustomUriSysInfoOne = config.UriPrefix + "/systemManagement/{apiVersion}/sysInfo/{neType}/{neId}" + CustomUriLicenseInfoAll = config.UriPrefix + "/systemManagement/{apiVersion}/licenseInfo" + CustomUriLicenseInfoOne = config.UriPrefix + "/systemManagement/{apiVersion}/licenseInfo/{neType}/{neId}" ) var client = resty.New() diff --git a/features/trace/trace.go b/features/trace/trace.go index 15b136b6..34010b46 100644 --- a/features/trace/trace.go +++ b/features/trace/trace.go @@ -17,8 +17,11 @@ import ( ) var ( - UriTraceTaskV1 = config.UriPrefix + "/traceManagement/v1/subscriptions" - UriTraceTask = config.UriPrefix + "/traceManagement/{apiVersion}/subscriptions" + UriTraceTaskV1 = config.DefaultUriPrefix + "/traceManagement/v1/subscriptions" + UriTraceTask = config.DefaultUriPrefix + "/traceManagement/{apiVersion}/subscriptions" + + CustomUriTraceTaskV1 = config.UriPrefix + "/traceManagement/v1/subscriptions" + CustomUriTraceTask = config.UriPrefix + "/traceManagement/{apiVersion}/subscriptions" ) type TraceTask struct { diff --git a/lib/dborm/dborm.go b/lib/dborm/dborm.go index f1a4a51d..d280ab6c 100644 --- a/lib/dborm/dborm.go +++ b/lib/dborm/dborm.go @@ -1441,15 +1441,14 @@ type permission struct { Object string `json:"object"` } -func IsPermissionDeny(token, method, dbname, tbname string) (bool, error) { - log.Info("IsPermissionDeny processing... ") +func IsPermissionAllowed(token, method, dbname, tbname string) (bool, error) { + log.Info("IsPermissionAllowed processing... ") exist, err := xEngine.Table("permission"). Join("INNER", "role_permission", "permission.permission_name = role_permission.p_name"). Join("INNER", "user_role", "role_permission.r_name = user_role.r_name"). Join("INNER", "session", "user_role.u_name = session.account_id and session.access_token=?", token). Where("method in ('*',?) and element in ('*',?) and object in ('*',?)", method, dbname, tbname). - //Where("method=? and element=?", method, dbname). Exist() if err != nil { return false, err diff --git a/lib/global/global.go b/lib/global/global.go index 4c6e455d..17e2e182 100644 --- a/lib/global/global.go +++ b/lib/global/global.go @@ -30,6 +30,9 @@ var ( GoVer string ) +var ( + DefaultUriPrefix = "/api/rest" +) var ( ErrParamsNotAdapted = errors.New("the number of params is not adapted") diff --git a/lib/midware/midhandle.go b/lib/midware/midhandle.go index 19f65627..26cadaae 100644 --- a/lib/midware/midhandle.go +++ b/lib/midware/midhandle.go @@ -4,6 +4,7 @@ import ( "net/http" "ems.agt/lib/log" + "ems.agt/lib/services" ) func LoggerTraceMiddleware(next http.Handler) http.Handler { @@ -25,6 +26,10 @@ func LoggerTraceMiddleware(next http.Handler) http.Handler { //r.Body = ioutil.NopCloser(bytes.NewReader(body)) //log.Trace("Body:", string(body)) // Call the next handler, which can be another middleware in the chain, or the final handler. + if r.Method == "OPTIONS" { + services.ResponseStatusOK201Accepted(w) + return + } next.ServeHTTP(w, r) }) } diff --git a/lib/routes/routes.go b/lib/routes/routes.go index c8378b5f..9d78821d 100644 --- a/lib/routes/routes.go +++ b/lib/routes/routes.go @@ -10,7 +10,6 @@ import ( "ems.agt/features/dbrest" "ems.agt/features/file" "ems.agt/features/fm" - "ems.agt/features/maintenance" "ems.agt/features/mml" "ems.agt/features/nbi" "ems.agt/features/pm" @@ -32,60 +31,29 @@ type Router struct { var routers []Router -// var ( -// commonUriPattern = config.UriPrefix + "/{apiCategory}/{apiVersion}/elementType/{elementTypeValue}/objectType/{objectTypeValue}" - -// getUriPattern = config.UriPrefix + "/resourceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/{objectTypeValue}" -// getStatePattern = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/systemState" - -// // // database management rest pattern, discard -// // XormGetDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/elementType/{databaseName}/objectType/{tableName}" -// // XormSelectDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/select/{databaseName}/{tableName}" -// // XormInsertDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/insert/{databaseName}/{tableName}" -// // XormUpdateDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/update/{databaseName}/{tableName}" -// // XormDeleteDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/delete/{databaseName}/{tableName}" - -// // XormCommonUri = config.UriPrefix + "/databaseManagement/{apiVersion}/{databaseName}/{tableName}" - -// // alarm management -// postAlarmPattern = config.UriPrefix + "/faultManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/alarms" - -// // performance management -// postPerformancePattern = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/kpiReport/{index}" -// measureTaskUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measureTask" -// measureReportUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measureReport" - -// // parameter config management -// paramConfigUri = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/config/{paraName}" - -// // NE info -// UriNeInfo = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/neInfo" -// ) - func init() { Register("POST", security.UriOauthToken, security.LoginFromOMC, nil) Register("POST", security.UriOauthHandshake, security.HandshakeFromOMC, nil) Register("DELETE", security.UriOauthToken, security.LogoutFromOMC, nil) - Register("OPTIONS", security.UriOauthToken, OptionsProc, nil) - Register("OPTIONS", security.UriOauthHandshake, OptionsProc, nil) + Register("POST", security.CustomUriOauthToken, security.LoginFromOMC, nil) + Register("DELETE", security.CustomUriOauthToken, security.LogoutFromOMC, nil) + Register("POST", security.CustomUriOauthHandshake, security.HandshakeFromOMC, nil) // System state Register("GET", state.UriSysState, state.GetStateFromNF, nil) - Register("OPTIONS", state.UriSysState, OptionsProc, nil) Register("GET", state.UriSysState2, state.GetStateFromNF, nil) - Register("OPTIONS", state.UriSysState, OptionsProc, nil) - Register("OPTIONS", state.UriSysState2, OptionsProc, nil) - Register("GET", state.UriSysInfoAll, state.GetAllSysinfoFromNF, nil) Register("GET", state.UriSysInfoOne, state.GetOneSysinfoFromNF, nil) - Register("OPTIONS", state.UriSysInfoAll, OptionsProc, nil) - Register("OPTIONS", state.UriSysInfoOne, OptionsProc, nil) - Register("GET", state.UriLicenseInfoAll, state.GetAllLicenseInfoFromNF, nil) Register("GET", state.UriLicenseInfoOne, state.GetOneLicenseInfoFromNF, nil) - Register("OPTIONS", state.UriLicenseInfoAll, OptionsProc, nil) - Register("OPTIONS", state.UriLicenseInfoOne, OptionsProc, nil) + + Register("GET", state.CustomUriSysState, state.GetStateFromNF, nil) + Register("GET", state.CustomUriSysState2, state.GetStateFromNF, nil) + Register("GET", state.CustomUriSysInfoAll, state.GetAllSysinfoFromNF, nil) + Register("GET", state.CustomUriSysInfoOne, state.GetOneSysinfoFromNF, nil) + Register("GET", state.CustomUriLicenseInfoAll, state.GetAllLicenseInfoFromNF, nil) + Register("GET", state.CustomUriLicenseInfoOne, state.GetOneLicenseInfoFromNF, nil) // database management Register("GET", dbrest.XormGetDataUri, dbrest.DatabaseGetData, nil) @@ -93,38 +61,42 @@ func init() { Register("POST", dbrest.XormInsertDataUri, dbrest.DatabaseInsertData, nil) Register("PUT", dbrest.XormUpdateDataUri, dbrest.DatabaseUpdateData, nil) Register("DELETE", dbrest.XormDeleteDataUri, dbrest.DatabaseDeleteData, nil) - // corss orgin domain - Register("OPTIONS", dbrest.XormGetDataUri, OptionsProc, nil) - Register("OPTIONS", dbrest.XormSelectDataUri, OptionsProc, nil) - Register("OPTIONS", dbrest.XormInsertDataUri, OptionsProc, nil) - Register("OPTIONS", dbrest.XormUpdateDataUri, OptionsProc, nil) - Register("OPTIONS", dbrest.XormDeleteDataUri, OptionsProc, nil) + + Register("GET", dbrest.CustomXormGetDataUri, dbrest.DatabaseGetData, nil) + Register("GET", dbrest.CustomXormSelectDataUri, dbrest.DatabaseGetData, nil) + Register("POST", dbrest.CustomXormInsertDataUri, dbrest.DatabaseInsertData, nil) + Register("PUT", dbrest.CustomXormUpdateDataUri, dbrest.DatabaseUpdateData, nil) + Register("DELETE", dbrest.CustomXormDeleteDataUri, dbrest.DatabaseDeleteData, nil) Register("GET", dbrest.XormCommonUri, dbrest.DatabaseGetData, nil) Register("POST", dbrest.XormCommonUri, dbrest.DatabaseInsertData, nil) Register("PUT", dbrest.XormCommonUri, dbrest.DatabaseUpdateData, nil) Register("DELETE", dbrest.XormCommonUri, dbrest.DatabaseDeleteData, nil) + Register("GET", dbrest.CustomXormCommonUri, dbrest.DatabaseGetData, nil) + Register("POST", dbrest.CustomXormCommonUri, dbrest.DatabaseInsertData, nil) + Register("PUT", dbrest.CustomXormCommonUri, dbrest.DatabaseUpdateData, nil) + Register("DELETE", dbrest.CustomXormCommonUri, dbrest.DatabaseDeleteData, nil) + Register("GET", dbrest.XormExtDataUri, dbrest.ExtDatabaseGetData, nil) Register("POST", dbrest.XormExtDataUri, dbrest.ExtDatabaseInsertData, nil) Register("PUT", dbrest.XormExtDataUri, dbrest.ExtDatabaseUpdateData, nil) Register("DELETE", dbrest.XormExtDataUri, dbrest.ExtDatabaseDeleteData, nil) - // corss orgin domain - Register("OPTIONS", dbrest.XormInsertDataUri, OptionsProc, nil) - Register("OPTIONS", dbrest.XormUpdateDataUri, OptionsProc, nil) - Register("OPTIONS", dbrest.XormDeleteDataUri, OptionsProc, nil) - - Register("OPTIONS", dbrest.XormCommonUri, OptionsProc, nil) + Register("GET", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseGetData, nil) + Register("POST", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseInsertData, nil) + Register("PUT", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseUpdateData, nil) + Register("DELETE", dbrest.CustomXormExtDataUri, dbrest.ExtDatabaseDeleteData, nil) // alarm restful Register Register("POST", fm.UriAlarms, fm.PostAlarmFromNF, nil) Register("Get", fm.UriAlarms, fm.GetAlarmFromNF, nil) - Register("OPTIONS", fm.UriAlarms, OptionsProc, nil) + Register("POST", fm.CustomUriAlarms, fm.PostAlarmFromNF, nil) + Register("Get", fm.CustomUriAlarms, fm.GetAlarmFromNF, nil) // performance restful Register - Register("POST", pm.PostPerformancePattern, pm.PostKPIReportFromNF, nil) + Register("POST", pm.PerformanceUri, pm.PostKPIReportFromNF, nil) Register("POST", pm.MeasureTaskUri, pm.PostMeasureTaskToNF, nil) Register("PUT", pm.MeasureTaskUri, pm.PutMeasureTaskToNF, nil) Register("DELETE", pm.MeasureTaskUri, pm.DeleteMeasureTaskToNF, nil) @@ -134,7 +106,15 @@ func init() { Register("POST", pm.MeasurementUri, pm.PostMeasurementFromNF, nil) Register("GET", pm.MeasurementUri, pm.GetMeasurementFromNF, nil) - Register("OPTIONS", pm.MeasureTaskUri, OptionsProc, nil) + Register("POST", pm.CustomPerformanceUri, pm.PostKPIReportFromNF, nil) + Register("POST", pm.CustomMeasureTaskUri, pm.PostMeasureTaskToNF, nil) + Register("PUT", pm.CustomMeasureTaskUri, pm.PutMeasureTaskToNF, nil) + Register("DELETE", pm.CustomMeasureTaskUri, pm.DeleteMeasureTaskToNF, nil) + Register("PATCH", pm.CustomMeasureTaskUri, pm.PatchMeasureTaskToNF, nil) + Register("POST", pm.CustomMeasureReportUri, pm.PostMeasureReportFromNF, nil) + + Register("POST", pm.CustomMeasurementUri, pm.PostMeasurementFromNF, nil) + Register("GET", pm.CustomMeasurementUri, pm.GetMeasurementFromNF, nil) // parameter config management Register("GET", cm.ParamConfigUri, cm.GetParamConfigFromNF, nil) @@ -142,88 +122,105 @@ func init() { Register("PUT", cm.ParamConfigUri, cm.PutParamConfigToNF, nil) Register("DELETE", cm.ParamConfigUri, cm.DeleteParamConfigToNF, nil) - Register("OPTIONS", cm.ParamConfigUri, OptionsProc, nil) + Register("GET", cm.CustomParamConfigUri, cm.GetParamConfigFromNF, nil) + Register("POST", cm.CustomParamConfigUri, cm.PostParamConfigToNF, nil) + Register("PUT", cm.CustomParamConfigUri, cm.PutParamConfigToNF, nil) + Register("DELETE", cm.CustomParamConfigUri, cm.DeleteParamConfigToNF, nil) // Get/Create/Modify/Delete NE info Register("GET", cm.UriNeInfo, cm.GetNeInfo, nil) Register("POST", cm.UriNeInfo, cm.PostNeInfo, nil) Register("PUT", cm.UriNeInfo, cm.PutNeInfo, nil) Register("DELETE", cm.UriNeInfo, cm.DeleteNeInfo, nil) - Register("OPTIONS", cm.UriNeInfo, OptionsProc, nil) + + // Get/Create/Modify/Delete NE info + Register("GET", cm.CustomUriNeInfo, cm.GetNeInfo, nil) + Register("POST", cm.CustomUriNeInfo, cm.PostNeInfo, nil) + Register("PUT", cm.CustomUriNeInfo, cm.PutNeInfo, nil) + Register("DELETE", cm.CustomUriNeInfo, cm.DeleteNeInfo, nil) // Post MML command to NF Register("POST", mml.UriMML, mml.PostMMLToNF, nil) - Register("OPTIONS", mml.UriMML, OptionsProc, nil) - Register("POST", mml.UriOmMmlExt, mml.PostMMLToOMC, nil) - Register("OPTIONS", mml.UriOmMmlExt, OptionsProc, nil) + + Register("POST", mml.CustomUriMML, mml.PostMMLToNF, nil) + Register("POST", mml.CustomUriOmMmlExt, mml.PostMMLToOMC, nil) // Northbound Get NRM Register("GET", nbi.GetNRMUri, nbi.NBIGetNRMFromNF, nil) + Register("GET", nbi.CustomGetNRMUri, nbi.NBIGetNRMFromNF, nil) + // Import/Export NF CM Register("GET", cm.NeCmUri, cm.ExportCmFromNF, nil) Register("POST", cm.NeCmUri, cm.ImportCmToNF, nil) - Register("OPTIONS", cm.NeCmUri, OptionsProc, nil) - Register("GET", cm.UriNeCmFile, cm.DownloadNeBackupFile, nil) Register("DELETE", cm.UriNeCmFile, cm.DeleteNeBackupFile, nil) - Register("OPTIONS", cm.UriNeCmFile, OptionsProc, nil) + Register("GET", cm.CustomNeCmUri, cm.ExportCmFromNF, nil) + Register("POST", cm.CustomNeCmUri, cm.ImportCmToNF, nil) + + Register("GET", cm.CustomUriNeCmFile, cm.DownloadNeBackupFile, nil) + Register("DELETE", cm.CustomUriNeCmFile, cm.DeleteNeBackupFile, nil) // Software management Register("GET", cm.UriSoftware, cm.DownloadSoftwareFile, nil) Register("POST", cm.UriSoftware, cm.UploadSoftwareFile, nil) Register("DELETE", cm.UriSoftware, cm.DeleteSoftwareFile, nil) - Register("OPTIONS", cm.UriSoftware, OptionsProc, nil) - Register("POST", cm.UriSoftwareNE, cm.DistributeSoftwareToNF, nil) Register("PUT", cm.UriSoftwareNE, cm.ActiveSoftwareToNF, nil) Register("PATCH", cm.UriSoftwareNE, cm.RollBackSoftwareToNF, nil) - Register("OPTIONS", cm.UriSoftwareNE, OptionsProc, nil) + Register("GET", cm.CustomUriSoftware, cm.DownloadSoftwareFile, nil) + Register("POST", cm.CustomUriSoftware, cm.UploadSoftwareFile, nil) + Register("DELETE", cm.CustomUriSoftware, cm.DeleteSoftwareFile, nil) + + Register("POST", cm.CustomUriSoftwareNE, cm.DistributeSoftwareToNF, nil) + Register("PUT", cm.CustomUriSoftwareNE, cm.ActiveSoftwareToNF, nil) + Register("PATCH", cm.CustomUriSoftwareNE, cm.RollBackSoftwareToNF, nil) // License management Register("GET", cm.LicenseUri, cm.ExportCmFromNF, nil) Register("POST", cm.LicenseUri, cm.ImportCmToNF, nil) Register("DELETE", cm.LicenseUri, cm.ImportCmToNF, nil) - Register("OPTIONS", cm.LicenseUri, OptionsProc, nil) - Register("POST", cm.NeLicenseUri, cm.ExportCmFromNF, nil) Register("PUT", cm.NeLicenseUri, cm.ImportCmToNF, nil) Register("PATCH", cm.NeLicenseUri, cm.ImportCmToNF, nil) - Register("OPTIONS", cm.NeLicenseUri, OptionsProc, nil) + Register("POST", cm.CustomNeLicenseUri, cm.ExportCmFromNF, nil) + Register("PUT", cm.CustomNeLicenseUri, cm.ImportCmToNF, nil) + Register("PATCH", cm.CustomNeLicenseUri, cm.ImportCmToNF, nil) // Trace management Register("POST", trace.UriTraceTask, trace.PostTraceTaskToNF, nil) Register("PUT", trace.UriTraceTask, trace.PutTraceTaskToNF, nil) Register("DELETE", trace.UriTraceTask, trace.DeleteTraceTaskToNF, nil) - Register("OPTIONS", trace.UriTraceTask, OptionsProc, nil) + + Register("POST", trace.CustomUriTraceTask, trace.PostTraceTaskToNF, nil) + Register("PUT", trace.CustomUriTraceTask, trace.PutTraceTaskToNF, nil) + Register("DELETE", trace.CustomUriTraceTask, trace.DeleteTraceTaskToNF, nil) + // file management Register("POST", file.UriFile, file.UploadFile, nil) Register("GET", file.UriFile, file.DownloadFile, nil) Register("DELETE", file.UriFile, file.DeleteFile, nil) - Register("OPTIONS", file.UriFile, OptionsProc, nil) + + Register("POST", file.CustomUriFile, file.UploadFile, nil) + Register("GET", file.CustomUriFile, file.DownloadFile, nil) + Register("DELETE", file.CustomUriFile, file.DeleteFile, nil) // AAAA Register("GET", aaaa.UriAAAASSO, aaaa.GetSSOFromAAAA, nil) - // 系统维护 - Register("GET", maintenance.Uri, maintenance.List, nil) - Register("GET", maintenance.UriPref, maintenance.Pref, nil) - Register("GET", maintenance.UriPrefLog, maintenance.PrefLog, nil) - Register("GET", maintenance.UriSqlClient, maintenance.SqlClient, nil) - Register("GET", maintenance.UriTop, maintenance.Top, nil) - Register("PATCH", maintenance.UriTop, maintenance.TopOps, nil) - + // AAAA + Register("GET", aaaa.CustomUriAAAASSO, aaaa.GetSSOFromAAAA, nil) } // To resolv rest POST/PUT/DELETE/PATCH cross domain func OptionsProc(w http.ResponseWriter, r *http.Request) { - services.ResponseStatusOK200Null(w) + services.ResponseStatusOK204NoContent(w) } func NewRouter() *mux.Router { diff --git a/lib/services/services.go b/lib/services/services.go index 7708ecf0..adae0c1e 100644 --- a/lib/services/services.go +++ b/lib/services/services.go @@ -6,7 +6,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "mime/multipart" "os" "path/filepath" @@ -288,7 +287,7 @@ func CheckNorthboundValidRequest(w http.ResponseWriter, r *http.Request) (string // check media type(content type) only support "application/json" // response 415-1 if !IsJsonContentType(r) { - log.Error("Invalid Content-Type") + log.Error("invalid Content-Type") ResponseUnsupportedMediaType415(w) return token, err } @@ -297,14 +296,14 @@ func CheckNorthboundValidRequest(w http.ResponseWriter, r *http.Request) (string // 401-1 response token, ret = oauth.IsCarriedToken(r) if ret == false { - log.Error("AccessToken is not carried") + log.Error("accessToken is not carried") ResponseUnauthorized401AccessTokenNotCarried(w) return token, err } // 401-2 response if dborm.XormExistValidToken(token, config.GetExpiresFromConfig()) == false { - log.Error("AccessToken fails or does not exist") + log.Error("accessToken fails or does not exist") ResponseUnauthorized401AccessTokenNotExist(w) return token, err } @@ -385,14 +384,14 @@ func CheckCommonValidRequest(w http.ResponseWriter, r *http.Request) (string, er // 401-1 response token, ret = oauth.IsCarriedToken(r) if ret == false { - log.Error("AccessToken is not carried") + log.Error("accessToken is not carried") ResponseUnauthorized401AccessTokenNotCarried(w) return token, err } // 401-2 response if dborm.XormExistValidToken(token, config.GetExpiresFromConfig()) == false { - log.Error("AccessToken fails or does not exist") + log.Error("accessToken fails or does not exist") ResponseUnauthorized401AccessTokenNotExist(w) return token, err } @@ -417,6 +416,20 @@ func CheckCommonValidRequest(w http.ResponseWriter, r *http.Request) (string, er return token, nil } +func CheckUserPermission(token, method, dbname, tbname string) (bool, error) { + if config.GetYamlConfig().OMC.RBACMode == true { + exist, err := dborm.IsPermissionAllowed(token, method, dbname, tbname) + if err != nil { + return false, err + } + if !exist { + return false, nil + } + } + + return true, nil +} + func IsLocalhost(host string) bool { if strings.Contains(host, "127.0.0.1") || strings.Contains(host, "::1") { return true @@ -455,7 +468,7 @@ func CheckFrontValidRequest(w http.ResponseWriter, r *http.Request) (string, err if config.GetYamlConfig().Auth.Token && IsLocalhost(r.RemoteAddr) == false { token, ret = oauth.IsCarriedToken(r) if ret == false { - err = errors.New("AccessToken is not carried") + err = errors.New("accessToken is not carried") log.Error(err) ResponseUnauthorized401AccessTokenNotCarried(w) return token, err @@ -463,7 +476,7 @@ func CheckFrontValidRequest(w http.ResponseWriter, r *http.Request) (string, err // 401-2 response if dborm.XormExistValidToken(token, config.GetExpiresFromConfig()) == false { - err = errors.New("AccessToken fails or does not exist") + err = errors.New("accessToken fails or does not exist") log.Error(err) ResponseUnauthorized401AccessTokenNotExist(w) return token, err @@ -480,17 +493,6 @@ func CheckFrontValidRequest(w http.ResponseWriter, r *http.Request) (string, err } - /* - // response 403 Forbidden, permissions deny - // todo... - plist := globalSession.GetPermissionFromSession(token) - log.Debug("permission list:", plist) - if len(plist) == 0 || plist[0] == false { - log.Debug("User permission deny") - ResponseForbidden403NotPermission(w) - return - } - */ vars := mux.Vars(r) apiVer := vars["apiVersion"] if apiVer != global.ApiVersionV1 { @@ -514,7 +516,7 @@ func CheckExtValidRequest(w http.ResponseWriter, r *http.Request) (string, error if config.GetYamlConfig().Auth.Token { token, ret = oauth.IsCarriedToken(r) if ret == false { - err = errors.New("AccessToken is not carried") + err = errors.New("accessToken is not carried") log.Error(err) ResponseUnauthorized401AccessTokenNotCarried(w) return token, err @@ -522,7 +524,7 @@ func CheckExtValidRequest(w http.ResponseWriter, r *http.Request) (string, error // 401-2 response if dborm.XormExistValidToken(token, config.GetExpiresFromConfig()) == false { - err = errors.New("AccessToken fails or does not exist") + err = errors.New("accessToken fails or does not exist") log.Error(err) ResponseUnauthorized401AccessTokenNotExist(w) return token, err @@ -541,7 +543,7 @@ func CheckExtValidRequest(w http.ResponseWriter, r *http.Request) (string, error vars := mux.Vars(r) apiVer := vars["apiVersion"] if apiVer != global.ApiVersionV1 { - err = errors.New("Uri is invalid") + err = errors.New("uri is invalid") log.Error(err) ResponseNotFound404UriNotExist(w, r) return token, err @@ -568,11 +570,22 @@ func ResponseStatusOK204NoContent(w http.ResponseWriter) { ResponseWithJson(w, http.StatusNoContent, "") } -func ResponseRedirect(w http.ResponseWriter, redirectUrl string) { +func ResponseStatusOK201Accepted(w http.ResponseWriter) { + ResponseWithJson(w, http.StatusAccepted, "") +} + +type SSORedirect struct { + User string `json:"user"` + Token string `json:"token"` +} + +func ResponseRedirect(w http.ResponseWriter, redirectUrl, user, token string) { w.Header().Set("Cache-Control", "must-revalidate, no-store") w.Header().Set("Content-Type", " text/html;charset=UTF-8") - w.Header().Set("Location", redirectUrl) //跳转地址设置 - w.WriteHeader(http.StatusTemporaryRedirect) //重定向! + w.Header().Set("Location", redirectUrl) //跳转地址设置 + //w.WriteHeader(http.StatusTemporaryRedirect) //重定向! + ssoRedirect := &SSORedirect{user, token} + ResponseWithJson(w, http.StatusTemporaryRedirect, *ssoRedirect) } func ResponseBadRequest400RmUIDsIsInvalid(w http.ResponseWriter, rmUIDs []string) { @@ -594,13 +607,13 @@ func ResponseBadRequest400DuplicateAlarmId(w http.ResponseWriter, AlarmIds strin } func ResponseBadRequest400IncorrectLogin(w http.ResponseWriter) { - errorMessage := ErrorMessage{"4", "Incorrect username and password"} + errorMessage := ErrorMessage{"4", "incorrect username and password"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusBadRequest, errorResponse) } func ResponseBadRequest400WrongParamValue(w http.ResponseWriter) { - errorMessage := ErrorMessage{"5", "Wrong parameter value"} + errorMessage := ErrorMessage{"5", "wrong parameter value"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusBadRequest, errorResponse) } @@ -612,43 +625,43 @@ func ResponseBadRequest400CMCALoginError(w http.ResponseWriter) { } func ResponseBadRequest400InvalidJson(w http.ResponseWriter) { - errorMessage := ErrorMessage{"7", "Invalid json format"} + errorMessage := ErrorMessage{"7", "invalid json format"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusUnauthorized, errorResponse) } func ResponseUnauthorized401AccessTokenNotCarried(w http.ResponseWriter) { - errorMessage := ErrorMessage{"1", "AccessToken is not carried"} + errorMessage := ErrorMessage{"1", "accessToken is not carried"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusUnauthorized, errorResponse) } func ResponseUnauthorized401AccessTokenNotExist(w http.ResponseWriter) { - errorMessage := ErrorMessage{"2", "AccessToken fails or does not exist"} + errorMessage := ErrorMessage{"2", "accessToken fails or does not exist"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusUnauthorized, errorResponse) } func ResponseForbidden403NotPermission(w http.ResponseWriter) { - errorMessage := ErrorMessage{"1", "Do not have the operation permissions"} + errorMessage := ErrorMessage{"1", "do not have the operation permissions"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusForbidden, errorResponse) } func ResponseForbidden403MultiLoginNotAllowed(w http.ResponseWriter) { - errorMessage := ErrorMessage{"2", "Multiple logins are not allowed"} + errorMessage := ErrorMessage{"2", "multiple logins are not allowed"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusForbidden, errorResponse) } func ResponseNotFound404UriNotExist(w http.ResponseWriter, r *http.Request) { - errorMessage := ErrorMessage{"1", "The requested URI does not exist"} + errorMessage := ErrorMessage{"1", "the requested URI does not exist"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusNotFound, errorResponse) } func ResponseNotFound404UriNotExistExt(w http.ResponseWriter) { - errorMessage := ErrorMessage{"1", "The requested URI does not exist"} + errorMessage := ErrorMessage{"1", "the requested URI does not exist"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusNotFound, errorResponse) } @@ -670,37 +683,41 @@ func ResponseNotFound404PMNotExist(w http.ResponseWriter, rmUIDs []string) { } func ResponseNotFound404AlarmNotExist(w http.ResponseWriter, AlarmIds []string) { - errorMessage := ErrorMessage{"4", "AlarmIds does not exist: " + strings.Join(AlarmIds, ",")} + errorMessage := ErrorMessage{"4", "alarmIds does not exist: " + strings.Join(AlarmIds, ",")} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusNotFound, errorResponse) } func ResponseNotFound404GetSubscriptionNotExist(w http.ResponseWriter, SubIds []string) { - errorMessage := ErrorMessage{"5", "Subscription id does not exist: " + strings.Join(SubIds, ",")} + errorMessage := ErrorMessage{"5", "subscription id does not exist: " + strings.Join(SubIds, ",")} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusNotFound, errorResponse) } func ResponseNotFound404DeleteSubscriptionNotExist(w http.ResponseWriter, SubIds []string) { - errorMessage := ErrorMessage{"6", "Subscription id does not exist: " + strings.Join(SubIds, ",")} + errorMessage := ErrorMessage{"6", "subscription id does not exist: " + strings.Join(SubIds, ",")} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusNotFound, errorResponse) } func ResponseNotFound404GetAlarmSubscriptionNotExist(w http.ResponseWriter, SubIds []string) { - errorMessage := ErrorMessage{"7", "Subscription id does not exist: " + strings.Join(SubIds, ",")} + errorMessage := ErrorMessage{"7", "subscription id does not exist: " + strings.Join(SubIds, ",")} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusNotFound, errorResponse) } func ResponseNotFound404DeleteAlarmSubscriptionNotExist(w http.ResponseWriter, SubIds []string) { - errorMessage := ErrorMessage{"8", "Subscription id does not exist: " + strings.Join(SubIds, ",")} + errorMessage := ErrorMessage{"8", "subscription id does not exist: " + strings.Join(SubIds, ",")} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusNotFound, errorResponse) } func ResponseMethodNotAllowed405(w http.ResponseWriter, r *http.Request) { - errorMessage := ErrorMessage{"1", "Method not allowed"} + if r.Method == "OPTIONS" { + ResponseStatusOK204NoContent(w) + return + } + errorMessage := ErrorMessage{"1", "method not allowed"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusMethodNotAllowed, errorResponse) } @@ -710,79 +727,79 @@ func CustomResponseMethodNotAllowed405Handler() http.Handler { } func ResponseNotAcceptable406MissingParam(w http.ResponseWriter) { - errorMessage := ErrorMessage{"1", "Missing parameter: rmUIDs"} + errorMessage := ErrorMessage{"1", "missing parameter: rmUIDs"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusNotAcceptable, errorResponse) } func ResponseNotAcceptable406ParamError(w http.ResponseWriter, errorParamsName []string) { - errorMessage := ErrorMessage{"2", "Parameter name error: " + strings.Join(errorParamsName, ",")} + errorMessage := ErrorMessage{"2", "parameter name error: " + strings.Join(errorParamsName, ",")} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusNotAcceptable, errorResponse) } func ResponseNotAcceptable406QuerySQLError(w http.ResponseWriter) { - errorMessage := ErrorMessage{"3", "Wrong or non-query SQL statement"} + errorMessage := ErrorMessage{"3", "wrong or non-query SQL statement"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusNotAcceptable, errorResponse) } func ResponseRequestEntityTooLarge413SubscriptionExceed(w http.ResponseWriter, num int) { - errorMessage := ErrorMessage{"1", "The number of subscriptions greater than " + strconv.Itoa(num)} + errorMessage := ErrorMessage{"1", "the number of subscriptions greater than " + strconv.Itoa(num)} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusRequestEntityTooLarge, errorResponse) } func ResponseRequestEntityTooLarge413BodyToLarge(w http.ResponseWriter) { - errorMessage := ErrorMessage{"2", "The request entity too large"} + errorMessage := ErrorMessage{"2", "the request entity too large"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusRequestEntityTooLarge, errorResponse) } func ResponseRequestURITooLong414NRMNumExceed(w http.ResponseWriter, num int) { - errorMessage := ErrorMessage{"1", "The number of NRM rmUIDs greater than " + strconv.Itoa(num)} + errorMessage := ErrorMessage{"1", "the number of NRM rmUIDs greater than " + strconv.Itoa(num)} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusRequestURITooLong, errorResponse) } func ResponseRequestURITooLong414AlarmNumExceed(w http.ResponseWriter, num int) { - errorMessage := ErrorMessage{"2", "The number of alarmIds greater than " + strconv.Itoa(num)} + errorMessage := ErrorMessage{"2", "the number of alarmIds greater than " + strconv.Itoa(num)} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusRequestURITooLong, errorResponse) } func ResponseRequestURITooLong414PMNumExceed(w http.ResponseWriter, num int) { - errorMessage := ErrorMessage{"3", "The number of PM rmUIDs greater than " + strconv.Itoa(num)} + errorMessage := ErrorMessage{"3", "the number of PM rmUIDs greater than " + strconv.Itoa(num)} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusRequestURITooLong, errorResponse) } func ResponseRequestURITooLong414UriTooLong(w http.ResponseWriter) { - errorMessage := ErrorMessage{"3", "Request URI too long"} + errorMessage := ErrorMessage{"3", "request URI too long"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusRequestURITooLong, errorResponse) } func ResponseUnsupportedMediaType415(w http.ResponseWriter) { - errorMessage := ErrorMessage{"1", "Unsupported media type"} + errorMessage := ErrorMessage{"1", "unsupported media type"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusUnsupportedMediaType, errorResponse) } func ResponseInternalServerError500NFConnectRefused(w http.ResponseWriter) { - errorMessage := ErrorMessage{"1", "Internal server error, NF connnect refused"} + errorMessage := ErrorMessage{"1", "internal server error, NF connnect refused"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusInternalServerError, errorResponse) } func ResponseInternalServerError500DatabaseOperationFailed(w http.ResponseWriter) { - errorMessage := ErrorMessage{"2", "Internal server error, database opration failed"} + errorMessage := ErrorMessage{"2", "internal server error, database opration failed"} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusInternalServerError, errorResponse) } func ResponseInternalServerError500ProcessError(w http.ResponseWriter, err error) { - em := fmt.Sprintf("Internal server error: %v", err) + em := fmt.Sprintf("internal server error: %v", err) errorMessage := ErrorMessage{"3", em} errorResponse := ErrorResponse{errorMessage} ResponseWithJson(w, http.StatusInternalServerError, errorResponse) @@ -919,7 +936,7 @@ func ResponseFile(w http.ResponseWriter, code int, filePath string) { func ResponseFileWithNameAndMD5(w http.ResponseWriter, code int, fileName, path, md5Sum string) { filePath := path + "/" + fileName - fileBytes, err := ioutil.ReadFile(filePath) + fileBytes, err := os.ReadFile(filePath) if err != nil { log.Error("Failed to ReadFile:", err) ResponseInternalServerError500ProcessError(w, err) diff --git a/restagent/config/config.go b/restagent/config/config.go index 28793faa..03f04321 100644 --- a/restagent/config/config.go +++ b/restagent/config/config.go @@ -59,6 +59,7 @@ type YamlConfig struct { GtpUri string `yaml:"gtpUri"` CheckContentType bool `yaml:"checkContentType"` TestMode bool `yaml:"testMode"` + RBACMode bool `yaml:"rbacMode"` } `yaml:"omc"` Alarm struct { @@ -262,7 +263,8 @@ func GetLogLevel() log.LogLevel { } var ( - UriPrefix string = "/api/rest" + DefaultUriPrefix string = "/api/rest" + UriPrefix string = "/api/rest" //TestDataUDM []map[string]interface{} TDatas map[string]NeTestData ) diff --git a/restagent/etc/restconf-t.yaml b/restagent/etc/restconf-t.yaml index d32d8b23..294c2849 100644 --- a/restagent/etc/restconf-t.yaml +++ b/restagent/etc/restconf-t.yaml @@ -3,7 +3,7 @@ # duration: rotation time with xx hours, example: 1/12/24 hours # count: rotation count of log, default is 30 rotation logger: - file: d:/goprojects/ems.agt/restagent/log/restagent-t.log + file: d:/omc.git/goprojects/ems.agt/restagent/log/restagent-t.log level: trace duration: 24 count: 2 @@ -55,7 +55,7 @@ omc: checksign: false backup: ./backup upload: ./upload - frontUpload: D:/goprojects/build/omc/htdocs/front/upload + frontUpload: d:/omc.git/goprojects/build/omc/htdocs/front/upload software: ./software license: ./license gtpUri: gtp:192.168.2.119:2152 diff --git a/restagent/etc/restconf.yaml b/restagent/etc/restconf.yaml index bfe9de1a..92fcae55 100644 --- a/restagent/etc/restconf.yaml +++ b/restagent/etc/restconf.yaml @@ -3,7 +3,7 @@ # duration: rotation time with xx hours, example: 1/12/24 hours # count: rotation count of log, default is 30 rotation logger: - file: d:/goprojects/ems.agt/restagent/log/restagent.log + file: d:/omc.git/goprojects/ems.agt/restagent/log/restagent.log level: trace duration: 24 count: 2 @@ -22,7 +22,7 @@ database: type: mysql user: root password: 1000omc@kp! - host: 192.168.0.229 + host: 127.0.0.1 port: 33066 name: omc_db backup: ./database @@ -55,12 +55,13 @@ omc: checksign: false backup: ./backup upload: ./upload - frontUpload: D:/goprojects/build/omc/htdocs/front/upload + frontUpload: d:/omc.git/goprojects/build/omc/htdocs/front/upload software: ./software license: ./license gtpUri: gtp:192.168.2.119:2152 checkContentType: false testMode: true + rbacMode: true # Alarm module setting # Forward interface: @@ -86,7 +87,7 @@ alarm: # Support single/multiple session of user auth: crypt: bcrypt - token: false + token: true expires: 1800 session: multiple diff --git a/restagent/restagent b/restagent/restagent index a73a0805..07c2fa8c 100644 Binary files a/restagent/restagent and b/restagent/restagent differ diff --git a/sshsvc/.ssh/id_rsa b/sshsvc/.ssh/id_rsa new file mode 100644 index 00000000..b9e6a0e2 --- /dev/null +++ b/sshsvc/.ssh/id_rsa @@ -0,0 +1,38 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn +NhAAAAAwEAAQAAAYEAo8xNDB8tD9rEJhtTirwK8CxM0e+wcMT6fuDfTSgc/JRMjXIeM6B7 +6Cw2lCSjwTME60nGZ8Yb0STXXuoc+WdEFcWaJVSlfeXzH4G/WCAsw3zxdwaYWnuavzwWFC +TX6wvUgI0Hh1eAgjusZOi1fDvzX8PLml8Lbjd8n6VFneZkVijHNxh1eL8Xq3yqCEGTenrS +4SBGImwIQidtT9LqFs2Ze3Hi5pBvuqq0Um8gtGwp6zd/sIzeG8LX5axBSZN10BrkW1bGC8 +7sfpjJvadtvgiz0ZfxVDxd8eP8CgrKq+yQ0scfNB0j4ZOIP9Zwk6Q0fYQHxegPcMNr2v5P +IzHmDwTvDsHu3qyxGc74OVkAEd1o9OXiaSQ/fQXgvdUuSlugBUA3wx8Vlqa0om3fyY/XbX +LdqStmcVtKYfTiePX7UYc09YlYuFJycJxuf6i38Jek58fqp0NSH//ZWP/fXqwkwE8xUzEi +Jiq0c+wp7j5XMPFpMwmKViintJCS5C9nEQ+UIuMpAAAFiMzUaEPM1GhDAAAAB3NzaC1yc2 +EAAAGBAKPMTQwfLQ/axCYbU4q8CvAsTNHvsHDE+n7g300oHPyUTI1yHjOge+gsNpQko8Ez +BOtJxmfGG9Ek117qHPlnRBXFmiVUpX3l8x+Bv1ggLMN88XcGmFp7mr88FhQk1+sL1ICNB4 +dXgII7rGTotXw781/Dy5pfC243fJ+lRZ3mZFYoxzcYdXi/F6t8qghBk3p60uEgRiJsCEIn +bU/S6hbNmXtx4uaQb7qqtFJvILRsKes3f7CM3hvC1+WsQUmTddAa5FtWxgvO7H6Yyb2nbb +4Is9GX8VQ8XfHj/AoKyqvskNLHHzQdI+GTiD/WcJOkNH2EB8XoD3DDa9r+TyMx5g8E7w7B +7t6ssRnO+DlZABHdaPTl4mkkP30F4L3VLkpboAVAN8MfFZamtKJt38mP121y3akrZnFbSm +H04nj1+1GHNPWJWLhScnCcbn+ot/CXpOfH6qdDUh//2Vj/316sJMBPMVMxIiYqtHPsKe4+ +VzDxaTMJilYop7SQkuQvZxEPlCLjKQAAAAMBAAEAAAGATRJTapG8zUn9o4SWIaBrcSkXGG +0000sMJuk+iPqH8R0CjEeXCGnKA6vSHpDC8KRF+0QidC/WZOl14XY9HelGMwxghJI4sG2j +oT6WvyuchHtkzsGurFyeqr7mEKJpanKNkdNKKJe2oxDbBDwvMP6wfG4PflqccUbwf9nvUO +XYbmYPntAGbkNUKt+kze+1Khti4IUkGwxEMoSEvdubRBGH13r17dEmkWnDIUqi0+JVMxVR +IsyVsfBTUAFmUu1ssPgFnD81z9G9OTic2A5zd+QDfXlJWbjJACtuM/4IotkZZ/M6rsVlYn +AY8Vqfs/8C53giSF5R4iiR29FIU3Luts9dJJQyQ94rXunK00iifyh18qisBKwh9rjxYn3J +wFeZeXzKRg/cLuY1Z74QBWjWzukadvu7dC9bWFZ2k3zKBPTodcpXr1QDwFT4mgEYAFXbQN +8RjFGZrhr2jbsnoM71QlcGv9RjxMPNep+BwnYvPSZ1Piu3nmQqNtysg6ur3ZEHJeLVAAAA +wHZ5m4TECDOgkL138faHQycfd9Yi/Yj1akSwVvtGpiPd35ir1bOp52H/Ea3ymDwh6PvOSk +NjpvwqCXSX5nIQWrQQiDHMKA4pCfAtzbJ68fhWmfzWUaWGIcrnhnoxXzMYgXS/Gp6fwqOf +5JH4jm3uM5knXLTz0E0WofYnLgDo6CAuANl9bSQDfPYh8tuNndoQd9190r+15uLhv/pIM7 +MsZzifBrE2cgSBIunIERdQbD9JwNCeDPIrV8aQbOJDyuJDbwAAAMEA1nYx8GVZM/0cSZqG +V9C4i6debJEep2k91z7XvjFRZJrTYYZavWJPEUmmqNjsJg0Bdad4g3SdK2iJ4W5CHzDm2S +Zn08j7on/ybcD2c1ZnXbwKrzPXRymc62xxwSDD95m/R5cSvN/Pmy57QfymQNPaNXMkhKq1 +nzF56bljW0FHVFnrgUHpbLUOEc0QHXO4d2PaUNptLVxquOJI/VDW2GKKQWaIsdYKPJEDO9 +GBe/LaUDzodd1s1isly86DLEgT2HwbAAAAwQDDhgO/kOI1N0jMOpE5gotcrhQc353jrP16 +mKOdcp9MVHiioRybsyRdnbDIYKXbQz2ZRwmz2RBh55uPQjLcfi82GlIm2rdTL8KzP9vLpc +WAbZ7dcbv1lLyIlr4Yf33LgAChxJQTGNad771cwYFrtwTYk16O0Mdv302L0DgDTJUvhzJb +0ZuIk2nmzumSH1pOYmZl8Oa+UM7YSZNCWEpM7/S5laNISQ6dF/yy6Del2sQk/1/JCMUK0d +GLCkyCiaW9igsAAAASc2ltb25Ac2ltb256aGFuZ3N6AQ== +-----END OPENSSH PRIVATE KEY----- diff --git a/sshsvc/.ssh/id_rsa.pub b/sshsvc/.ssh/id_rsa.pub new file mode 100644 index 00000000..93e845fa --- /dev/null +++ b/sshsvc/.ssh/id_rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCjzE0MHy0P2sQmG1OKvArwLEzR77BwxPp+4N9NKBz8lEyNch4zoHvoLDaUJKPBMwTrScZnxhvRJNde6hz5Z0QVxZolVKV95fMfgb9YICzDfPF3Bphae5q/PBYUJNfrC9SAjQeHV4CCO6xk6LV8O/Nfw8uaXwtuN3yfpUWd5mRWKMc3GHV4vxerfKoIQZN6etLhIEYibAhCJ21P0uoWzZl7ceLmkG+6qrRSbyC0bCnrN3+wjN4bwtflrEFJk3XQGuRbVsYLzux+mMm9p22+CLPRl/FUPF3x4/wKCsqr7JDSxx80HSPhk4g/1nCTpDR9hAfF6A9ww2va/k8jMeYPBO8Owe7erLEZzvg5WQAR3Wj05eJpJD99BeC91S5KW6AFQDfDHxWWprSibd/Jj9dtct2pK2ZxW0ph9OJ49ftRhzT1iVi4UnJwnG5/qLfwl6Tnx+qnQ1If/9lY/99erCTATzFTMSImKrRz7CnuPlcw8WkzCYpWKKe0kJLkL2cRD5Qi4yk= simon@simonzhangsz diff --git a/sshsvc/.ssh/private_key.pem b/sshsvc/.ssh/private_key.pem new file mode 100644 index 00000000..b9e6a0e2 --- /dev/null +++ b/sshsvc/.ssh/private_key.pem @@ -0,0 +1,38 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn +NhAAAAAwEAAQAAAYEAo8xNDB8tD9rEJhtTirwK8CxM0e+wcMT6fuDfTSgc/JRMjXIeM6B7 +6Cw2lCSjwTME60nGZ8Yb0STXXuoc+WdEFcWaJVSlfeXzH4G/WCAsw3zxdwaYWnuavzwWFC +TX6wvUgI0Hh1eAgjusZOi1fDvzX8PLml8Lbjd8n6VFneZkVijHNxh1eL8Xq3yqCEGTenrS +4SBGImwIQidtT9LqFs2Ze3Hi5pBvuqq0Um8gtGwp6zd/sIzeG8LX5axBSZN10BrkW1bGC8 +7sfpjJvadtvgiz0ZfxVDxd8eP8CgrKq+yQ0scfNB0j4ZOIP9Zwk6Q0fYQHxegPcMNr2v5P +IzHmDwTvDsHu3qyxGc74OVkAEd1o9OXiaSQ/fQXgvdUuSlugBUA3wx8Vlqa0om3fyY/XbX +LdqStmcVtKYfTiePX7UYc09YlYuFJycJxuf6i38Jek58fqp0NSH//ZWP/fXqwkwE8xUzEi +Jiq0c+wp7j5XMPFpMwmKViintJCS5C9nEQ+UIuMpAAAFiMzUaEPM1GhDAAAAB3NzaC1yc2 +EAAAGBAKPMTQwfLQ/axCYbU4q8CvAsTNHvsHDE+n7g300oHPyUTI1yHjOge+gsNpQko8Ez +BOtJxmfGG9Ek117qHPlnRBXFmiVUpX3l8x+Bv1ggLMN88XcGmFp7mr88FhQk1+sL1ICNB4 +dXgII7rGTotXw781/Dy5pfC243fJ+lRZ3mZFYoxzcYdXi/F6t8qghBk3p60uEgRiJsCEIn +bU/S6hbNmXtx4uaQb7qqtFJvILRsKes3f7CM3hvC1+WsQUmTddAa5FtWxgvO7H6Yyb2nbb +4Is9GX8VQ8XfHj/AoKyqvskNLHHzQdI+GTiD/WcJOkNH2EB8XoD3DDa9r+TyMx5g8E7w7B +7t6ssRnO+DlZABHdaPTl4mkkP30F4L3VLkpboAVAN8MfFZamtKJt38mP121y3akrZnFbSm +H04nj1+1GHNPWJWLhScnCcbn+ot/CXpOfH6qdDUh//2Vj/316sJMBPMVMxIiYqtHPsKe4+ +VzDxaTMJilYop7SQkuQvZxEPlCLjKQAAAAMBAAEAAAGATRJTapG8zUn9o4SWIaBrcSkXGG +0000sMJuk+iPqH8R0CjEeXCGnKA6vSHpDC8KRF+0QidC/WZOl14XY9HelGMwxghJI4sG2j +oT6WvyuchHtkzsGurFyeqr7mEKJpanKNkdNKKJe2oxDbBDwvMP6wfG4PflqccUbwf9nvUO +XYbmYPntAGbkNUKt+kze+1Khti4IUkGwxEMoSEvdubRBGH13r17dEmkWnDIUqi0+JVMxVR +IsyVsfBTUAFmUu1ssPgFnD81z9G9OTic2A5zd+QDfXlJWbjJACtuM/4IotkZZ/M6rsVlYn +AY8Vqfs/8C53giSF5R4iiR29FIU3Luts9dJJQyQ94rXunK00iifyh18qisBKwh9rjxYn3J +wFeZeXzKRg/cLuY1Z74QBWjWzukadvu7dC9bWFZ2k3zKBPTodcpXr1QDwFT4mgEYAFXbQN +8RjFGZrhr2jbsnoM71QlcGv9RjxMPNep+BwnYvPSZ1Piu3nmQqNtysg6ur3ZEHJeLVAAAA +wHZ5m4TECDOgkL138faHQycfd9Yi/Yj1akSwVvtGpiPd35ir1bOp52H/Ea3ymDwh6PvOSk +NjpvwqCXSX5nIQWrQQiDHMKA4pCfAtzbJ68fhWmfzWUaWGIcrnhnoxXzMYgXS/Gp6fwqOf +5JH4jm3uM5knXLTz0E0WofYnLgDo6CAuANl9bSQDfPYh8tuNndoQd9190r+15uLhv/pIM7 +MsZzifBrE2cgSBIunIERdQbD9JwNCeDPIrV8aQbOJDyuJDbwAAAMEA1nYx8GVZM/0cSZqG +V9C4i6debJEep2k91z7XvjFRZJrTYYZavWJPEUmmqNjsJg0Bdad4g3SdK2iJ4W5CHzDm2S +Zn08j7on/ybcD2c1ZnXbwKrzPXRymc62xxwSDD95m/R5cSvN/Pmy57QfymQNPaNXMkhKq1 +nzF56bljW0FHVFnrgUHpbLUOEc0QHXO4d2PaUNptLVxquOJI/VDW2GKKQWaIsdYKPJEDO9 +GBe/LaUDzodd1s1isly86DLEgT2HwbAAAAwQDDhgO/kOI1N0jMOpE5gotcrhQc353jrP16 +mKOdcp9MVHiioRybsyRdnbDIYKXbQz2ZRwmz2RBh55uPQjLcfi82GlIm2rdTL8KzP9vLpc +WAbZ7dcbv1lLyIlr4Yf33LgAChxJQTGNad771cwYFrtwTYk16O0Mdv302L0DgDTJUvhzJb +0ZuIk2nmzumSH1pOYmZl8Oa+UM7YSZNCWEpM7/S5laNISQ6dF/yy6Del2sQk/1/JCMUK0d +GLCkyCiaW9igsAAAASc2ltb25Ac2ltb256aGFuZ3N6AQ== +-----END OPENSSH PRIVATE KEY----- diff --git a/sshsvc/config/config.go b/sshsvc/config/config.go new file mode 100644 index 00000000..59450101 --- /dev/null +++ b/sshsvc/config/config.go @@ -0,0 +1,135 @@ +package config + +import ( + "flag" + "fmt" + "os" + "strings" + + "ems.agt/lib/global" + "ems.agt/lib/log" + "ems.agt/sshsvc/logmml" + + "gopkg.in/yaml.v3" +) + +// Yaml struct of config +type YamlConfig struct { + Logger struct { + File string `yaml:"file"` + Level string `yaml:"level"` + Duration int `yaml:"duration"` + Count int `yaml:"count"` + } `yaml:"logger"` + + Logmml struct { + File string `yaml:"file"` + Duration int `yaml:"duration"` + Count int `yaml:"count"` + Level string `yaml:"level"` + } `yaml:"logmml"` + + Sshd struct { + ListenAddr string `yaml:"listenAddr"` + ListenPort uint16 `yaml:"listenPort"` + PrivateKey string `yaml:"privateKey"` + MaxConnNum uint8 `yaml:"maxConnNum"` + Timeout uint16 `yaml:"timeout"` + Session string `yaml:"session"` + } `yaml:"sshd"` + + Database struct { + Type string `yaml:"type"` + User string `yaml:"user"` + Password string `yaml:"password"` + Host string `yaml:"host"` + Port string `yaml:"port"` + Name string `yaml:"name"` + Backup string `yaml:"backup"` + } `yaml:"database"` + + OMC struct { + HttpUri string `yaml:"httpUri"` + UserCrypt string `yaml:"userCrypt"` + } `yaml:"omc"` +} + +var yamlConfig YamlConfig + +func ReadConfig(configFile string) { + yamlFile, err := os.ReadFile(configFile) + if err != nil { + fmt.Println("Read yaml config file error:", err) + os.Exit(2) + } + + err = yaml.Unmarshal(yamlFile, &yamlConfig) + if err != nil { + fmt.Println("Unmarshal error:", err) + os.Exit(3) + } +} + +func GetYamlConfig() *YamlConfig { + return &yamlConfig +} + +func GetLogLevel() log.LogLevel { + var logLevel log.LogLevel + switch strings.ToLower(yamlConfig.Logger.Level) { + case "trace": + logLevel = log.LOG_TRACE + case "info": + logLevel = log.LOG_INFO + case "debug": + logLevel = log.LOG_DEBUG + case "warn": + logLevel = log.LOG_WARN + case "error": + logLevel = log.LOG_ERROR + case "fatal": + logLevel = log.LOG_FATAL + case "off": + logLevel = log.LOG_OFF + default: + logLevel = log.LOG_DEBUG + } + return logLevel +} + +func GetLogMmlLevel() logmml.LogLevel { + var logLevel logmml.LogLevel + switch strings.ToLower(yamlConfig.Logmml.Level) { + case "cmd", "command": + logLevel = logmml.LOG_CMD + case "ret", "result": + logLevel = logmml.LOG_RET + default: + logLevel = logmml.LOG_CMD + } + return logLevel +} + +func GetDefaultUserAgent() string { + return "OMC-sshsvc/" + global.Version +} + +const DefaultConfigFile = "./etc/sshsvc.yaml" + +func init() { + cfile := flag.String("c", DefaultConfigFile, "config file") + pv := flag.Bool("v", false, "print version") + ph := flag.Bool("h", false, "print help") + + flag.Parse() + if *pv { + fmt.Printf("OMC sshsvc version: %s\n%s\n%s\n\n", global.Version, global.BuildTime, global.GoVer) + os.Exit(0) + } + if *ph { + flag.Usage() + os.Exit(0) + } + + ReadConfig(*cfile) +} diff --git a/sshsvc/etc/sshsvc.yaml b/sshsvc/etc/sshsvc.yaml new file mode 100644 index 00000000..03e638a7 --- /dev/null +++ b/sshsvc/etc/sshsvc.yaml @@ -0,0 +1,50 @@ +# file: log file name +# level: /trace/debug/info/warn/error/fatal, default: debug +# duration: rotation time with xx hours, example: 1/12/24 hours +# count: rotation count of log, default is 30 rotation +logger: + file: d:/omc.git/goprojects/ems.agt/sshsvc/log/sshsvc.log + level: trace + duration: 24 + count: 30 + +# file: MML log file name +# duration: rotation time with xx hours, example: 1/12/24 hours +# count: rotation count of log, default is 30 rotation +# level: cmd/ret log cmd/log cmd & result +logmml: + file: d:/omc.git/goprojects/ems.agt/sshsvc/mmllog/omcmml.log + duration: 24 + count: 30 + level: ret + +# ssh service listen ipv4/v6 and port, support multiple routines +# ip: 0.0.0.0 or ::0, support IPv4/v6 +# session: single/multiple session for one user +sshd: + listenAddr: 0.0.0.0 + listenPort: 2222 + privateKey: ./.ssh/id_rsa + maxConnNum: 20 + timeout: 1800 + session: multiple + +database: + type: mysql + user: root + password: 1000omc@kp! + host: 127.0.0.1 + port: 33066 + name: omc_db + +omc: + httpUri: http://127.0.0.1:3040 + userCrypt: bcrypt + +ne: + port: 4100 + sleep: 200 + user: admin + password: admin + + diff --git a/sshsvc/logmml/logmml.go b/sshsvc/logmml/logmml.go new file mode 100644 index 00000000..70fa5172 --- /dev/null +++ b/sshsvc/logmml/logmml.go @@ -0,0 +1,187 @@ +// logger for omc/ems + +package logmml + +import ( + "fmt" + "io" + "log" +) + +// LogLevel defines a log level +type LogLevel int + +// enum all LogLevels +const ( + // following level also match syslog.Priority value + LOG_RET LogLevel = iota + LOG_CMD + LOG_OFF + LOG_NODEF +) + +// default log options +const ( + DEFAULT_LOG_PREFIX = "omc:mml" + DEFAULT_LOG_FLAG = log.Ldate | log.Ltime | log.Lmsgprefix + DEFAULT_LOG_LEVEL = LOG_CMD + DEFAULT_CALL_DEPTH = 0 +) + +// Logger is a logger interface +type Logger interface { + Ret(v ...interface{}) + Retf(format string, v ...interface{}) + Cmd(v ...interface{}) + Cmdf(format string, v ...interface{}) + + Level() LogLevel + LevelString() string + SetLevel(l LogLevel) +} + +var _ Logger = DiscardLogger{} + +// DiscardLogger don't log implementation for ILogger +type DiscardLogger struct{} + +// Trace empty implementation +func (DiscardLogger) Ret(v ...interface{}) {} + +// Tracef empty implementation +func (DiscardLogger) Retf(format string, v ...interface{}) {} + +// Debug empty implementation +func (DiscardLogger) Cmd(v ...interface{}) {} + +// Debugf empty implementation +func (DiscardLogger) Cmdf(format string, v ...interface{}) {} + +// Level empty implementation +func (DiscardLogger) Level() LogLevel { + return LOG_NODEF +} + +// Level empty implementation +func (DiscardLogger) LevelString() string { + return "" +} + +// SetLevel empty implementation +func (DiscardLogger) SetLevel(l LogLevel) {} + +// EmsLogger is the default implment of ILogger +type MMLLogger struct { + RET *log.Logger + CMD *log.Logger + level LogLevel + levelString []string + //depth int +} + +var _ Logger = &MMLLogger{} + +// NewEmsLogger2 let you customrize your logger prefix and flag +func NewMmlLogger2(out io.Writer, prefix string, flag int) *MMLLogger { + return NewMmlLogger3(out, prefix, flag, DEFAULT_LOG_LEVEL) +} + +// NewEmsLogger3 let you customrize your logger prefix and flag and logLevel +func NewMmlLogger3(out io.Writer, prefix string, flag int, l LogLevel) *MMLLogger { + return &MMLLogger{ + RET: log.New(out, fmt.Sprintf("[%s] [ret]: ", prefix), flag), + CMD: log.New(out, fmt.Sprintf("[%s] [cmd]: ", prefix), flag), + level: l, + levelString: []string{"ret", "cmd"}, + //depth: DEFAULT_CALL_DEPTH, + } +} + +// Trace implement ILogger +func (s *MMLLogger) Ret(v ...interface{}) { + if s.level <= LOG_RET { + //_ = s.RET.Output(s.depth, fmt.Sprintln(v...)) + _ = s.RET.Output(0, fmt.Sprintln(v...)) + } +} + +// Tracef implement ILogger +func (s *MMLLogger) Retf(format string, v ...interface{}) { + if s.level <= LOG_RET { + _ = s.RET.Output(0, fmt.Sprintf(format, v...)) + } +} + +// Debug implement ILogger +func (s *MMLLogger) Cmd(v ...interface{}) { + if s.level <= LOG_CMD { + _ = s.CMD.Output(0, fmt.Sprintln(v...)) + } +} + +// Debugf implement ILogger +func (s *MMLLogger) Cmdf(format string, v ...interface{}) { + if s.level <= LOG_CMD { + _ = s.CMD.Output(0, fmt.Sprintf(format, v...)) + } +} + +// Info implement ILogger + +// Level implement ILogger +func (s *MMLLogger) Level() LogLevel { + return s.level +} + +// Level implement ILogger +func (s *MMLLogger) LevelString() string { + return s.levelString[s.level] +} + +// SetLevel implement ILogger +func (s *MMLLogger) SetLevel(l LogLevel) { + s.level = l +} + +var Elogger Logger + +func InitMmlLogger(logFile string, period int, count int, prefix string, logLevel LogLevel) { + logWriter := getLogWriter(logFile, period, count) + Elogger = NewMmlLogger3(logWriter, prefix, DEFAULT_LOG_FLAG, logLevel) + fmt.Printf("logFile=%s, period=%d, count=%d, prefix=%s, logLevel=%s\n", logFile, period, count, prefix, GetLevelString()) +} + +// Trace implement ILogger +func Ret(v ...interface{}) { + Elogger.Ret(v...) +} + +// Tracef implement ILogger +func Retf(format string, v ...interface{}) { + Elogger.Retf(format, v...) +} + +// Debug implement ILogger +func Cmd(v ...interface{}) { + Elogger.Cmd(v...) +} + +// Debugf implement ILogger +func Cmdf(format string, v ...interface{}) { + Elogger.Cmdf(format, v...) +} + +// Level implement ILogger +func GetLevel() LogLevel { + return Elogger.Level() +} + +// Level implement ILogger +func GetLevelString() string { + return Elogger.LevelString() +} + +// SetLevel implement ILogger +func SetLevel(l LogLevel) { + Elogger.SetLevel(l) +} diff --git a/sshsvc/logmml/partition.go b/sshsvc/logmml/partition.go new file mode 100644 index 00000000..23380dcb --- /dev/null +++ b/sshsvc/logmml/partition.go @@ -0,0 +1,71 @@ +package logmml + +import ( + "io" + "time" + + rotatelogs "github.com/lestrrat/go-file-rotatelogs" +) + +type WriteSyncer interface { + io.Writer + Sync() error +} + +// 得到LogWriter +func getLogWriter(filePath string, period, count int) WriteSyncer { + warnIoWriter := getWriter(filePath, period, count) + return addSync(warnIoWriter) +} + +// 日志文件切割 +func getWriter(filename string, period, count int) io.Writer { + // 保存日志count天,每period小时分割一次日志 + duration := time.Hour * time.Duration(period) + var logfile string + if period >= 24 { + logfile = filename + "-%Y%m%d" + } else { + logfile = filename + "-%Y%m%d%H" + } + hook, err := rotatelogs.New( + + logfile, + rotatelogs.WithLinkName(filename), + // rotatelogs.WithMaxAge(duration), + rotatelogs.WithRotationCount(count), + rotatelogs.WithRotationTime(duration), + rotatelogs.WithLocation(time.Local), + ) + + //保存日志30天,每1分钟分割一次日志 + /* + hook, err := rotatelogs.New( + filename+"_%Y%m%d%H%M.log", + rotatelogs.WithLinkName(filename), + rotatelogs.WithMaxAge(time.Hour*24*30), + rotatelogs.WithRotationTime(time.Minute*1), + ) + */ + if err != nil { + panic(err) + } + return hook +} + +func addSync(w io.Writer) WriteSyncer { + switch w := w.(type) { + case WriteSyncer: + return w + default: + return writerWrapper{w} + } +} + +type writerWrapper struct { + io.Writer +} + +func (w writerWrapper) Sync() error { + return nil +} diff --git a/sshsvc/makefile b/sshsvc/makefile new file mode 100644 index 00000000..2bda4a49 --- /dev/null +++ b/sshsvc/makefile @@ -0,0 +1,18 @@ +# Makefile for OMC-OMC-crontask project + +PROJECT = OMC +VERSION = 5GC16.1.1 +LIBDIR = ems.agt/lib +BINNAME = sshsvc + +.PHONY: build $(BINNAME) +build $(BINNAME): + go build -o $(BINNAME) -v -ldflags "-X '$(LIBDIR)/global.Version=$(VERSION)' \ + -X '$(LIBDIR)/global.BuildTime=`date`' \ + -X '$(LIBDIR)/global.GoVer=`go version`'" + +run: $(BINNAME) + ./$(BINNAME) + +clean: + rm ./$(BINNAME) diff --git a/sshsvc/mml/parse.go.bak b/sshsvc/mml/parse.go.bak new file mode 100644 index 00000000..4828e543 --- /dev/null +++ b/sshsvc/mml/parse.go.bak @@ -0,0 +1,901 @@ +package mml + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + "math" + "net/http" + "regexp" + "strconv" + "strings" + + "ems.agt/lib/dborm" + "ems.agt/lib/global" + "ems.agt/lib/log" + "github.com/go-resty/resty/v2" + "golang.org/x/crypto/ssh" +) + +type Param struct { + Name string `json:"name"` + Value string `json:"value"` +} + +type MmlCommand struct { + Operation string `json:"operation"` + Object string `json:"object"` + Params []Param `json:"params"` + PaList []string `json:"paList"` + AaList []string `json:"aaList"` + AaMap map[string]interface{} `json:"aaMap"` + NaMap map[string]interface{} `json:"naMap"` + AaUri []string `json:"aaUri"` + AaLoc []string `json:"aaLoc"` // for loc parameter +} + +type MmlVar struct { + Version string `json:"version"` + Output string `json:"output"` + Limit int `json:"limit"` + User string `json:"user"` + Token string `josn:"token"` +} + +var OmcMmlVar *MmlVar + +func init() { + OmcMmlVar = &MmlVar{ + Version: "16.1.1", + Output: DefaultFormatType, + Limit: 50, + } +} + +func SetOmcMmlVarOutput(output string) { + OmcMmlVar.Output = output +} + +func SetOmcMmlVarLimit(limit int) { + OmcMmlVar.Limit = limit +} + +func splitByColon(str string) []string { + return splitBy(str, ':') +} + +func splitByComma(str string) []string { + return splitBy(str, ',') +} + +func splitBy(str string, sep rune) []string { + var result []string + var stack []string + var current []rune + var quotes, apoFlag bool = false, false + + for _, c := range str { + if c == '{' || c == '[' || (c == '\'' && apoFlag == false) || (c == '"' && quotes == false) { // "'" + apoFlag = true + quotes = true + stack = append(stack, string(c)) + } else if c == '}' || c == ']' || (c == '\'' && apoFlag == true) || (c == '"' && quotes == true) { + apoFlag = false + quotes = false + if len(stack) > 0 { + stack = stack[:len(stack)-1] + } + } + + if c == sep && len(stack) == 0 { + result = append(result, string(current)) + current = []rune{} + } else { + current = append(current, c) + } + } + + result = append(result, string(current)) + return result +} + +func ParseMMLCommand(mmlStr string, mmlComms *[]MmlCommand) error { + log.Info("ParseMMLCommand processing ...") + log.Debug("mmlStr: ", mmlStr) + + mc := new(MmlCommand) + reg := regexp.MustCompile(`\s*;\s*`) + mmls := reg.Split(mmlStr, -1) + for _, mml := range mmls { + log.Trace("mml:", mml) + if len(mml) == 0 { + continue + } + //reg := regexp.MustCompile(`\s*:\s*`) + //ms := reg.Split(mml, -1) + ms := splitByColon(mml) + if len(ms) < 1 || len(ms) > 2 { + err := global.ErrMmlInvalidCommandFormat + log.Error(err) + return err + } + if len(ms) == 2 { + cmd := strings.Trim(ms[0], " ") + reg = regexp.MustCompile(`\s+`) + cs := reg.Split(cmd, -1) + //cs := strings.Split(cmd, " ") + if len(cs) == 2 { + mc.Operation = cs[0] + mc.Object = cs[1] + } else { + err := global.ErrMmlInvalidCommandFormat + log.Error(err) + return err + } + //reg = regexp.MustCompile(`\s*,\s*`) + //reg = regexp.MustCompile(`(?U)(? 0 { + extUri := strings.Join(mml.AaUri, "/") + requestURI = requestURI + fmt.Sprintf(mmlMap.ExtUri, extUri) + } + if mmlMap.Params != "" { + params := strings.Join(mml.AaLoc, "+and+") + params = strings.ReplaceAll(params, " ", "+") // replace " " to "+" + log.Trace("params:", params) + if mmlMap.ParamTag == "SQL" && strings.TrimSpace(params) != "" { + params = "+where+" + params + } + requestURI = fmt.Sprintf("%s%s%s", requestURI, mmlMap.Params, params) + } + return requestURI +} + +func TransMml2HttpReq(sshConn *ssh.ServerConn, httpUri, uerAgent string, mml *MmlCommand) (*[]byte, error) { + log.Info("TransMml2HttpReq processing ...") + log.Debug("mml: ", mml) + + where := fmt.Sprintf("operation='%s' AND object='%s'", mml.Operation, mml.Object) + mmlMap, err := dborm.XormGetMmlHttpMap("mml_http_map", where) + if err != nil { + log.Error("Failed to XormGetMmlHttpMap: ", err) + return ParseErrorOutput(err), err + } + if mmlMap == nil { + err := errors.New("Not found mml map") + log.Error(err) + return ParseErrorOutput(err), err + } + log.Trace("mmlMap: ", mmlMap) + if mmlMap.Output == "" { + mmlMap.Output = "{}" + } + outputJson := new(dborm.MmlOutput) + err = json.Unmarshal([]byte(mmlMap.Output), outputJson) + if err != nil { + log.Error("Failed to Unmarshal:", err) + return ParseErrorOutput(err), err + } + log.Trace("outputJson: ", outputJson) + inputJson := new(dborm.MmlInput) + log.Trace("mmlMap.Input: ", mmlMap.Input) + if mmlMap.Input == "" { + mmlMap.Input = "{}" + } + err = json.Unmarshal([]byte(mmlMap.Input), inputJson) + if err != nil { + log.Error("Failed to Unmarshal:", err) + return ParseErrorOutput(err), err + } + log.Trace("inputJson: ", inputJson) + + var requestURI string + var output *[]byte + client := resty.New() + switch strings.ToLower(mmlMap.Method) { + case "get": + requestURI = parseRequestUri(httpUri, mmlMap, mml) + log.Debugf("method: Get requestURI: %s", requestURI) + response, err := client.R(). + EnableTrace(). + SetHeaders(map[string]string{"accessToken": fmt.Sprintf("%x", sshConn.SessionID())}). + SetHeaders(map[string]string{"User-Agent": uerAgent}). + SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}). + Get(requestURI) + if err != nil { + log.Error("Failed to Get:", err) + output = ParseErrorOutput(err) + } else { + output = ParseOutputResponse(outputJson, response) + } + case "post": + requestURI = parseRequestUri(httpUri, mmlMap, mml) + body := ParseInputBody(inputJson, mml) + log.Debugf("method: Post requestURI: %s", requestURI) + response, err := client.R(). + EnableTrace(). + SetHeaders(map[string]string{"accessToken": fmt.Sprintf("%x", sshConn.SessionID())}). + SetHeaders(map[string]string{"User-Agent": uerAgent}). + SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}). + SetBody(*body). + Post(requestURI) + if err != nil { + log.Error("Failed to Post:", err) + output = ParseErrorOutput(err) + } else { + output = ParseOutputResponse(outputJson, response) + } + case "put": + requestURI = parseRequestUri(httpUri, mmlMap, mml) + body := ParseInputBody(inputJson, mml) + log.Debugf("method: Put requestURI: %s", requestURI) + response, err := client.R(). + EnableTrace(). + SetHeaders(map[string]string{"accessToken": fmt.Sprintf("%x", sshConn.SessionID())}). + SetHeaders(map[string]string{"User-Agent": uerAgent}). + SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}). + SetBody(*body). + Put(requestURI) + if err != nil { + log.Error("Failed to Put:", err) + output = ParseErrorOutput(err) + } else { + output = ParseOutputResponse(outputJson, response) + } + case "delete": + requestURI = parseRequestUri(httpUri, mmlMap, mml) + log.Debugf("method: Delete requestURI: %s", requestURI) + response, err := client.R(). + EnableTrace(). + SetHeaders(map[string]string{"accessToken": fmt.Sprintf("%x", sshConn.SessionID())}). + SetHeaders(map[string]string{"User-Agent": uerAgent}). + SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}). + Delete(requestURI) + if err != nil { + log.Error("Failed to Delete:", err) + output = ParseErrorOutput(err) + } else { + output = ParseOutputResponse(outputJson, response) + } + case "patch": + requestURI = parseRequestUri(httpUri, mmlMap, mml) + log.Debugf("method: patch requestURI: %s", requestURI) + response, err := client.R(). + EnableTrace(). + SetHeaders(map[string]string{"accessToken": fmt.Sprintf("%x", sshConn.SessionID())}). + SetHeaders(map[string]string{"User-Agent": uerAgent}). + SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}). + Patch(requestURI) + if err != nil { + log.Error("Failed to Patch:", err) + output = ParseErrorOutput(err) + } else { + output = ParseOutputResponse(outputJson, response) + } + default: + err := errors.New("not found mml command") + log.Error(err) + output = ParseErrorOutput(err) + } + return output, nil +} + +const ( + MaxMmlOutputBufferSize = 1000000 + FormatTypeJson = "json" + FormatTypeTable = "table" + DefaultFormatType = FormatTypeTable +) + +const ( + RetCodeSucceeded = 0 + RetCodeFailed = 0 +) + +func ParseInputBody(inputJson *dborm.MmlInput, mml *MmlCommand) *[]byte { + inputBody := make(map[string]interface{}) + log.Trace("mml.NaMap:", mml.NaMap) + log.Trace("mml.AaMap:", mml.AaMap) + if strings.ToLower(inputJson.BodyFmt) == "putdb" { + for _, icol := range inputJson.Cols { + log.Trace("icol:", icol) + mml.NaMap[icol.Name] = icol.Value + } + inputBody[inputJson.BodyKey] = mml.NaMap + } else { + inputParams := make([]map[string]interface{}, 0) + inputParams = append(inputParams, mml.NaMap) + inputBody[inputJson.BodyKey] = inputParams + } + + body, err := json.Marshal(inputBody) + if err != nil { + log.Error("Failed to marshal:", err) + } + + log.Trace("inputBody:", inputBody) + log.Trace("body:", string(body)) + return &body +} + +func ParseOutputResponse(outputJson *dborm.MmlOutput, response *resty.Response) *[]byte { + var output []byte + var str bytes.Buffer + + switch response.StatusCode() { + case http.StatusOK, http.StatusCreated, http.StatusNoContent, http.StatusAccepted: + if OmcMmlVar.Output == FormatTypeJson { + code := fmt.Sprintf("StatusCode = %d status %s\n\n", response.StatusCode(), response.Status()) + title := formatTitle(outputJson.Title) + + json.Indent(&str, response.Body(), "", " ") + log.Trace(str.String()) + + output = global.BytesCombine1([]byte(code), []byte(title), str.Bytes(), []byte("\n")) + } else { + log.Trace("Body:", string(response.Body())) + mapDatas := make(map[string]interface{}, 0) + + err := json.Unmarshal(response.Body(), &mapDatas) + if err != nil { + log.Error("Failed to json.Unmarshal:", err) + //output = *ParseErrorOutput(err) + output = *ParseErrorOutput(string(response.Body())) + return &output + } + log.Trace("mapDatas:", mapDatas) + switch strings.ToLower(outputJson.RetFmt) { + case "getdb": + if len(mapDatas) > 0 { + var data interface{} + for _, data = range mapDatas { + log.Trace("data:", data) + break + } + if len(data.([]interface{})) > 0 { + table := (data.([]interface{}))[0] + log.Trace("table:", table) + + code := fmt.Sprintf(outputJson.RetMsg, RetCodeSucceeded) + title := formatTitle(outputJson.Title) + fmtResults := ParseTableOutput(outputJson, table) + output = global.BytesCombine1([]byte(code), []byte(title), []byte(fmtResults)) + } + } + case "deletedb": + var data interface{} + for _, data = range mapDatas { + log.Trace("data:", data) + break + } + + if len(data.(map[string]interface{})) > 0 { + table := data.(map[string]interface{}) + code := fmt.Sprintf(outputJson.RetMsg, RetCodeSucceeded) + fmtResults := ParseDBOperOutput(outputJson, table) + output = global.BytesCombine1([]byte(code), []byte(fmtResults)) + } + case "postdb": + var data interface{} + for _, data = range mapDatas { + log.Trace("data:", data) + break + } + + if len(data.(map[string]interface{})) > 0 { + table := data.(map[string]interface{}) + code := fmt.Sprintf(outputJson.RetMsg, RetCodeSucceeded) + fmtResults := ParseDBOperOutput(outputJson, table) + output = global.BytesCombine1([]byte(code), []byte(fmtResults)) + } + case "putdb": + var data interface{} + for _, data = range mapDatas { + log.Trace("data:", data) + break + } + if len(data.(map[string]interface{})) > 0 { + table := data.(map[string]interface{}) + code := fmt.Sprintf(outputJson.RetMsg, RetCodeSucceeded) + fmtResults := ParseDBOperOutput(outputJson, table) + output = global.BytesCombine1([]byte(code), []byte(fmtResults)) + } + case "getnf": + if len(mapDatas) > 0 { + var data interface{} + for _, data = range mapDatas { + log.Trace("data:", data) + break + } + if len(data.([]interface{})) > 0 { + //table := (data.([]interface{}))[0] + //log.Trace("table:", table) + + code := fmt.Sprintf(outputJson.RetMsg, RetCodeSucceeded) + title := formatTitle(outputJson.Title) + fmtResults := ParseNFTableOutput(outputJson, data) + output = global.BytesCombine1([]byte(code), []byte(title), []byte(fmtResults)) + } + } + default: + code := fmt.Sprintf(outputJson.RetMsg, RetCodeSucceeded) + output = global.BytesCombine1([]byte(code)) + } + + } + default: + if OmcMmlVar.Output == FormatTypeJson { + code := fmt.Sprintf("StatusCode = %d status %s\n\n", response.StatusCode(), response.Status()) + //title := formatTitle("Network Element Information") + + json.Indent(&str, response.Body(), "", " ") + log.Trace(str.String()) + + output = global.BytesCombine1([]byte(code), str.Bytes(), []byte("\n")) + } else { + log.Trace("Body:", string(response.Body())) + mapResults := make(map[string]interface{}, 0) + + err := json.Unmarshal(response.Body(), &mapResults) + if err != nil { + log.Error("Failed to json.Unmarshal:", err) + output = *ParseErrorOutput(string(response.Body())) + } else { + log.Trace("mapResults:", mapResults) + errResult := mapResults["error"] + log.Trace("errResult:", errResult) + if len(errResult.(map[string]interface{})) > 0 { + errCode, _ := strconv.Atoi(fmt.Sprintf("%v", errResult.(map[string]interface{})["errorCode"])) + errorInfo := errResult.(map[string]interface{})["errorInfo"] + output = []byte(fmt.Sprintf(outputJson.ErrMsg, errCode, errorInfo)) + } + } + } + } + return &output +} + +func ParseDBOperOutput(outputJson *dborm.MmlOutput, cols any) string { + var colOutput []dborm.ColOutput = outputJson.Cols + var value, retFmtCols string + if len(cols.(map[string]interface{})) > 0 { + if len(colOutput) > 0 { + coln := colOutput[0].Name + value = fmt.Sprintf("%v", cols.(map[string]interface{})[coln]) + log.Tracef("coln:%s value:%s", coln, value) + retFmtCols = colOutput[0].Display + " = " + value + "\n\n" + } + } + + return retFmtCols +} + +func ParseNFTableOutput(outputJson *dborm.MmlOutput, cols any) string { + var colOutput []dborm.ColOutput + var fmtColName string + var colName []string + var spaceNum int = 1 + var alignmentM, alignmentSN, alignmentSV string = "Left", "Right", "Left" + + if outputJson.SepSpaceNum != 0 { + spaceNum = outputJson.SepSpaceNum + } + if outputJson.AlignmentM != "" { + alignmentM = outputJson.AlignmentM + } + if outputJson.AlignmentSN != "" { + alignmentSN = outputJson.AlignmentSN + } + if outputJson.AlignmentSV != "" { + alignmentSV = outputJson.AlignmentSV + } + + maxLength := math.MinInt64 + for _, coln := range outputJson.Cols { + log.Trace("coln:", coln) + + if len(coln.Display) > maxLength { + maxLength = len(coln.Display) + } + if coln.Length < len(coln.Display) { + coln.Length = len(coln.Display) + } + + colName = append(colName, ParseAlignmentOutput(coln.Length, alignmentM, coln.Display)) + colOutput = append(colOutput, coln) + } + fmtColName = formatLineBySpace(&colName, spaceNum) + log.Trace("fmtColName:", fmtColName) + + var retFmtCols string + var fmtColValues []string + var numberResult int + // for _, colnvs := range cols.([]interface{}) { + // log.Trace("colnvs:", colnvs) + // if colnvs == nil { + // break + // } + numberResult = len(cols.([]interface{})) + + if numberResult == 1 && outputJson.SingleList == true { + colnv := cols.([]interface{})[0] + log.Trace("colnv:", colnv) + + var fmtNV []string + for _, coln := range colOutput { + fmtName := ParseAlignmentOutput(maxLength, alignmentSN, coln.Display) + log.Tracef("alignmentSN:%s fmtName:%s", alignmentSN, fmtName) + value := fmt.Sprintf("%v", colnv.(map[string]interface{})[coln.Name]) + fmtValue := ParseAlignmentOutput(coln.Length, alignmentSV, value) + fmtNV = append(fmtNV, fmtName+": "+fmtValue) + } + + fmtResults := strings.Join(fmtNV, "\n") + log.Tracef("fmtResults:\n%s", fmtResults) + fmtEnd := fmt.Sprintf(outputJson.End, numberResult) + retFmtCols = fmtResults + "\n\n" + fmtEnd + log.Tracef("retFmtCols:\n%s", retFmtCols) + return retFmtCols + } else { + for i := 0; i < numberResult; i++ { + colnv := cols.([]interface{})[i] + log.Trace("colnv:", colnv) + var colValues []string + var newVal []string + for _, coln := range colOutput { + value := fmt.Sprintf("%v", colnv.(map[string]interface{})[coln.Name]) + if len(coln.Alias) != 0 { + enumVal, _ := strconv.Atoi(value) + value = parseEnumAlias(&(coln.Alias), enumVal) + } + newVal = append(newVal, ParseAlignmentOutput(coln.Length, alignmentM, value)) + } + colValues = append(colValues, formatLineBySpace(&newVal, spaceNum)) + log.Trace("colValues:", colValues) + fmtColValues = append(fmtColValues, strings.Join(colValues, "\n")) + log.Trace("fmtColValues:", fmtColValues) + } + fmtEnd := fmt.Sprintf(outputJson.End, numberResult) + retFmtCols = fmtColName + "\n\n" + strings.Join(fmtColValues, "\n") + "\n\n" + fmtEnd + log.Tracef("retFmtCols:\n%s", retFmtCols) + return retFmtCols + } +} + +func ParseTableOutput(outputJson *dborm.MmlOutput, cols any) string { + var colOutput []dborm.ColOutput + var fmtColName string + var colName []string + var spaceNum int = 1 + var alignmentM, alignmentSN, alignmentSV string = "Left", "Right", "Left" + + if outputJson.SepSpaceNum != 0 { + spaceNum = outputJson.SepSpaceNum + } + if outputJson.AlignmentM != "" { + alignmentM = outputJson.AlignmentM + } + if outputJson.AlignmentSN != "" { + alignmentSN = outputJson.AlignmentSN + } + if outputJson.AlignmentSV != "" { + alignmentSV = outputJson.AlignmentSV + } + + maxLength := math.MinInt64 + for _, coln := range outputJson.Cols { + log.Trace("coln:", coln) + + if len(coln.Display) > maxLength { + maxLength = len(coln.Display) + } + if coln.Length < len(coln.Display) { + coln.Length = len(coln.Display) + } + + colName = append(colName, ParseAlignmentOutput(coln.Length, alignmentM, coln.Display)) + colOutput = append(colOutput, coln) + } + fmtColName = formatLineBySpace(&colName, spaceNum) + log.Trace("fmtColName:", fmtColName) + + var retFmtCols string + var fmtColValues []string + var numberResult int + for _, colnvs := range cols.(map[string]interface{}) { + log.Trace("colnvs:", colnvs) + if colnvs == nil { + break + } + numberResult = len(colnvs.([]interface{})) + + if numberResult == 1 && outputJson.SingleList == true { + colnv := colnvs.([]interface{})[0] + log.Trace("colnv:", colnv) + + var fmtNV []string + for _, coln := range colOutput { + fmtName := ParseAlignmentOutput(maxLength, alignmentSN, coln.Display) + log.Tracef("alignmentSN:%s fmtName:%s", alignmentSN, fmtName) + value := fmt.Sprintf("%v", colnv.(map[string]interface{})[coln.Name]) + fmtValue := ParseAlignmentOutput(coln.Length, alignmentSV, value) + fmtNV = append(fmtNV, fmtName+": "+fmtValue) + } + + fmtResults := strings.Join(fmtNV, "\n") + log.Tracef("fmtResults:\n%s", fmtResults) + fmtEnd := fmt.Sprintf(outputJson.End, numberResult) + retFmtCols = fmtResults + "\n\n" + fmtEnd + log.Tracef("retFmtCols:\n%s", retFmtCols) + return retFmtCols + } else { + for i := 0; i < numberResult; i++ { + colnv := colnvs.([]interface{})[i] + log.Trace("colnv:", colnv) + var colValues []string + var newVal []string + for _, coln := range colOutput { + value := fmt.Sprintf("%v", colnv.(map[string]interface{})[coln.Name]) + if len(coln.Alias) != 0 { + enumVal, _ := strconv.Atoi(value) + value = parseEnumAlias(&(coln.Alias), enumVal) + } + newVal = append(newVal, ParseAlignmentOutput(coln.Length, alignmentM, value)) + } + colValues = append(colValues, formatLineBySpace(&newVal, spaceNum)) + log.Trace("colValues:", colValues) + fmtColValues = append(fmtColValues, strings.Join(colValues, "\n")) + log.Trace("fmtColValues:", fmtColValues) + } + fmtEnd := fmt.Sprintf(outputJson.End, numberResult) + retFmtCols = fmtColName + "\n\n" + strings.Join(fmtColValues, "\n") + "\n\n" + fmtEnd + log.Tracef("retFmtCols:\n%s", retFmtCols) + return retFmtCols + } + } + fmtEnd := fmt.Sprintf(outputJson.End, numberResult) + retFmtCols = fmtColName + "\n" + strings.Join(fmtColValues, "\n") + "\n\n" + fmtEnd + log.Tracef("retFmtCols:\n%s", retFmtCols) + return retFmtCols +} + +func parseEnumAlias(alias *[]string, enumVal int) string { + return (*alias)[enumVal] +} + +func formatLineBySpace(strArray *[]string, spaceNum int) string { + space := strings.Repeat(" ", spaceNum) + return strings.Join(*strArray, space) +} + +func ParseAlignmentOutput(length int, alignment string, str string) string { + spaceLen := length - len(str) + if spaceLen < 0 { + log.Warnf("len(str=%s)=%d more length=%d", str, len(str), length) + spaceLen = 0 + } + var retStr string + switch alignment { + case "Left": + suffix := strings.Repeat(" ", spaceLen) + retStr = str + suffix + case "Right": + prefix := strings.Repeat(" ", spaceLen) + retStr = prefix + str + log.Tracef("retStr:%s", retStr) + case "Middle": + prefix := strings.Repeat(" ", int(math.Ceil(float64(spaceLen)/2))) + suffix := strings.Repeat(" ", int(math.Floor(float64(spaceLen)/2))) + retStr = prefix + str + suffix + } + log.Tracef("length=%d, spaceLne=%d, alignment=%s, str=%s, retStr=%s", length, spaceLen, alignment, str, retStr) + return retStr +} + +func ParseErrorOutput(err any) *[]byte { + var output []byte + + var formatType string = DefaultFormatType + if formatType == FormatTypeJson { + output = []byte(fmt.Sprintf("ErrorCode = 1 Error message: %v\n\n", err)) + } else { + output = []byte(fmt.Sprintf("RetCode = -1 operation failed: %v\n\n", err)) + } + + return &output +} + +func formatTitle(title string) string { + var builder strings.Builder + builder.WriteString(title) + builder.WriteString("\n") + for i := 0; i < len(title); i++ { + builder.WriteString("-") + } + builder.WriteString("\n") + return builder.String() +} + +func formatTableOutput() { + +} diff --git a/sshsvc/sshsvc b/sshsvc/sshsvc new file mode 100644 index 00000000..1788d209 Binary files /dev/null and b/sshsvc/sshsvc differ diff --git a/sshsvc/sshsvc.go b/sshsvc/sshsvc.go new file mode 100644 index 00000000..899461ad --- /dev/null +++ b/sshsvc/sshsvc.go @@ -0,0 +1,301 @@ +package main + +import ( + "errors" + "fmt" + "io" + "net" + "os" + "os/exec" + "strings" + + "ems.agt/lib/dborm" + "ems.agt/lib/global" + "ems.agt/lib/log" + "ems.agt/lib/mmlp" + "ems.agt/sshsvc/config" + "ems.agt/sshsvc/logmml" + + //"github.com/gliderlabs/ssh" + "golang.org/x/crypto/ssh" + "golang.org/x/term" +) + +var connNum int = 0 +var conf *config.YamlConfig + +func init() { + conf = config.GetYamlConfig() + log.InitLogger(conf.Logger.File, conf.Logger.Duration, conf.Logger.Count, "omc:sshsvc", config.GetLogLevel()) + fmt.Printf("OMC sshsvc version: %s\n", global.Version) + log.Infof("========================= OMC sshsvc startup =========================") + log.Infof("OMC sshsvc version: %s %s %s", global.Version, global.BuildTime, global.GoVer) + db := conf.Database + err := dborm.InitDbClient(db.Type, db.User, db.Password, db.Host, db.Port, db.Name) + if err != nil { + fmt.Println("dborm.initDbClient err:", err) + os.Exit(1) + } + logmml.InitMmlLogger(conf.Logmml.File, conf.Logmml.Duration, conf.Logmml.Count, "omc", config.GetLogMmlLevel()) +} + +func main() { + // 生成SSH密钥对 + privateKeyBytes, err := os.ReadFile(conf.Sshd.PrivateKey) + if err != nil { + log.Fatal("Failed to ReadFile:", err) + os.Exit(2) + } + + privateKey, err := ssh.ParsePrivateKey(privateKeyBytes) + if err != nil { + log.Fatal("Failed to ParsePrivateKey", err) + os.Exit(3) + } + + // 配置SSH服务器 + serverConfig := &ssh.ServerConfig{ + PasswordCallback: func(conn ssh.ConnMetadata, password []byte) (*ssh.Permissions, error) { + // 这里可以进行密码验证逻辑,例如检查用户名和密码是否匹配 + validUser, _, err := dborm.XormCheckLoginUser(conn.User(), string(password), conf.OMC.UserCrypt) + if err != nil { + return nil, err + } + if validUser == true { + sessionToken := fmt.Sprintf("%x", conn.SessionID()) // Generate new token to session ID + sourceAddr := conn.RemoteAddr().String() + timeOut := uint32(conf.Sshd.Timeout) + sessionMode := conf.Sshd.Session + log.Debugf("token:%s sourceAddr:%s", sessionToken, sourceAddr) + affected, err := dborm.XormInsertSession(conn.User(), sourceAddr, sessionToken, timeOut, sessionMode) + if err != nil { + log.Error("Failed to insert Session table:", err) + return nil, err + } + if affected == -1 { + err := errors.New("Failed to get session") + log.Error(err) + return nil, err + } + + return nil, nil + } + + // if conn.User() == "admin" && string(password) == "123456" { + // return nil, nil + // } + return nil, fmt.Errorf("invalid user or password") + }, + PublicKeyCallback: func(conn ssh.ConnMetadata, key ssh.PublicKey) (*ssh.Permissions, error) { + // 这里可以进行公钥验证逻辑,例如检查用户的公钥是否在允许的公钥列表中 + return nil, fmt.Errorf("public key authentication is failed") + }, + } + + serverConfig.AddHostKey(privateKey) + + // 启动SSH服务器 + hostUri := fmt.Sprintf("%s:%d", conf.Sshd.ListenAddr, conf.Sshd.ListenPort) + listener, err := net.Listen("tcp", hostUri) + if err != nil { + log.Fatal("Failed to Listen: ", err) + os.Exit(4) + } + + fmt.Printf("MML SSH server startup, listen port:%d\n", conf.Sshd.ListenPort) + + for { + conn, err := listener.Accept() + if err != nil { + log.Fatal("Failed to Accept: ", err) + os.Exit(5) + } + + go handleSSHConnection(conn, serverConfig) + } +} + +func handleSSHConnection(conn net.Conn, serverConfig *ssh.ServerConfig) { + // SSH握手 + sshConn, chans, reqs, err := ssh.NewServerConn(conn, serverConfig) + if err != nil { + log.Error("Failed to NewServerConn: ", err) + return + } + + log.Infof("SSH connect accepted,client version:%s,user:%s", sshConn.ClientVersion(), sshConn.User()) + + // 处理SSH请求 + go ssh.DiscardRequests(reqs) + + // 处理SSH通道 + for newChannel := range chans { + if newChannel.ChannelType() != "session" { + newChannel.Reject(ssh.UnknownChannelType, "unsupported channel type") + continue + } + + channel, requests, err := newChannel.Accept() + if err != nil { + log.Error("Failed to NewServerConn: ", err) + continue + } + + if connNum > int(conf.Sshd.MaxConnNum) { + log.Error("Maximum number of connections exceeded") + //conn.Write([]byte("Reach max connections")) + conn.Close() + continue + } + connNum++ + + go handleSSHChannel(conn, sshConn, channel, requests) + } +} + +func handleSSHChannel(conn net.Conn, sshConn *ssh.ServerConn, channel ssh.Channel, requests <-chan *ssh.Request) { + for req := range requests { + switch req.Type { + case "exec": + // 执行远程命令 + command := strings.TrimSpace(string(req.Payload))[4:] + //cmd := exec.Command( + cmd := exec.Command("cmd", "/C", command) + cmd.Stdin = channel + cmd.Stdout = channel + cmd.Stderr = channel.Stderr() + log.Trace("command:", command) + + err := cmd.Run() + if err != nil { + log.Error("Failed to cmd.Run: ", err) + } + + channel.SendRequest("exit-status", false, []byte{0, 0, 0, 0}) + channel.Close() + closeConnection(conn) + // case "shell": + // // 处理交互式shell会话 + // // 在这里添加您的处理逻辑,例如启动一个shell进程并将其连接到channel + // // 请注意,处理交互式shell会话需要更复杂的逻辑,您可能需要使用类似于pty包来处理终端相关的操作 + // channel.Write([]byte("交互式shell会话已启动\n")) + // channel.Close() + // handleSSHShell(user, channel) + case "pty-req": + log.Info("A pty-req processing...") + req.Reply(true, nil) + handleSSHShell(sshConn, channel) + channel.SendRequest("exit-status", false, []byte{0, 0, 0, 0}) + channel.Close() + closeConnection(conn) + log.Info("Channel closed") + default: + req.Reply(false, nil) + } + } +} + +func closeConnection(conn net.Conn) { + conn.Close() + connNum-- +} + +func handleSSHShell(sshConn *ssh.ServerConn, channel ssh.Channel) { + //conf = config.GetYamlConfig() + // 检查通道是否支持终端 + + omcMmlVar := &mmlp.MmlVar{ + Version: "16.1.1", + Output: mmlp.DefaultFormatType, + Limit: 50, + User: sshConn.User(), + SessionToken: fmt.Sprintf("%x", sshConn.SessionID()), + HttpUri: conf.OMC.HttpUri, + UserAgent: config.GetDefaultUserAgent(), + } + + term := term.NewTerminal(channel, fmt.Sprintf("[%s@omc]> ", omcMmlVar.User)) + // 启动交互式shell会话 + for { + line, err := term.ReadLine() + if err != nil { + if err == io.EOF { + break + } + log.Error("Failed to read line: ", err) + break + } + + cmdline := strings.TrimSpace(line) + if cmdline != "" { + logmml.Cmd(cmdline) + } + var response string + switch cmdline { + case "exit", "quit": + goto exitLoop + case "": + goto continueLoop + case "help": + response = fmt.Sprintf("Usage: %s\n", line) + term.Write([]byte(response)) + goto continueLoop + + case "dsp variables": + response = fmt.Sprintf("version: %s\n Output: %s\n", omcMmlVar.Version, omcMmlVar.Output) + term.Write([]byte(response)) + goto continueLoop + + case "set mml output=json": + // mmlp.SetOmcMmlVarOutput("json") + omcMmlVar.Output = "json" + response = fmt.Sprintf("set ok, mmlVar.output = %s\n", omcMmlVar.Output) + term.Write([]byte(response)) + goto continueLoop + + case "set mml output=table": + // mmlp.SetOmcMmlVarOutput("table") + omcMmlVar.Output = "table" + response = fmt.Sprintf("set ok, mmlVar.output = %s\n", omcMmlVar.Output) + term.Write([]byte(response)) + goto continueLoop + + default: + var mmlCmds []mmlp.MmlCommand + mmlLine := strings.TrimSpace(line) + if err = mmlp.ParseMMLCommand(mmlLine, &mmlCmds); err != nil { + response = fmt.Sprintf("parse command error: %v\n", err) + term.Write([]byte(response)) + goto continueLoop + } + // if err = mmlp.ParseMMLParams(&mmlCmds); err != nil { + // response := fmt.Sprintf("#2 parse command error: %v\n", err) + // term.Write([]byte(response)) + // } + + for _, mmlCmd := range mmlCmds { + output, err := mmlp.TransMml2HttpReq(omcMmlVar, &mmlCmd) + if err != nil { + response = fmt.Sprintf("translate MML command error: %v\n", err) + term.Write([]byte(response)) + goto continueLoop + } + response = string(*output) + term.Write(*output) + } + goto continueLoop + } + continueLoop: + if response != "" { + logmml.Ret(response) + } + continue + exitLoop: + token := fmt.Sprintf("%x", sshConn.SessionID()) + _, err = dborm.XormLogoutUpdateSession(token) + if err != nil { + log.Error("Failed to XormLogoutUpdateSession:", err) + } + break + } +} diff --git a/sshsvc/sshsvc.go.1 b/sshsvc/sshsvc.go.1 new file mode 100644 index 00000000..f606fd8c --- /dev/null +++ b/sshsvc/sshsvc.go.1 @@ -0,0 +1,251 @@ +package main + +import ( + "fmt" + "io" + "log" + "net" + "os" + "os/exec" + "strings" + + "golang.org/x/crypto/ssh" + "golang.org/x/crypto/ssh/terminal" +) + +func main() { + // 生成SSH密钥对 + privateKeyBytes, err := os.ReadFile("../.ssh/id_rsa") + if err != nil { + log.Fatal("无法读取私钥文件:", err) + } + + privateKey, err := ssh.ParsePrivateKey(privateKeyBytes) + if err != nil { + log.Fatal("无法解析私钥:", err) + } + + // 配置SSH服务器 + config := &ssh.ServerConfig{ + PasswordCallback: func(conn ssh.ConnMetadata, password []byte) (*ssh.Permissions, error) { + // 这里可以进行密码验证逻辑,例如检查用户名和密码是否匹配 + if conn.User() == "admin" && string(password) == "123456" { + return nil, nil + } + return nil, fmt.Errorf("密码错误") + }, + PublicKeyCallback: func(conn ssh.ConnMetadata, key ssh.PublicKey) (*ssh.Permissions, error) { + // 这里可以进行公钥验证逻辑,例如检查用户的公钥是否在允许的公钥列表中 + return nil, fmt.Errorf("公钥验证失败") + }, + } + + config.AddHostKey(privateKey) + + // 启动SSH服务器 + listener, err := net.Listen("tcp", "192.168.2.119:2222") + if err != nil { + log.Fatal("无法监听端口:", err) + } + + log.Println("SSH服务器已启动,监听端口:2222") + + for { + conn, err := listener.Accept() + if err != nil { + log.Fatal("无法接受连接:", err) + } + + go handleSSHConnection(conn, config) + } +} + +func handleSSHConnection(conn net.Conn, config *ssh.ServerConfig) { + // SSH握手 + sshConn, chans, reqs, err := ssh.NewServerConn(conn, config) + if err != nil { + log.Println("SSH握手失败:", err) + return + } + + log.Printf("SSH连接已建立,客户端版本:%s,用户:%s", sshConn.ClientVersion(), sshConn.User()) + + // 处理SSH请求 + go ssh.DiscardRequests(reqs) + + // 处理SSH通道 + for newChannel := range chans { + if newChannel.ChannelType() != "session" { + newChannel.Reject(ssh.UnknownChannelType, "不支持的通道类型") + continue + } + + channel, requests, err := newChannel.Accept() + if err != nil { + log.Println("无法接受通道:", err) + continue + } + + go handleSSHChannel(channel, requests) + } +} + +func handleSSHChannel(channel ssh.Channel, requests <-chan *ssh.Request) { + for req := range requests { + switch req.Type { + case "exec": + // 执行远程命令 + cmd := exec.Command("cmd", "/c", strings.TrimSpace(string(req.Payload))) + cmd.Stdin = channel + cmd.Stdout = channel + cmd.Stderr = channel.Stderr() + log.Println("cmd:", strings.TrimSpace(string(req.Payload))) + + err := cmd.Run() + if err != nil { + log.Println("无法执行命令:", err) + } + + channel.SendRequest("exit-status", false, []byte{0, 0, 0, 0}) + channel.Close() + case "shell": + // // 处理交互式shell会话 + // // 在这里添加您的处理逻辑,例如启动一个shell进程并将其连接到channel + // // 请注意,处理交互式shell会话需要更复杂的逻辑,您可能需要使用类似于pty包来处理终端相关的操作 + // channel.Write([]byte("交互式shell会话已启动\n")) + // channel.Close() + handleSSHShell(channel) + default: + req.Reply(false, nil) + } + } +} + +func handleSSHShell(channel ssh.Channel) { + defer channel.Close() + + // 检查通道是否支持终端 + term := terminal.NewTerminal(channel, "> ") + + // 启动交互式shell会话 + for { + line, err := term.ReadLine() + if err != nil { + if err == io.EOF { + break + } + log.Println("Failed to read line: ", err) + break + } + + // 在这里处理输入的命令 + // 您可以根据需要添加更多的逻辑 + if strings.TrimSpace(line) == "exit" { + break + } + + response := fmt.Sprintf("You entered: %s\n", line) + term.Write([]byte(response)) + } +} + +// func main() { +// // 读取 SSH 私钥文件 +// privateKeyBytes, err := os.ReadFile("../.ssh/private_key.pem") +// if err != nil { +// log.Fatalf("Failed to load private key: %v", err) +// } + +// // 解析私钥 +// privateKey, err := ssh.ParsePrivateKey(privateKeyBytes) +// if err != nil { +// log.Fatalf("Failed to parse private key: %v", err) +// } + +// // 配置 SSH 服务器 +// config := &ssh.ServerConfig{ +// PasswordCallback: func(conn ssh.ConnMetadata, password []byte) (*ssh.Permissions, error) { +// // 在此处验证密码 +// if string(password) == "123456" { +// return nil, nil +// } +// return nil, fmt.Errorf("password rejected for %s", conn.User()) +// }, +// } + +// // 添加私钥到配置 +// config.AddHostKey(privateKey) + +// // 启动 SSH 服务器 +// listener, err := net.Listen("tcp", "0.0.0.0:2222") +// if err != nil { +// log.Fatalf("Failed to listen on 2222: %v", err) +// } + +// log.Println("SSH server listening on 0.0.0.0:2222") + +// for { +// conn, err := listener.Accept() +// if err != nil { +// log.Fatalf("Failed to accept incoming connection: %v", err) +// } + +// // 处理 SSH 连接 +// go func() { +// sshConn, chans, reqs, err := ssh.NewServerConn(conn, config) +// if err != nil { +// log.Printf("Failed to handshake: %v", err) +// return +// } + +// log.Printf("SSH connection established from %s", sshConn.RemoteAddr()) + +// // 处理 SSH 请求 +// go ssh.DiscardRequests(reqs) + +// // 处理 SSH 通道 +// for newChannel := range chans { +// if newChannel.ChannelType() != "session" { +// newChannel.Reject(ssh.UnknownChannelType, "unknown channel type") +// continue +// } + +// channel, requests, err := newChannel.Accept() +// if err != nil { +// log.Printf("Failed to accept channel: %v", err) +// continue +// } + +// // 处理 SSH 会话 +// go func(in <-chan *ssh.Request) { +// for req := range in { +// log.Printf("Received out-of-band request: %v", string(req)) +// } +// }(requests) + +// // 示例:执行远程命令 +// go func() { +// defer channel.Close() + +// command := "echo 'Hello, SSH!'" +// output, err := execCommand(command) +// if err != nil { +// log.Printf("Failed to execute command: %v", err) +// return +// } + +// _, err = channel.Write([]byte(output)) +// if err != nil { +// log.Printf("Failed to write output: %v", err) +// return +// } +// }() +// } +// }() +// } +// } + +// func execCommand(command string) (string, error) { +// // 在此处执行远程命令并返回结果 +// return "hello ssh", nil +// } diff --git a/sshsvc/sshsvc.go.ok b/sshsvc/sshsvc.go.ok new file mode 100644 index 00000000..b0b3f038 --- /dev/null +++ b/sshsvc/sshsvc.go.ok @@ -0,0 +1,77 @@ +package main + +import ( + "log" + "strings" + + "github.com/gliderlabs/ssh" + "golang.org/x/crypto/ssh/terminal" +) + +// func main() { +// ssh.Handle(func(s ssh.Session) { +// io.WriteString(s, "Hello world\n") +// }) + +// log.Fatal(ssh.ListenAndServe(":2222", nil, ssh.HostKeyFile("../.ssh/id_rsa"))) +// } + +// func main() { +// ssh.ListenAndServe(":2222", nil, ssh.HostKeyFile("../.ssh/id_rsa"), +// ssh.PasswordAuth(func(ctx ssh.Context, pass string) bool { +// return pass == "123456" +// }), +// ) +// } + +func main() { + ssh.Handle(func(s ssh.Session) { + + term := terminal.NewTerminal(s, "> ") + for { + line, err := term.ReadLine() + if err != nil { + break + } + // 在这里处理输入的命令 + // 您可以根据需要添加更多的逻辑 + if strings.TrimSpace(line) == "exit" { + break + } + + log.Println(line) + if line != "" { + term.Write(append([]byte(line), '\n')) + } + } + log.Println("terminal closed") + }) + + log.Println("starting ssh server on port 2222...") + ssh.ListenAndServe(":2222", nil, ssh.HostKeyFile("../.ssh/id_rsa"), + ssh.PasswordAuth(func(ctx ssh.Context, pass string) bool { + return pass == "123456" + }), + ) +} + +func Handle(sess ssh.Session) { + term := terminal.NewTerminal(sess, "> ") + for { + line, err := term.ReadLine() + if err != nil { + break + } + // 在这里处理输入的命令 + // 您可以根据需要添加更多的逻辑 + if strings.TrimSpace(line) == "exit" { + break + } + + log.Println(line) + if line != "" { + term.Write(append([]byte(line), '\n')) + } + } + log.Println("terminal closed") +} diff --git a/tools/ca/cmca.go b/tools/ca/cmca.go new file mode 100644 index 00000000..cda21442 --- /dev/null +++ b/tools/ca/cmca.go @@ -0,0 +1,64 @@ +package main + +import ( + "crypto/rand" + "crypto/rsa" + "crypto/x509" + "encoding/pem" + "fmt" + "os" +) + +func main() { + // 生成RSA密钥对 + privateKey, err := rsa.GenerateKey(rand.Reader, 2048) + if err != nil { + fmt.Println("Failed to generate RSA private key:", err) + return + } + + // 将私钥保存到文件 + privateKeyFile, err := os.Create("private_key.pem") + if err != nil { + fmt.Println("Failed to create private key file:", err) + return + } + defer privateKeyFile.Close() + + privateKeyBlock := &pem.Block{ + Type: "RSA PRIVATE KEY", + Bytes: x509.MarshalPKCS1PrivateKey(privateKey), + } + + err = pem.Encode(privateKeyFile, privateKeyBlock) + if err != nil { + fmt.Println("Failed to write private key to file:", err) + return + } + + fmt.Println("Private key generated and saved to private_key.pem") + + // 获取公钥 + publicKey := &privateKey.PublicKey + + // 将公钥保存到文件 + publicKeyFile, err := os.Create("public_key.pem") + if err != nil { + fmt.Println("Failed to create public key file:", err) + return + } + defer publicKeyFile.Close() + + publicKeyBlock := &pem.Block{ + Type: "RSA PUBLIC KEY", + Bytes: x509.MarshalPKCS1PublicKey(publicKey), + } + + err = pem.Encode(publicKeyFile, publicKeyBlock) + if err != nil { + fmt.Println("Failed to write public key to file:", err) + return + } + + fmt.Println("Public key generated and saved to public_key.pem") +} diff --git a/tools/ca/private_key.pem b/tools/ca/private_key.pem new file mode 100644 index 00000000..c7d8271c --- /dev/null +++ b/tools/ca/private_key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA1ox38PK2qgSpJDzsRvdSDPQP6hYnuCasUMV6gJsb/CVcGK3v +7MDW1X4VSgJvxqPtHH5hdWOM1rT29DtC7rU4MhK0i+9SJixvFjyijABOuXCAFtw1 +zJDJN9EFGvA/WBsCFlwmpK9qKofF3n37/N2PvgCMDWVBrGe2uszQv9O5hnqE0X2J +33ddxRMX+7SVSCz8H1U+3FWLNF2SF4sIUXn1NdzouMtEGeaxvh+czYXCEB+rtewY +7Iwvoz7VamOOxMC9FmwKvFTePjvdYcdayiImunJtS1yg1/tiKGh+BCU9YFOkZ0dw +eP982EybQYw39L8UVJqXTMPKqErKDJxkNpg/nQIDAQABAoIBAA8rm4eEAfp/nd4c +GLDj5/9WepGYw3I3+dM0Q3c4gIARvDNaiS56bDZoVeUHyxOGn8t1/Doqsdi0rwmR +7yel1LVlsTJ715kvZyNxYiT4GJjwJX54T62JR1EVDIFdH32BW2JtXaYjaSRcuVcE +HX9Bw1ox+7UuxbgFFVycAt6tf97MRdBwgJX6pNM63RzIjOFPoVPirsaWJu1PWeGt +AIRrIdMyPS+oMMTvfFNSlTuVEgDzwtecrYIeXoMhYH0pCBMx3aX7F71lww70957t +k0g+YMR50OrNMxOMHe9/jnDceLmLvfEvZVxCggMc7wPn2Llwa0SG87cjHDe/T0tg +Ob6MKlkCgYEA9Aq8tgqYTijOALVfvxWUYSEhL3AfguwNPhK+Rbx2vdYKkm5qfVkw +ZKj5rZTCUp9b1VW3EqQ6+MwzujmL8Eb85H9G3uTiVBAwqJHATF1OlZmHjDAGTZdI +kNZNdYwkOI5UteGz9/7Gq+ayapBu402ttBlChlX+q9/jzm23hq5T6CcCgYEA4Q/E +o00DloXbqq9QNv4WFYzz8NukU3Ge7ftcDU3EciK36M2Ptck0oR59TK9pFElxwaOF +SYaHUX7FE/q60vXeUQfNPQzzdCcxLqGOgK3sJlmtCiyRHIUijJ5ew/F9c2rikI5X +Vc2lvfX4NUk1YdcRHap7hPiaSWI6LYXzRwFd0JsCgYEAqlDcBwg550JfEuuCGO/M +kET4zgyoUUzAqTOXiz/OdwpscmmQ9E5MkdPD/Lq3K8Z/5tFdZSss5PpOl4cV/Oju +EeIp6eE/e3+ZFewykpkEATAXA2V44KnWQQ7vHDxkAvyCbjVIzqkGqm3k0q5eVVCf +C/QdE3fstrMYX7b+wIXllT0CgYEAvJ5ncWjhAezLbeAhvQTzYzpPU2Pw81H9HXwU +6L1tTy6TrVNiBrtLFWElJ/i2ex8WbG/sC/PoQr+Y0abHnngayxRbyLeq7YTPLkKN +2IBqsrVjVWyGbT2S+ADecR9ZwToqCXaR8UI5jtuvGpFxYL9LA+7WOFnVjHz7Px3N +Bow5oNMCgYB8m2O/rY8bjA25M/348gQ51dtR5Y+QU93rK1SSQnrbu70kZKZjBfIj +x1C6HgIECowQ56Jg/pYEQmiv+bk/0yf8uHCcCbOCEzl42gRjleO/GCt+WZD2jR3Y +bt4gG7xHklNYZU5+m45RWWLLik2LSGfY7yerhV2585lQjoYNqRBY4g== +-----END RSA PRIVATE KEY----- diff --git a/tools/ca/public_key.pem b/tools/ca/public_key.pem new file mode 100644 index 00000000..97331211 --- /dev/null +++ b/tools/ca/public_key.pem @@ -0,0 +1,8 @@ +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA1ox38PK2qgSpJDzsRvdSDPQP6hYnuCasUMV6gJsb/CVcGK3v7MDW +1X4VSgJvxqPtHH5hdWOM1rT29DtC7rU4MhK0i+9SJixvFjyijABOuXCAFtw1zJDJ +N9EFGvA/WBsCFlwmpK9qKofF3n37/N2PvgCMDWVBrGe2uszQv9O5hnqE0X2J33dd +xRMX+7SVSCz8H1U+3FWLNF2SF4sIUXn1NdzouMtEGeaxvh+czYXCEB+rtewY7Iwv +oz7VamOOxMC9FmwKvFTePjvdYcdayiImunJtS1yg1/tiKGh+BCU9YFOkZ0dweP98 +2EybQYw39L8UVJqXTMPKqErKDJxkNpg/nQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/tools/casign/ca_cert - 副本.pem b/tools/casign/ca_cert - 副本.pem new file mode 100644 index 00000000..828a8437 --- /dev/null +++ b/tools/casign/ca_cert - 副本.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC4jCCAcqgAwIBAgICB+cwDQYJKoZIhvcNAQELBQAwEjEQMA4GA1UEAxMHUm9v +dCBDQTAeFw0yMzA4MTIxODA5MzZaFw0zMzA4MTIxODA5MzZaMBIxEDAOBgNVBAMT +B1Jvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUTcFiT1GT +Zq9ROKTuWm6IfFthO6ysthEKevwkgJGDRCwF+K6rx3j7izTDfLkXum5OPbcd/yiE +B40Yrq9X2ckX260xG9PjDmGUaq8q5sza85Gg2hrW6wiLF9y8yYK3/v7716d0y6st +jt71pH554R98m0zHkbkmrFEagWR5cEoVM6MPZp2wdDnOFBBRiB1BrbHMpAFiKJ6s +oqm1yhUwCeeR/Hs09JF8KfOFhV4qAEVvE1cviHucCEvLBaG6xBzbKvYV2iOPu6u2 +o818wphqmSZYoj3/O4/EyVgvj1VdSqmkTSudiiIhLAa8/2JKrW1v7wFQjRkwNwdf +h6UR5liIUwk7AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBRtEF/Jyw6Zz3v0K5uA6aMOr9LXRTANBgkqhkiG9w0BAQsF +AAOCAQEAErmFo6JjEoFZv8R2gwNUq7ln+YEh2hX4myLlNDfTpYeGnn2Ge70Kmb0o +dkSyanDd9tGImcbEOttWAYve3vetvN3g+GONbf5pV7ClIbVV5MsjN/aGwj/TQWhu +ttmfu9IV2b5HyFEM61eoHVrNoWiNpbNHTu5D/XF8sg5JkseTnJF06foykzAx28i6 +JcttunYn5SoWTIS9Ydu07X7uBcTeFBcKfH0xg4QlsNppiM5lIxBbp0WjQ8jyWw+b +Lyef4N6hmiaOf6P6qwaVZkEBhK6MVf1zadURuUSWAkhwGFjA7IbjbJ7OfYLXkYp3 +mIrXQzjxz6AfyOcY/FsgcaDLf5xbYw== +-----END CERTIFICATE----- diff --git a/tools/casign/ca_cert.pem b/tools/casign/ca_cert.pem new file mode 100644 index 00000000..828a8437 --- /dev/null +++ b/tools/casign/ca_cert.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC4jCCAcqgAwIBAgICB+cwDQYJKoZIhvcNAQELBQAwEjEQMA4GA1UEAxMHUm9v +dCBDQTAeFw0yMzA4MTIxODA5MzZaFw0zMzA4MTIxODA5MzZaMBIxEDAOBgNVBAMT +B1Jvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUTcFiT1GT +Zq9ROKTuWm6IfFthO6ysthEKevwkgJGDRCwF+K6rx3j7izTDfLkXum5OPbcd/yiE +B40Yrq9X2ckX260xG9PjDmGUaq8q5sza85Gg2hrW6wiLF9y8yYK3/v7716d0y6st +jt71pH554R98m0zHkbkmrFEagWR5cEoVM6MPZp2wdDnOFBBRiB1BrbHMpAFiKJ6s +oqm1yhUwCeeR/Hs09JF8KfOFhV4qAEVvE1cviHucCEvLBaG6xBzbKvYV2iOPu6u2 +o818wphqmSZYoj3/O4/EyVgvj1VdSqmkTSudiiIhLAa8/2JKrW1v7wFQjRkwNwdf +h6UR5liIUwk7AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBRtEF/Jyw6Zz3v0K5uA6aMOr9LXRTANBgkqhkiG9w0BAQsF +AAOCAQEAErmFo6JjEoFZv8R2gwNUq7ln+YEh2hX4myLlNDfTpYeGnn2Ge70Kmb0o +dkSyanDd9tGImcbEOttWAYve3vetvN3g+GONbf5pV7ClIbVV5MsjN/aGwj/TQWhu +ttmfu9IV2b5HyFEM61eoHVrNoWiNpbNHTu5D/XF8sg5JkseTnJF06foykzAx28i6 +JcttunYn5SoWTIS9Ydu07X7uBcTeFBcKfH0xg4QlsNppiM5lIxBbp0WjQ8jyWw+b +Lyef4N6hmiaOf6P6qwaVZkEBhK6MVf1zadURuUSWAkhwGFjA7IbjbJ7OfYLXkYp3 +mIrXQzjxz6AfyOcY/FsgcaDLf5xbYw== +-----END CERTIFICATE----- diff --git a/tools/casign/casign.go b/tools/casign/casign.go new file mode 100644 index 00000000..d3dfe97d --- /dev/null +++ b/tools/casign/casign.go @@ -0,0 +1,99 @@ +package main + +import ( + "crypto/rand" + "crypto/rsa" + "crypto/x509" + "crypto/x509/pkix" + "encoding/pem" + "fmt" + "math/big" + "os" + "time" +) + +func main() { + // 生成私钥 + privateKey, err := rsa.GenerateKey(rand.Reader, 2048) + if err != nil { + fmt.Println("Failed to generate private key:", err) + return + } + + // 创建根证书模板 + ca := &x509.Certificate{ + SerialNumber: big.NewInt(2023), + Subject: pkix.Name{CommonName: "Root CA"}, + NotBefore: time.Now(), + NotAfter: time.Now().AddDate(10, 0, 0), // 有效期为10年 + KeyUsage: x509.KeyUsageCertSign | x509.KeyUsageCRLSign, + BasicConstraintsValid: true, + IsCA: true, + } + + // 使用私钥对根证书进行签名 + caBytes, err := x509.CreateCertificate(rand.Reader, ca, ca, &privateKey.PublicKey, privateKey) + if err != nil { + fmt.Println("Failed to create CA certificate:", err) + return + } + + // 将根证书保存到文件 + caFile, err := os.Create("ca_cert.pem") + if err != nil { + fmt.Println("Failed to create CA certificate file:", err) + return + } + defer caFile.Close() + + err = pem.Encode(caFile, &pem.Block{ + Type: "CERTIFICATE", + Bytes: caBytes, + }) + if err != nil { + fmt.Println("Failed to write CA certificate to file:", err) + return + } + + fmt.Println("Root CA certificate generated successfully.") + + // 将公钥保存到文件 + publicKeyBytes := x509.MarshalPKCS1PublicKey(&privateKey.PublicKey) + publicKeyFile, err := os.Create("public_key.pem") + if err != nil { + fmt.Println("Failed to create public key file:", err) + return + } + defer publicKeyFile.Close() + + err = pem.Encode(publicKeyFile, &pem.Block{ + Type: "RSA PUBLIC KEY", + Bytes: publicKeyBytes, + }) + if err != nil { + fmt.Println("Failed to write public key to file:", err) + return + } + + fmt.Println("Public key generated successfully.") + + // 将私钥保存到文件 + privateKeyBytes := x509.MarshalPKCS1PrivateKey(privateKey) + privateKeyFile, err := os.Create("private_key.pem") + if err != nil { + fmt.Println("Failed to create private key file:", err) + return + } + defer privateKeyFile.Close() + + err = pem.Encode(privateKeyFile, &pem.Block{ + Type: "RSA PRIVATE KEY", + Bytes: privateKeyBytes, + }) + if err != nil { + fmt.Println("Failed to write private key to file:", err) + return + } + + fmt.Println("Private key generated successfully.") +} diff --git a/tools/casign/private_key.pem b/tools/casign/private_key.pem new file mode 100644 index 00000000..334940a6 --- /dev/null +++ b/tools/casign/private_key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAlE3BYk9Rk2avUTik7lpuiHxbYTusrLYRCnr8JICRg0QsBfiu +q8d4+4s0w3y5F7puTj23Hf8ohAeNGK6vV9nJF9utMRvT4w5hlGqvKubM2vORoNoa +1usIixfcvMmCt/7++9endMurLY7e9aR+eeEffJtMx5G5JqxRGoFkeXBKFTOjD2ad +sHQ5zhQQUYgdQa2xzKQBYiierKKptcoVMAnnkfx7NPSRfCnzhYVeKgBFbxNXL4h7 +nAhLywWhusQc2yr2Fdojj7urtqPNfMKYapkmWKI9/zuPxMlYL49VXUqppE0rnYoi +ISwGvP9iSq1tb+8BUI0ZMDcHX4elEeZYiFMJOwIDAQABAoIBAFVJVhIsXVRwdBg4 +hBkS5ogVRBPp1obIeYpWadSwH36m4M5aUlE1eKzoRGK7wlIUA8V5FmroxysOkKUG +KI5UD6Jp0fLw9uyX46QPqkb4zgyIkFI5u7+nEJW1Flt3Y3Ze7dJ1FbdEPWAIzs3j +WFzNC2eEhCYs9pZ3+HhOuzJfUitYU6ts83tazSms+7E027e/v2ubtYOzluEoj4YK +MM+ocqJOlXUOhyTATDaLs4fM567bwwFeriODQqmMIhXLf3HiBPfPYhoAlwPUV51L +bAjIPwG2/jy0yXPenYOUqSMP1i+XkyTL4eVqOLLQUI+BsEaToS8M7Lf4KRQE0vQm +uAkEA9ECgYEAxCsKXtkYXrma8UziSJgQBj88TfACyuYZBPkpBFJhffPVOreYzqmn +gsE38oHlLhCrezsxvScivS/Cwt7kgBTE9r6xmH8y2f0P3PNmtazQCqovG1gsNZ1t +9PZQmxbVUfx/7KRJ1Q5zX3x5C0P2c6XYv/1h/SQQ8PYXDhRxWZFVSikCgYEAwYlt +AoP8j6yHDMk10vJd0fKT1lztcHcQLvH3HQn2kHci2GCxySvcac49hpXTDeNdUzcQ +I9UWo1MggNojME3WHUTiZD5DYUzuNUBTkc0kMHWy79/YNAzvF9312MSyJ0NlytBQ +ISh0z0sPSxDjW+XCi/8LGu1rrremBqvh0rNIrMMCgYEAt+C8VNHcZRZHpX3y8icP +hjuKFGgwxe3Pb/j5uKJb3ktMCUEFjFo8uXTSM5AMuhRIGTgQVIS1rG5zemSh/Wj6 +g2uWXyKEEQ+D6hGBqjP1wrlpdJE+x3btFdw5DFbn2HT9mF0bFAn6nXu4npWzEw5X +UQd67WT8OFIEpF8HLPTs5JkCgYBQlL6dmITU8Vm9mh1d+mnT23NwgnqeJATJ9xcT +sS1HE0Of4grEHw4Dw8pcOg+JLcyStE91C+kEEb1ryOdz2kS3JRI5+K6nWZeo9mKV +R1u1DZx2QbZMXcJDJriRC7y9mlNMsZVbaPPRx4fTknGHts9c6NEf4hC+y1pGVtSM +nPc6bwKBgQCrtb6srow9o0acH7mMmieDuqvT8DQ6rHWoizgneZTuvIo6SPO6nRnR +jfgfQkqr9IiLh9awSblQEN9fnddog7a1yS4cUZueiP5dmtFvp4B9Scnt+BoHpOLk +rrU2i7grAye4Cd003+pqhSERGCKSzb3fTSYiMypKsxeH2bs8nrRu2A== +-----END RSA PRIVATE KEY----- diff --git a/tools/casign/public_key.pem b/tools/casign/public_key.pem new file mode 100644 index 00000000..a85d9e48 --- /dev/null +++ b/tools/casign/public_key.pem @@ -0,0 +1,8 @@ +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAlE3BYk9Rk2avUTik7lpuiHxbYTusrLYRCnr8JICRg0QsBfiuq8d4 ++4s0w3y5F7puTj23Hf8ohAeNGK6vV9nJF9utMRvT4w5hlGqvKubM2vORoNoa1usI +ixfcvMmCt/7++9endMurLY7e9aR+eeEffJtMx5G5JqxRGoFkeXBKFTOjD2adsHQ5 +zhQQUYgdQa2xzKQBYiierKKptcoVMAnnkfx7NPSRfCnzhYVeKgBFbxNXL4h7nAhL +ywWhusQc2yr2Fdojj7urtqPNfMKYapkmWKI9/zuPxMlYL49VXUqppE0rnYoiISwG +vP9iSq1tb+8BUI0ZMDcHX4elEeZYiFMJOwIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/tools/cmca/ca.go b/tools/cmca/ca.go new file mode 100644 index 00000000..af4901b6 --- /dev/null +++ b/tools/cmca/ca.go @@ -0,0 +1,137 @@ +package main + +import ( + "crypto" + "crypto/rand" + "crypto/rsa" + "crypto/sha256" + "crypto/x509" + "encoding/pem" + "fmt" + "os" +) + +// LoadCert 读取证书文件 +func LoadCert(path string) (*x509.Certificate, error) { + //1.打开磁盘的公钥文件 + file, err := os.Open(path) + if err != nil { + return nil, err + } + defer file.Close() + fileInfo, err := file.Stat() + if err != nil { + return nil, err + } + buf := make([]byte, fileInfo.Size()) + _, err = file.Read(buf) + if err != nil { + return nil, err + } + //2.使用pem解码得到pem.Block结构体变量 + block, _ := pem.Decode(buf) + + //证书解析 + certBody, err := x509.ParseCertificate(block.Bytes) + if err != nil { + return nil, err + } + return certBody, nil +} + +// LoadPriKey 读取私钥文件 +func LoadPriKey(path string) (*rsa.PrivateKey, error) { + //1.打开磁盘的私钥文件 + file, err := os.Open(path) + if err != nil { + return nil, err + } + defer file.Close() + //2.将私钥文件中的内容读出 + fileInfo, err := file.Stat() + if err != nil { + return nil, err + } + buf := make([]byte, fileInfo.Size()) + _, err = file.Read(buf) + if err != nil { + return nil, err + } + //3.使用pem对数据解码,得到pem.Block结构体变量 + block, _ := pem.Decode(buf) + //4.x509将数据解析成私钥结构体得到私钥 + privateKey, err := x509.ParsePKCS1PrivateKey(block.Bytes) + if err != nil { + return nil, err + } + return privateKey, nil +} + +// SignRSA RSA 签名 +func SignRSA(plainText []byte, priKey *rsa.PrivateKey) ([]byte, error) { + //1.创建一个哈希对象 + hash := sha256.New() + //2.给哈希对象添加数据 + _, err := hash.Write(plainText) + if err != nil { + return nil, err + } + //3.计算哈希值 + hashed := hash.Sum(nil) + //4.使用rsa中的函数对散列值签名 + signText, err := rsa.SignPKCS1v15(rand.Reader, priKey, crypto.SHA256, hashed) + if err != nil { + return nil, err + } + return signText, nil +} + +func VerifyRSA(plainText, signText []byte, cert *x509.Certificate) error { + publicKeyDer, err := x509.MarshalPKIXPublicKey(cert.PublicKey) + if err != nil { + return err + } + pubKeyInterface, err := x509.ParsePKIXPublicKey(publicKeyDer) + if err != nil { + return err + } + //进行类型断言得到公钥结构体 + publicKey := pubKeyInterface.(*rsa.PublicKey) + + //* 创建哈希接口 + hash := sha256.New() + //* 添加数据 + hash.Write(plainText) + //* 哈希运算 + hasded := hash.Sum(nil) + // + //6.签名认证 + err = rsa.VerifyPKCS1v15(publicKey, crypto.SHA256, hasded, signText) + if err != nil { + return err + } + return nil +} + +var rootCertPool *x509.CertPool + +func VerifyCert(cert *x509.Certificate) error { + //block, _ := pem.Decode([]byte(certPEM)) + //if block == nil { + // return fmt.Errorf("failed to parse certificate PEM") + //} + //cert, err := x509.ParseCertificate(block.Bytes) + //if err != nil { + // return fmt.Errorf("failed to parse certificate: %v", err.Error()) + //} + + opts := x509.VerifyOptions{ + Roots: rootCertPool, + } + + if _, err := cert.Verify(opts); err != nil { + return fmt.Errorf("failed to verify certificate: %v", err.Error()) + } + + return nil +} diff --git a/tools/cmca/ca/CA/certs/test1.crt b/tools/cmca/ca/CA/certs/test1.crt new file mode 100644 index 00000000..1b11409a --- /dev/null +++ b/tools/cmca/ca/CA/certs/test1.crt @@ -0,0 +1,81 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1 (0x1) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=CN, ST=GD, L=shenzhen, O=https://www.agrandtech.com.cn/, CN=test + Validity + Not Before: Jul 1 10:05:48 2023 GMT + Not After : Mar 27 10:05:48 2026 GMT + Subject: C=CN, ST=GD, O=https://www.agrandtech.com.cn/, CN=test + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:f3:bd:e9:fe:aa:a6:c1:d9:7b:74:20:f0:d0:f3: + ee:7c:d0:69:84:8d:1a:37:1e:29:42:98:86:51:87: + fe:5d:48:2e:97:b0:c6:16:9c:46:6a:38:7b:34:54: + ec:76:d2:52:50:bb:31:a8:de:7d:3f:8c:c5:f8:fb: + e3:e3:73:37:36:10:e8:55:df:80:cf:c0:d9:40:30: + b7:54:49:69:e3:a8:79:49:47:d8:74:b0:07:13:dd: + 47:72:89:69:bd:0c:40:8b:f4:ee:49:02:cb:f4:b9: + c1:7a:7d:da:10:1b:b2:b1:9f:0d:70:66:d1:86:31: + dc:e3:d6:e5:f5:2c:e1:57:bd:72:ea:4a:1d:0c:4c: + 58:09:2b:2e:e5:53:40:73:55:e9:78:c3:7a:95:25: + b7:9d:80:ac:e4:79:c3:d7:9b:d1:c3:73:78:da:03: + f4:aa:68:21:81:f2:53:b8:3d:91:60:e0:91:47:2e: + 6d:5d:01:ae:f2:82:c0:8a:dd:06:8c:70:6e:77:7e: + 14:ae:61:a5:d8:e0:13:1b:2c:f7:d3:62:0c:d1:5c: + 48:fe:59:ca:b5:b1:2b:89:2b:2f:69:5d:40:42:05: + ab:76:58:4f:36:1a:36:1c:21:eb:85:1c:da:22:1b: + c2:60:8e:c1:7d:50:33:39:c0:40:e0:49:20:a0:f7: + c3:4f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + D7:A0:3F:5F:C0:65:83:88:6F:5E:98:DB:30:3D:9F:24:6A:D0:DE:54 + X509v3 Authority Key Identifier: + keyid:6D:B3:1D:B6:78:4E:C8:19:8F:FA:4D:6B:3A:5E:A9:7D:CB:07:98:BA + + Signature Algorithm: sha256WithRSAEncryption + 39:8a:89:a2:79:0f:c0:fd:d8:db:d5:38:d2:03:b4:38:be:a2: + 6e:6b:1c:28:93:0a:a6:0b:af:0a:69:6b:8b:d5:df:3d:de:76: + ad:24:23:98:7a:21:a1:2f:90:47:9b:98:9e:d2:b4:75:21:bd: + d0:38:34:6b:b1:96:3d:24:da:ac:1a:45:e4:01:1d:a2:20:c3: + 43:d3:ec:d9:2d:3b:d1:ee:0d:1e:21:15:e7:7f:d3:95:1c:dc: + fa:88:3a:05:4b:c5:08:5d:f4:40:89:29:80:fe:6b:40:b9:34: + 92:2e:48:94:d2:4b:0b:4d:1e:3c:64:17:cf:34:ec:36:5c:6d: + 3d:90:9c:74:95:d7:c8:96:a2:70:59:4a:d2:b5:e1:c1:a9:b7: + ad:f0:99:ff:b4:4d:89:e7:e3:9d:7d:79:36:40:05:6d:20:46: + 54:af:18:73:c9:07:17:26:18:86:99:cc:e2:58:27:96:84:58: + 18:d4:fe:dc:36:cd:8a:48:cc:e6:51:27:e5:76:81:2f:c7:9c: + 7b:f9:fb:19:c9:7c:e4:27:06:75:cd:16:88:74:3c:0b:23:d6: + 86:6b:95:41:10:cf:b2:fc:e8:1e:e0:d6:a5:8c:d1:c0:1b:d5: + 6e:15:8c:9a:67:5c:9d:ac:02:5a:69:17:e8:4c:42:d0:5d:88: + da:08:4e:c0 +-----BEGIN CERTIFICATE----- +MIIDrTCCApWgAwIBAgIBATANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJDTjEL +MAkGA1UECAwCR0QxETAPBgNVBAcMCHNoZW56aGVuMScwJQYDVQQKDB5odHRwczov +L3d3dy5hZ3JhbmR0ZWNoLmNvbS5jbi8xDTALBgNVBAMMBHRlc3QwHhcNMjMwNzAx +MTAwNTQ4WhcNMjYwMzI3MTAwNTQ4WjBSMQswCQYDVQQGEwJDTjELMAkGA1UECAwC +R0QxJzAlBgNVBAoMHmh0dHBzOi8vd3d3LmFncmFuZHRlY2guY29tLmNuLzENMAsG +A1UEAwwEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPO96f6q +psHZe3Qg8NDz7nzQaYSNGjceKUKYhlGH/l1ILpewxhacRmo4ezRU7HbSUlC7Maje +fT+Mxfj74+NzNzYQ6FXfgM/A2UAwt1RJaeOoeUlH2HSwBxPdR3KJab0MQIv07kkC +y/S5wXp92hAbsrGfDXBm0YYx3OPW5fUs4Ve9cupKHQxMWAkrLuVTQHNV6XjDepUl +t52ArOR5w9eb0cNzeNoD9KpoIYHyU7g9kWDgkUcubV0BrvKCwIrdBoxwbnd+FK5h +pdjgExss99NiDNFcSP5ZyrWxK4krL2ldQEIFq3ZYTzYaNhwh64Uc2iIbwmCOwX1Q +MznAQOBJIKD3w08CAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYd +T3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFNegP1/AZYOI +b16Y2zA9nyRq0N5UMB8GA1UdIwQYMBaAFG2zHbZ4TsgZj/pNazpeqX3LB5i6MA0G +CSqGSIb3DQEBCwUAA4IBAQA5iomieQ/A/djb1TjSA7Q4vqJuaxwokwqmC68KaWuL +1d893natJCOYeiGhL5BHm5ie0rR1Ib3QODRrsZY9JNqsGkXkAR2iIMND0+zZLTvR +7g0eIRXnf9OVHNz6iDoFS8UIXfRAiSmA/mtAuTSSLkiU0ksLTR48ZBfPNOw2XG09 +kJx0ldfIlqJwWUrSteHBqbet8Jn/tE2J5+OdfXk2QAVtIEZUrxhzyQcXJhiGmczi +WCeWhFgY1P7cNs2KSMzmUSfldoEvx5x7+fsZyXzkJwZ1zRaIdDwLI9aGa5VBEM+y +/Oge4NaljNHAG9VuFYyaZ1ydrAJaaRfoTELQXYjaCE7A +-----END CERTIFICATE----- diff --git a/tools/cmca/ca/CA/certs/test2.crt b/tools/cmca/ca/CA/certs/test2.crt new file mode 100644 index 00000000..64a6baea --- /dev/null +++ b/tools/cmca/ca/CA/certs/test2.crt @@ -0,0 +1,81 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 2 (0x2) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=CN, ST=GD, L=shenzhen, O=https://www.agrandtech.com.cn/, CN=test + Validity + Not Before: Jul 1 10:08:44 2023 GMT + Not After : Mar 27 10:08:44 2026 GMT + Subject: C=CN, ST=GD, O=https://www.agrandtech.com.cn/, CN=test1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:ed:73:63:a4:7d:8c:00:e6:e5:df:f5:1e:8a:d4: + 22:e4:37:16:62:6b:64:f1:90:ec:4b:4c:37:c5:2e: + de:ef:11:93:15:da:e9:2d:7b:69:72:2d:94:29:f8: + 04:75:22:37:a4:83:53:a3:7b:b1:37:2d:a0:57:af: + 0e:65:3c:cf:fe:1a:65:de:e8:66:7b:19:81:ab:10: + 9b:9e:27:5b:a9:7c:cc:3a:44:ee:6e:af:3a:ef:67: + 72:60:a8:8d:bb:4d:3e:ce:34:1f:08:9c:72:f7:52: + 44:d7:af:eb:f7:9b:3f:62:94:09:db:26:e3:0f:eb: + b3:85:d3:c3:2d:ec:c1:14:d8:2d:b0:4c:10:c7:b1: + 22:cf:74:a7:cd:94:b7:18:9e:78:0b:0b:64:00:e0: + e1:8a:97:57:11:5d:7c:f3:c9:6c:e0:97:c1:6c:01: + b5:c4:75:fa:71:96:9a:89:c7:73:61:bd:4a:2b:28: + 17:81:4b:9f:92:ee:8e:a0:57:7f:7a:7c:89:a6:7e: + 4d:a8:f3:b8:aa:03:aa:de:30:a7:19:94:a7:87:fc: + ab:5a:e5:8d:a9:64:51:5a:f4:ad:64:e1:aa:e4:45: + b7:e4:03:dc:6b:cf:fa:4a:0d:09:ef:4f:82:39:cc: + 2f:91:c1:94:55:57:58:16:0b:14:00:62:43:c9:67: + e0:d3 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + 51:A3:41:B8:14:F9:2C:04:DE:0C:49:24:58:B5:5A:34:0E:07:FE:40 + X509v3 Authority Key Identifier: + keyid:6D:B3:1D:B6:78:4E:C8:19:8F:FA:4D:6B:3A:5E:A9:7D:CB:07:98:BA + + Signature Algorithm: sha256WithRSAEncryption + 3c:f2:58:cd:8c:39:90:b4:f5:0f:ef:f6:a7:eb:26:4c:43:63: + dc:9f:94:a1:43:6c:9a:82:2b:e4:8e:24:c5:40:da:78:93:c5: + dd:8a:5d:63:76:00:ef:c6:ca:a7:a8:10:a3:9a:ae:d1:20:d1: + 19:e1:46:03:03:98:a4:71:9a:45:8d:34:33:ce:c8:52:82:22: + 33:5f:79:74:61:88:ab:52:6f:98:75:8f:07:bf:ff:d9:2e:30: + 67:ce:05:8b:6c:ac:24:ec:2c:ac:c5:42:f7:71:b6:da:53:bc: + 48:d1:29:82:aa:03:27:81:84:0a:f5:12:e2:8c:3a:77:f9:a8: + 0e:d4:1f:7e:1f:98:28:f7:15:f0:78:8a:ba:b7:77:20:b7:82: + 0d:cd:d5:47:ed:9e:61:a7:9b:35:1b:35:c7:74:91:0b:6c:1c: + 27:1a:a9:cc:11:5b:22:0d:35:40:43:ae:f2:44:66:aa:9e:dc: + 22:ca:a7:8b:8c:44:6a:f6:b1:6d:1e:3a:51:c0:2a:02:81:d7: + b6:4a:77:1e:e0:13:19:0c:51:4c:67:e1:2f:97:c9:4a:88:25: + c8:b4:65:dc:0d:a5:71:c2:45:dd:4f:01:bf:f0:43:9c:41:37: + 28:eb:15:fc:90:f8:b6:3a:4b:57:79:df:74:4c:a9:aa:27:a2: + 77:22:37:7f +-----BEGIN CERTIFICATE----- +MIIDrjCCApagAwIBAgIBAjANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJDTjEL +MAkGA1UECAwCR0QxETAPBgNVBAcMCHNoZW56aGVuMScwJQYDVQQKDB5odHRwczov +L3d3dy5hZ3JhbmR0ZWNoLmNvbS5jbi8xDTALBgNVBAMMBHRlc3QwHhcNMjMwNzAx +MTAwODQ0WhcNMjYwMzI3MTAwODQ0WjBTMQswCQYDVQQGEwJDTjELMAkGA1UECAwC +R0QxJzAlBgNVBAoMHmh0dHBzOi8vd3d3LmFncmFuZHRlY2guY29tLmNuLzEOMAwG +A1UEAwwFdGVzdDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtc2Ok +fYwA5uXf9R6K1CLkNxZia2TxkOxLTDfFLt7vEZMV2ukte2lyLZQp+AR1Ijekg1Oj +e7E3LaBXrw5lPM/+GmXe6GZ7GYGrEJueJ1upfMw6RO5urzrvZ3JgqI27TT7ONB8I +nHL3UkTXr+v3mz9ilAnbJuMP67OF08Mt7MEU2C2wTBDHsSLPdKfNlLcYnngLC2QA +4OGKl1cRXXzzyWzgl8FsAbXEdfpxlpqJx3NhvUorKBeBS5+S7o6gV396fImmfk2o +87iqA6reMKcZlKeH/Kta5Y2pZFFa9K1k4arkRbfkA9xrz/pKDQnvT4I5zC+RwZRV +V1gWCxQAYkPJZ+DTAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8W +HU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBRRo0G4FPks +BN4MSSRYtVo0Dgf+QDAfBgNVHSMEGDAWgBRtsx22eE7IGY/6TWs6Xql9yweYujAN +BgkqhkiG9w0BAQsFAAOCAQEAPPJYzYw5kLT1D+/2p+smTENj3J+UoUNsmoIr5I4k +xUDaeJPF3YpdY3YA78bKp6gQo5qu0SDRGeFGAwOYpHGaRY00M87IUoIiM195dGGI +q1JvmHWPB7//2S4wZ84Fi2ysJOwsrMVC93G22lO8SNEpgqoDJ4GECvUS4ow6d/mo +DtQffh+YKPcV8HiKurd3ILeCDc3VR+2eYaebNRs1x3SRC2wcJxqpzBFbIg01QEOu +8kRmqp7cIsqni4xEavaxbR46UcAqAoHXtkp3HuATGQxRTGfhL5fJSoglyLRl3A2l +ccJF3U8Bv/BDnEE3KOsV/JD4tjpLV3nfdEypqieidyI3fw== +-----END CERTIFICATE----- diff --git a/tools/cmca/ca/CA/data/test1.csr b/tools/cmca/ca/CA/data/test1.csr new file mode 100644 index 00000000..ae564296 --- /dev/null +++ b/tools/cmca/ca/CA/data/test1.csr @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICqjCCAZICAQAwZTELMAkGA1UEBhMCQ04xCzAJBgNVBAgMAkdEMREwDwYDVQQH +DAhzaGVuemhlbjEnMCUGA1UECgweaHR0cHM6Ly93d3cuYWdyYW5kdGVjaC5jb20u +Y24vMQ0wCwYDVQQDDAR0ZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA873p/qqmwdl7dCDw0PPufNBphI0aNx4pQpiGUYf+XUgul7DGFpxGajh7NFTs +dtJSULsxqN59P4zF+Pvj43M3NhDoVd+Az8DZQDC3VElp46h5SUfYdLAHE91Hcolp +vQxAi/TuSQLL9LnBen3aEBuysZ8NcGbRhjHc49bl9SzhV71y6kodDExYCSsu5VNA +c1XpeMN6lSW3nYCs5HnD15vRw3N42gP0qmghgfJTuD2RYOCRRy5tXQGu8oLAit0G +jHBud34UrmGl2OATGyz302IM0VxI/lnKtbEriSsvaV1AQgWrdlhPNho2HCHrhRza +IhvCYI7BfVAzOcBA4EkgoPfDTwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAE7E +xGSbr/UbRNE3dzD42GnTRTUCJGgk0sUFgURfuZhKhFNSloEQBzfL7hb4M2uuirOB +t8NxImkp70/3Cw+UuewBAO5Ajp6GIYr4dZGb1KNWxqFMC1k0RCoEDcRPow5+okzf +d8QbHVQnyYNahAfxWdxLmq9g3dBmJA9d3Z4XfbPWbp3sDk7fb08Fg9Uond33vW1J +Qzco4UTcwLuicNwh6vytikjUV5zX0RS9QHSu9+akMbZbOwX9cFOhjbpmw4oGLx8h +fXeB9pgqbvdQ4Q5Bj+bScK2CR344yKY6nEw4pxdS78a7Sor+njSgvNlbBzjg+EP0 +UpTObJ9sModlMYn6h70= +-----END CERTIFICATE REQUEST----- diff --git a/tools/cmca/ca/CA/data/test1.key b/tools/cmca/ca/CA/data/test1.key new file mode 100644 index 00000000..94264dba --- /dev/null +++ b/tools/cmca/ca/CA/data/test1.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA873p/qqmwdl7dCDw0PPufNBphI0aNx4pQpiGUYf+XUgul7DG +FpxGajh7NFTsdtJSULsxqN59P4zF+Pvj43M3NhDoVd+Az8DZQDC3VElp46h5SUfY +dLAHE91HcolpvQxAi/TuSQLL9LnBen3aEBuysZ8NcGbRhjHc49bl9SzhV71y6kod +DExYCSsu5VNAc1XpeMN6lSW3nYCs5HnD15vRw3N42gP0qmghgfJTuD2RYOCRRy5t +XQGu8oLAit0GjHBud34UrmGl2OATGyz302IM0VxI/lnKtbEriSsvaV1AQgWrdlhP +Nho2HCHrhRzaIhvCYI7BfVAzOcBA4EkgoPfDTwIDAQABAoIBAFTFQ0GABnk681XD +Mx3pCJO+RESGcoyi38S6mVR30L6OoS2+nFY2ycKdnDPqKUd2BIzxXecWYkcc5amf +qXVsl9Ik9TkQf5NBxg0uJESbN8mmyW/0HdMPeZauCfBK3EyUm0pRyCH6aAbYJ/M7 +HAEoMPDXmWvzRoG+i81t6xJnJoRFwI8xQfKf6DbiP4KUlU7MVRWpVFkCXzZkyoqi +NWKyYfv7cBTZrWpeBCvyKRtUDvA9xjgfRTmR5rBfre9XCcu0hD2HwYBR8Nh0kz0g +4/ZgEX4LYpL40r/tbzL1hlG2zaKQw/Hmb90CvUBfwwNFA/Xvhq5NYJhwVaauPhVN +vDxIf/ECgYEA/gyooDz0B/OGSDeetBuZyQ1HjlWc7wNSCG+SBbaDb5WCLAcJCOEc +ybCg81s3P1p4IRo1BR0II1RM8RHhMLVlL/NgYQsvpYJd/02BTxYQka7EXXOdL533 +CuKYTEKODisSSjNPF051kADHs0iL5Jc8iDT21Rb8C6E4N1J1lCEWsCkCgYEA9Zz+ +16P7UVKGZzEF6/xtOf59H+Arrty9eW9nlGH+Wjkz+xySYAVSaa/6n6LiBGOwXvKc +GmUSMhanIgvnTXVkwpCEAl6cVufwuPR5V0Y66xnSsAtpascJqvCgVAxS9b0SVAju +WvExxRrEquvYUlZ7kwN2a8Rnm02BjFPijy8D5rcCgYBZWApVkBoiUbp/20+s96f1 +1P29SM6QIBLRdKtd5voCXAoTgcXjoYeGRt/TtdiQJzjoK1dKHROnmRYWEbuobaLQ +Yj8a4dw30MlN5+v57ECXe2cDlo1JGbyvz1DQQPfEc9FS1wiRob4mjp+spW7NTYK0 +RCwqdJLfZCtpCU7gcWKRQQKBgG9DB064Qgi80ZW9Z2lXmENFPXlLG37DEDIKfWmC +Wq6Uay+96bEFuCeYSHg4WRqT7jmUvZJXZr659ExACC/WliZtQN+x7DCSMUIXvUAD +2HzX3dFR2hc8wuxkxLxOOOaJF9xpj1AzItCfJ6gl3oCuHJykXOjEuApqOd1PwroK +GkJRAoGBANzf7rFrVxapMa5W/Q5fGFMwzF6sKPU0xZUhYKen0jwndl4NEQakWoiI +oWjeeFgPoKQa7LPfwfPEsCNTt3D/7ow/5kk39kTpegmICDcF+f1ij8w5ekuw4QyO +ltQsHXNdzdulT8Mhg1+R6EabgvBGZEFyWMH2yeF3QKhg6ezRAzcV +-----END RSA PRIVATE KEY----- diff --git a/tools/cmca/ca/CA/data/test2.csr b/tools/cmca/ca/CA/data/test2.csr new file mode 100644 index 00000000..7c1bdd49 --- /dev/null +++ b/tools/cmca/ca/CA/data/test2.csr @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICqzCCAZMCAQAwZjELMAkGA1UEBhMCQ04xCzAJBgNVBAgMAkdEMREwDwYDVQQH +DAhzaGVuemhlbjEnMCUGA1UECgweaHR0cHM6Ly93d3cuYWdyYW5kdGVjaC5jb20u +Y24vMQ4wDAYDVQQDDAV0ZXN0MTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAO1zY6R9jADm5d/1HorUIuQ3FmJrZPGQ7EtMN8Uu3u8RkxXa6S17aXItlCn4 +BHUiN6SDU6N7sTctoFevDmU8z/4aZd7oZnsZgasQm54nW6l8zDpE7m6vOu9ncmCo +jbtNPs40HwiccvdSRNev6/ebP2KUCdsm4w/rs4XTwy3swRTYLbBMEMexIs90p82U +txieeAsLZADg4YqXVxFdfPPJbOCXwWwBtcR1+nGWmonHc2G9SisoF4FLn5LujqBX +f3p8iaZ+TajzuKoDqt4wpxmUp4f8q1rljalkUVr0rWThquRFt+QD3GvP+koNCe9P +gjnML5HBlFVXWBYLFABiQ8ln4NMCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQBh +7RKvFZzrt7cDmIPEaTpXZnXKbSaU6Yq4PzG6mnG0B2wd15wZ41nVQobprVEd/hIY +ifjtTh0fZp7IBhBomX2QJWlhqdK4RvlMDX9w0Q6oSYjbHKj7TfGnBpyi5gjK/a12 +cQvupDTXWp5Hq5McnBKdo/SDow1papl4jFkGeNq8ItD+2FQQhcJGMLnNndQ9p9Mj +3TRtcfxbsJgmDHBQyefM5ASnG4j5X7wi2zSdgN9hEFIzm9weFpYGAnNx431BE0Vg +9bR1YWFBPzjMI4x5DN7HWt+z5acZlXjws2OM68zum3MR7UbreV/eJjtE3Un9AuNW +e5nUqnFMJ7RVZnTvPlGz +-----END CERTIFICATE REQUEST----- diff --git a/tools/cmca/ca/CA/data/test2.key b/tools/cmca/ca/CA/data/test2.key new file mode 100644 index 00000000..ce88c3e6 --- /dev/null +++ b/tools/cmca/ca/CA/data/test2.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA7XNjpH2MAObl3/UeitQi5DcWYmtk8ZDsS0w3xS7e7xGTFdrp +LXtpci2UKfgEdSI3pINTo3uxNy2gV68OZTzP/hpl3uhmexmBqxCbnidbqXzMOkTu +bq8672dyYKiNu00+zjQfCJxy91JE16/r95s/YpQJ2ybjD+uzhdPDLezBFNgtsEwQ +x7Eiz3SnzZS3GJ54CwtkAODhipdXEV1888ls4JfBbAG1xHX6cZaaicdzYb1KKygX +gUufku6OoFd/enyJpn5NqPO4qgOq3jCnGZSnh/yrWuWNqWRRWvStZOGq5EW35APc +a8/6Sg0J70+COcwvkcGUVVdYFgsUAGJDyWfg0wIDAQABAoIBAQCWcM8mvmxffesS +s8iACNt6X/SMsqIn8rvjEQ0cnw+bxDS+Wg32RQSP1JTU6lBYri82ygXJxGqJHR1D +sKOcPKVCxxLX4cJcJ9LhwQn3b9RBU9JI8Ldn5Rmf6Jis6N2zV8N8/cTTvduRGsyH +IuyL2g6UtFpyQPcHdTwug/ZbOG80dnI9Z4qWFLKe5JFgsrpTyOIC9ta8CcHYNZiV +uSPYEH/CWvgZQOc6VpfnnNefiLxMKq2Tbpk/FbioUiqGwxtWBmE9YyFvtSpUb/TU +MKwPidMV/0V7wRQafjD3qL/Y2V8ZVaEnwVAT8GjQECPCLPON6i8gr/oi6bVrpwb4 +B8tixqWBAoGBAPj36K5ofGPVi2TsK78q3+pPKrGL1HHpdloVglME+8H1AbMf1nBX +iH2T4iAR4o13KDa0gc3vUttW1P8fiTTGHL32mF6gvUPG2u3T9riZoKGQ+2aKHG6e +0MwcXmq53WwLseNykwb2qOSISBSkjjv4mkbpuOrurOF0UMKnA04k9eizAoGBAPQo +NJOZTQiLW61ckc1Cy3pDtW4dTKsAomt8Aw6AbZyZUqP3smB/DhnsHXe3W84f6DZC +pkIvnX7WMWQLLBEpe09rKfhWMGbk8gGo9sOf0RYVE93rwxFVA/sXSle4HeGur2ku +YgaJ86YGRgN4ctb9CCZ3IqZmL5jds73ajmAHcvdhAoGAPBdJ996MN2RxUpiWLnvg +s6MMAPJpAl2BDVknrXYEddn24Q8MKO1XqkepSmhGsDJUaG/E7LmY3AvnOPSZnz05 +7re4Kw7M37D9Ym3InOGnnZdqtmMbXa/DYaBvQX8+7DceZnFe/01FknM6QpE9K0hj +pD4BPeMBoyD55SF+cLwHBnUCgYBypPJTIBe43F7231GjFSsgROzLQLzASvL5D2kM +BSfy8VeJoIREpUREzcbkcNeNyROrbs5Mo7kLVp4ogMp3YIgDOamiby4ZEoXEW8dL +Ah8WhF0oxkx5NfdBjqUc3VpCn1jERcBHm70phyaW+JbL9lI+ZZCCm9bbq7Z7fkV+ +N+E24QKBgQDNKwrWWtm5GAf8CFxE8ZSyqa3Si9Fa65GIb+5ful8VuklK6bhGkCjd +gV0zDTBnV0Cm7CBhGsKaXGy49J7Ti5BwFv/txEsnU0ZmC7qXKExckm/gJ/uer0QU +XWCIGtHDn2UNtv1wS6MBIYEeb09aoUhjFDXLPDNipdLh1Wh25wF2sw== +-----END RSA PRIVATE KEY----- diff --git a/tools/cmca/ca/CA/demoCA/cacert.pem b/tools/cmca/ca/CA/demoCA/cacert.pem new file mode 100644 index 00000000..7734aeaa --- /dev/null +++ b/tools/cmca/ca/CA/demoCA/cacert.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDqzCCApOgAwIBAgIUDs5kTQVLnC1MdhXHj0KqYIG+nyAwDQYJKoZIhvcNAQEL +BQAwZTELMAkGA1UEBhMCQ04xCzAJBgNVBAgMAkdEMREwDwYDVQQHDAhzaGVuemhl +bjEnMCUGA1UECgweaHR0cHM6Ly93d3cuYWdyYW5kdGVjaC5jb20uY24vMQ0wCwYD +VQQDDAR0ZXN0MB4XDTIzMDcwMTA4NDQzOFoXDTMzMDYyODA4NDQzOFowZTELMAkG +A1UEBhMCQ04xCzAJBgNVBAgMAkdEMREwDwYDVQQHDAhzaGVuemhlbjEnMCUGA1UE +CgweaHR0cHM6Ly93d3cuYWdyYW5kdGVjaC5jb20uY24vMQ0wCwYDVQQDDAR0ZXN0 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0SMdRLkcxy3PKOSCusJ+ +AnGiJyW6AxyujqZj4xjgtIFjYIMVW5ZXVbWnY0xzRPddFddnEWgMeMLn9V3zcESV +3tu9exm6Ijop8/KaDJ1EJAESunxkP9x/1ek3kgQvuK3YAcizTeB5ODUZ/KFJw9MP +R/KUB+TYqCp50mr6mlIZE6lvhhvMxHz6ZmOFh2RvYg0h8oXpo5G8nmRVb4gNrlXK +y/HZpGtbm/mfbOtxWgvSFy3PE/49V8nOYJbhDaoOXWVN06Z7w1y4KzSKbIoZfC9C +WdWRrrhIv+Px1QLQItL17kAKqtp+vtG8lZjC5vsAgXLVAZLK71b6onv1Ir3Yuwwf +vQIDAQABo1MwUTAdBgNVHQ4EFgQUbbMdtnhOyBmP+k1rOl6pfcsHmLowHwYDVR0j +BBgwFoAUbbMdtnhOyBmP+k1rOl6pfcsHmLowDwYDVR0TAQH/BAUwAwEB/zANBgkq +hkiG9w0BAQsFAAOCAQEAdGZdTglVP1hI0wcxD0rkkHu7IkfFGlaad1vFL+VfujlV +6H3/WrDLCDhLDBZrdZ3m0LrQqpJjZriOaqc0O8LbT4ktquVuAgYtT/il6EQzLpyE +pEW+iM4Ae2tu9rMH1F365+C8ffQWuSenvQOOjL8L9BP5N0bguVsWA+uMNprMado4 +lLuyHOt5S36WOKh4mnMlkDBuCNnBCiFS8rcQXJugk6jrOYKji5wJGNAVMoSEtRvN +LdZh5XOkbXuFrhltPxMG/7BaPc9xS46chBKDvCQPweKGeu2eG+y6KTwCDYmakmVX +OE8TnP4Zr0miTprzkmbWhIkUWkg/FclJs1/TcSkCGw== +-----END CERTIFICATE----- diff --git a/tools/cmca/ca/CA/demoCA/index.txt b/tools/cmca/ca/CA/demoCA/index.txt new file mode 100644 index 00000000..75337500 --- /dev/null +++ b/tools/cmca/ca/CA/demoCA/index.txt @@ -0,0 +1,2 @@ +V 260327100548Z 01 unknown /C=CN/ST=GD/O=https://www.agrandtech.com.cn//CN=test +V 260327100844Z 02 unknown /C=CN/ST=GD/O=https://www.agrandtech.com.cn//CN=test1 diff --git a/tools/cmca/ca/CA/demoCA/index.txt.attr b/tools/cmca/ca/CA/demoCA/index.txt.attr new file mode 100644 index 00000000..8f7e63a3 --- /dev/null +++ b/tools/cmca/ca/CA/demoCA/index.txt.attr @@ -0,0 +1 @@ +unique_subject = yes diff --git a/tools/cmca/ca/CA/demoCA/index.txt.attr.old b/tools/cmca/ca/CA/demoCA/index.txt.attr.old new file mode 100644 index 00000000..8f7e63a3 --- /dev/null +++ b/tools/cmca/ca/CA/demoCA/index.txt.attr.old @@ -0,0 +1 @@ +unique_subject = yes diff --git a/tools/cmca/ca/CA/demoCA/index.txt.old b/tools/cmca/ca/CA/demoCA/index.txt.old new file mode 100644 index 00000000..e5b2d16a --- /dev/null +++ b/tools/cmca/ca/CA/demoCA/index.txt.old @@ -0,0 +1 @@ +V 260327100548Z 01 unknown /C=CN/ST=GD/O=https://www.agrandtech.com.cn//CN=test diff --git a/tools/cmca/ca/CA/demoCA/newcerts/01.pem b/tools/cmca/ca/CA/demoCA/newcerts/01.pem new file mode 100644 index 00000000..1b11409a --- /dev/null +++ b/tools/cmca/ca/CA/demoCA/newcerts/01.pem @@ -0,0 +1,81 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1 (0x1) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=CN, ST=GD, L=shenzhen, O=https://www.agrandtech.com.cn/, CN=test + Validity + Not Before: Jul 1 10:05:48 2023 GMT + Not After : Mar 27 10:05:48 2026 GMT + Subject: C=CN, ST=GD, O=https://www.agrandtech.com.cn/, CN=test + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:f3:bd:e9:fe:aa:a6:c1:d9:7b:74:20:f0:d0:f3: + ee:7c:d0:69:84:8d:1a:37:1e:29:42:98:86:51:87: + fe:5d:48:2e:97:b0:c6:16:9c:46:6a:38:7b:34:54: + ec:76:d2:52:50:bb:31:a8:de:7d:3f:8c:c5:f8:fb: + e3:e3:73:37:36:10:e8:55:df:80:cf:c0:d9:40:30: + b7:54:49:69:e3:a8:79:49:47:d8:74:b0:07:13:dd: + 47:72:89:69:bd:0c:40:8b:f4:ee:49:02:cb:f4:b9: + c1:7a:7d:da:10:1b:b2:b1:9f:0d:70:66:d1:86:31: + dc:e3:d6:e5:f5:2c:e1:57:bd:72:ea:4a:1d:0c:4c: + 58:09:2b:2e:e5:53:40:73:55:e9:78:c3:7a:95:25: + b7:9d:80:ac:e4:79:c3:d7:9b:d1:c3:73:78:da:03: + f4:aa:68:21:81:f2:53:b8:3d:91:60:e0:91:47:2e: + 6d:5d:01:ae:f2:82:c0:8a:dd:06:8c:70:6e:77:7e: + 14:ae:61:a5:d8:e0:13:1b:2c:f7:d3:62:0c:d1:5c: + 48:fe:59:ca:b5:b1:2b:89:2b:2f:69:5d:40:42:05: + ab:76:58:4f:36:1a:36:1c:21:eb:85:1c:da:22:1b: + c2:60:8e:c1:7d:50:33:39:c0:40:e0:49:20:a0:f7: + c3:4f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + D7:A0:3F:5F:C0:65:83:88:6F:5E:98:DB:30:3D:9F:24:6A:D0:DE:54 + X509v3 Authority Key Identifier: + keyid:6D:B3:1D:B6:78:4E:C8:19:8F:FA:4D:6B:3A:5E:A9:7D:CB:07:98:BA + + Signature Algorithm: sha256WithRSAEncryption + 39:8a:89:a2:79:0f:c0:fd:d8:db:d5:38:d2:03:b4:38:be:a2: + 6e:6b:1c:28:93:0a:a6:0b:af:0a:69:6b:8b:d5:df:3d:de:76: + ad:24:23:98:7a:21:a1:2f:90:47:9b:98:9e:d2:b4:75:21:bd: + d0:38:34:6b:b1:96:3d:24:da:ac:1a:45:e4:01:1d:a2:20:c3: + 43:d3:ec:d9:2d:3b:d1:ee:0d:1e:21:15:e7:7f:d3:95:1c:dc: + fa:88:3a:05:4b:c5:08:5d:f4:40:89:29:80:fe:6b:40:b9:34: + 92:2e:48:94:d2:4b:0b:4d:1e:3c:64:17:cf:34:ec:36:5c:6d: + 3d:90:9c:74:95:d7:c8:96:a2:70:59:4a:d2:b5:e1:c1:a9:b7: + ad:f0:99:ff:b4:4d:89:e7:e3:9d:7d:79:36:40:05:6d:20:46: + 54:af:18:73:c9:07:17:26:18:86:99:cc:e2:58:27:96:84:58: + 18:d4:fe:dc:36:cd:8a:48:cc:e6:51:27:e5:76:81:2f:c7:9c: + 7b:f9:fb:19:c9:7c:e4:27:06:75:cd:16:88:74:3c:0b:23:d6: + 86:6b:95:41:10:cf:b2:fc:e8:1e:e0:d6:a5:8c:d1:c0:1b:d5: + 6e:15:8c:9a:67:5c:9d:ac:02:5a:69:17:e8:4c:42:d0:5d:88: + da:08:4e:c0 +-----BEGIN CERTIFICATE----- +MIIDrTCCApWgAwIBAgIBATANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJDTjEL +MAkGA1UECAwCR0QxETAPBgNVBAcMCHNoZW56aGVuMScwJQYDVQQKDB5odHRwczov +L3d3dy5hZ3JhbmR0ZWNoLmNvbS5jbi8xDTALBgNVBAMMBHRlc3QwHhcNMjMwNzAx +MTAwNTQ4WhcNMjYwMzI3MTAwNTQ4WjBSMQswCQYDVQQGEwJDTjELMAkGA1UECAwC +R0QxJzAlBgNVBAoMHmh0dHBzOi8vd3d3LmFncmFuZHRlY2guY29tLmNuLzENMAsG +A1UEAwwEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPO96f6q +psHZe3Qg8NDz7nzQaYSNGjceKUKYhlGH/l1ILpewxhacRmo4ezRU7HbSUlC7Maje +fT+Mxfj74+NzNzYQ6FXfgM/A2UAwt1RJaeOoeUlH2HSwBxPdR3KJab0MQIv07kkC +y/S5wXp92hAbsrGfDXBm0YYx3OPW5fUs4Ve9cupKHQxMWAkrLuVTQHNV6XjDepUl +t52ArOR5w9eb0cNzeNoD9KpoIYHyU7g9kWDgkUcubV0BrvKCwIrdBoxwbnd+FK5h +pdjgExss99NiDNFcSP5ZyrWxK4krL2ldQEIFq3ZYTzYaNhwh64Uc2iIbwmCOwX1Q +MznAQOBJIKD3w08CAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYd +T3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFNegP1/AZYOI +b16Y2zA9nyRq0N5UMB8GA1UdIwQYMBaAFG2zHbZ4TsgZj/pNazpeqX3LB5i6MA0G +CSqGSIb3DQEBCwUAA4IBAQA5iomieQ/A/djb1TjSA7Q4vqJuaxwokwqmC68KaWuL +1d893natJCOYeiGhL5BHm5ie0rR1Ib3QODRrsZY9JNqsGkXkAR2iIMND0+zZLTvR +7g0eIRXnf9OVHNz6iDoFS8UIXfRAiSmA/mtAuTSSLkiU0ksLTR48ZBfPNOw2XG09 +kJx0ldfIlqJwWUrSteHBqbet8Jn/tE2J5+OdfXk2QAVtIEZUrxhzyQcXJhiGmczi +WCeWhFgY1P7cNs2KSMzmUSfldoEvx5x7+fsZyXzkJwZ1zRaIdDwLI9aGa5VBEM+y +/Oge4NaljNHAG9VuFYyaZ1ydrAJaaRfoTELQXYjaCE7A +-----END CERTIFICATE----- diff --git a/tools/cmca/ca/CA/demoCA/newcerts/02.pem b/tools/cmca/ca/CA/demoCA/newcerts/02.pem new file mode 100644 index 00000000..64a6baea --- /dev/null +++ b/tools/cmca/ca/CA/demoCA/newcerts/02.pem @@ -0,0 +1,81 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 2 (0x2) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=CN, ST=GD, L=shenzhen, O=https://www.agrandtech.com.cn/, CN=test + Validity + Not Before: Jul 1 10:08:44 2023 GMT + Not After : Mar 27 10:08:44 2026 GMT + Subject: C=CN, ST=GD, O=https://www.agrandtech.com.cn/, CN=test1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:ed:73:63:a4:7d:8c:00:e6:e5:df:f5:1e:8a:d4: + 22:e4:37:16:62:6b:64:f1:90:ec:4b:4c:37:c5:2e: + de:ef:11:93:15:da:e9:2d:7b:69:72:2d:94:29:f8: + 04:75:22:37:a4:83:53:a3:7b:b1:37:2d:a0:57:af: + 0e:65:3c:cf:fe:1a:65:de:e8:66:7b:19:81:ab:10: + 9b:9e:27:5b:a9:7c:cc:3a:44:ee:6e:af:3a:ef:67: + 72:60:a8:8d:bb:4d:3e:ce:34:1f:08:9c:72:f7:52: + 44:d7:af:eb:f7:9b:3f:62:94:09:db:26:e3:0f:eb: + b3:85:d3:c3:2d:ec:c1:14:d8:2d:b0:4c:10:c7:b1: + 22:cf:74:a7:cd:94:b7:18:9e:78:0b:0b:64:00:e0: + e1:8a:97:57:11:5d:7c:f3:c9:6c:e0:97:c1:6c:01: + b5:c4:75:fa:71:96:9a:89:c7:73:61:bd:4a:2b:28: + 17:81:4b:9f:92:ee:8e:a0:57:7f:7a:7c:89:a6:7e: + 4d:a8:f3:b8:aa:03:aa:de:30:a7:19:94:a7:87:fc: + ab:5a:e5:8d:a9:64:51:5a:f4:ad:64:e1:aa:e4:45: + b7:e4:03:dc:6b:cf:fa:4a:0d:09:ef:4f:82:39:cc: + 2f:91:c1:94:55:57:58:16:0b:14:00:62:43:c9:67: + e0:d3 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + 51:A3:41:B8:14:F9:2C:04:DE:0C:49:24:58:B5:5A:34:0E:07:FE:40 + X509v3 Authority Key Identifier: + keyid:6D:B3:1D:B6:78:4E:C8:19:8F:FA:4D:6B:3A:5E:A9:7D:CB:07:98:BA + + Signature Algorithm: sha256WithRSAEncryption + 3c:f2:58:cd:8c:39:90:b4:f5:0f:ef:f6:a7:eb:26:4c:43:63: + dc:9f:94:a1:43:6c:9a:82:2b:e4:8e:24:c5:40:da:78:93:c5: + dd:8a:5d:63:76:00:ef:c6:ca:a7:a8:10:a3:9a:ae:d1:20:d1: + 19:e1:46:03:03:98:a4:71:9a:45:8d:34:33:ce:c8:52:82:22: + 33:5f:79:74:61:88:ab:52:6f:98:75:8f:07:bf:ff:d9:2e:30: + 67:ce:05:8b:6c:ac:24:ec:2c:ac:c5:42:f7:71:b6:da:53:bc: + 48:d1:29:82:aa:03:27:81:84:0a:f5:12:e2:8c:3a:77:f9:a8: + 0e:d4:1f:7e:1f:98:28:f7:15:f0:78:8a:ba:b7:77:20:b7:82: + 0d:cd:d5:47:ed:9e:61:a7:9b:35:1b:35:c7:74:91:0b:6c:1c: + 27:1a:a9:cc:11:5b:22:0d:35:40:43:ae:f2:44:66:aa:9e:dc: + 22:ca:a7:8b:8c:44:6a:f6:b1:6d:1e:3a:51:c0:2a:02:81:d7: + b6:4a:77:1e:e0:13:19:0c:51:4c:67:e1:2f:97:c9:4a:88:25: + c8:b4:65:dc:0d:a5:71:c2:45:dd:4f:01:bf:f0:43:9c:41:37: + 28:eb:15:fc:90:f8:b6:3a:4b:57:79:df:74:4c:a9:aa:27:a2: + 77:22:37:7f +-----BEGIN CERTIFICATE----- +MIIDrjCCApagAwIBAgIBAjANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJDTjEL +MAkGA1UECAwCR0QxETAPBgNVBAcMCHNoZW56aGVuMScwJQYDVQQKDB5odHRwczov +L3d3dy5hZ3JhbmR0ZWNoLmNvbS5jbi8xDTALBgNVBAMMBHRlc3QwHhcNMjMwNzAx +MTAwODQ0WhcNMjYwMzI3MTAwODQ0WjBTMQswCQYDVQQGEwJDTjELMAkGA1UECAwC +R0QxJzAlBgNVBAoMHmh0dHBzOi8vd3d3LmFncmFuZHRlY2guY29tLmNuLzEOMAwG +A1UEAwwFdGVzdDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtc2Ok +fYwA5uXf9R6K1CLkNxZia2TxkOxLTDfFLt7vEZMV2ukte2lyLZQp+AR1Ijekg1Oj +e7E3LaBXrw5lPM/+GmXe6GZ7GYGrEJueJ1upfMw6RO5urzrvZ3JgqI27TT7ONB8I +nHL3UkTXr+v3mz9ilAnbJuMP67OF08Mt7MEU2C2wTBDHsSLPdKfNlLcYnngLC2QA +4OGKl1cRXXzzyWzgl8FsAbXEdfpxlpqJx3NhvUorKBeBS5+S7o6gV396fImmfk2o +87iqA6reMKcZlKeH/Kta5Y2pZFFa9K1k4arkRbfkA9xrz/pKDQnvT4I5zC+RwZRV +V1gWCxQAYkPJZ+DTAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8W +HU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBRRo0G4FPks +BN4MSSRYtVo0Dgf+QDAfBgNVHSMEGDAWgBRtsx22eE7IGY/6TWs6Xql9yweYujAN +BgkqhkiG9w0BAQsFAAOCAQEAPPJYzYw5kLT1D+/2p+smTENj3J+UoUNsmoIr5I4k +xUDaeJPF3YpdY3YA78bKp6gQo5qu0SDRGeFGAwOYpHGaRY00M87IUoIiM195dGGI +q1JvmHWPB7//2S4wZ84Fi2ysJOwsrMVC93G22lO8SNEpgqoDJ4GECvUS4ow6d/mo +DtQffh+YKPcV8HiKurd3ILeCDc3VR+2eYaebNRs1x3SRC2wcJxqpzBFbIg01QEOu +8kRmqp7cIsqni4xEavaxbR46UcAqAoHXtkp3HuATGQxRTGfhL5fJSoglyLRl3A2l +ccJF3U8Bv/BDnEE3KOsV/JD4tjpLV3nfdEypqieidyI3fw== +-----END CERTIFICATE----- diff --git a/tools/cmca/ca/CA/demoCA/private/cakey.pem b/tools/cmca/ca/CA/demoCA/private/cakey.pem new file mode 100644 index 00000000..a8ca5b4b --- /dev/null +++ b/tools/cmca/ca/CA/demoCA/private/cakey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpgIBAAKCAQEA0SMdRLkcxy3PKOSCusJ+AnGiJyW6AxyujqZj4xjgtIFjYIMV +W5ZXVbWnY0xzRPddFddnEWgMeMLn9V3zcESV3tu9exm6Ijop8/KaDJ1EJAESunxk +P9x/1ek3kgQvuK3YAcizTeB5ODUZ/KFJw9MPR/KUB+TYqCp50mr6mlIZE6lvhhvM +xHz6ZmOFh2RvYg0h8oXpo5G8nmRVb4gNrlXKy/HZpGtbm/mfbOtxWgvSFy3PE/49 +V8nOYJbhDaoOXWVN06Z7w1y4KzSKbIoZfC9CWdWRrrhIv+Px1QLQItL17kAKqtp+ +vtG8lZjC5vsAgXLVAZLK71b6onv1Ir3YuwwfvQIDAQABAoIBAQCi1khvvgJeQ5jN +Kj9v0wfyNzAecw2GZsqzX3Le2/v6D9SkzOvQSBrwLWSLuHb39/KOkw05TF6JmJir +P9/QRla7EzVRqBJ5m/gWbYrsz3bC4eMHONuFrdYLZG9UTdYqYZGSsgaKWIGJ9i6p +uZuJ0chQKNyB2Pmo1onMAGfnyIyl9RruM0G3KOl2tHOqJnoqOoJAdWvq/vjmEb1H +lypiZZpIede2Q58oXC1HZFNT/q1NA3SGMbPoXmG4XoCTtq9Llt1kyk9FMbhKV1oj +FoneRwXRMEqu0AEGgk9XSEdSPVLZ4nspgrdA5mkTxa/fUyPvWjantzR/ovR6zx95 +mKKnEVIBAoGBAOwtRkIciCNSa7xwJD8QvEFCADvZDU/+RmFk2tDbbA+gDYPy1bdD +1qDqbzwdCnuMeVbTSAP+KNxxa1M9pOun21t6nC7sUPdqGbQEwkQrFs9v859wf2j9 +GU/oeu+aQabDGFXjwTC23wifqXTVc1/JnfGsqd3+9WwqR31SG+88/OjdAoGBAOKw +1r7/9XqrYxL3SuxYhEm6Qasj3OwRgTXBfRYBcwyN8NDTqY/QvsTwPvLVaDy8lrjc +kHJUx+zxmOBg/aKlxmzH5OTp0vRoVBFAOW4bITfGHKTjPjud7lfeAP2txPUR4i/4 +vHgYIlVFjGT6+p4oMsX7wtYl8ZmO184pVHNbZzRhAoGBAOJQQBL55Dp0sGhRzWnh +T4P5CuBOjUMqFaceTc/1cwdGB6149PI4P2LTQuQHsBPT+DILI+cvlVgoFwAdAfwP +TVPLmf4c1TlAooCuTrmj0KfWT01pL64bWjYIQEV5O4/hQ2CKboWPtwk8ddVO9M/F +E2SSX/QqbGLJ4Ndl5v7JIlDBAoGBAJQnnzIVdwpFGOs8U+tDrrHA2UpQlgJzLk9D +tcy8BcUev1S8AQXNF+D+YyWx8/4+AwOuo3kVj9R70b5TpXC3h4dw3Vf+ubCivs7H +esFLWdpp0C6zlejAvxUOMveYqjDBD2Lq3cJfg5DXc3pLzZ+wBf7/G8d55PzHLqO+ +v0Llaf4BAoGBAI4Fu4Sr0fD38pAUAehfDlzngoXIs7eqdJU5Gu19U3PKKhDRKptp +YBKt6mGv1R9rk9hCwXpXGRpABy6mpNkOCcYYmTtLGbwyy8Y1dbY9kNBrdhvrCcLh +RZL9VrFMOuoHrd/yB4AEwvoZHAhNAkheU6CC/R6uiWof6eH8YmXJEt0n +-----END RSA PRIVATE KEY----- diff --git a/tools/cmca/ca/CA/demoCA/serial b/tools/cmca/ca/CA/demoCA/serial new file mode 100644 index 00000000..75016ea3 --- /dev/null +++ b/tools/cmca/ca/CA/demoCA/serial @@ -0,0 +1 @@ +03 diff --git a/tools/cmca/ca/CA/demoCA/serial.old b/tools/cmca/ca/CA/demoCA/serial.old new file mode 100644 index 00000000..9e22bcb8 --- /dev/null +++ b/tools/cmca/ca/CA/demoCA/serial.old @@ -0,0 +1 @@ +02 diff --git a/tools/cmca/casign.exe b/tools/cmca/casign.exe new file mode 100644 index 00000000..8f201635 Binary files /dev/null and b/tools/cmca/casign.exe differ diff --git a/tools/cmca/casign.go b/tools/cmca/casign.go new file mode 100644 index 00000000..e13bcfab --- /dev/null +++ b/tools/cmca/casign.go @@ -0,0 +1,71 @@ +package main + +import ( + "crypto/x509" + "encoding/base64" + "fmt" + "os" + + "ems.agt/cmca/config" +) + +// func init() { +// roots := x509.NewCertPool() +// rootCert, err := LoadCert(config.CaConfig.CA.RootCert) +// if err != nil { +// os.Exit(1) +// } +// roots.AddCert(rootCert) +// rootCertPool = roots +// } + +func main() { + // 初始化 + //config.CaConfig.CA.RootCert = "./certs/cacert.pem" + + //Init() + fmt.Println("CaConfig:", config.CaConfig) + + roots := x509.NewCertPool() + rootCert, err := LoadCert(config.CaConfig.CA.RootCert) + if err != nil { + os.Exit(1) + } + roots.AddCert(rootCert) + rootCertPool = roots + + //证书验证: + cert, err := LoadCert(config.CaConfig.CA.Cert) + if err != nil { + fmt.Println("LoadCert:", err) + return + } + + err = VerifyCert(cert) + fmt.Println("VerifyCert:", err) + + //签名 + fmt.Println("RSA签名认证:") + pri, err := LoadPriKey(config.CaConfig.CA.PrivateKey) + if err != nil { + fmt.Println("LoadPriKey:", err) + return + } + username := config.UserName + rsaSign, err := SignRSA([]byte(*username), pri) + if err != nil { + fmt.Println("SignRSA:", err) + return + } + rsaSign64 := base64.StdEncoding.EncodeToString(rsaSign) + fmt.Println("rsaSign64:", rsaSign64) + + //签证验证 + cert, err = LoadCert(config.CaConfig.CA.Cert) + if err != nil { + fmt.Println("LoadCert:", err) + return + } + err = VerifyRSA([]byte(*username), rsaSign, cert) + fmt.Println("VerifyRSA sign:", err) +} diff --git a/tools/cmca/casign.zip b/tools/cmca/casign.zip new file mode 100644 index 00000000..2a1a06a6 Binary files /dev/null and b/tools/cmca/casign.zip differ diff --git a/tools/cmca/certs/cacert.pem b/tools/cmca/certs/cacert.pem new file mode 100644 index 00000000..64084911 --- /dev/null +++ b/tools/cmca/certs/cacert.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIUSBd+zbdjx31N0Q51+NrVdeDEPKYwDQYJKoZIhvcNAQEL +BQAwXzELMAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaWppbmcxCzAJBgNVBAcMAkJK +MSIwIAYDVQQKDBlodHRwczovL3d3dy5ydWlqaWUuY29tLmNuMQ0wCwYDVQQDDAR0 +ZXN0MB4XDTIzMDgxMjA5MzMxMloXDTMzMDgwOTA5MzMxMlowXzELMAkGA1UEBhMC +Q04xEDAOBgNVBAgMB0JlaWppbmcxCzAJBgNVBAcMAkJKMSIwIAYDVQQKDBlodHRw +czovL3d3dy5ydWlqaWUuY29tLmNuMQ0wCwYDVQQDDAR0ZXN0MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0jW6bA//53YP3cqWmE42GGcJyZw1imzoIvDR +stTYosiu/8cju1NHBJE6xF84huTs4Q+f6ZCE931Kg4ORX6iQFvbMK6/n0kpBFchA +mZRqBElcIbjK8sNTbyJgjX2iRI5Mkm6mBgIaB0C/9iWN64WxSdk7Gs3ZTipn4SYW +Ejn6wP3B1BGpj3NMUm1xah6XhCmnlxXDNvpjBOEOSsgs9fM3Bvatpn4pRXQtzsMD +CkeicdSTnave3EQHskBCpw0f2ojG5LgGsibKRzijzt4LiMzt5jrMWxRgv/So9bAt +QmMZhyP3ZE+AySkh7df7WobsoGtFAv+8aiIBYtJl94yLq+kssQIDAQABo1MwUTAd +BgNVHQ4EFgQUjCKd8br99RMOcoMAuuHaOZJvskcwHwYDVR0jBBgwFoAUjCKd8br9 +9RMOcoMAuuHaOZJvskcwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC +AQEANWTC8AiQOsWQQEqErAbuemA9GrW94t0cxrAuu86P7RJSvsyC7OzIg0Exp8rI +AnEeRef8tHi19iepMtvSHTLwsPcAFA6NlDBX+kf2CI1XM0OrjLgmIgfdnCvAjaNm +kWiDpMtMq/PsRfGVFb15NGUdqv25mGofR2bluYvFyybmZoVcKXkoCZ5JvvTOEPO/ +VPqRYnDMj5LVKefaBWp+xtGnTGx0m6ki2bk19OZAZz2GAzS+Kc27CiuO/hsjt0Bj +s1wJPdBdGvNNRJBIiwrf8wCpCrRQQl2uczatYJdoZK+3szmsWZJg3wGKLqp6Ua6y +URxUlN2SyT01lco4vat6Eh1t3A== +-----END CERTIFICATE----- diff --git a/tools/cmca/certs/nbi_agent.crt b/tools/cmca/certs/nbi_agent.crt new file mode 100644 index 00000000..43ce4666 --- /dev/null +++ b/tools/cmca/certs/nbi_agent.crt @@ -0,0 +1,81 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1 (0x1) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=CN, ST=Beijing, L=BJ, O=https://www.ruijie.com.cn + Validity + Not Before: Aug 12 09:41:13 2023 GMT + Not After : Nov 20 09:41:13 2023 GMT + Subject: C=CN, ST=Beijing, O=https://www.ruijie.com.cn, CN=test + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:a7:da:88:69:ee:bd:5c:11:8e:69:fc:7b:11:ae: + 43:21:b9:1e:da:d2:6e:f5:bb:93:37:af:6e:8c:ae: + b3:7b:dd:b6:fd:af:48:e7:ac:a8:b5:7a:15:ab:0e: + b7:b5:27:b4:e3:83:92:3a:91:e6:f0:83:34:b8:74: + 42:2c:a8:df:4e:14:5d:4e:a4:5f:4d:0c:79:b0:5c: + 79:9a:ee:26:0f:76:82:67:48:0f:6a:3f:df:6d:a0: + c8:64:9a:2b:17:6a:c6:19:a5:c1:54:9b:f2:e4:6d: + b4:fe:5f:70:c9:ca:9b:47:ca:fe:50:f4:23:e1:fe: + 94:d7:d1:ae:17:51:57:c7:78:da:b4:b2:b7:bb:e9: + 1b:55:a1:f1:fd:17:63:9f:cf:3b:81:87:d8:80:7d: + 1e:d6:ac:cc:b5:96:b1:78:df:d4:cb:0e:ec:42:da: + 3d:f9:87:df:01:45:5f:3e:b6:93:24:18:b3:d1:d5: + c2:42:f8:2a:e8:c4:bd:48:f4:ec:c7:2c:1a:cf:bc: + a4:9c:df:f4:15:71:9d:ea:f4:4a:04:7f:54:64:f6: + 79:3a:36:fb:10:1a:c3:18:2e:81:83:c2:62:47:a0: + 88:70:13:1d:f9:9d:fb:ef:72:a8:3c:6d:9b:8e:69: + f8:c5:a0:92:32:87:19:21:dd:68:5c:0d:0c:fd:21: + 28:69 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + 93:D4:BE:FF:27:3C:D0:91:A2:1E:36:1B:F1:A3:43:B3:70:CC:00:DA + X509v3 Authority Key Identifier: + keyid:8C:22:9D:F1:BA:FD:F5:13:0E:72:83:00:BA:E1:DA:39:92:6F:B2:47 + + Signature Algorithm: sha256WithRSAEncryption + 61:f7:28:fb:02:42:57:0f:34:9b:e4:b6:8a:9b:8a:3b:b8:d1: + e0:4d:55:07:8d:7c:87:a3:88:3a:6f:4c:ab:cf:76:f8:76:17: + bc:76:32:69:3a:19:9b:50:f2:b2:97:7f:73:eb:7e:6f:05:b9: + ea:a3:88:c0:ab:96:bd:36:e4:36:59:e1:2c:44:08:78:da:4f: + 5d:e3:87:e1:d5:ec:86:0e:08:27:e0:e9:ad:20:e0:6b:67:26: + 9b:31:a9:17:ac:ee:e0:dc:d9:e6:50:69:fe:83:23:51:6b:51: + 6b:c4:45:36:8a:48:a5:cd:61:99:cf:25:05:8a:94:5e:3c:29: + 35:67:00:fa:77:2f:09:2c:a0:18:bb:35:ce:f0:45:43:b7:47: + d5:89:cb:aa:a1:6f:8d:ac:16:d1:8d:be:39:a9:54:3d:da:70: + 43:ca:e1:a3:a2:13:83:9b:a8:3b:e8:80:60:21:26:af:f9:09: + 8a:6a:b0:77:82:7b:76:a1:03:13:a4:e2:e0:5c:d1:83:bd:50: + 43:b3:23:96:a7:c9:7d:e5:2f:e6:95:c9:ff:9b:3b:1f:a4:30: + df:4c:67:99:92:fc:b7:e7:25:fc:bd:d7:30:c3:3a:34:78:93: + 87:ae:4e:61:5a:12:04:43:25:c8:7a:9e:c5:cd:31:12:48:22: + 2d:4f:d9:ed +-----BEGIN CERTIFICATE----- +MIIDmDCCAoCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBQMQswCQYDVQQGEwJDTjEQ +MA4GA1UECAwHQmVpamluZzELMAkGA1UEBwwCQkoxIjAgBgNVBAoMGWh0dHBzOi8v +d3d3LnJ1aWppZS5jb20uY24wHhcNMjMwODEyMDk0MTEzWhcNMjMxMTIwMDk0MTEz +WjBSMQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpamluZzEiMCAGA1UECgwZaHR0 +cHM6Ly93d3cucnVpamllLmNvbS5jbjENMAsGA1UEAwwEdGVzdDCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKfaiGnuvVwRjmn8exGuQyG5HtrSbvW7kzev +boyus3vdtv2vSOesqLV6FasOt7UntOODkjqR5vCDNLh0Qiyo304UXU6kX00MebBc +eZruJg92gmdID2o/322gyGSaKxdqxhmlwVSb8uRttP5fcMnKm0fK/lD0I+H+lNfR +rhdRV8d42rSyt7vpG1Wh8f0XY5/PO4GH2IB9HtaszLWWsXjf1MsO7ELaPfmH3wFF +Xz62kyQYs9HVwkL4KujEvUj07McsGs+8pJzf9BVxner0SgR/VGT2eTo2+xAawxgu +gYPCYkegiHATHfmd++9yqDxtm45p+MWgkjKHGSHdaFwNDP0hKGkCAwEAAaN7MHkw +CQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2Vy +dGlmaWNhdGUwHQYDVR0OBBYEFJPUvv8nPNCRoh42G/GjQ7NwzADaMB8GA1UdIwQY +MBaAFIwinfG6/fUTDnKDALrh2jmSb7JHMA0GCSqGSIb3DQEBCwUAA4IBAQBh9yj7 +AkJXDzSb5LaKm4o7uNHgTVUHjXyHo4g6b0yrz3b4dhe8djJpOhmbUPKyl39z635v +Bbnqo4jAq5a9NuQ2WeEsRAh42k9d44fh1eyGDggn4OmtIOBrZyabMakXrO7g3Nnm +UGn+gyNRa1FrxEU2ikilzWGZzyUFipRePCk1ZwD6dy8JLKAYuzXO8EVDt0fVicuq +oW+NrBbRjb45qVQ92nBDyuGjohODm6g76IBgISav+QmKarB3gnt2oQMTpOLgXNGD +vVBDsyOWp8l95S/mlcn/mzsfpDDfTGeZkvy35yX8vdcwwzo0eJOHrk5hWhIEQyXI +ep7FzTESSCItT9nt +-----END CERTIFICATE----- diff --git a/tools/cmca/certs/nbi_agent.key b/tools/cmca/certs/nbi_agent.key new file mode 100644 index 00000000..b1dd7718 --- /dev/null +++ b/tools/cmca/certs/nbi_agent.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAp9qIae69XBGOafx7Ea5DIbke2tJu9buTN69ujK6ze922/a9I +56yotXoVqw63tSe044OSOpHm8IM0uHRCLKjfThRdTqRfTQx5sFx5mu4mD3aCZ0gP +aj/fbaDIZJorF2rGGaXBVJvy5G20/l9wycqbR8r+UPQj4f6U19GuF1FXx3jatLK3 +u+kbVaHx/Rdjn887gYfYgH0e1qzMtZaxeN/Uyw7sQto9+YffAUVfPraTJBiz0dXC +Qvgq6MS9SPTsxywaz7yknN/0FXGd6vRKBH9UZPZ5Ojb7EBrDGC6Bg8JiR6CIcBMd ++Z3773KoPG2bjmn4xaCSMocZId1oXA0M/SEoaQIDAQABAoIBAQCnLMfgeZ6vK+0j +MguAuIaz96P7XMqWg5NESr1X8EdifpfaYdHCq/v7gvRBwg7Fph5K2qexHc9ci9De +RSwDPs3o/e9Qe/VOz7YDKJcU70uI6wdFxkdUEvl8Pj5XtBRm5jkXIjdDBW8MgxdY +ocW7tMai4lIYXo++bcfgiz1Qi/tY9jAuloUaTnSnggayEx/4N6JDj8e8X+7ju6b7 +A1lYt6jb10jU+8McxXfx/G2H+xTEvfDLGyeXnmkeYK5HmAl49xpaowSgk2siYJrd +M1a8Y7tb44tBNTymrJqjea32/S5U8qa0hywnRx9B9/GAsm1+bgyLdQBoxY5dUBU+ +mu3x73fhAoGBANEKtywRjD4jOjp01Q7gxiBjBzjXAjm/DODB6jtWG16CEJ5LCMkE +MgKAsvac/z9gdWnGrRxNuO8CZExHW1XfwDcWbQ7jnpW4+JcXwG82djg91guzmOMV +bDdPhusUDFVtLJry+nf6kQ+JetZXQzDSoNrUHUWPRioSxZDmk0D9TIjrAoGBAM2P +OT+bGZDVsW1XpmHhPMXrce01S2jb17rKT3nikT/lZ3W8j8EbVHZXw/Q1PtrHDBiX +HQdG1V38vbSG9MvlEOKOXe0/7DLRxkE5n0Wke8qregLDxKnlPy+hiu9y1iCcs0Mm +QTcmShz29iSx6aG7pW4qvMQIm31O6zbhMLQSSj77AoGAFzbnbJ9uQaBL4R4EYyiX +GBWnQaqu9pa+6V7fkkNXusEa81lF2nz6yMheF4EL34/ouhx0MQZ4mSJc3RO3kuvM +PtHgvpyMifgGs1DR8AfOTSSg1p/VRLKmV+YfB5AsZng/Ud3V7ukGnwEXgSIjthJO +Br8zmPv2QMng4tyYUclPbI0CgYEAkp1NH+joWz2Px4V0zutwBVrhb2dL2gaz4C7c +cPsAzqo5GOjdP8bWf3Ip+czgf/rozcE6my4SkW7rgA+iGqvPV0hkBgxJ1BV7appG +181x3iRgaghoBSXV44s9JXyq7afW1FY8vbE5u18KQTIEia7lV6Zz7P6WqNHZQtNr +gYRqIHECgYEAgoMSfiaP+gtVwa24GajeoyaHrbsJmUAU4mMKVWFGwic8J4NfXmct +ebGGXpNAAzZFKSyYYr2IL1M1rbxy8pEnO4hB5eCbYyvnsmQgHtrixly/YCBKXBMK +Y/xp2u/QkpdL2ZkNuoeoXMLcrzM/24TG/RahFRMGi979/DUNkdm+i8M= +-----END RSA PRIVATE KEY----- diff --git a/tools/cmca/config/config.go b/tools/cmca/config/config.go new file mode 100644 index 00000000..db8ee12e --- /dev/null +++ b/tools/cmca/config/config.go @@ -0,0 +1,58 @@ +package config + +import ( + "flag" + "fmt" + "os" + + "gopkg.in/yaml.v3" +) + +// Yaml struct of config +type YamlConfig struct { + //证书配置 + CA struct { + RootCert string `yaml:"rootCert"` //root CA证书存放路径 + Cert string `yaml:"cert"` // 服务端CA证书存放路径 + PrivateKey string `yaml:"privateKey"` // 服务端私钥存放路径 + Check bool `yaml:"check"` // 是否开启服务端证书检查功能 + } `json:"ca"` +} + +var CaConfig YamlConfig + +func ReadConfig(configFile string) { + yamlFile, err := os.ReadFile(configFile) + if err != nil { + fmt.Println("Read yaml config file error:", err) + os.Exit(2) + } + + err = yaml.Unmarshal(yamlFile, &CaConfig) + if err != nil { + fmt.Println("Unmarshal error:", err) + os.Exit(3) + } +} + +var UserName *string + +const defaultConfigFile = "./etc/cmca.yaml" + +func init() { + cfile := flag.String("c", defaultConfigFile, "config file") + pv := flag.Bool("v", false, "print version") + ph := flag.Bool("h", false, "print help") + UserName = flag.String("u", "admin", "user name") + + flag.Parse() + if *pv { + os.Exit(0) + } + if *ph { + flag.Usage() + os.Exit(0) + } + + ReadConfig(*cfile) +} diff --git a/tools/cmca/etc/cmca.yaml b/tools/cmca/etc/cmca.yaml new file mode 100644 index 00000000..cd15ed6e --- /dev/null +++ b/tools/cmca/etc/cmca.yaml @@ -0,0 +1,4 @@ +ca: + rootCert: ./certs/cacert.pem + cert: ./certs/nbi_agent.crt + privateKey: ./certs/nbi_agent.key diff --git a/tools/cmsign/cmsign b/tools/cmsign/cmsign new file mode 100644 index 00000000..236d1f11 Binary files /dev/null and b/tools/cmsign/cmsign differ diff --git a/tools/cmsign/cmsign.exe b/tools/cmsign/cmsign.exe new file mode 100644 index 00000000..236d1f11 Binary files /dev/null and b/tools/cmsign/cmsign.exe differ diff --git a/tools/cmsign/cmsign.go b/tools/cmsign/cmsign.go new file mode 100644 index 00000000..3c804bbb --- /dev/null +++ b/tools/cmsign/cmsign.go @@ -0,0 +1,114 @@ +package main + +import ( + "crypto" + "crypto/rand" + "crypto/rsa" + "crypto/sha256" + "crypto/x509" + "encoding/base64" + "encoding/pem" + "flag" + "fmt" + "os" +) + +var UserName *string + +func init() { + //cfile := flag.String("c", defaultConfigFile, "config file") + //pv := flag.Bool("v", false, "print version") + //ph := flag.Bool("h", false, "print help") + UserName = flag.String("u", "omc", "user name") + + flag.Parse() + // if *pv { + // os.Exit(0) + // } + // if *ph { + // flag.Usage() + // os.Exit(0) + // } + + //ReadConfig(*cfile) +} + +func main() { + // 假设你已经有了CMCA证书私钥和userName登录用户名 + privateKeyBytes, err := os.ReadFile("./private_key.pem") + if err != nil { + fmt.Println("Failed to read private key file:", err) + return + } + //userName := "omc" + + // 解析私钥 + privateKey, err := parsePrivateKey(privateKeyBytes) + if err != nil { + fmt.Println("Failed to parse private key:", err) + return + } + + // 对用户名进行签名 + signature, err := sign(privateKey, *UserName) + if err != nil { + fmt.Println("Failed to sign username:", err) + return + } + + // 将签名按Base64编码格式化输出 + signatureBase64 := base64.StdEncoding.EncodeToString(signature) + fmt.Println("Signature:", signatureBase64) +} + +// 解析私钥 +// func parsePrivateKey(privateKeyBytes []byte) (*rsa.PrivateKey, error) { +// privateKey, err := parsePrivateKey(privateKeyBytes) +// if err != nil { +// return nil, err +// } +// return privateKey, nil +// } + +// 解析私钥 +func parsePrivateKey(privateKeyBytes []byte) (*rsa.PrivateKey, error) { + block, _ := pem.Decode(privateKeyBytes) + if block == nil { + return nil, fmt.Errorf("failed to decode private key") + } + + //privateKey, err := x509.ParsePKCS8PrivateKey(block.Bytes) + privateKey, err := x509.ParsePKCS1PrivateKey(block.Bytes) + if err != nil { + return nil, err + } + + // rsaPrivateKey, ok := privateKey.(*rsa.PrivateKey) + // if !ok { + // return nil, fmt.Errorf("private key is not RSA") + // } + + return privateKey, nil +} + +// 对数据进行签名 +func sign(privateKey *rsa.PrivateKey, data string) ([]byte, error) { + hashed := sha256.Sum256([]byte(data)) + signature, err := rsa.SignPKCS1v15(rand.Reader, privateKey, crypto.SHA256, hashed[:]) + if err != nil { + return nil, err + } + return signature, nil +} + +func readPrivateKey() { + // 读取私钥文件 + privateKeyBytes, err := os.ReadFile("./private_key.pem") + if err != nil { + fmt.Println("Failed to read private key file:", err) + return + } + + // 输出私钥内容 + fmt.Println(string(privateKeyBytes)) +} diff --git a/tools/cmsign/private_key.pem b/tools/cmsign/private_key.pem new file mode 100644 index 00000000..334940a6 --- /dev/null +++ b/tools/cmsign/private_key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAlE3BYk9Rk2avUTik7lpuiHxbYTusrLYRCnr8JICRg0QsBfiu +q8d4+4s0w3y5F7puTj23Hf8ohAeNGK6vV9nJF9utMRvT4w5hlGqvKubM2vORoNoa +1usIixfcvMmCt/7++9endMurLY7e9aR+eeEffJtMx5G5JqxRGoFkeXBKFTOjD2ad +sHQ5zhQQUYgdQa2xzKQBYiierKKptcoVMAnnkfx7NPSRfCnzhYVeKgBFbxNXL4h7 +nAhLywWhusQc2yr2Fdojj7urtqPNfMKYapkmWKI9/zuPxMlYL49VXUqppE0rnYoi +ISwGvP9iSq1tb+8BUI0ZMDcHX4elEeZYiFMJOwIDAQABAoIBAFVJVhIsXVRwdBg4 +hBkS5ogVRBPp1obIeYpWadSwH36m4M5aUlE1eKzoRGK7wlIUA8V5FmroxysOkKUG +KI5UD6Jp0fLw9uyX46QPqkb4zgyIkFI5u7+nEJW1Flt3Y3Ze7dJ1FbdEPWAIzs3j +WFzNC2eEhCYs9pZ3+HhOuzJfUitYU6ts83tazSms+7E027e/v2ubtYOzluEoj4YK +MM+ocqJOlXUOhyTATDaLs4fM567bwwFeriODQqmMIhXLf3HiBPfPYhoAlwPUV51L +bAjIPwG2/jy0yXPenYOUqSMP1i+XkyTL4eVqOLLQUI+BsEaToS8M7Lf4KRQE0vQm +uAkEA9ECgYEAxCsKXtkYXrma8UziSJgQBj88TfACyuYZBPkpBFJhffPVOreYzqmn +gsE38oHlLhCrezsxvScivS/Cwt7kgBTE9r6xmH8y2f0P3PNmtazQCqovG1gsNZ1t +9PZQmxbVUfx/7KRJ1Q5zX3x5C0P2c6XYv/1h/SQQ8PYXDhRxWZFVSikCgYEAwYlt +AoP8j6yHDMk10vJd0fKT1lztcHcQLvH3HQn2kHci2GCxySvcac49hpXTDeNdUzcQ +I9UWo1MggNojME3WHUTiZD5DYUzuNUBTkc0kMHWy79/YNAzvF9312MSyJ0NlytBQ +ISh0z0sPSxDjW+XCi/8LGu1rrremBqvh0rNIrMMCgYEAt+C8VNHcZRZHpX3y8icP +hjuKFGgwxe3Pb/j5uKJb3ktMCUEFjFo8uXTSM5AMuhRIGTgQVIS1rG5zemSh/Wj6 +g2uWXyKEEQ+D6hGBqjP1wrlpdJE+x3btFdw5DFbn2HT9mF0bFAn6nXu4npWzEw5X +UQd67WT8OFIEpF8HLPTs5JkCgYBQlL6dmITU8Vm9mh1d+mnT23NwgnqeJATJ9xcT +sS1HE0Of4grEHw4Dw8pcOg+JLcyStE91C+kEEb1ryOdz2kS3JRI5+K6nWZeo9mKV +R1u1DZx2QbZMXcJDJriRC7y9mlNMsZVbaPPRx4fTknGHts9c6NEf4hC+y1pGVtSM +nPc6bwKBgQCrtb6srow9o0acH7mMmieDuqvT8DQ6rHWoizgneZTuvIo6SPO6nRnR +jfgfQkqr9IiLh9awSblQEN9fnddog7a1yS4cUZueiP5dmtFvp4B9Scnt+BoHpOLk +rrU2i7grAye4Cd003+pqhSERGCKSzb3fTSYiMypKsxeH2bs8nrRu2A== +-----END RSA PRIVATE KEY----- diff --git a/tools/genxml/genxml.go b/tools/genxml/genxml.go new file mode 100644 index 00000000..34505eff --- /dev/null +++ b/tools/genxml/genxml.go @@ -0,0 +1,87 @@ +package main + +import ( + "flag" + "log" + "os/exec" + "strings" + + xsd "github.com/metaleap/go-xsd" +) + +var ( + flagGoFmt = flag.Bool("gofmt", true, "Run 'gofmt' against the generated Go wrapper package?") + flagGoInst = flag.Bool("goinst", true, "Run 'go-buildrun' against the generated Go wrapper package?") + flagSchema = flag.String("uri", "", "The XML Schema Definition file URIs to generate a Go wrapper packages from, whitespace-separated. (For each, the protocol prefix can be omitted, it then defaults to http://. Only protocols understood by the net/http package are supported.)") + flagLocalCopy = flag.Bool("local", true, "Local copy: only downloads if file does not exist locally") + flagForceParse = flag.Bool("parse", false, "Not necessary unless the generated Go wrapper package won't compile.") + flagBasePath = flag.String("basepath", "", "Defaults to "+xsd.PkgGen.BasePath+". A $GOPATH/src/-relative path (always a slash-style path, even on Windows) where XSD files are downloaded to / loaded from and generated Go wrapper packages are created. Any XSD imports are also rewritten as Go imports from that path (but are not otherwise auto-magically processed in any way).") + + // if no schemas are specified in *flagSchema, we run the pkg-maker through a default series of various XSDs... + schemas = []string{ + "./nrm-schema.xsd", + "www.w3.org/2001/xml.xsd", + "www.w3.org/2001/03/xml.xsd", + "www.w3.org/TR/2002/WD-SVG11-20020108/xml.xsd", + "www.w3.org/TR/2002/WD-SVG11-20020108/xlink.xsd", + "www.w3.org/TR/2002/WD-SVG11-20020108/SVG.xsd", + "www.w3.org/2007/schema-for-xslt20.xsd", + "www.w3.org/Math/XMLSchema/mathml2/common/xlink-href.xsd", + "www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd", + "docs.oasis-open.org/election/external/xAL.xsd", + "docbook.org/xml/5.0/xsd/xml.xsd", + "docbook.org/xml/5.0/xsd/xlink.xsd", + "docbook.org/xml/5.0/xsd/docbook.xsd", + "kbcafe.com/rss/atom.xsd.xml", + "thearchitect.co.uk/schemas/rss-2_0.xsd", + "schemas.opengis.net/kml/2.2.0/atom-author-link.xsd", + "schemas.opengis.net/kml/2.2.0/ogckml22.xsd", + "khronos.org/files/collada_schema_1_4", + "khronos.org/files/collada_schema_1_5", + } +) + +func main() { + var ( + sd *xsd.Schema + err error + raw []byte + outFilePath string + ) + flag.Parse() + if len(*flagSchema) > 0 { + schemas = strings.Split(*flagSchema, " ") + } + if len(*flagBasePath) > 0 { + xsd.PkgGen.BasePath, xsd.PkgGen.BaseCodePath = *flagBasePath, udevgo.GopathSrc(strings.Split(*flagBasePath, "/")...) + } + for _, s := range schemas { + log.Printf("LOAD:\t%v\n", s) + if sd, err = xsd.LoadSchema(s, *flagLocalCopy); err != nil { + log.Printf("\tERROR: %v\n", err) + } else if sd != nil { + xsd.PkgGen.ForceParseForDefaults = *flagForceParse || (s == "schemas.opengis.net/kml/2.2.0/ogckml22.xsd") // KML schema uses 0 and 1 as defaults for booleans... + if outFilePath, err = sd.MakeGoPkgSrcFile(); err == nil { + log.Printf("MKPKG:\t%v\n", outFilePath) + if *flagGoFmt { + if raw, err = exec.Command("gofmt", "-w=true", "-s=true", "-e=true", outFilePath).CombinedOutput(); len(raw) > 0 { + log.Printf("GOFMT:\t%s\n", string(raw)) + } + if err != nil { + log.Printf("GOFMT:\t%v\n", err) + } + } + if *flagGoInst { + if raw, err = exec.Command("go-buildrun", "-d=__doc.html", "-f="+outFilePath).CombinedOutput(); len(raw) > 0 { + println(string(raw)) + } + if err != nil { + log.Printf("GOINST:\t%v\n", err) + } + } + } else { + log.Printf("\tERROR:\t%v\n", err) + } + } + } +} diff --git a/tools/genxml/nrm-schema.xsd b/tools/genxml/nrm-schema.xsd new file mode 100644 index 00000000..5e7e46c9 --- /dev/null +++ b/tools/genxml/nrm-schema.xsd @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/genxml/pm-schema.xsd b/tools/genxml/pm-schema.xsd new file mode 100644 index 00000000..bb018401 --- /dev/null +++ b/tools/genxml/pm-schema.xsd @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/loadcmxls/1.txt b/tools/loadcmxls/1.txt new file mode 100644 index 00000000..ba6f0fe3 Binary files /dev/null and b/tools/loadcmxls/1.txt differ diff --git a/tools/loadcmxls/db.go b/tools/loadcmxls/db.go new file mode 100644 index 00000000..3118defc --- /dev/null +++ b/tools/loadcmxls/db.go @@ -0,0 +1,53 @@ +package main + +import ( + "fmt" + + _ "github.com/go-sql-driver/mysql" + "xorm.io/xorm" +) + +var xEngine *xorm.Engine + +func XormConnectDatabaseWithUri(sql string) (*xorm.Engine, error) { + // sqlStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=true&loc=Local", db.User, db.Password, db.Host, db.Port, db.Name) + sqlStr := fmt.Sprintf("%s?charset=utf8&parseTime=true&loc=Local", sql) + // fmt.Printf("sqlStr:%s:******@tcp(%s:%s)/%s?charset=utf8&parseTime=true&loc=Local", db.User, db.Host, db.Port, db.Name) + var err error + xEngine, err = xorm.NewEngine("mysql", sqlStr) //1、Create xorm engine + if err != nil { + fmt.Println("Failed to connect database:", err) + return nil, err + } + // xEngine.ShowSQL(true) + return xEngine, nil +} + +type CmTitle struct { + // Id int `json:"id" xorm:"pk 'id' autoincr"` + NeType string `json:"neType"` + Object string `json:"object" xorm:"object"` + Code string `json:"code"` + CmEn string `json:"cmEn" xorm:"cm_en"` + CmCn string `json:"cmCn" xorm:"cm_cn"` + Description string `json:"description"` +} + +func XormInsertCmTitle(row *CmTitle) (int64, error) { + + session := xEngine.NewSession() + defer session.Close() + _, err := session. + Table("cm_title"). + Where("ne_type = ? and code = ? and cm_en = ?", row.NeType, row.Code, row.CmEn). + Delete() + if err != nil { + fmt.Println("Failed to delete cm_title:", err) + } + affected, err := session.Table("cm_title").Insert(row) + if err != nil { + fmt.Println("Failed to insert cm_title:", err) + } + + return affected, err +} diff --git a/tools/loadcmxls/load.go b/tools/loadcmxls/load.go new file mode 100644 index 00000000..a0054a27 --- /dev/null +++ b/tools/loadcmxls/load.go @@ -0,0 +1,109 @@ +package main + +import ( + "flag" + "fmt" + "io/ioutil" + "os" + + "gopkg.in/yaml.v3" +) + +// Yaml struct of config +type YamlConfig struct { + Logger struct { + File string `yaml:"file"` + Level string `yaml:"level"` + } `yaml:"logger"` + + Rest struct { + BindIP string `yaml:"bindip"` + Port uint16 `yaml:"port"` + } `yaml:"rest"` + + Database struct { + Type string `yaml:"type"` + User string `yaml:"user"` + Password string `yaml:"password"` + Host string `yaml:"host"` + Port string `yaml:"port"` + Name string `yaml:"name"` + } `yaml:"database"` + + CmFileDir string `yaml:"cmfiledir"` +} + +var yamlConfig YamlConfig + +func ReadConfig(configFile string) { + yamlFile, err := ioutil.ReadFile(configFile) + if err != nil { + fmt.Printf("ioutil.ReadFile %s err %v", configFile, err) + } + // fmt.Println("yamlfile:", string(yamlFile)) + + err = yaml.Unmarshal(yamlFile, &yamlConfig) + if err != nil { + fmt.Printf("Unmarshal: %v when to struct", err) + } +} + +func GetYamlConfig() *YamlConfig { + return &yamlConfig +} + +func GetAllFile(dir string, s []string) ([]string, error) { + fmt.Println("GetAllFile processing...", dir) + fmt.Println("dir:", dir) + + rd, err := ioutil.ReadDir(dir) + if err != nil { + fmt.Println("read dir fail:", err) + return s, err + } + + for _, fi := range rd { + if !fi.IsDir() { + fullName := dir + "/" + fi.Name() + s = append(s, fullName) + } + } + return s, nil +} + +const defaultConfigFile = "./loadcmxls.yaml" + +var ( + version string + buildTime string + goVer string +) + +var pfiles []string + +func init() { + cfile := flag.String("c", defaultConfigFile, "config file") + pfile := flag.String("f", "", "cm file") + pv := flag.Bool("v", false, "print version") + ph := flag.Bool("h", false, "print help") + + flag.Parse() + if *pv { + fmt.Printf("OMC loadpmxls version: %s\n%s\n%s\n\n", version, buildTime, goVer) + os.Exit(0) + } + if *ph { + flag.Usage() + os.Exit(0) + } + + ReadConfig(*cfile) + + fmt.Println("pfile:", *pfile) + if *pfile != "" { + pfiles = append(pfiles, *pfile) + } else { + pfiles, _ = GetAllFile(yamlConfig.CmFileDir, pfiles) + } + fmt.Println("pfiles:", pfiles) +} diff --git a/tools/loadcmxls/loadcmxls b/tools/loadcmxls/loadcmxls new file mode 100644 index 00000000..03870b5a Binary files /dev/null and b/tools/loadcmxls/loadcmxls differ diff --git a/tools/loadcmxls/loadcmxls.go b/tools/loadcmxls/loadcmxls.go new file mode 100644 index 00000000..bbd78feb --- /dev/null +++ b/tools/loadcmxls/loadcmxls.go @@ -0,0 +1,77 @@ +package main + +import ( + "fmt" + "strings" + + "github.com/xuri/excelize/v2" +) + +func main() { + fmt.Println("========================= OMC loadpmxls startup =========================") + fmt.Println("OMC loadpmxls version: %s %s %s", version, buildTime, goVer) + + for _, f := range pfiles { + fmt.Println("f:", f) + db := yamlConfig.Database + sqlStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", db.User, db.Password, db.Host, db.Port, db.Name) + XormConnectDatabaseWithUri(sqlStr) + LoadCmIntoCmTitle(f) + } + +} + +func LoadCmIntoCmTitle(file string) { + fmt.Println("file len:", file, len(file)) + f, err := excelize.OpenFile(file) + if err != nil { + fmt.Println(err.Error()) + return + } + + list := f.GetSheetList() + if err != nil { + fmt.Println(err.Error()) + return + } + fmt.Println(list) + dl := len(yamlConfig.CmFileDir) + 1 + neType := file[dl : dl+3] + fmt.Println("neType:", neType) + objectMap := make(map[string]string, 0) + for _, s := range list { + + if s[0] == 'I' { + rows, _ := f.GetRows(s) + for _, row := range rows[1:] { + // fmt.Println("row:", row) + if len(row) > 1 { + fmt.Println("row[0]:", row[0], "row[1]", row[1]) + objectMap[row[0]] = row[1] + } + } + fmt.Println("objectMap:", objectMap) + } + if s[0] == 'A' { + rows, _ := f.GetRows(s) + var code, desc, object string + object = objectMap[s] + fmt.Println("object:", object, "s:", s) + for _, row := range rows[1:] { + if row[0] != "" { + code = row[0] + } + if len(row) > 4 && row[4] != "" { + desc = row[4] + } + cmEn := strings.Replace(row[2], " ", "", -1) + cmEn = strings.Replace(cmEn, "\n", "", -1) + cmCn := strings.Replace(row[3], " ", "", -1) + cmCn = strings.Replace(cmCn, "\n", "", -1) + cmTitle := CmTitle{neType, object, code, cmEn, cmCn, desc} + fmt.Println("cmTitle:", cmTitle) + XormInsertCmTitle(&cmTitle) + } + } + } +} diff --git a/tools/loadcmxls/loadcmxls.yaml b/tools/loadcmxls/loadcmxls.yaml new file mode 100644 index 00000000..8b58a362 --- /dev/null +++ b/tools/loadcmxls/loadcmxls.yaml @@ -0,0 +1,17 @@ +logger: + file: ./loadpmxls.log + level: debug + +rest: + bindip: 0.0.0.0 + port: 3040 + +database: + type: mysql + user: root + password: 1000omc@kp! + host: 127.0.0.1 + port: 33066 + name: omc_db + +cmfiledir: ../../config/cm diff --git a/tools/loadcmxls/makefile b/tools/loadcmxls/makefile new file mode 100644 index 00000000..2afcbd88 --- /dev/null +++ b/tools/loadcmxls/makefile @@ -0,0 +1,22 @@ +# Makefile for rest agent project + +PROJECT = OMC +VERSION = 5GC16.1.1 +PLATFORM = amd64 +DEBDIR = ../../../deb +ETCDIR = ../../../etc +RELEASEDIR = ../../../release +LIBDIR = ../lib +BINNAME = loadcmxls + +.PHONY: build $(BINNAME) +build $(BINNAME): + go build -o $(BINNAME) -v -ldflags "-X 'main.version=$(VERSION)' \ + -X 'main.buildTime=`date`' \ + -X 'main.goVer=`go version`'" + +run: $(BINNAME) + ./$(BINNAME) + +clean: + rm ./$(BINNAME) diff --git a/tools/loadmconf/db.go b/tools/loadmconf/db.go new file mode 100644 index 00000000..893b22e3 --- /dev/null +++ b/tools/loadmconf/db.go @@ -0,0 +1,88 @@ +package main + +import ( + "encoding/json" + "fmt" + + "strings" + + _ "github.com/go-sql-driver/mysql" + "xorm.io/xorm" +) + +var xEngine *xorm.Engine + +func XormConnectDatabaseWithUri(sql string) (*xorm.Engine, error) { + // sqlStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=true&loc=Local", db.User, db.Password, db.Host, db.Port, db.Name) + sqlStr := fmt.Sprintf("%s?charset=utf8&parseTime=true&loc=Local", sql) + // fmt.Printf("sqlStr:%s:******@tcp(%s:%s)/%s?charset=utf8&parseTime=true&loc=Local", db.User, db.Host, db.Port, db.Name) + var err error + xEngine, err = xorm.NewEngine("mysql", sqlStr) //1、Create xorm engine + if err != nil { + fmt.Println("Failed to connect database:", err) + return nil, err + } + xEngine.ShowSQL(true) + return xEngine, nil +} + +type MmlCommand struct { + // Id int `json:"id" xorm:"pk 'id' autoincr"` + NeType string `json:"neType"` + Category string `json:"category"` + CatDisplay string `json:"display" xorm:"cat_display"` + Operation string `json:"operation"` + Object string `json:"object"` + MmlDisplay string `json:"display" xorm:"mml_display"` + ParamJson string `json:"paramJson"` +} + +func XormInsertMMLConfig(mapJson *map[string]interface{}, tableName string) (int64, error) { + var affected, a int64 + var err error + mmlCommand := new(MmlCommand) + + for n, d := range *mapJson { + if d == nil { + break + } + fmt.Println("n:", n) + mmlCommand.NeType = strings.ToUpper(n) + // for c, ma := range d.(map[string]interface{}) { + for c, ci := range d.(map[string]interface{}) { + fmt.Println("c:", c) + fmt.Println("ci:", ci) + mmlCommand.Category = c + mmlCommand.CatDisplay = fmt.Sprintf("%v", ci.(map[string]interface{})["display"]) + mml := ci.(map[string]interface{})["mml"] + for m, mi := range mml.([]interface{}) { + fmt.Println("m:", m) + fmt.Println("mi:", mi) + mmlCommand.Operation = fmt.Sprintf("%v", mi.(map[string]interface{})["operation"]) + mmlCommand.Object = fmt.Sprintf("%v", mi.(map[string]interface{})["object"]) + mmlCommand.MmlDisplay = fmt.Sprintf("%v", mi.(map[string]interface{})["display"]) + pj, _ := json.Marshal(mi.(map[string]interface{})["params"]) + mmlCommand.ParamJson = string(pj) + fmt.Println("mmlCommand:", mmlCommand) + + session := xEngine.NewSession() + defer session.Close() + _, err = session. + Table(tableName). + Where("ne_type = ? and category = ? and operation = ? and object = ?", mmlCommand.NeType, mmlCommand.Category, mmlCommand.Operation, mmlCommand.Object). + Delete() + if err != nil { + fmt.Printf("Failed to delete %s: %v\n", tableName, err) + } + a, err = session.Table(tableName).Insert(mmlCommand) + if err != nil { + fmt.Printf("Failed to insert %s: %v\n", tableName, err) + } + affected += a + } + } + + } + + return affected, err +} diff --git a/tools/loadmconf/load.go b/tools/loadmconf/load.go new file mode 100644 index 00000000..dccf3677 --- /dev/null +++ b/tools/loadmconf/load.go @@ -0,0 +1,131 @@ +package main + +import ( + "flag" + "fmt" + "io/ioutil" + "os" + + "gopkg.in/yaml.v3" +) + +// Yaml struct of config +type YamlConfig struct { + Logger struct { + File string `yaml:"file"` + Level string `yaml:"level"` + } `yaml:"logger"` + + Rest struct { + BindIP string `yaml:"bindip"` + Port uint16 `yaml:"port"` + } `yaml:"rest"` + + Database struct { + Type string `yaml:"type"` + User string `yaml:"user"` + Password string `yaml:"password"` + Host string `yaml:"host"` + Port string `yaml:"port"` + Name string `yaml:"name"` + } `yaml:"database"` + + Mml struct { + FileDir string `yaml:"filedir"` + Table string `yaml:"table"` + } `yaml:"mml"` +} + +var yamlConfig YamlConfig + +func ReadConfig(configFile string) { + yamlFile, err := ioutil.ReadFile(configFile) + if err != nil { + fmt.Printf("ioutil.ReadFile %s err %v", configFile, err) + } + // fmt.Println("yamlfile:", string(yamlFile)) + + err = yaml.Unmarshal(yamlFile, &yamlConfig) + if err != nil { + fmt.Printf("Unmarshal: %v when to struct", err) + } +} + +func GetYamlConfig() *YamlConfig { + return &yamlConfig +} + +var mapYaml map[string]interface{} + +func ReadMMLConfig(fileName string) *map[string]interface{} { + file, err := ioutil.ReadFile(fileName) + if err != nil { + fmt.Println("yamlFile.Get err", err) + } + + mapYaml = make(map[string]interface{}) + + err = yaml.Unmarshal(file, &mapYaml) + if err != nil { + fmt.Println("yaml.Unmarshal: %v when to struct", err) + } + // fmt.Println("mapYaml:", mapYaml) + + return &mapYaml +} + +func GetAllFile(dir string, s []string) ([]string, error) { + fmt.Println("GetAllFile processing...", dir) + fmt.Println("dir:", dir) + + rd, err := ioutil.ReadDir(dir) + if err != nil { + fmt.Println("read dir fail:", err) + return s, err + } + + for _, fi := range rd { + if !fi.IsDir() { + fullName := dir + "/" + fi.Name() + s = append(s, fullName) + } + } + return s, nil +} + +const defaultConfigFile = "./loadmconf.yaml" + +var ( + version string + buildTime string + goVer string +) + +var pfiles []string + +func init() { + cfile := flag.String("c", defaultConfigFile, "config file") + pfile := flag.String("m", "", "mmlconf file") + pv := flag.Bool("v", false, "print version") + ph := flag.Bool("h", false, "print help") + + flag.Parse() + if *pv { + fmt.Printf("OMC loadmconf version: %s\n%s\n%s\n\n", version, buildTime, goVer) + os.Exit(0) + } + if *ph { + flag.Usage() + os.Exit(0) + } + + ReadConfig(*cfile) + + fmt.Println("pfile:", *pfile) + if *pfile != "" { + pfiles = append(pfiles, *pfile) + } else { + pfiles, _ = GetAllFile(yamlConfig.Mml.FileDir, pfiles) + } + fmt.Println("pfiles:", pfiles) +} diff --git a/tools/loadmconf/loadmconf b/tools/loadmconf/loadmconf new file mode 100644 index 00000000..43a654d1 Binary files /dev/null and b/tools/loadmconf/loadmconf differ diff --git a/tools/loadmconf/loadmconf.go b/tools/loadmconf/loadmconf.go new file mode 100644 index 00000000..75a7af25 --- /dev/null +++ b/tools/loadmconf/loadmconf.go @@ -0,0 +1,21 @@ +package main + +import ( + "fmt" +) + +func main() { + fmt.Println("========================= OMC loadmconf startup =========================") + fmt.Println("OMC loadmconf version: %s %s %s", version, buildTime, goVer) + + for _, f := range pfiles { + fmt.Println("f:", f) + mmlMap := ReadMMLConfig(f) + fmt.Println("mmlMap:", mmlMap) + db := yamlConfig.Database + sqlStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", db.User, db.Password, db.Host, db.Port, db.Name) + XormConnectDatabaseWithUri(sqlStr) + XormInsertMMLConfig(mmlMap, yamlConfig.Mml.Table) + } + +} diff --git a/tools/loadmconf/loadmconf.yaml b/tools/loadmconf/loadmconf.yaml new file mode 100644 index 00000000..8c92aa99 --- /dev/null +++ b/tools/loadmconf/loadmconf.yaml @@ -0,0 +1,19 @@ +logger: + file: ./loadmconf.log + level: trace + +rest: + bindip: 0.0.0.0 + port: 3040 + +database: + type: mysql + user: root + password: 1000omc@kp! + host: 127.0.0.1 + port: 33066 + name: omc_db + +mml: + filedir: ../../config/mml/omc + table: mml_command diff --git a/tools/loadmconf/makefile b/tools/loadmconf/makefile new file mode 100644 index 00000000..20b499e8 --- /dev/null +++ b/tools/loadmconf/makefile @@ -0,0 +1,22 @@ +# Makefile for rest agent project + +PROJECT = OMC +VERSION = 5GC16.1.1 +PLATFORM = amd64 +DEBDIR = ../../../deb +ETCDIR = ../../../etc +RELEASEDIR = ../../../release +LIBDIR = ../lib +BINNAME = loadmconf + +.PHONY: build $(BINNAME) +build $(BINNAME): + go build -o $(BINNAME) -v -ldflags "-X 'main.version=$(VERSION)' \ + -X 'main.buildTime=`date`' \ + -X 'main.goVer=`go version`'" + +run: $(BINNAME) + ./$(BINNAME) + +clean: + rm ./$(BINNAME) diff --git a/tools/loadpconf/db.go b/tools/loadpconf/db.go new file mode 100644 index 00000000..136ad255 --- /dev/null +++ b/tools/loadpconf/db.go @@ -0,0 +1,88 @@ +package main + +import ( + "encoding/json" + "fmt" + + "strings" + + _ "github.com/go-sql-driver/mysql" + "xorm.io/xorm" +) + +var xEngine *xorm.Engine + +func XormConnectDatabaseWithUri(sql string) (*xorm.Engine, error) { + // sqlStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=true&loc=Local", db.User, db.Password, db.Host, db.Port, db.Name) + sqlStr := fmt.Sprintf("%s?charset=utf8&parseTime=true&loc=Local", sql) + // fmt.Printf("sqlStr:%s:******@tcp(%s:%s)/%s?charset=utf8&parseTime=true&loc=Local", db.User, db.Host, db.Port, db.Name) + var err error + xEngine, err = xorm.NewEngine("mysql", sqlStr) //1、Create xorm engine + if err != nil { + fmt.Println("Failed to connect database:", err) + return nil, err + } + xEngine.ShowSQL(true) + return xEngine, nil +} + +type ParamConfig struct { + // Id int `json:"id" xorm:"pk 'id' autoincr"` + NeType string `json:"neType"` + NeId string `json:"neId"` + TopTag string `json:"topTag"` + TopDisplay string `json:"topDisplay"` + ParamJson string `json:"paramJson"` +} + +func XormInsertParamConfig(mapJson *map[string]interface{}) (int64, error) { + var affected, a int64 + var err error + paramConfig := new(ParamConfig) + for n, d := range *mapJson { + if d == nil { + break + } + fmt.Printf("n: %s", n) + + for t, p := range d.(map[string]interface{}) { + if p == nil { + break + } + fmt.Println("t:", t) + fmt.Println("p:", p) + for k, v := range p.(map[string]interface{}) { + fmt.Println("k, v: ", k, v) + if k == "display" { + paramConfig.TopDisplay = fmt.Sprintf("%v", v) + + } else { + pc, _ := json.Marshal(v) + paramConfig.ParamJson = fmt.Sprintf("{\"%v\":%v}", k, string(pc)) + } + } + + paramConfig.NeType = strings.ToUpper(n) + paramConfig.NeId = "" + paramConfig.TopTag = t + // paramConfig.TopDisplay = p["display"] + // paramConfig.ParamJson = p.(string) + + fmt.Println("paramConfig:", paramConfig) + + session := xEngine.NewSession() + defer session.Close() + _, err = session.Table("param_config").Where("ne_type = ? and top_tag = ?", paramConfig.NeType, paramConfig.TopTag).Delete() + if err != nil { + fmt.Println("Failed to delete param_config:", err) + } + a, err = session.Insert(paramConfig) + if err != nil { + fmt.Println("Failed to insert param_config:", err) + } + affected += a + } + } + + return affected, err +} diff --git a/tools/loadpconf/load.go b/tools/loadpconf/load.go new file mode 100644 index 00000000..5febe82c --- /dev/null +++ b/tools/loadpconf/load.go @@ -0,0 +1,124 @@ +package main + +import ( + "flag" + "fmt" + "io/ioutil" + "os" + + "gopkg.in/yaml.v3" +) + +// Yaml struct of config +type YamlConfig struct { + Logger struct { + File string `yaml:"file"` + Level string `yaml:"level"` + } + + Rest struct { + Addr string `yaml:"addr"` + Port uint16 `yaml:"port"` + } + + Database struct { + Type string `yaml:"type"` + User string `yaml:"user"` + Password string `yaml:"password"` + Host string `yaml:"host"` + Port string `yaml:"port"` + Name string `yaml:"name"` + } + ParamFileDir string `yaml:"paramfiledir"` +} + +var yamlConfig YamlConfig + +func ReadConfig(configFile string) { + yamlFile, err := ioutil.ReadFile(configFile) + if err != nil { + fmt.Printf("ioutil.ReadFile %s err %v", configFile, err) + } + // fmt.Println("yamlfile:", string(yamlFile)) + + err = yaml.Unmarshal(yamlFile, &yamlConfig) + if err != nil { + fmt.Printf("Unmarshal: %v when to struct", err) + } +} + +func GetYamlConfig() *YamlConfig { + return &yamlConfig +} + +var mapYaml map[string]interface{} + +func ReadParamConfig(fileName string) *map[string]interface{} { + file, err := ioutil.ReadFile(fileName) + if err != nil { + fmt.Println("yamlFile.Get err", err) + } + + mapYaml = make(map[string]interface{}) + + err = yaml.Unmarshal(file, &mapYaml) + if err != nil { + fmt.Println("yaml.Unmarshal: %v when to struct", err) + } + // fmt.Println("mapYaml:", mapYaml) + + return &mapYaml +} + +func GetAllFile(dir string, s []string) ([]string, error) { + rd, err := ioutil.ReadDir(dir) + if err != nil { + fmt.Println("read dir fail:", err) + return s, err + } + + for _, fi := range rd { + if !fi.IsDir() { + fullName := dir + "/" + fi.Name() + s = append(s, fullName) + } + } + return s, nil +} + +const defaultConfigFile = "./loadpconf.yaml" + +var ( + version string + buildTime string + goVer string +) + +var pfiles []string + +func init() { + cfile := flag.String("c", defaultConfigFile, "config file") + pfile := flag.String("p", "", "param file") + pv := flag.Bool("v", false, "print version") + ph := flag.Bool("h", false, "print help") + + flag.Parse() + if *pv { + fmt.Printf("OMC initems version: %s\n%s\n%s\n\n", version, buildTime, goVer) + os.Exit(0) + } + if *ph { + flag.Usage() + os.Exit(0) + } + + ReadConfig(*cfile) + + fmt.Println("pfile:", *pfile) + if *pfile != "" { + pfiles = append(pfiles, *pfile) + } else { + pfiles, _ = GetAllFile(yamlConfig.ParamFileDir, pfiles) + } + fmt.Println("pfiles:", pfiles) +} diff --git a/tools/loadpconf/loadpconf b/tools/loadpconf/loadpconf new file mode 100644 index 00000000..54b54827 Binary files /dev/null and b/tools/loadpconf/loadpconf differ diff --git a/tools/loadpconf/loadpconf.go b/tools/loadpconf/loadpconf.go new file mode 100644 index 00000000..34368221 --- /dev/null +++ b/tools/loadpconf/loadpconf.go @@ -0,0 +1,21 @@ +package main + +import ( + "fmt" +) + +func main() { + fmt.Println("========================= OMC loadpconf startup =========================") + fmt.Println("OMC loadpconf version: %s %s %s", version, buildTime, goVer) + + for _, f := range pfiles { + fmt.Println("f:", f) + paramMap := ReadParamConfig(f) + fmt.Println("paramMap:", paramMap) + db := yamlConfig.Database + sqlStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", db.User, db.Password, db.Host, db.Port, db.Name) + XormConnectDatabaseWithUri(sqlStr) + XormInsertParamConfig(paramMap) + } + +} diff --git a/tools/loadpconf/loadpconf.yaml b/tools/loadpconf/loadpconf.yaml new file mode 100644 index 00000000..f0b038e6 --- /dev/null +++ b/tools/loadpconf/loadpconf.yaml @@ -0,0 +1,17 @@ +logger: + file: ./initems.log + level: trace + +rest: + addr: 0.0.0.0 + port: 3040 + +database: + type: mysql + user: root + password: 1000omc@kp! + host: 127.0.0.1 + port: 33066 + name: omc_db + +paramfiledir: ../../config/param diff --git a/tools/loadpconf/makefile b/tools/loadpconf/makefile new file mode 100644 index 00000000..1a46296e --- /dev/null +++ b/tools/loadpconf/makefile @@ -0,0 +1,22 @@ +# Makefile for rest agent project + +PROJECT = OMC +VERSION = 5GC16.1.1 +PLATFORM = amd64 +DEBDIR = ../../../deb +ETCDIR = ../../../etc +RELEASEDIR = ../../../release +LIBDIR = ../lib +BINNAME = loadpconf + +.PHONY: build $(BINNAME) +build $(BINNAME): + go build -o $(BINNAME) -v -ldflags "-X 'main.version=$(VERSION)' \ + -X 'main.buildTime=`date`' \ + -X 'main.goVer=`go version`'" + +run: $(BINNAME) + ./$(BINNAME) + +clean: + rm ./$(BINNAME) diff --git a/tools/loadpmxls/1.txt b/tools/loadpmxls/1.txt new file mode 100644 index 00000000..ba6f0fe3 Binary files /dev/null and b/tools/loadpmxls/1.txt differ diff --git a/tools/loadpmxls/db.go b/tools/loadpmxls/db.go new file mode 100644 index 00000000..e68ee13e --- /dev/null +++ b/tools/loadpmxls/db.go @@ -0,0 +1,55 @@ +package main + +import ( + "fmt" + + _ "github.com/go-sql-driver/mysql" + "xorm.io/xorm" +) + +var xEngine *xorm.Engine + +func XormConnectDatabaseWithUri(sql string) (*xorm.Engine, error) { + // sqlStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=true&loc=Local", db.User, db.Password, db.Host, db.Port, db.Name) + sqlStr := fmt.Sprintf("%s?charset=utf8&parseTime=true&loc=Local", sql) + // fmt.Printf("sqlStr:%s:******@tcp(%s:%s)/%s?charset=utf8&parseTime=true&loc=Local", db.User, db.Host, db.Port, db.Name) + var err error + xEngine, err = xorm.NewEngine("mysql", sqlStr) //1、Create xorm engine + if err != nil { + fmt.Println("Failed to connect database:", err) + return nil, err + } + xEngine.ShowSQL(true) + return xEngine, nil +} + +type MeasureTitle struct { + // Id int `json:"id" xorm:"pk 'id' autoincr"` + NeType string `json:"neType"` + KpiCode string `json:"kpiCode"` + KpiId string `json:"kpiId" xorm:"kpi_id"` + Pseudo string `json:"pseudo" xorm:"pseudo"` + ObjectType string `json:"objectType" xorm:"object_type"` + Period string `json:"period" xorm:"period"` + TitleJson string `json:"titleJson" xorm:"title_json"` + Description string `json:"description"` +} + +func XormInsertMeasureTitle(row *MeasureTitle) (int64, error) { + + session := xEngine.NewSession() + defer session.Close() + _, err := session. + Table("measure_title"). + Where("ne_type = ? and kpi_code = ? and kpi_id = ?", row.NeType, row.KpiCode, row.KpiId). + Delete() + if err != nil { + fmt.Println("Failed to delete measure_title:", err) + } + affected, err := session.Table("measure_title").Insert(row) + if err != nil { + fmt.Println("Failed to insert measure_title:", err) + } + + return affected, err +} diff --git a/tools/loadpmxls/load.go b/tools/loadpmxls/load.go new file mode 100644 index 00000000..54fac529 --- /dev/null +++ b/tools/loadpmxls/load.go @@ -0,0 +1,109 @@ +package main + +import ( + "flag" + "fmt" + "io/ioutil" + "os" + + "gopkg.in/yaml.v3" +) + +// Yaml struct of config +type YamlConfig struct { + Logger struct { + File string `yaml:"file"` + Level string `yaml:"level"` + } `yaml:"logger"` + + Rest struct { + BindIP string `yaml:"bindip"` + Port uint16 `yaml:"port"` + } `yaml:"rest"` + + Database struct { + Type string `yaml:"type"` + User string `yaml:"user"` + Password string `yaml:"password"` + Host string `yaml:"host"` + Port string `yaml:"port"` + Name string `yaml:"name"` + } `yaml:"database"` + + PmFileDir string `yaml:"pmfiledir"` +} + +var yamlConfig YamlConfig + +func ReadConfig(configFile string) { + yamlFile, err := ioutil.ReadFile(configFile) + if err != nil { + fmt.Printf("ioutil.ReadFile %s err %v", configFile, err) + } + // fmt.Println("yamlfile:", string(yamlFile)) + + err = yaml.Unmarshal(yamlFile, &yamlConfig) + if err != nil { + fmt.Printf("Unmarshal: %v when to struct", err) + } +} + +func GetYamlConfig() *YamlConfig { + return &yamlConfig +} + +func GetAllFile(dir string, s []string) ([]string, error) { + fmt.Println("GetAllFile processing...", dir) + fmt.Println("dir:", dir) + + rd, err := ioutil.ReadDir(dir) + if err != nil { + fmt.Println("read dir fail:", err) + return s, err + } + + for _, fi := range rd { + if !fi.IsDir() { + fullName := dir + "/" + fi.Name() + s = append(s, fullName) + } + } + return s, nil +} + +const defaultConfigFile = "./loadpmxls.yaml" + +var ( + version string + buildTime string + goVer string +) + +var pfiles []string + +func init() { + cfile := flag.String("c", defaultConfigFile, "config file") + pfile := flag.String("f", "", "pm file") + pv := flag.Bool("v", false, "print version") + ph := flag.Bool("h", false, "print help") + + flag.Parse() + if *pv { + fmt.Printf("OMC loadpmxls version: %s\n%s\n%s\n\n", version, buildTime, goVer) + os.Exit(0) + } + if *ph { + flag.Usage() + os.Exit(0) + } + + ReadConfig(*cfile) + + fmt.Println("pfile:", *pfile) + if *pfile != "" { + pfiles = append(pfiles, *pfile) + } else { + pfiles, _ = GetAllFile(yamlConfig.PmFileDir, pfiles) + } + fmt.Println("pfiles:", pfiles) +} diff --git a/tools/loadpmxls/loadpmxls b/tools/loadpmxls/loadpmxls new file mode 100644 index 00000000..0afe3caf Binary files /dev/null and b/tools/loadpmxls/loadpmxls differ diff --git a/tools/loadpmxls/loadpmxls.go b/tools/loadpmxls/loadpmxls.go new file mode 100644 index 00000000..37052062 --- /dev/null +++ b/tools/loadpmxls/loadpmxls.go @@ -0,0 +1,73 @@ +package main + +import ( + "encoding/json" + "fmt" + "strings" + + "github.com/xuri/excelize/v2" +) + +func main() { + fmt.Println("========================= OMC loadpmxls startup =========================") + fmt.Println("OMC loadpmxls version: %s %s %s", version, buildTime, goVer) + + for _, f := range pfiles { + fmt.Println("f:", f) + db := yamlConfig.Database + sqlStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", db.User, db.Password, db.Host, db.Port, db.Name) + XormConnectDatabaseWithUri(sqlStr) + LoadPmIntoMeasureTitle(f) + } + +} + +func LoadPmIntoMeasureTitle(file string) { + fmt.Println("file len:", file, len(file)) + f, err := excelize.OpenFile(file) + if err != nil { + fmt.Println(err.Error()) + return + } + + list := f.GetSheetList() + if err != nil { + fmt.Println(err.Error()) + return + } + fmt.Println(list) + dl := len(yamlConfig.PmFileDir) + 1 + neType := file[dl : dl+3] + fmt.Println("neType:", neType) + for _, s := range list { + if s[0] == 'H' { + rows, _ := f.GetRows(s) + var kpiCode, desc, objectType string + for _, row := range rows[1:] { + if row[0] != "" { + kpiCode = row[0] + } + if len(row) > 4 && row[4] != "" { + desc = row[4] + } + if len(row) > 9 && row[9] != "" { + objectType = row[9] + } + enKpiId := strings.Replace(row[2], " ", "", -1) + enKpiId = strings.Replace(enKpiId, "\n", "", -1) + isPseudo := "false" + if strings.Contains(enKpiId, "_") { + isPseudo = "true" + } + cnKpiId := strings.Replace(row[3], " ", "", -1) + cnKpiId = strings.Replace(cnKpiId, "\n", "", -1) + titleJson := map[string]string{"cn": cnKpiId, "en": enKpiId} + tj, _ := json.Marshal(titleJson) + measureTitle := MeasureTitle{neType, kpiCode, enKpiId, isPseudo, objectType, "15M", string(tj), desc} + fmt.Println("measureTitle:", measureTitle) + //fmt.Print(kpiCode, "\t", row[2], "\t", row[3], "\t", row[4], "\n") + XormInsertMeasureTitle(&measureTitle) + } + } + } +} diff --git a/tools/loadpmxls/loadpmxls.yaml b/tools/loadpmxls/loadpmxls.yaml new file mode 100644 index 00000000..e6e221dd --- /dev/null +++ b/tools/loadpmxls/loadpmxls.yaml @@ -0,0 +1,17 @@ +logger: + file: ./loadpmxls.log + level: trace + +rest: + bindip: 0.0.0.0 + port: 3040 + +database: + type: mysql + user: root + password: 1000omc@kp! + host: 127.0.0.1 + port: 33066 + name: omc_db + +pmfiledir: ../../config/pm diff --git a/tools/loadpmxls/loadxlsx.go.bak b/tools/loadpmxls/loadxlsx.go.bak new file mode 100644 index 00000000..7f80787a --- /dev/null +++ b/tools/loadpmxls/loadxlsx.go.bak @@ -0,0 +1,38 @@ +package main + +import ( + "fmt" + + "github.com/xuri/excelize/v2" +) + +func main() { + file := "AMF-PM(V1.1.5)-Company-Version00.xlsx" + f, err := excelize.OpenFile(file) + if err != nil { + fmt.Println(err.Error()) + return + } + + list := f.GetSheetList() + if err != nil { + fmt.Println(err.Error()) + return + } + fmt.Println(list) + neType := file[0:3] + fmt.Println("neType:", neType) + for _, s := range list { + if s[0] == 'H' { + rows, _ := f.GetRows(s) + var kpiCode string + for _, row := range rows[1:] { + if row[0] != "" { + kpiCode = row[0] + } + fmt.Print(kpiCode, "\t", row[2], "\t", row[3], "\t", row[4], "\n") + } + } + } + +} diff --git a/tools/loadpmxls/makefile b/tools/loadpmxls/makefile new file mode 100644 index 00000000..25ff806b --- /dev/null +++ b/tools/loadpmxls/makefile @@ -0,0 +1,22 @@ +# Makefile for rest agent project + +PROJECT = OMC +VERSION = 5GC16.1.1 +PLATFORM = amd64 +DEBDIR = ../../../deb +ETCDIR = ../../../etc +RELEASEDIR = ../../../release +LIBDIR = ../lib +BINNAME = loadpmxls + +.PHONY: build $(BINNAME) +build $(BINNAME): + go build -o $(BINNAME) -v -ldflags "-X 'main.version=$(VERSION)' \ + -X 'main.buildTime=`date`' \ + -X 'main.goVer=`go version`'" + +run: $(BINNAME) + ./$(BINNAME) + +clean: + rm ./$(BINNAME) diff --git a/tools/misc/dumpdb.sh b/tools/misc/dumpdb.sh new file mode 100644 index 00000000..7fec9d50 --- /dev/null +++ b/tools/misc/dumpdb.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +home="/home/simon" +project="goprojects" +user="root" +password="1000omc@kp!" +host="192.168.2.119" +port="33066" +dbname="omc_db" +dumpdbdir=${home}/${project}/ems.agt/tools/misc +insdir=${home}/${project}/ems.agt/database/install +upgdir=${home}/${project}/ems.agt/database/upgrade +tables_c=tables_c.lst +tables_s=tables_s.lst + +#mysql -u ${user} -p${password} -D ${dbname} -e "show tables ; " > tables.lst + +# dump table struct and data +while read line + do + table=`echo $line | cut -d " " -f 1` + echo "dump ${table} to install & upgrade directory" + mysqldump -h ${host} -P ${port} -u ${user} -p${password} ${dbname} ${table} > ${insdir}/${table}.sql + mysqldump -h ${host} -P ${port} -u ${user} -p${password} ${dbname} ${table} > ${upgdir}/${table}.sql + done < ${dumpdbdir}/${tables_c} + +# dump table struct +while read line + do + table=`echo $line | cut -d " " -f 1` + echo "dump ${table} to install directory" + mysqldump -h ${host} -P ${port} -u ${user} -p${password} -d ${dbname} ${table} > ${insdir}/${table}.sql + done < ${dumpdbdir}/${tables_s} diff --git a/tools/misc/rsyncsmb.sh b/tools/misc/rsyncsmb.sh new file mode 100644 index 00000000..1b94cd3e --- /dev/null +++ b/tools/misc/rsyncsmb.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# 源目录(Windows目录) +SRC_DIR="192.168.2.119:/goprojects" +# 目标目录(Samba目录) +DST_DIR="/home/simon/goprojects" + +# 同步目录 +#rsync -avz --delete "$SRC_DIR/" "$DST_DIR/" +rsync -avz --delete --user=myuser --password-file=/path/to/password.txt "$SRC_DIR/" "$DST_DIR/" \ No newline at end of file diff --git a/tools/misc/tables_c.lst b/tools/misc/tables_c.lst new file mode 100644 index 00000000..d005cde3 --- /dev/null +++ b/tools/misc/tables_c.lst @@ -0,0 +1,15 @@ +alarm_define +cm_title +config +group +kpi_title +measure_title +menu +mml_command +mml_http_map +mml_subscriber +mml_system +param_config +title_info +trace_info +user_menu diff --git a/tools/misc/tables_s.lst b/tools/misc/tables_s.lst new file mode 100644 index 00000000..efb41bb3 --- /dev/null +++ b/tools/misc/tables_s.lst @@ -0,0 +1,39 @@ +4a_log +alarm +alarm_forward_log +alarm_log +alarm_relation +alarm_subscribe +event_log +gold_kpi +measure_data +measure_task +measure_threshold +mml_log +nbi_alarm_log +nbi_operation_log +nbi_secure_log +ne_backup +ne_info +ne_license +ne_link +ne_software +ne_state +ne_version +northbound_cm +northbound_pm +operation_log +param_value +pm_custom_data +pm_custom_title +rs_subscribe +security_log +session +system_log +trace_data +trace_task +permission +role_permission +role +user +user_role diff --git a/tools/websocket/load.go b/tools/websocket/load.go new file mode 100644 index 00000000..3bf64355 --- /dev/null +++ b/tools/websocket/load.go @@ -0,0 +1,94 @@ +package main + +import ( + "flag" + "fmt" + "io/ioutil" + "os" + "strings" + + "ems.agt/lib/log" + "gopkg.in/yaml.v3" +) + +// Yaml struct of config +type YamlConfig struct { + Logger struct { + File string `yaml:"file"` + Level string `yaml:"level"` + Duration int `yaml:"duration"` + } + + Rest struct { + BindIP string `yaml:"bindip"` + Port uint16 `yaml:"port"` + } +} + +var yamlConfig YamlConfig + +func ReadConfig(configFile string) { + yamlFile, err := ioutil.ReadFile(configFile) + if err != nil { + fmt.Printf("ioutil.ReadFile %s err %v", configFile, err) + } + // fmt.Println("yamlfile:", string(yamlFile)) + + err = yaml.Unmarshal(yamlFile, &yamlConfig) + if err != nil { + fmt.Printf("Unmarshal: %v when to struct", err) + } +} + +func GetYamlConfig() *YamlConfig { + return &yamlConfig +} + +func GetLogLevel() log.LogLevel { + var logLevel log.LogLevel + switch strings.ToLower(yamlConfig.Logger.Level) { + case "trace": + logLevel = log.LOG_TRACE + case "info": + logLevel = log.LOG_INFO + case "debug": + logLevel = log.LOG_DEBUG + case "warn": + logLevel = log.LOG_WARN + case "error": + logLevel = log.LOG_ERROR + case "fatal": + logLevel = log.LOG_FATAL + case "off": + logLevel = log.LOG_OFF + default: + logLevel = log.LOG_DEBUG + } + return logLevel +} + +const defaultConfigFile = "./tt.yaml" + +var ( + version string + buildTime string + goVer string +) + +func init() { + cfile := flag.String("c", defaultConfigFile, "config file") + pv := flag.Bool("v", false, "print version") + ph := flag.Bool("h", false, "print help") + + flag.Parse() + if *pv { + fmt.Printf("OMC version: %s\n%s\n%s\n\n", version, buildTime, goVer) + os.Exit(0) + } + if *ph { + flag.Usage() + os.Exit(0) + } + + ReadConfig(*cfile) +} diff --git a/tools/websocket/tt.go b/tools/websocket/tt.go new file mode 100644 index 00000000..9a24c5ce --- /dev/null +++ b/tools/websocket/tt.go @@ -0,0 +1,87 @@ +package main + +import ( + "fmt" + "net" + "os" + "time" + + "ems.agt/lib/log" +) + +const ( + //经过测试,linux下,延时需要大于100ms + TIME_DELAY_AFTER_WRITE = 500 //500ms +) + +func main() { + log.InitLogger(yamlConfig.Logger.File, yamlConfig.Logger.Duration, "omc:tt", GetLogLevel()) + fmt.Printf("OMC tt version: %s\n", version) + log.Infof("========================= OMC tt startup =========================") + log.Infof("OMC tt version: %s %s %s", version, buildTime, goVer) + + conn, err := net.Dial("tcp", "192.168.4.233:4100") + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + var buf [8192]byte + var n int + + n, err = conn.Write([]byte("admin\nadmin\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE) + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + log.Debug(string(buf[0:n])) + + n, err = conn.Write([]byte("date\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE) + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + log.Debug(string(buf[0 : n-5])) + + /* + n, err = conn.Write([]byte("\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE) + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + log.Debug(string(buf[0:n])) + + log.Debug(string(buf[0:n])) + */ + /* n, err = conn.Write([]byte("\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + */ +} diff --git a/tools/websocket/tt.yaml b/tools/websocket/tt.yaml new file mode 100644 index 00000000..07b5a159 --- /dev/null +++ b/tools/websocket/tt.yaml @@ -0,0 +1,15 @@ +logger: + file: ./tt.log + level: trace + +rest: + addr: 0.0.0.0 + port: 3040 + +database: + type: mysql + user: root + password: 1000omc@kp! + host: 127.0.0.1 + port: 33066 + name: omc_db diff --git a/tools/websocket/ttt.go b/tools/websocket/ttt.go new file mode 100644 index 00000000..db761727 --- /dev/null +++ b/tools/websocket/ttt.go @@ -0,0 +1,11 @@ +package main + +import ( + "github.com/reiver/go-telnet" +) + +func main() { + var caller telnet.Caller = telnet.StandardCaller + + telnet.DialToAndCall("192.168.4.233:4100", caller) +} diff --git a/tools/websocket/websocket.go b/tools/websocket/websocket.go new file mode 100644 index 00000000..011d3fef --- /dev/null +++ b/tools/websocket/websocket.go @@ -0,0 +1,301 @@ +package main + +import ( + "fmt" + "io" + "net" + "net/http" + "os" + "time" + + "github.com/gin-gonic/gin" + "github.com/go-admin-team/go-admin-core/sdk/api" + "github.com/gorilla/websocket" + "github.com/ziutek/telnet" + "golang.org/x/crypto/ssh" + "golang.org/x/crypto/ssh/terminal" +) + +type TgWs struct { + api.Api +} + +var upGrader = websocket.Upgrader{ + ReadBufferSize: 1024, + WriteBufferSize: 1024 * 1024 * 10, + CheckOrigin: func(r *http.Request) bool { + return true + }, +} + +type ShellInfoStruct struct { + Proto string `json:"proto"` + IpAddr string `json:"ipaddr"` + Port string `json:"port"` +} + +type wsWrapper struct { + *websocket.Conn +} + +func main() { + telnetHandle(rw io.ReadWriter, ip, port string, errhandle func(string)) { + +} + +func init() { + routerCheckRole = append(routerCheckRole, registerTgWsRouter) +} + +// 需认证的路由代码 +func registerTgWsRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) { + api := apis.TgWs{} + r := v1.Group("") + { + // 协议、IP、端口 + r.GET("/tgws/:proto/:ipaddr/:port", api.TgWsWeb) + } +} + +func (e TgWs) TgWsWeb(c *gin.Context) { + // 初始化返回信息 + err := e.MakeContext(c).Errors + if err != nil { + e.Logger.Error(err) + e.Error(500, err, fmt.Sprintf(" %s ", err.Error())) + return + } + + // 升级为websocket + wsConn, err := upGrader.Upgrade(c.Writer, c.Request, nil) + if err != nil { + e.Logger.Error(err) + e.Error(500, err, "websocket client connect error") + return + } + defer wsConn.Close() + + proto := c.Param("proto") + ipaddr := c.Param("ipaddr") + port := c.Param("port") + shellinfo := ShellInfoStruct{ + Proto: proto, + IpAddr: ipaddr, + Port: port, + } + quitChan := make(chan bool, 1) + go websocketHandle(wsConn, shellinfo, quitChan) + <-quitChan +} + +func websocketHandle(con *websocket.Conn, shellinfo ShellInfoStruct, exitCh chan bool) { + defer setQuit(exitCh) + rw := io.ReadWriter(&wsWrapper{con}) + webprintln := func(data string) { + rw.Write([]byte(data + "\r\n")) + } + con.SetCloseHandler(func(code int, text string) error { + con.Close() + return nil + }) + switch shellinfo.Proto { + case "ssh": + sshHandle(rw, shellinfo.IpAddr, shellinfo.Port, "XXX", "XXX", webprintln) + case "telnet": + telnetHandle(rw, shellinfo.IpAddr, shellinfo.Port, webprintln) + case "bind_shell": + bindShellHandler(rw, shellinfo.IpAddr, shellinfo.Port, webprintln) + default: + webprintln("Not Support Protocol '" + shellinfo.Proto + "'") + } + return +} + +func (wsw *wsWrapper) Write(p []byte) (n int, err error) { + writer, err := wsw.Conn.NextWriter(websocket.TextMessage) + if err != nil { + return 0, err + } + defer writer.Close() + return writer.Write(p) +} + +func (wsw *wsWrapper) Read(p []byte) (n int, err error) { + for { + msgType, reader, err := wsw.Conn.NextReader() + if err != nil { + return 0, err + } + if msgType != websocket.TextMessage { + continue + } + return reader.Read(p) + } +} + +// SSH连接 +func sshHandle(rw io.ReadWriter, ip, port, user, passwd string, errhandle func(string)) { + sshConfig := &ssh.ClientConfig{ + User: user, + Auth: []ssh.AuthMethod{ssh.Password(passwd)}, + Timeout: 6 * time.Second, + } + sshConfig.HostKeyCallback = ssh.InsecureIgnoreHostKey() + if port == "" { + ip = ip + ":22" + } else { + ip = ip + ":" + port + } + client, err := ssh.Dial("tcp", ip, sshConfig) + if err != nil { + errhandle(err.Error()) + return + } + defer client.Close() + session, err := client.NewSession() + if err != nil { + errhandle(err.Error()) + return + } + defer session.Close() + fd := int(os.Stdin.Fd()) + session.Stdout = rw + session.Stderr = rw + session.Stdin = rw + modes := ssh.TerminalModes{ + ssh.ECHO: 1, + ssh.TTY_OP_ISPEED: 14400, + ssh.TTY_OP_OSPEED: 14400, + } + termWidth, termHeight, err := terminal.GetSize(fd) + err = session.RequestPty("xterm", termHeight, termWidth, modes) + if err != nil { + errhandle(err.Error()) + } + err = session.Shell() + if err != nil { + errhandle(err.Error()) + } + err = session.Wait() + if err != nil { + errhandle(err.Error()) + } + return +} + +// telnet连接 +func telnetHandle(rw io.ReadWriter, ip, port string, errhandle func(string)) { + if port == "" { + ip = ip + ":23" + } else { + ip = ip + ":" + port + } + con, err := telnet.Dial("tcp", ip) + if err != nil { + errhandle(err.Error()) + return + } + defer con.Close() + buf := make([]byte, 16*1024) + + // 从远端读取返回结果并回显页面 + go func() { + for { + n, err := con.Read(buf) + if err != nil { + errhandle(err.Error()) + break + } + _, err = rw.Write(buf[:n]) + if err != nil { + errhandle(err.Error()) + break + } + } + }() + + for { + // 从页面读取命令 + n, err := rw.Read(buf) + if err != nil { + errhandle(err.Error()) + break + } + if buf[0] == 13 { // 处理换行 + data := []byte{telnet.CR, telnet.LF} + _, err = con.Write(data) + } else { + _, err = con.Write(buf[:n]) + } + if err != nil { + errhandle(err.Error()) + break + } + } + return +} + +// 正向shell +func bindShellHandler(rw io.ReadWriter, ip, port string, errhandle func(string)) { + server := ip + ":" + port + //获取命令行参数 socket地址 + addr, err := net.ResolveTCPAddr("tcp4", server) + if err != nil { + errhandle(err.Error()) + return + } + //建立tcp连接 + con, err := net.DialTCP("tcp4", nil, addr) + if err != nil { + errhandle(err.Error()) + return + } + rw.Write([]byte("reverse shell connected " + "\r\n")) + defer con.Close() + buf := make([]byte, 16*1024) + + go func() { + for { + n, err := con.Read(buf) + if err != nil { + errhandle(err.Error()) + break + } + _, err = rw.Write(buf[:n]) + if err != nil { + errhandle(err.Error()) + break + } + } + }() + + for { + n, err := rw.Read(buf) + if err != nil { + errhandle(err.Error()) + break + } + _, err = rw.Write(buf[:n]) + if err != nil { + errhandle(err.Error()) + break + } + + if buf[0] == 13 { + data := []byte{telnet.LF} + _, err = con.Write(data) + rw.Write([]byte("\r\n")) + } else { + _, err = con.Write(buf[:n]) + } + if err != nil { + errhandle(err.Error()) + break + } + } + return +} + +func setQuit(ch chan bool) { + ch <- true +} diff --git a/tools/websocket/webtel.go b/tools/websocket/webtel.go new file mode 100644 index 00000000..9fe3ad62 --- /dev/null +++ b/tools/websocket/webtel.go @@ -0,0 +1,290 @@ +package main + +import ( + "fmt" + "net" + "os" +) + +func main() { + conn, err := net.Dial("tcp", "192.168.4.233:4100") + if err != nil { + fmt.Sprint(os.Stderr, "Error: %s", err.Error()) + return + } + + var buf [16192]byte + /* + // for { + n, err := conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + */ + n, err := conn.Write([]byte("admin\nadmin\n\ndate\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + /* + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + n, err = conn.Write([]byte("admin\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s\n", err.Error()) + return + } + */ + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println((string(buf[0:n]))) + fmt.Println(string(buf[0:n])) + + n, err = conn.Write([]byte("date\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s\n", err.Error()) + return + } + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println((string(buf[0:n]))) + fmt.Println(string(buf[0:n])) + + /* + buf[1] = 252 + buf[4] = 252 + buf[7] = 252 + buf[10] = 252 + fmt.Println((buf[0:n])) + n, err = conn.Write(buf[0:n]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s\n", err.Error()) + return + } + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + fmt.Println((buf[0:n])) + */ + /* + buf[1] = 252 + buf[4] = 251 + buf[7] = 252 + buf[10] = 254 + buf[13] = 252 + fmt.Println((buf[0:n])) + n, err = conn.Write(buf[0:n]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s\n", err.Error()) + return + } + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + fmt.Println((buf[0:n])) + + buf[1] = 252 + buf[4] = 252 + fmt.Println((buf[0:n])) + n, err = conn.Write(buf[0:n]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s\n", err.Error()) + return + } + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + fmt.Println((buf[0:n])) + */ + /* + buf[0] = 255 + buf[1] = 252 + buf[2] = 1 + buf[3] = 255 + buf[4] = 253 + buf[5] = 1 + buf[6] = 255 + buf[7] = 252 + buf[8] = 1 + buf[9] = 255 + buf[10] = 253 + buf[11] = 1 + fmt.Println((buf[0:12])) + n, err = conn.Write(buf[0:12]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s\n", err.Error()) + return + } + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + */ + /* + n, err = conn.Write([]byte("admin\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s\n", err.Error()) + return + } + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + + fmt.Println(string(buf[0:n])) + + n, err = conn.Write([]byte("\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s\n", err.Error()) + return + } + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + + for { + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + if strings.HasSuffix(string(buf[0:n]), "> ") { + break + } + } + + n, err = conn.Write([]byte("enable\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + + n, err = conn.Write([]byte("terminal length 0\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + + n, err = conn.Write([]byte("show port\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + + for { + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + if strings.HasSuffix(string(buf[0:n]), "# ") { + break + } + } + + n, err = conn.Write([]byte("show interface\n\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + + for { + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + if strings.HasSuffix(string(buf[0:n]), "# ") { + break + } + } + + n, err = conn.Write([]byte("show running-config\n")) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + + reader := bufio.NewReader(conn) + if reader == nil { + fmt.Fprintf(os.Stderr, "Create reader failed.") + } + + for { + n, err := reader.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + if strings.HasSuffix(string(buf[0:n]), "# ") { + break + } + } + */ + /* + for { + n, err = conn.Read(buf[0:]) + if err != nil { + fmt.Fprintf(os.Stderr, "Error: %s", err.Error()) + return + } + fmt.Println(string(buf[0:n])) + fmt.Println(n) + if strings.HasSuffix(string(buf[0:n]), "# ") { + break + } + + } + */ +} diff --git a/tools/websocket/webtelnet.go b/tools/websocket/webtelnet.go new file mode 100644 index 00000000..41b066c3 --- /dev/null +++ b/tools/websocket/webtelnet.go @@ -0,0 +1,218 @@ +package main + +import ( + "bufio" + "fmt" + "io" + "log" + "net" + "os" + "strings" + "time" +) + +type TelnetClient struct { + IP string + Port string + IsAuthentication bool + UserName string + Password string +} + +const ( + //经过测试,linux下,延时需要大于100ms + TIME_DELAY_AFTER_WRITE = 500 //500ms +) + +var g_WriteChan chan string + +func main() { + g_WriteChan = make(chan string) + telnetClientObj := new(TelnetClient) + telnetClientObj.IP = "192.168.4.233" + telnetClientObj.Port = "4100" + telnetClientObj.IsAuthentication = true + telnetClientObj.UserName = "admin" + telnetClientObj.Password = "admin" + //fmt.Println(telnetClientObj.PortIsOpen(5)) + go telnetClientObj.Telnet(20) + + for { + line := readLine() + g_WriteChan <- string(line) + } +} + +func readLine() string { + //fmt.Print("> ") + line, err := bufio.NewReader(os.Stdin).ReadString('\n') + if err != nil && err != io.EOF { + log.Fatal(err) + } + return strings.TrimSpace(line) +} + +func (this *TelnetClient) PortIsOpen(timeout int) bool { + raddr := this.IP + ":" + this.Port + conn, err := net.DialTimeout("tcp", raddr, time.Duration(timeout)*time.Second) + if nil != err { + log.Println("pkg: model, func: PortIsOpen, method: net.DialTimeout, errInfo:", err) + return false + } + defer conn.Close() + return true +} + +func (this *TelnetClient) Telnet(timeout int) (err error) { + raddr := this.IP + ":" + this.Port + conn, err := net.DialTimeout("tcp", raddr, time.Duration(timeout)*time.Second) + if nil != err { + log.Println("pkg: model, func: Telnet, method: net.DialTimeout, errInfo:", err) + return + } + defer conn.Close() + if false == this.telnetProtocolHandshake(conn) { + log.Println("pkg: model, func: Telnet, method: this.telnetProtocolHandshake, errInfo: telnet protocol handshake failed!!!") + return + } + go func() { + for { + data := make([]byte, 1024) + _, err := conn.Read(data) + if err != nil { + fmt.Println(err) + break + } + //strData := string(data) + fmt.Printf("%s", data) + } + }() + + // conn.SetReadDeadline(time.Now().Add(time.Second * 30)) + for { + select { + case cmd, _ := <-g_WriteChan: + _, err = conn.Write([]byte(cmd + "\n")) + if nil != err { + log.Println("pkg: model, func: Telnet, method: conn.Write, errInfo:", err) + return + } + break + default: + time.Sleep(100 * time.Millisecond) + continue + } + } + fmt.Println("Out telnet!!!!!!") + return +} + +func (this *TelnetClient) telnetProtocolHandshake(conn net.Conn) bool { + var buf [4096]byte + n, err := conn.Read(buf[0:]) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Read, errInfo:", err) + return false + } + //fmt.Println(string(buf[0:n])) + //fmt.Println((buf[0:n])) + + buf[1] = 252 + buf[4] = 252 + buf[7] = 252 + buf[10] = 252 + //fmt.Println((buf[0:n])) + n, err = conn.Write(buf[0:n]) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Write, errInfo:", err) + return false + } + + n, err = conn.Read(buf[0:]) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Read, errInfo:", err) + return false + } + //fmt.Println(string(buf[0:n])) + //fmt.Println((buf[0:n])) + + buf[1] = 252 + buf[4] = 251 + buf[7] = 252 + buf[10] = 254 + buf[13] = 252 + fmt.Println((buf[0:n])) + n, err = conn.Write(buf[0:n]) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Write, errInfo:", err) + return false + } + + n, err = conn.Read(buf[0:]) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Read, errInfo:", err) + return false + } + //fmt.Println(string(buf[0:n])) + //fmt.Println((buf[0:n])) + + buf[1] = 252 + buf[4] = 252 + //fmt.Println((buf[0:n])) + n, err = conn.Write(buf[0:n]) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Write, errInfo:", err) + return false + } + + n, err = conn.Read(buf[0:]) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Read, errInfo:", err) + return false + } + //fmt.Println(string(buf[0:n])) + //fmt.Println((buf[0:n])) + + if false == this.IsAuthentication { + return true + } + + n, err = conn.Write([]byte(this.UserName + "\n")) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Write, errInfo:", err) + return false + } + time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE) + + n, err = conn.Read(buf[0:]) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Read, errInfo:", err) + return false + } + //fmt.Println(string(buf[0:n])) + + n, err = conn.Write([]byte(this.Password + "\n")) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Write, errInfo:", err) + return false + } + n, err = conn.Read(buf[0:]) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Read, errInfo:", err) + return false + } + n, err = conn.Write([]byte("date" + "\n")) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Write, errInfo:", err) + return false + } + time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE) + + n, err = conn.Read(buf[0:]) + if nil != err { + log.Println("pkg: model, func: telnetProtocolHandshake, method: conn.Read, errInfo:", err) + return false + } + fmt.Println(string(buf[0:n])) + return true +} diff --git a/tools/xgen/cm-schema.xsd.go b/tools/xgen/cm-schema.xsd.go new file mode 100644 index 00000000..a24b9b2a --- /dev/null +++ b/tools/xgen/cm-schema.xsd.go @@ -0,0 +1,58 @@ +// Code generated by xgen. DO NOT EDIT. + +package schema + +// FileHeader ... +type FileHeader struct { + TimeStamp string `xml:"TimeStamp"` + TimeZone string `xml:"TimeZone"` + VendorName string `xml:"VendorName"` + ElementType string `xml:"ElementType"` + CmVersion string `xml:"CmVersion"` +} + +// N ... +type N struct { + IAttr int `xml:"i,attr"` + Value string `xml:",chardata"` +} + +// FieldName ... +type FieldName struct { + N *N `xml:"N"` +} + +// V ... +type V struct { + IAttr int `xml:"i,attr"` + Value string `xml:",chardata"` +} + +// Object ... +type Object struct { + RmUIDAttr string `xml:"rmUID,attr"` + DnAttr string `xml:"Dn,attr,omitempty"` + UserLabelAttr string `xml:"UserLabel,attr,omitempty"` + PVFlagAttr string `xml:"PVFlag,attr"` + VMIDAttr string `xml:"VMID,attr,omitempty"` + VNFInstanceIDAttr string `xml:"VNFInstanceID,attr,omitempty"` + V *V `xml:"V"` +} + +// FieldValue ... +type FieldValue struct { + Object *Object `xml:"Object"` +} + +// Objects ... +type Objects struct { + ObjectType string `xml:"ObjectType"` + FieldName *FieldName `xml:"FieldName"` + FieldValue *FieldValue `xml:"FieldValue"` +} + +// DataFile ... +type DataFile struct { + FileHeader *FileHeader `xml:"FileHeader"` + Objects []*Objects `xml:"Objects"` +} diff --git a/tools/xgen/pm-schema.xsd.go b/tools/xgen/pm-schema.xsd.go new file mode 100644 index 00000000..7a12f2c4 --- /dev/null +++ b/tools/xgen/pm-schema.xsd.go @@ -0,0 +1,65 @@ +// Code generated by xgen. DO NOT EDIT. + +package schema + +// FileHeader ... +type FileHeader struct { + TimeStamp string `xml:"TimeStamp"` + TimeZone string `xml:"TimeZone"` + Period int `xml:"Period"` + VendorName string `xml:"VendorName"` + ElementType string `xml:"ElementType"` + PmVersion string `xml:"PmVersion"` + StartTime string `xml:"StartTime"` +} + +// N ... +type N struct { + IAttr int `xml:"i,attr"` + Value string `xml:",chardata"` +} + +// PmName ... +type PmName struct { + N *N `xml:"N"` +} + +// V ... +type V struct { + IAttr int `xml:"i,attr"` + Value string `xml:",chardata"` +} + +// CV ... +type CV struct { + IAttr int `xml:"i,attr"` + SN []string `xml:"SN"` + SV []string `xml:"SV"` +} + +// Object ... +type Object struct { + RmUIDAttr string `xml:"rmUID,attr"` + DnAttr string `xml:"Dn,attr"` + UserLabelAttr string `xml:"UserLabel,attr"` + V []*V `xml:"V"` + CV []*CV `xml:"CV"` +} + +// PmData ... +type PmData struct { + Object *Object `xml:"Object"` +} + +// Measurements ... +type Measurements struct { + ObjectType string `xml:"ObjectType"` + PmName *PmName `xml:"PmName"` + PmData *PmData `xml:"PmData"` +} + +// PmFile ... +type PmFile struct { + FileHeader *FileHeader `xml:"FileHeader"` + Measurements []*Measurements `xml:"Measurements"` +} diff --git a/tools/xgen/xgen.go b/tools/xgen/xgen.go new file mode 100644 index 00000000..fa454052 --- /dev/null +++ b/tools/xgen/xgen.go @@ -0,0 +1,128 @@ +// Copyright 2020 - 2022 The xgen Authors. All rights reserved. Use of this +// source code is governed by a BSD-style license that can be found in the +// LICENSE file. +// +// xgen is a tool to automatically compiles XML schema files into the +// multi-language type or class declarations code. +// +// Usage: +// +// $ xgen [ ...] ... +// -i Input file path or directory for the XML schema definition +// -o Output file path or directory for the generated code +// -p Specify the package name +// -l Specify the language of generated code (Go/C/Java/Rust/TypeScript) +// -h Output this help and exit +// -v Output version and exit +// +// If the path specified by the -i flag is a directory, all files in the +// directory will be processed as XML schema definition. +// +// The default package name and output directory are "schema" and "xgen_out". +// +// Currently support language is Go. + +package main + +import ( + "flag" + "fmt" + "os" + + "github.com/xuri/xgen" +) + +// Config holds user-defined overrides and filters that are used when +// generating source code from an XSD document. +type Config struct { + I string + O string + Pkg string + Lang string + Version string +} + +// Cfg are the default config for xgen. The default package name and output +// directory are "schema" and "xgen_out". +var Cfg = Config{ + Pkg: "schema", + Version: "0.1.0", +} + +// SupportLang defines supported language types. +var SupportLang = map[string]bool{ + "Go": true, + "C": true, + "Java": true, + "Rust": true, + "TypeScript": true, +} + +// parseFlags parse flags of program. +func parseFlags() *Config { + iPtr := flag.String("i", "", "Input file path or directory for the XML schema definition") + oPtr := flag.String("o", "xgen_out", "Output file path or directory for the generated code") + pkgPtr := flag.String("p", "", "Specify the package name") + langPtr := flag.String("l", "", "Specify the language of generated code") + verPtr := flag.Bool("v", false, "Show version and exit") + helpPtr := flag.Bool("h", false, "Show this help and exit") + flag.Parse() + if *helpPtr { + fmt.Printf("xgen version: %s\r\nCopyright (c) 2020 - 2022 Ri Xu https://xuri.me All rights reserved.\r\n\r\nUsage:\r\n$ xgen [ ...] ...\n -i \tInput file path or directory for the XML schema definition\r\n -o \tOutput file path or directory for the generated code\r\n -p \tSpecify the package name\r\n -l \tSpecify the language of generated code (Go/C/Java/Rust/TypeScript)\r\n -h \tOutput this help and exit\r\n -v \tOutput version and exit\r\n", Cfg.Version) + os.Exit(0) + } + if *verPtr { + fmt.Printf("xgen version: %s\r\n", Cfg.Version) + os.Exit(0) + } + if *iPtr == "" { + fmt.Println("must specify input file path or directory for the XML schema definition") + os.Exit(1) + } + Cfg.I = *iPtr + if *langPtr == "" { + fmt.Println("must specify the language of generated code (Go/C/Java/Rust/TypeScript)") + os.Exit(1) + } + Cfg.Lang = *langPtr + if *oPtr != "" { + Cfg.O = *oPtr + } + if ok := SupportLang[Cfg.Lang]; !ok { + fmt.Println("unsupport language", Cfg.Lang) + os.Exit(1) + } + if *pkgPtr != "" { + Cfg.Pkg = *pkgPtr + } + return &Cfg +} + +func main() { + cfg := parseFlags() + files, err := xgen.GetFileList(cfg.I) + if err != nil { + fmt.Println(err) + os.Exit(1) + } + for _, file := range files { + if err = xgen.NewParser(&xgen.Options{ + FilePath: file, + InputDir: cfg.I, + OutputDir: cfg.O, + Lang: cfg.Lang, + Package: cfg.Pkg, + IncludeMap: make(map[string]bool), + LocalNameNSMap: make(map[string]string), + NSSchemaLocationMap: make(map[string]string), + ParseFileList: make(map[string]bool), + ParseFileMap: make(map[string][]interface{}), + ProtoTree: make([]interface{}, 0), + RemoteSchema: make(map[string][]byte), + }).Parse(); err != nil { + fmt.Printf("process error on %s: %s\r\n", file, err.Error()) + os.Exit(1) + } + } + fmt.Println("done") +} diff --git a/tools/xsdgen/CM-HX-V16.1.1-20230517101617.xml b/tools/xsdgen/CM-HX-V16.1.1-20230517101617.xml new file mode 100644 index 00000000..e939f89d --- /dev/null +++ b/tools/xsdgen/CM-HX-V16.1.1-20230517101617.xml @@ -0,0 +1,48 @@ + + + + 2023-05-17 10:16:17 + UTC+8 + Ruijie Network + SMF + 16.1.1 + + + ManagedElement + + Id + Id + Id + Id + Id + Id + Id + Id + Id + + + + SMF + SMF + SMF + SMF + SMF + SMF + SMF + SMF + SMF + + + SMF + SMF + SMF + SMF + SMF + SMF + SMF + SMF + SMF + + + + \ No newline at end of file diff --git a/tools/xsdgen/cm-demo.xml b/tools/xsdgen/cm-demo.xml new file mode 100644 index 00000000..b8119e3d --- /dev/null +++ b/tools/xsdgen/cm-demo.xml @@ -0,0 +1,48 @@ + + + + 2023-05-17 09:57:17 + UTC+8 + Ruijie Network + SMF + 16.1.1 + + + ManagedElement + + Id + Id + Id + Id + Id + Id + Id + Id + Id + + + + SMF + SMF + SMF + SMF + SMF + SMF + SMF + SMF + SMF + + + SMF + SMF + SMF + SMF + SMF + SMF + SMF + SMF + SMF + + + + \ No newline at end of file diff --git a/tools/xsdgen/cm-schema.go b/tools/xsdgen/cm-schema.go new file mode 100644 index 00000000..2284f236 --- /dev/null +++ b/tools/xsdgen/cm-schema.go @@ -0,0 +1,66 @@ +// Code generated by xgen. DO NOT EDIT. + +package main + +// FileHeader ... +type FileHeader struct { + TimeStamp string `xml:"TimeStamp"` + TimeZone string `xml:"TimeZone"` + VendorName string `xml:"VendorName"` + ElementType string `xml:"ElementType"` + CmVersion string `xml:"CmVersion"` +} + +// N ... +type N struct { + IAttr int `xml:"i,attr"` + Value string `xml:",chardata"` +} + +// FieldName ... +type FieldName struct { + N []N `xml:"N"` +} + +// V ... +type V struct { + IAttr int `xml:"i,attr"` + Value string `xml:",chardata"` +} + +// Object ... +type Object struct { + RmUIDAttr string `xml:"rmUID,attr"` + DnAttr string `xml:"Dn,attr,omitempty"` + UserLabelAttr string `xml:"UserLabel,attr,omitempty"` + PVFlagAttr string `xml:"PVFlag,attr"` + VMIDAttr string `xml:"VMID,attr,omitempty"` + VNFInstanceIDAttr string `xml:"VNFInstanceID,attr,omitempty"` + V []V `xml:"V"` +} + +// FieldValue ... +type FieldValue struct { + Object []Object `xml:"Object"` +} + +// Objects ... +type Objects struct { + ObjectType string `xml:"ObjectType"` + FieldName FieldName `xml:"FieldName"` + FieldValue FieldValue `xml:"FieldValue"` +} + +// DataFile ... +type DataFile struct { + FileHeader FileHeader `xml:"FileHeader"` + Objects Objects `xml:"Objects"` + XsiAttr string `xml:"xmlns:xsi,attr"` + XsiLoc string `xml:"xsi:noNamespaceSchemaLocation,attr"` +} + +// NRM xml file +type NRMXmlFile struct { + Header string `xml:"Header"` + DataFile DataFile `xml:"xmlns:xsi"` +} diff --git a/tools/xsdgen/cm-schema.xsd b/tools/xsdgen/cm-schema.xsd new file mode 100644 index 00000000..5e7e46c9 --- /dev/null +++ b/tools/xsdgen/cm-schema.xsd @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/xsdgen/genxml.go b/tools/xsdgen/genxml.go new file mode 100644 index 00000000..e40c184e --- /dev/null +++ b/tools/xsdgen/genxml.go @@ -0,0 +1,66 @@ +package main + +import ( + "encoding/xml" + "fmt" + "io/ioutil" + "strconv" + "time" +) + +const ( + // Header is a generic XML header suitable for use with the output of Marshal. + // This is not automatically added to any output of this package, + // it is provided as a convenience. + Header = `` + "\n" +) + +func main() { + + t := time.Now() + timestamp := t.Format("2006-01-02 15:04:05") + timefile := t.Format("20060102150405") + _, offset := t.Zone() + var tzOffset string + if offset >= 0 { + tzOffset = "UTC+" + strconv.Itoa(offset/3600) + } else { + tzOffset = "UTC" + strconv.Itoa(offset/3600) + } + + nrmFile := new(DataFile) + + nrmFile.FileHeader = FileHeader{ + TimeStamp: timestamp, + TimeZone: tzOffset, + VendorName: "Ruijie Network", + ElementType: "SMF", + CmVersion: "16.1.1", + } + + nrmFile.XsiAttr = "http://www.w3.org/2001/XMLSchema-instance" + nrmFile.XsiLoc = "file:///usr/loal/omc/etc/schema/cm-schema.xsd" + nrmFile.Objects.ObjectType = "ManagedElement" + for i := 1; i < 10; i++ { + nrmFile.Objects.FieldName.N = append(nrmFile.Objects.FieldName.N, N{IAttr: i, Value: "Id"}) + } + object := Object{RmUIDAttr: "1000HXSMF001", + DnAttr: "DC=www.ruijie.com.cn,SubNetwork=10001,SubNetwork=114214,ManagedElement=325", + UserLabelAttr: "SMF_BJ_JC001", PVFlagAttr: "VNF", VMIDAttr: "kylin10.0-001-SMF", VNFInstanceIDAttr: "2bdd55b4-9018-41f4-af35-28b6828788"} + for i := 1; i < 10; i++ { + object.V = append(object.V, V{IAttr: i, Value: "SMF"}) + } + nrmFile.Objects.FieldValue.Object = append(nrmFile.Objects.FieldValue.Object, object) + object = Object{RmUIDAttr: "1000HXSMF002", + DnAttr: "DC=www.ruijie.com.cn,SubNetwork=10001,SubNetwork=114214,ManagedElement=325", + UserLabelAttr: "SMF_BJ_JC001", PVFlagAttr: "VNF", VMIDAttr: "kylin10.0-002-SMF", VNFInstanceIDAttr: "2bdd55b4-9018-41f4-af35-28b6828788"} + for i := 1; i < 10; i++ { + object.V = append(object.V, V{IAttr: i, Value: "SMF"}) + } + nrmFile.Objects.FieldValue.Object = append(nrmFile.Objects.FieldValue.Object, object) + + x, _ := xml.MarshalIndent(nrmFile, "", " ") + x = append([]byte(xml.Header), x...) + cmfile := fmt.Sprintf("./CM-HX-V%s-%s.xml", "16.1.1", timefile) + ioutil.WriteFile(cmfile, x, 0664) +} diff --git a/tools/xsdgen/pm-schema.xsd b/tools/xsdgen/pm-schema.xsd new file mode 100644 index 00000000..bb018401 --- /dev/null +++ b/tools/xsdgen/pm-schema.xsd @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/xsdgen/xsdgen.go b/tools/xsdgen/xsdgen.go new file mode 100644 index 00000000..7d929435 --- /dev/null +++ b/tools/xsdgen/xsdgen.go @@ -0,0 +1,3 @@ +// Code generated by xgen. DO NOT EDIT. + +package schema