/* * Copyright (c) 2020 AT&T Intellectual Property. * Copyright (c) 2020 Nokia. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * This source code is part of the near-RT RIC (RAN Intelligent Controller) * platform project (RICP). */ package alarm import ( "sync" "unsafe" ) import "C" // Severity for alarms type Severity string // Possible values for Severity const ( SeverityUnspecified Severity = "UNSPECIFIED" SeverityCritical Severity = "CRITICAL" SeverityMajor Severity = "MAJOR" SeverityMinor Severity = "MINOR" SeverityWarning Severity = "WARNING" SeverityCleared Severity = "CLEARED" SeverityDefault Severity = "DEFAULT" ) // Alarm object - see README for more information type Alarm struct { ManagedObjectId string `json:"managedObjectId"` ApplicationId string `json:"applicationId"` SpecificProblem int `json:"specificProblem"` PerceivedSeverity Severity `json:"perceivedSeverity"` AdditionalInfo string `json:"additionalInfo"` IdentifyingInfo string `json:"identifyingInfo"` } // Alarm actions type AlarmAction string // Possible values for alarm actions const ( AlarmActionRaise AlarmAction = "RAISE" AlarmActionClear AlarmAction = "CLEAR" AlarmActionClearAll AlarmAction = "CLEARALL" ) type AlarmMessage struct { Alarm AlarmAction AlarmTime int64 } // RICAlarm is an alarm instance type RICAlarm struct { moId string appId string rmrCtx unsafe.Pointer mutex sync.Mutex } const ( RIC_ALARM_UPDATE = 13111 RIC_ALARM_QUERY = 13112 ) // Temp alarm constants & definitions const ( RIC_RT_DISTRIBUTION_FAILED int = 8004 TCP_CONNECTIVITY_LOST_TO_DBAAS int = 8005 E2_CONNECTIVITY_LOST_TO_GNODEB int = 8006 E2_CONNECTIVITY_LOST_TO_ENODEB int = 8007 ) type AlarmDefinition struct { AlarmId int AlarmText string EventType string OperationInstructions string } var RICAlarmDefinitions = map[int]AlarmDefinition{ RIC_RT_DISTRIBUTION_FAILED: AlarmDefinition{ AlarmId: RIC_RT_DISTRIBUTION_FAILED, AlarmText: "RIC ROUTING TABLE DISTRIBUTION FAILED", EventType: "Processing error", OperationInstructions: "Not defined", }, TCP_CONNECTIVITY_LOST_TO_DBAAS: AlarmDefinition{ AlarmId: TCP_CONNECTIVITY_LOST_TO_DBAAS, AlarmText: "TCP CONNECTIVITY LOST TO DBAAS", EventType: "Communication error", OperationInstructions: "Not defined", }, E2_CONNECTIVITY_LOST_TO_GNODEB: AlarmDefinition{ AlarmId: E2_CONNECTIVITY_LOST_TO_GNODEB, AlarmText: "E2 CONNECTIVITY LOST TO G-NODEB", EventType: "Communication error", OperationInstructions: "Not defined", }, E2_CONNECTIVITY_LOST_TO_ENODEB: AlarmDefinition{ AlarmId: E2_CONNECTIVITY_LOST_TO_ENODEB, AlarmText: "E2 CONNECTIVITY LOST TO E-NODEB", EventType: "Communication error", OperationInstructions: "Not defined", }, }