A.3 Solution Set definitions
32.111-63GPPFault ManagementPart 6: Alarm Integration Reference Point (IRP): Solution Set (SS) definitionsRelease 17Telecommunication managementTS
A.3.1 IDL definition structure
Clause A.3.2 defines the constants and types used by the Alarm IRP.
Clause A.3.3 defines the operations which are performed by the Alarm IRP agent.
Clause A.3.4 defines the notifications which are emitted by the Alarm IRP agent.
A.3.2 IDL specification "AlarmIRPConstDefs.idl"
//File: AlarmIRPConstDefs.idl
#ifndef _ALARM_IRP_CONST_DEFS_IDL_
#define _ALARM_IRP_CONST_DEFS_IDL_
#include <CosNotification.idl>
#include <ManagedGenericIRPConstDefs.idl>
// This statement must appear after all include statements
#pragma prefix "3gppsa5.org"
/* ## Module: AlarmIRPConstDefs
This module contains commonly used definitions for Alarm IRP
================================================================
*/
module AlarmIRPConstDefs
{
/*
The format of Distinguished Name (DN) is specified in 3GPP TS 32.300
"Name Conventions for Managed Objects".
*/
typedef string DN;
/* DNOpt is an optional type.
If the discriminator is true the value is present.
Otherwise the value is null.
*/
union DNOpt switch (boolean)
{
case TRUE: DN value;
};
/*
This block identifies the alarm types specified for this IRP version.
These types carry the same semantics as the TMN ITU-T defined event
types of the same name.
Their encodings for this version of Alarm IRP are defined here. Other IRP
documents, or other versions of Alarm IRP, shall identify their own
alarm types for their use. They shall define their encodings
as well. Values defined here are unique among themselves.
*/
interface AlarmType
{
const string COMMUNICATIONS_ALARM = "x1";
const string PROCESSING_ERROR_ALARM = "x2";
const string ENVIRONMENTAL_ALARM = "x3";
const string QUALITY_OF_SERVICE_ALARM = "x4";
const string EQUIPMENT_ALARM = "x5";
const string INTEGRITY_VIOLATION = "x6";
const string OPERATIONAL_VIOLATION = "x7";
const string PHYSICAL_VIOLATION = "x8";
const string SECURITY_SERVICE_OR_MECHANISM_VIOLATION = "x9";
const string TIME_DOMAIN_VIOLATION = "x10";
};
/*
This block identifies the notification types defined by this
Alarm IRP version.
*/
interface NotificationType
{
const string NOTIFY_FM_NEW_ALARM = "x1";
const string NOTIFY_FM_CHANGED_ALARM = "x2";
const string NOTIFY_FM_ACK_STATE_CHANGED = "x3";
const string NOTIFY_FM_COMMENT_ADDED = "x4";
const string NOTIFY_FM_CLEARED_ALARM = "x5";
const string NOTIFY_FM_ALARM_LIST_REBUILT = "x6";
const string NOTIFY_FM_POTENTIAL_FAULTY_ALARM_LIST = "x7";
const string NOTIFY_FM_CORRELATED_NOTIFICATION_CHANGED = "x8";
const string NOTIFY_FM_CHANGED_ALARM_GENERAL = “x9";
};
/*
This block identifies the levels of severity.
*/
interface PerceivedSeverity
{
const short INDETERMINATE = 1;
const short CRITICAL = 2;
const short MAJOR = 3;
const short MINOR = 4;
const short WARNING = 5;
const short CLEARED = 6;
};
/*
This block identifies the probable cause of a reported alarm.
*/
interface ProbableCause
{
/*
Probable causes originating from M.3100.
Values below correspond to M.3100 values.
*/
const short INDETERMINATE = 0;
const short ALARM_INDICATION_SIGNAL = 1;
const short CALL_SETUP_FAILURE = 2;
const short DEGRADED_SIGNAL = 3;
const short FAR_END_RECEIVER_FAILURE = 4;
const short FRAMING_ERROR = 5;
const short LOSS_OF_FRAME = 6;
const short LOSS_OF_POINTER = 7;
const short LOSS_OF_SIGNAL = 8;
const short PAYLOAD_TYPE_MISMATCH = 9;
// Values 10 correspond to a duplicated probable cause
const short REMOTE_ALARM_INTERFACE = 11;
const short EXCESSIVE_BIT_ERROR_RATE = 12;
const short PATH_TRACE_MISMATCH = 13;
const short UNAVAILABLE = 14;
const short SIGNAL_LABEL_MISMATCH = 15;
const short LOSS_OF_MULTI_FRAME = 16;
const short COMMUNICATIONS_RECEIVE_FAILURE = 17;
const short COMMUNICATIONS_TRANSMIT_FAILURE = 18;
const short MODULATION_FAILURE = 19;
const short DEMODULATION_FAILURE = 20;
// Values 21-26 correspond to duplicated probable causes
// Values 27-50 are reserved for M.3100 potential future extensions
const short BACK_PLANE_FAILURE = 51;
const short DATA_SET_PROBLEM = 52;
const short EQUIPMENT_IDENTIFIER_DUPLICATION = 53;
const short EXTERNAL_IF_DEVICE_PROBLEM = 54;
const short LINE_CARD_PROBLEM = 55;
const short MULTIPLEXER_PROBLEM = 56;
const short NE_IDENTIFIER_DUPLICATION = 57;
const short POWER_PROBLEM = 58;
const short PROCESSOR_PROBLEM = 59;
const short PROTECTION_PATH_FAILURE = 60;
const short RECEIVER_FAILURE = 61;
const short REPLACEABLE_UNIT_MISSING = 62;
const short REPLACEABLE_UNIT_TYPE_MISMATCH = 63;
const short SYNCHRONIZATION_SOURCE_MISMATCH = 64;
const short TERMINAL_PROBLEM = 65;
const short TIMING_PROBLEM = 66;
const short TRANSMITTER_FAILURE = 67;
const short TRUNK_CARD_PROBLEM = 68;
const short REPLACEABLE_UNIT_PROBLEM = 69;
const short REAL_TIME_CLOCK_FAILURE = 70;
// Values 71-80 correspond to duplicated probable causes
const short PROTECTION_MECHANISM_FAILURE = 81;
const short PROTECTING_RESOURCE_FAILURE = 82;
// Values 83-100 are reserved for M.3100 potential future extensions
const short AIR_COMPRESSOR_FAILURE = 101;
const short AIR_CONDITIONING_FAILURE = 102;
const short AIR_DRYER_FAILURE = 103;
const short BATTERY_DISCHARGING = 104;
const short BATTERY_FAILURE = 105;
const short COMMERCIAL_POWER_FAILURE = 106;
const short COOLING_FAN_FAILURE = 107;
const short ENGINE_FAILURE = 108;
const short FIRE_DETECTOR_FAILURE = 109;
const short FUSE_FAILURE = 110;
const short GENERATOR_FAILURE = 111;
const short LOW_BATTERY_THRESHOLD = 112;
const short PUMP_FAILURE = 113;
const short RECTIFIER_FAILURE = 114;
const short RECTIFIER_HIGH_VOLTAGE = 115;
const short RECTIFIER_LOW_F_VOLTAGE = 116;
const short VENTILATION_SYSTEM_FAILURE = 117;
const short ENCLOSURE_DOOR_OPEN = 118;
const short EXPLOSIVE_GAS = 119;
const short FIRE = 120;
const short FLOOD = 121;
const short HIGH_HUMIDITY = 122;
const short HIGH_TEMPERATURE = 123;
const short HIGH_WIND = 124;
const short ICE_BUILD_UP = 125;
const short INTRUSION_DETECTION = 126;
const short LOW_FUEL = 127;
const short LOW_HUMIDITY = 128;
const short LOW_CABLE_PRESSURE = 129;
const short LOW_TEMPERATURE = 130;
const short LOW_WATER = 131;
const short SMOKE = 132;
const short TOXIC_GAS = 133;
// Values 134-135 correspond to duplicated probable causes
const short EXTERNAL_POINT_FAILURE = 136;
// Values 137-150 are reserved for potential M.3100 future extensions
const short STORAGE_CAPACITY_PROBLEM = 151;
const short MEMORY_MISMATCH = 152;
const short CORRUPT_DATA = 153;
const short OUT_OF_CPU_CYCLES = 154;
const short SOFTWARE_ENVIRONMENT_PROBLEM = 155;
const short SOFTWARE_DOWNLOAD_FAILURE = 156;
const short LOSS_OF_REAL_TIME = 157;
const short REINITIALIZED = 158;
// Values 159-167 correspond to duplicated probable causes
// Values 168-200 are reserved for potential M.3100 future extensions
// Values 201-202 correspond to duplicated probable causes
const short EXCESSIVE_ERROR_RATE = 203;
// Values 204-207 correspond to duplicated probable causes
// Values 208-300 are reserved for potential M.3100 future extensions
/*
Probable causes originating from X.721.
Values below correspond to X.721 values with an offset of 300.
*/
const short ADAPTER_ERROR = 301;
const short APPLICATION_SUBSYSTEM_FAILURE = 302;
const short BANDWIDTH_REDUCED = 303;
// Value 304 corresponds to a duplicated probable cause
const short COMMUNICATIONS_PROTOCOL_ERROR = 305;
const short COMMUNICATIONS_SUBSYSTEM_FAILURE = 306;
const short CONFIGURATION_OR_CUSTOMIZATION_ERROR = 307;
const short CONGESTION = 308;
// Value 309 corresponds to a duplicated probable cause
const short CPU_CYCLES_LIMIT_EXCEEDED = 310;
const short DATA_SET_OR_MODEM_ERROR = 311;
// Value 312 corresponds to a duplicated probable cause
const short DTE_DCE_INTERFACE_ERROR = 313;
// Value 314 corresponds to a duplicated probable cause
const short EQUIPMENT_MALFUNCTION = 315;
const short EXCESSIVE_VIBRATION = 316;
const short FILE_ERROR = 317;
// Values 318-320 correspond to duplicated probable causes
const short HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM = 321;
const short HUMIDITY_UNACCEPTABLE = 322;
const short INPUT_OUTPUT_DEVICE_ERROR = 323;
const short INPUT_DEVICE_ERROR = 324;
const short LAN_ERROR = 325;
const short LEAK_DETECTED = 326;
const short LOCAL_NODE_TRANSMISSION_ERROR = 327;
// Values 328-329 correspond to duplicated probable causes
const short MATERIAL_SUPPLY_EXHAUSTED = 330;
// Value 331 corresponds to a duplicated probable cause
const short OUT_OF_MEMORY = 332;
const short OUTPUT_DEVICE_ERROR = 333;
const short PERFORMANCE_DEGRADED = 334;
// Value 335 corresponds to a duplicated probable cause
const short PRESSURE_UNACCEPTABLE = 336;
// Values 337-338 correspond to duplicated probable causes
const short QUEUE_SIZE_EXCEEDED = 339;
const short RECEIVE_FAILURE = 340;
// Value 341 corresponds to a duplicated probable cause
const short REMOTE_NODE_TRANSMISSION_ERROR = 342;
const short RESOURCE_AT_OR_NEARING_CAPACITY = 343;
const short RESPONSE_TIME_EXCESSIVE = 344;
const short RETRANSMISSION_RATE_EXCESSIVE = 345;
const short SOFTWARE_ERROR = 346;
const short SOFTWARE_PROGRAM_ABNORMALLY_TERMINATED = 347;
const short SOFTWARE_PROGRAM_ERROR = 348;
// Value 349 corresponds to a duplicated probable cause
const short TEMPERATURE_UNACCEPTABLE = 350;
const short THRESHOLD_CROSSED = 351;
// Value 352 corresponds to a duplicated probable cause
const short TOXIC_LEAK_DETECTED = 353;
const short TRANSMIT_FAILURE = 354;
// Value 355 corresponds to a duplicated probable cause
const short UNDERLYING_RESOURCE_UNAVAILABLE = 356;
const short VERSION_MISMATCH = 357;
// Values 358-500 are reserved for potential X.721 future extensions
/*
Probable causes for 2G & 3G wireless systems.
*/
const short A_BIS_TO_BTS_INTERFACE_FAILURE = 501;
const short A_BIS_TO_TRX_INTERFACE_FAILURE = 502;
const short ANTENNA_PROBLEM = 503;
const short BATTERY_BREAKDOWN = 504;
const short BATTERY_CHARGING_FAULT = 505;
const short CLOCK_SYNCHRONIZATION_PROBLEM = 506;
const short COMBINER_PROBLEM = 507;
const short DISK_PROBLEM = 508;
// Value 509 corresponds to a duplicated probable cause
const short EXCESSIVE_RECEIVER_TEMPERATURE = 510;
const short EXCESSIVE_TRANSMITTER_OUTPUT_POWER = 511;
const short EXCESSIVE_TRANSMITTER_TEMPERATURE = 512;
const short FREQUENCY_HOPPING_DEGRADED = 513;
const short FREQUENCY_HOPPING_FAILURE = 514;
const short FREQUENCY_REDEFINITION_FAILED = 515;
const short LINE_INTERFACE_FAILURE = 516;
const short LINK_FAILURE = 517;
const short LOSS_OF_SYNCHRONIZATION = 518;
const short LOST_REDUNDANCY = 519;
const short MAINS_BREAKDOWN_WITH_BATTERY_BACKUP = 520;
const short MAINS_BREAKDOWN_WITHOUT_BATTERY_BACKUP = 521;
const short POWER_SUPPLY_FAILURE = 522;
const short RECEIVER_ANTENNA_FAULT = 523;
// Value 524 corresponds to a duplicated probable cause
const short RECEIVER_MULTICOUPLER_FAILURE = 525;
const short REDUCED_TRANSMITTER_OUTPUT_POWER = 526;
const short SIGNAL_QUALITY_EVALUATION_FAULT = 527;
const short TIMESLOT_HARDWARE_FAILURE = 528;
const short TRANSCEIVER_PROBLEM = 529;
const short TRANSCODER_PROBLEM = 530;
const short TRANSCODER_OR_RATE_ADAPTER_PROBLEM = 531;
const short TRANSMITTER_ANTENNA_FAILURE = 532;
const short TRANSMITTER_ANTENNA_NOT_ADJUSTED = 533;
// Value 534 corresponds to a duplicated probable cause
const short TRANSMITTER_LOW_VOLTAGE_OR_CURRENT = 535;
const short TRANSMITTER_OFF_FREQUENCY = 536;
const short DATABASE_INCONSISTENCY = 537;
const short FILE_SYSTEM_CALL_UNSUCCESSFUL = 538;
const short INPUT_PARAMETER_OUT_OF_RANGE = 539;
const short INVALID_PARAMETER = 540;
const short INVALID_POINTER = 541;
const short MESSAGE_NOT_EXPECTED = 542;
const short MESSAGE_NOT_INITIALIZED = 543;
const short MESSAGE_OUT_OF_SEQUENCE = 544;
const short SYSTEM_CALL_UNSUCCESSFUL = 545;
const short TIMEOUT_EXPIRED = 546;
const short VARIABLE_OUT_OF_RANGE = 547;
const short WATCH_DOG_TIMER_EXPIRED = 548;
const short COOLING_SYSTEM_FAILURE = 549;
const short EXTERNAL_EQUIPMENT_FAILURE = 550;
const short EXTERNAL_POWER_SUPPLY_FAILURE = 551;
const short EXTERNAL_TRANSMISSION_DEVICE_FAILURE = 552;
// Values 553-560 correspond to duplicated probable causes
const short REDUCED_ALARM_REPORTING = 561;
const short REDUCED_EVENT_REPORTING = 562;
const short RECUCED_LOGGING_CAPABILITY = 563;
const short SYSTEM_RESOURCES_OVERLOAD = 564;
const short BROADCAST_CHANNEL_FAILURE = 565;
const short CONNECTION_ESTABLISHMENT_ERROR = 566;
const short INVALID_MESSAGE_RECEIVED = 567;
const short INVALID_MSU_RECEIVED = 568;
const short LAPD_LINK_PROTOCOL_FAILURE = 569;
const short LOCAL_ALARM_INDICATION = 570;
const short REMOTE_ALARM_INDICATION = 571;
const short ROUTING_FAILURE = 572;
const short SS7_PROTOCOL_FAILURE = 573;
const short TRANSMISSION_ERROR = 574;
// Value 575 corresponds to a duplicated probable cause
// Values 576-700 are reserved for potential future extensions
// for 2G & 3G wireless systems
/*
Probable causes originating from M.3100 security alarm causes.
Values below correspond to M.3100 values with an offset of 700.
*/
const short AUTHENTICATION_FAILURE = 701;
const short BREACH_OF_CONFIDENTIALITY = 702;
const short CABLE_TAMPER = 703;
const short DELAYED_INFORMATION = 704;
const short DENIAL_OF_SERVICE = 705;
const short DUPLICATE_INFORMATION = 706;
const short INFORMATION_MISSING = 707;
const short INFORMATION_MODIFICATION_DETECTED = 708;
const short INFORMATION_OUT_OF_SEQUENCE = 709;
// Value 710 corresponds to a duplicated probable cause
const short KEY_EXPIRED = 711;
const short NON_REPUDIATION_FAILURE = 712;
const short OUT_OF_HOURS_ACTIVITY = 713;
const short OUT_OF_SERVICE = 714;
const short PROCEDURAL_ERROR = 715;
const short UNAUTHORISED_ACCESS_ATTEMPT = 716;
const short UNEXPECTED_INFORMATION = 717;
const short UNSPECIFIED_REASON = 718;
// Values 719-800 are reserved for potential M.3100 future extensions
};
/*
It indicates that this AlarmInformation is the root cause of the events captured by the notifications whose identifiers are in the related CorrelatedNotification instances.
*/
typedef boolean RootCauseIndicator;
/*
This block identifies the acknowledgement state of a reported alarm.
*/
interface AckState
{
const short ACKNOWLEDGED = 1;
const short UNACKNOWLEDGED = 2;
};
/*
This block identifies attributes which are included as part of the Alarm IRP
These attribute values should not clash with those defined for the attributes
of notification header (see IDL of Notification IRP).
*/
interface AttributeNameValue
{
const string ALARM_ID = "f";
const string PROBABLE_CAUSE = "g";
const string PERCEIVED_SEVERITY = "h";
const string SPECIFIC_PROBLEM = "i";
const string ADDITIONAL_TEXT = "j";
const string ACK_TIME = "k";
const string ACK_USER_ID = "l";
const string ACK_SYSTEM_ID = "m";
const string ACK_STATE = "n";
const string COMMENTS = "o";
const string BACKED_UP_STATUS = "p";
const string BACK_UP_OBJECT = "q";
const string THRESHOLD_INFO = "r";
const string TREND_INDICATION = "s";
const string STATE_CHANGE_DEFINITION = "t";
const string MONITORED_ATTRIBUTES = "u";
const string PROPOSED_REPAIR_ACTIONS = "v";
const string CORRELATED_NOTIFICATIONS = "w";
const string REASON = "x";
const string CLEAR_USER_ID = "y";
const string CLEAR_SYSTEM_ID = "z";
const string ALARM_LIST_ALIGNMENT_REQUIREMENT = "ff";
const string SERVICE_USER = "gg";
const string SERVICE_PROVIDER = "hh";
const string SECURITY_ALARM_DETECTOR = "ii";
const string ALARM_RAISED_TIME = "kk";
const string ALARM_CLEARED_TIME = "ll";
const string ALARM_CHANGED_TIME = "mm";
const string ROOT_CAUSE_INDICATOR = "nn";
const string CHANGED_ALARM_ATTRIBUTES = "pp";
};
/*
constants for use in populating the additional information
name field Names
*/
interface AdditionalInformation
{
const string AI_VS_PERCEIVED_SEVERITY = "ai_ps";
const string AI_VS_ALARM_TYPE = "ai_at";
};
/*
Defines the content of a Comment
*/
struct Comment
{
ManagedGenericIRPConstDefs::IRPTime comment_time;
string comment_text;
string user_id;
string system_id;
};
/*
Defines a set of comments which are placed in the COMMENTS attribute
of a structured event.
*/
typedef sequence <Comment> CommentSet;
/*
It indicates if an object has a back up.
True implies backed up. False implies not backed up.
*/
typedef boolean BackedUpStatus;
/*
It indicates if the threshold crossed was in the up or down direction.
*/
enum ThresholdIndication {UP, DOWN};
/*
It indicates if the AlarmList alignment is required.
*/
enum AlarmListAlignmentRequirement {REQUIRED, NOTREQUIRED};
/* FloatOpt is an optional type.
If the discriminator is true the value is present.
Otherwise the value is null.
*/
union FloatOpt switch (boolean)
{
case TRUE: float value;
};
/* ThresholdLevelInd describes multi-level
threshold crossings.
Up is the only permitted choice for a counter.
If indication is "up", low value is optional.
@member indication: indicates up or down direction
of crossing.
@member low: the low observed value.
@member high: the high observed value.
*/
struct ThresholdLevelInd
{
ThresholdIndication indication;
FloatOpt low;
float high;
};
/* ThresholdLevelIndOpt is an optional type.
If the discriminator is true the value is present.
Otherwise, the value is null.
*/
union ThresholdLevelIndOpt switch (boolean)
{
case TRUE: ThresholdLevelInd value;
};
/* ThresholdInfo indicates some gauge or counter
attribute passed a set threshold.
@member attribute_id: identifies the attribute that
crossed the threshold.
@member observed_value: attributes that are of type
integer will be converted to floats.
@member threshold_level: This parameter is for
multi-level thresholds. Optional.
@member arm_time: May contain empty string.
*/
struct ThresholdInfo
{
string attribute_id;
float observed_value;
ThresholdLevelIndOpt threshold_level;
string arm_time;
};
/*
It indicates if some observed condition is getting better, worse,
or not changing.
*/
enum TrendIndication {LESS_SEVERE, NO_CHANGE, MORE_SEVERE};
/*
It is used to report a changed attribute value.
*/
struct AttributeValueChange
{
string attribute_name;
any old_value; // type depends on attribute
any new_value; // type depends on attribute
};
typedef sequence <AttributeValueChange> AttributeChangeSet;
/*
It is used to report a changed alarm attribute value.
*/
struct AlarmAttributeValueChange
{
string attribute_name;
any old_value; // type depends on attribute
};
typedef sequence <AlarmAttributeValueChange> AlarmAttributeChangeSet;
/*
It is used to report an attribute and its value.
*/
struct AttributeValue
{
string attribute_name;
any value; // type depends on the attribute
};
typedef sequence <AttributeValue> AttributeSet;
typedef sequence <long> NotifIdSet;
/*
This holds identifiers of notifications that are correlated.
*/
struct CorrelatedNotification
{
DN source; // Contains DN of MO that emitted the set of notifications
// DN string format in compliance with Name Convention for
// Managed Object.
// This may be a zero-length string. In this case, the MO
// is identified by the value of the MOI attribute
// of the Structured Event, i.e., the notification.
NotifIdSet notif_id_set; // Set of related notification ids
};
/*
Correlated Notification sets are sets of Correlated Notification
structures.
*/
typedef sequence <CorrelatedNotification> CorrelatedNotificationSet;
/*
Define the structure of Alarm ID and Perceived Severity used within the
alarm acknowledgment operation. Note: perceived_severity is an optional
parameter. If this value is present, it must have one of the defined values
of Interface PerceivedSeverity.
*/
struct AlarmInformationIdAndSev
{
string alarm_id;
ManagedGenericIRPConstDefs::ShortOpt perceived_severity;
};
/*
Define set of the above structure of Alarm ID and Perceived Severity.
*/
typedef sequence <AlarmInformationIdAndSev> AlarmInformationIdAndSevSeq;
/*
It indicates the reason for an alarm acknowledgement to have failed:
– The specified Alarm Information is absent from the Alarm List
– The Perceived Severity to be acknowledged has changed and/or is different
within the Alarm List
– The acknowledgement failed for some other reason
*/
enum AcknowledgeFailureCategories
{
UNKNOWN_ALARM_ID,
WRONG_PERCEIVED_SEVERITY,
ACKNOWLEDGMENT_FAILED
};
/*
Define the structure returned when an operation fails for a set of alarm ids.
A reason is provided in order to indicate why the operation failed.
*/
struct BadAlarmInformationId
{
string alarm_id;
string reason;
};
/*
Define the structure returned when the acknowledge operation fails for a set
of alarm ids.
A failure category and a reason are provided in order to indicate why the
operation failed.
*/
struct BadAcknowledgeAlarmInfo
{
string alarm_id;
AcknowledgeFailureCategories failure_category;
string reason;
};
typedef sequence <BadAlarmInformationId> BadAlarmInformationIdSeq;
typedef sequence <BadAcknowledgeAlarmInfo> BadAcknowledgeAlarmInfoSeq;
typedef sequence <string> AlarmInformationIdSeq;
typedef CosNotification::EventBatch AlarmInformationSeq;
/*
Define the cause values of notifyPotentialFaultyAlarmList and
notifyAlarmListRebuilt, which have been defined in 32111-2.
*/
const string AGENT_NE_COMMUNICATION_ERROR = "Agent-NE communication error";
const string AGENT_RESTARTS = "Agent restarts";
const string INDETERMINATE = "Indeterminate";
};
#endif // _ALARM_IRP_CONST_DEFS_IDL_
A.3.3 IDL specification “AlarmIRPSystem.idl”
//File: AlarmIRPSystem.idl
#ifndef _ALARM_IRP_SYSTEM_IDL_
#define _ALARM_IRP_SYSTEM_IDL_
#include <AlarmIRPConstDefs.idl>
#include <ManagedGenericIRPSystem.idl>
// This statement must appear after all include statements
#pragma prefix "3gppsa5.org"
/* ## Module: AlarmIRPSystem
This module contains the specification of all operations of Alarm IRP Agent.
================================================================
*/
module AlarmIRPSystem
{
/*
System fails to complete the operation. System can provide reason
to qualify the exception. The semantics carried in reason
is outside the scope of this IRP.
*/
exception GetAlarmIRPVersions { string reason; };
exception GetAlarmIRPOperationsProfile { string reason; };
exception GetAlarmIRPNotificationProfile { string reason; };
exception AcknowledgeAlarms { string reason; };
exception UnacknowledgeAlarms { string reason; };
exception CommentAlarms { string reason; };
exception ClearAlarms { string reason; };
exception GetAlarmList { string reason; };
exception GetAlarmCount { string reason; };
exception NextAlarmInformations { string reason; };
exception FilterComplexityLimit { string reason; };
/*
The AlarmInformationIterator is used to iterate through a snapshot of
Alarm Informations taken from the Alarm List when IRPManager invokes
get_alarm_list. IRPManager uses it to pace the return of Alarm
Informations.
IRPAgent controls the life-cycle of the iterator. However, a destroy
operation is provided to handle the case where IRPManager wants to stop
the iteration procedure before reaching the last iteration.
*/
interface AlarmInformationIterator
{
/*
This method returns between 1 and "how_many" Alarm Informations. The
IRPAgent may return less than "how_many" items even if there are more
items to return. "how_many" must be non-zero. Return TRUE if there may
be more Alarm Information to return. Return FALSE if there are no more
Alarm Information to be returned.
If FALSE is returned, the IRPAgent will automatically destroy the
iterator.
*/
boolean next_alarm_informations (
in unsigned short how_many,
out AlarmIRPConstDefs::AlarmInformationSeq alarm_informations
)
raises (NextAlarmInformations, ManagedGenericIRPSystem::InvalidParameter);
/*
This method destroys the iterator.
*/
void destroy();
};
interface AlarmIRP
{
/*
Return the list of all supported Alarm IRP versions.
Implementations are to provide a return value consisting of one or more
IRPVersions.
Each IRPVersion is defined by the rule in the clause titled
"IRP document version number string"
*/
ManagedGenericIRPConstDefs::VersionNumberSet get_alarm_irp_versions (
)
raises (GetAlarmIRPVersions);
/*
Return the list of all supported operations and their supported
parameters for a specific Alarm IRP version.
*/
ManagedGenericIRPConstDefs::MethodList get_alarm_irp_operations_profile (
in ManagedGenericIRPConstDefs::VersionNumber alarm_irp_version
)
raises (GetAlarmIRPOperationsProfile,
ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
/*
Return the list of all supported notifications and their supported
parameters for a specific Alarm IRP version.
*/
ManagedGenericIRPConstDefs::MethodList get_alarm_irp_notification_profile
(
in ManagedGenericIRPConstDefs::VersionNumber alarm_irp_version
)
raises (GetAlarmIRPNotificationProfile,
ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
/*
Request to acknowledge one or more alarms.
*/
ManagedGenericIRPConstDefs::Signal acknowledge_alarms (
in AlarmIRPConstDefs::AlarmInformationIdAndSevSeq
alarm_information_id_and_sev_list,
in string ack_user_id,
in ManagedGenericIRPConstDefs::StringOpt ack_system_id,
out AlarmIRPConstDefs::BadAcknowledgeAlarmInfoSeq
bad_ack_alarm_info_list
)
raises (AcknowledgeAlarms, ManagedGenericIRPSystem::ParameterNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
/*
Request to remove acknowledgement information of one or more alarms.
*/
ManagedGenericIRPConstDefs::Signal unacknowledge_alarms (
in AlarmIRPConstDefs::AlarmInformationIdSeq alarm_information_id_list,
in string ack_user_id,
in ManagedGenericIRPConstDefs::StringOpt ack_system_id,
out AlarmIRPConstDefs::BadAlarmInformationIdSeq
bad_alarm_information_id_list
)
raises (UnacknowledgeAlarms,
ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::ParameterNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
/*
Make comment to one or more alarms.
*/
ManagedGenericIRPConstDefs::Signal comment_alarms (
in AlarmIRPConstDefs::AlarmInformationIdSeq alarm_information_id_list,
in string comment_user_id,
in ManagedGenericIRPConstDefs::StringOpt comment_system_id,
in string comment_text,
out AlarmIRPConstDefs::BadAlarmInformationIdSeq
bad_alarm_information_id_list
)
raises (CommentAlarms, ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::ParameterNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
/*
Request to clear one or more alarms.
*/
ManagedGenericIRPConstDefs::Signal clear_alarms (
in AlarmIRPConstDefs::AlarmInformationIdSeq alarm_information_id_list,
in string clear_user_id,
in ManagedGenericIRPConstDefs::StringOpt clear_system_id,
out AlarmIRPConstDefs::BadAlarmInformationIdSeq
bad_alarm_information_id_list
)
raises (ClearAlarms, ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::ParameterNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
/*
This method returns Alarm Informations.
If flag is TRUE, all returned Alarm Informations shall be
in AlarmInformationSeq that contains 0 or more Alarm Informations.
Output parameter iter shall be useless.
If flag is FALSE, no Alarm Informations shall be in AlarmInformationSeq.
IRPAgent needs to use iter to retrieve them.
*/
AlarmIRPConstDefs::AlarmInformationSeq get_alarm_list (
in ManagedGenericIRPConstDefs::StringOpt filter,
in AlarmIRPConstDefs::DNOpt base_object,
out boolean flag,
out AlarmInformationIterator iter
)
raises (GetAlarmList, FilterComplexityLimit, ManagedGenericIRPSystem::ParameterNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
/*
This method returns the count of Alarm Informations.
*/
void get_alarm_count (
in ManagedGenericIRPConstDefs::StringOpt filter,
out unsigned long critical_count,
out unsigned long major_count,
out unsigned long minor_count,
out unsigned long warning_count,
out unsigned long indeterminate_count,
out unsigned long cleared_count
)
raises (GetAlarmCount, FilterComplexityLimit, ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::ParameterNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
};
};
#endif // _ALARM_IRP_SYSTEM_IDL_
A.3.4 IDL specification "AlarmIRPNotifications.idl"
//File: AlarmIRPNotifications.idl
#ifndef _ALARM_IRP_NOTIFICATIONS_IDL_
#define _ALARM_IRP_NOTIFICATIONS_IDL_
#include <AlarmIRPConstDefs.idl>
#include <NotificationIRPNotifications.idl>
// This statement must appear after all include statements
#pragma prefix "3gppsa5.org"
/* ## Module: AlarmIRPNotifications
This module contains notifications for Alarm IRP
================================================================
*/
module AlarmIRPNotifications
{
interface NotifyNewAlarm: NotificationIRPNotifications::Notify
{
const string EVENT_TYPE = "notifyNewAlarm";
/**
* This constant defines the name of the probableCause property.
* The data type for the value of this property
* is short.
*/
const string PROBABLE_CAUSE =
AlarmIRPConstDefs::AttributeNameValue::PROBABLE_CAUSE;
/**
* This constant defines the name of the
* perceivedSeverity property.
* The data type for the value of this property
* is short.
*/
const string PERCEIVED_SEVERITY =
AlarmIRPConstDefs::AttributeNameValue::PERCEIVED_SEVERITY;
/**
* This constant defines the name of the specificProblem
* property. The data type for the value of this property
* is string.
*/
const string SPECIFIC_PROBLEM =
AlarmIRPConstDefs::AttributeNameValue::SPECIFIC_PROBLEM;
/**
* The two constants defines the name of the additionalInformation
* property (the vendor-specific (VS) perceived severity and alarm type).
* The data type for the value of this property
* is string.
*/
const string AI_VS_PERCEIVED_SEVERITY =
AlarmIRPConstDefs::AdditionalInformation::AI_VS_PERCEIVED_SEVERITY;
const string AI_VS_ALARM_TYPE =
AlarmIRPConstDefs::AdditionalInformation::AI_VS_ALARM_TYPE;
/**
* This constant defines the name of the
* rootCauseIndicator property.
* The data type for the value of this property
* is AlarmIRPConstDefs::RootCauseIndicator.
*/
const string ROOT_CAUSE_INDICATOR =
AlarmIRPConstDefs::AttributeNameValue::ROOT_CAUSE_INDICATOR;
/**
* This constant defines the name of the
* correlatedNotifications property.
* The data type for the value of this property
* is AlarmIRPConstDefs::CorrelatedNotificationSet.
*/
const string CORRELATED_NOTIFICATIONS =
AlarmIRPConstDefs::AttributeNameValue::
CORRELATED_NOTIFICATIONS;
/**
* This constant defines the name of the
* backedUpStatus property.
* The data type for the value of this property
* is AlarmIRPConstDefs::BackedUpStatus.
*/
const string BACKED_UP_STATUS =
AlarmIRPConstDefs::AttributeNameValue::BACKED_UP_STATUS;
/**
* This constant defines the name of the backUpObject property.
* The data type for the value of this property
* is a string carrying of DN of the back-up object.
*/
const string BACK_UP_OBJECT =
AlarmIRPConstDefs::AttributeNameValue::BACK_UP_OBJECT;
/**
* This constant defines the name of the
* trendIndication property.
* The data type for the value of this property
* is AlarmIRPConstDefs::TrendIndication.
*/
const string TREND_INDICATION =
AlarmIRPConstDefs::AttributeNameValue::TREND_INDICATION;
/**
* This constant defines the name of the thresholdInfo property.
* The data type for the value of this property
* is AlarmIRPConstDefs::ThresholdInfo.
*/
const string THRESHOLD_INFO =
AlarmIRPConstDefs::AttributeNameValue::THRESHOLD_INFO;
/**
* This constant defines the name of the
* stateChangeDefinition property.
* The data type for the value of this property
* is AlarmIRPConstDefs::AttributeChangeSet.
*/
const string STATE_CHANGE_DEFINITION =
AlarmIRPConstDefs::AttributeNameValue::STATE_CHANGE_DEFINITION;
/**
* This constant defines the name of the
* monitoredAttributes property.
* The data type for the value of this property
* is AlarmIRPConstDefs::AttributeSet.
*/
const string MONITORED_ATTRIBUTES =
AlarmIRPConstDefs::AttributeNameValue::MONITORED_ATTRIBUTES;
/**
* This constant defines the name of the
* proposedRepairActions property.
* The data type for the value of this property
* is string.
*/
const string PROPOSED_REPAIR_ACTIONS =
AlarmIRPConstDefs::AttributeNameValue::PROPOSED_REPAIR_ACTIONS;
/**
* This constant defines the name of the additionalText
* property.
* The data type for the value of this property
* is string.
*/
const string ADDITIONAL_TEXT =
AlarmIRPConstDefs::AttributeNameValue::ADDITIONAL_TEXT;
/**
* This constant defines the name of the alarmId property.
* The data type for the value of this property
* is string. If the string is a zero-length string or if
* this NV pair is absent, the default semantics is that
* alarmId is a concatenation of
* managedObjectInstance, eventType, probableCause and
* specificProblem, if present, of this Structured Event.
* Since probableCause is encoded as a short, it shall be
* converted into string before concatenation.
* The resultant string shall not contain spaces.
*/
const string ALARM_ID =
AlarmIRPConstDefs::AttributeNameValue::ALARM_ID;
/**
* This constant defines the name of the serviceUser property.
* The data type for the value of this property
* is string.
*/
const string SERVICE_USER =
AlarmIRPConstDefs::AttributeNameValue::SERVICE_USER;
/**
* This constant defines the name of the serviceProvider
* property.
* The data type for the value of this property
* is string.
*/
const string SERVICE_PROVIDER =
AlarmIRPConstDefs::AttributeNameValue::SERVICE_PROVIDER;
/**
* This constant defines the name of the
* securityAlarmDetector property.
* The data type for the value of this property
* is string.
*/
const string SECURITY_ALARM_DETECTOR =
AlarmIRPConstDefs::AttributeNameValue::SECURITY_ALARM_DETECTOR;
};
interface NotifyAckStateChanged:
NotificationIRPNotifications::Notify
{
const string EVENT_TYPE = "notifyAckStateChanged";
const string PROBABLE_CAUSE =
AlarmIRPConstDefs::AttributeNameValue::PROBABLE_CAUSE;
const string PERCEIVED_SEVERITY =
AlarmIRPConstDefs::AttributeNameValue::PERCEIVED_SEVERITY;
const string ALARM_ID =
AlarmIRPConstDefs::AttributeNameValue::ALARM_ID;
/**
* This constant defines the name of the ackTime property.
* The data type for the value of this property
* is ManagedGenericIRPConstDefs::IRPTime.
*/
const string ACK_TIME =
AlarmIRPConstDefs::AttributeNameValue:: ACK_TIME;
const string ACK_USER_ID =
AlarmIRPConstDefs::AttributeNameValue::ACK_USER_ID;
const string ACK_SYSTEM_ID =
AlarmIRPConstDefs::AttributeNameValue::ACK_SYSTEM_ID;
const string ACK_STATE =
AlarmIRPConstDefs::AttributeNameValue::ACK_STATE;
};
interface NotifyClearedAlarm: NotificationIRPNotifications::Notify
{
const string EVENT_TYPE = "notifyClearedAlarm";
const string PROBABLE_CAUSE =
AlarmIRPConstDefs::AttributeNameValue::PROBABLE_CAUSE;
const string PERCEIVED_SEVERITY =
AlarmIRPConstDefs::AttributeNameValue::PERCEIVED_SEVERITY;
const string ALARM_ID =
AlarmIRPConstDefs::AttributeNameValue::ALARM_ID;
const string CLEAR_USER_ID =
AlarmIRPConstDefs::AttributeNameValue::CLEAR_USER_ID;
const string CLEAR_SYSTEM_ID =
AlarmIRPConstDefs::AttributeNameValue::CLEAR_SYSTEM_ID;
};
interface NotifyAlarmListRebuilt:
NotificationIRPNotifications::Notify
{
const string EVENT_TYPE = "notifyAlarmListRebuilt";
const string REASON =
AlarmIRPConstDefs::AttributeNameValue::REASON;
const string ALARM_LIST_ALIGNMENT_REQUIREMENT =
AlarmIRPConstDefs::AttributeNameValue::
ALARM_LIST_ALIGNMENT_REQUIREMENT;
};
interface NotifyChangedAlarm: NotificationIRPNotifications::Notify
{
const string EVENT_TYPE = "notifyChangedAlarm";
const string PROBABLE_CAUSE =
AlarmIRPConstDefs::AttributeNameValue::PROBABLE_CAUSE;
const string PERCEIVED_SEVERITY =
AlarmIRPConstDefs::AttributeNameValue::PERCEIVED_SEVERITY;
const string ALARM_ID =
AlarmIRPConstDefs::AttributeNameValue::ALARM_ID;
};
interface NotifyComments: NotificationIRPNotifications::Notify
{
const string EVENT_TYPE = "notifyComments";
const string PROBABLE_CAUSE =
AlarmIRPConstDefs::AttributeNameValue::PROBABLE_CAUSE;
const string PERCEIVED_SEVERITY =
AlarmIRPConstDefs::AttributeNameValue::PERCEIVED_SEVERITY;
const string ALARM_ID =
AlarmIRPConstDefs::AttributeNameValue::ALARM_ID;
/**
* This constant defines the name of the comments property.
* The data type for the value of this property
* is AlarmIRPConstDefs::CommentSet.
*/
const string COMMENTS =
AlarmIRPConstDefs::AttributeNameValue::COMMENTS;
};
interface NotifyPotentialFaultyAlarmList:
NotificationIRPNotifications::Notify
{
const string EVENT_TYPE = "notifyPotentialFaultyAlarmList";
/**
* This constant defines the name of the reason property.
* The data type for the value of this property
* is string.
*/
const string REASON =
AlarmIRPConstDefs::AttributeNameValue::REASON;
};
interface NotifyCorrelatedNotificationChanged:
NotificationIRPNotifications::Notify
{
const string EVENT_TYPE = "notifyCorrelatedNotificationChanged";
const string CORRELATED_NOTIFICATIONS =
AlarmIRPConstDefs::AttributeNameValue::
CORRELATED_NOTIFICATIONS;
const string ALARM_ID =
AlarmIRPConstDefs::AttributeNameValue::ALARM_ID;
const string ROOT_CAUSE_INDICATOR =
AlarmIRPConstDefs::AttributeNameValue::ROOT_CAUSE_INDICATOR;
};
interface NotifyChangedAlarmGeneral: NotificationIRPNotifications::Notify
{
const string EVENT_TYPE = "notifyChangedAlarmGeneral";
/**
* This constant defines the name of the probableCause property.
* The data type for the value of this property
* is short.
*/
const string PROBABLE_CAUSE =
AlarmIRPConstDefs::AttributeNameValue::PROBABLE_CAUSE;
/**
* This constant defines the name of the
* perceivedSeverity property.
* The data type for the value of this property
* is short.
*/
const string PERCEIVED_SEVERITY =
AlarmIRPConstDefs::AttributeNameValue::PERCEIVED_SEVERITY;
/**
* This constant defines the name of the specificProblem
* property. The data type for the value of this property
* is string.
*/
const string SPECIFIC_PROBLEM =
AlarmIRPConstDefs::AttributeNameValue::SPECIFIC_PROBLEM;
/**
* The two constants defines the name of the additionalInformation
* property (the vendor-specific (VS) perceived severity and alarm type).
* The data type for the value of this property
* is string.
*/
const string AI_VS_PERCEIVED_SEVERITY =
AlarmIRPConstDefs::AdditionalInformation::AI_VS_PERCEIVED_SEVERITY;
const string AI_VS_ALARM_TYPE =
AlarmIRPConstDefs::AdditionalInformation::AI_VS_ALARM_TYPE;
/**
* This constant defines the name of the
* rootCauseIndicator property.
* The data type for the value of this property
* is AlarmIRPConstDefs::RootCauseIndicator.
*/
const string ROOT_CAUSE_INDICATOR =
AlarmIRPConstDefs::AttributeNameValue::ROOT_CAUSE_INDICATOR;
/**
* This constant defines the name of the
* correlatedNotifications property.
* The data type for the value of this property
* is AlarmIRPConstDefs::CorrelatedNotificationSet.
*/
const string CORRELATED_NOTIFICATIONS =
AlarmIRPConstDefs::AttributeNameValue::
CORRELATED_NOTIFICATIONS;
/**
* This constant defines the name of the
* backedUpStatus property.
* The data type for the value of this property
* is AlarmIRPConstDefs::BackedUpStatus.
*/
const string BACKED_UP_STATUS =
AlarmIRPConstDefs::AttributeNameValue::BACKED_UP_STATUS;
/**
* This constant defines the name of the backUpObject property.
* The data type for the value of this property
* is a string carrying of DN of the back-up object.
*/
const string BACK_UP_OBJECT =
AlarmIRPConstDefs::AttributeNameValue::BACK_UP_OBJECT;
/**
* This constant defines the name of the
* trendIndication property.
* The data type for the value of this property
* is AlarmIRPConstDefs::TrendIndication.
*/
const string TREND_INDICATION =
AlarmIRPConstDefs::AttributeNameValue::TREND_INDICATION;
/**
* This constant defines the name of the thresholdInfo property.
* The data type for the value of this property
* is AlarmIRPConstDefs::ThresholdInfo.
*/
const string THRESHOLD_INFO =
AlarmIRPConstDefs::AttributeNameValue::THRESHOLD_INFO;
/**
* This constant defines the name of the
* stateChangeDefinition property.
* The data type for the value of this property
* is AlarmIRPConstDefs::AttributeChangeSet.
*/
const string STATE_CHANGE_DEFINITION =
AlarmIRPConstDefs::AttributeNameValue::STATE_CHANGE_DEFINITION;
/**
* This constant defines the name of the
* monitoredAttributes property.
* The data type for the value of this property
* is AlarmIRPConstDefs::AttributeSet.
*/
const string MONITORED_ATTRIBUTES =
AlarmIRPConstDefs::AttributeNameValue::MONITORED_ATTRIBUTES;
/**
* This constant defines the name of the
* proposedRepairActions property.
* The data type for the value of this property
* is string.
*/
const string PROPOSED_REPAIR_ACTIONS =
AlarmIRPConstDefs::AttributeNameValue::PROPOSED_REPAIR_ACTIONS;
/**
* This constant defines the name of the additionalText
* property.
* The data type for the value of this property
* is string.
*/
const string ADDITIONAL_TEXT =
AlarmIRPConstDefs::AttributeNameValue::ADDITIONAL_TEXT;
/**
* This constant defines the name of the alarmId property.
* The data type for the value of this property
* is string. If the string is a zero-length string or if
* this NV pair is absent, the default semantics is that
* alarmId is a concatenation of
* managedObjectInstance, eventType, probableCause and
* specificProblem, if present, of this Structured Event.
* Since probableCause is encoded as a short, it shall be
* converted into string before concatenation.
* The resultant string shall not contain spaces.
*/
const string ALARM_ID =
AlarmIRPConstDefs::AttributeNameValue::ALARM_ID;
/**
* This constant defines the name of the serviceUser property.
* The data type for the value of this property
* is string.
*/
const string SERVICE_USER =
AlarmIRPConstDefs::AttributeNameValue::SERVICE_USER;
/**
* This constant defines the name of the serviceProvider
* property.
* The data type for the value of this property
* is string.
*/
const string SERVICE_PROVIDER =
AlarmIRPConstDefs::AttributeNameValue::SERVICE_PROVIDER;
/**
* This constant defines the name of the
* securityAlarmDetector property.
* The data type for the value of this property
* is string.
*/
const string SECURITY_ALARM_DETECTOR =
AlarmIRPConstDefs::AttributeNameValue::SECURITY_ALARM_DETECTOR;
};
/**
* This constant defines the name of the changedAlarmAttributes
* property.
* The data type for the value of this property
* is a list of sequence <AttributeName, OldAttributeValue> which contains
* the changed alarm attributes (name/value pairs) (with old values).
*/
const string CHANGED_ALARM_ATTRIBUTES =
AlarmIRPConstDefs::AttributeNameValue::CHANGED_ALARM_ATTRIBUTES;
};
#endif // _ALARM_IRP_NOTIFICATIONS_IDL_
Annex B (normative):
XML Definitions