SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

41
SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2

Transcript of SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Page 1: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

SAI-AIS-NTF-A.01.01

SA Forum Extended Training Materials

Notification ServiceLesson 1 of 2

Page 2: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 2

Contents

This first lesson on the Notification Service addresses the following topics• Notification Service Model

– Users of the Notification Service– Notifications and Notification Filters– Notification Types– Common Parameters– Notification Parameters– Notification Delivery Characteristics– Integration of HPI Events– Semantic Identifiers of Notification Elements

• Notification Service Types

Page 3: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 3

Notification Service Reports incidents or changes in statuses of entities as notifications A user of the Notification Service is either (or both) of the following:

• Producer that generates notifications using the Producer API• Consumer that consumes notifications that were generated by producers

and is either (or both) of the following: – Subscriber gets notifications that are forwarded when they occur using the

Subscriber API (push interface)– Reader retrieves historical notification entries from the persistent notification log

using the Reader API (pull interface)

Notifications are data objects that are:• Generated using the Producer API, and• Forwarded to users of the Subscriber API, or delivered to users of the

Reader API Notification filters are used with the Subscriber API and Reader API to:

• Reduce the number of notifications that are delivered to the consumers • Allow a user application to specify the notifications in which it is interested

Page 4: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 4

Notification ServiceThe Notification Library and the Notification Server and the interactions with other entities in the system

SNMPManager

CIM/WEBMClient

Notification Log File

Log Service

Transport Service (e.g., Message Service or Event Service)

NotificationService

Forwarding

Logging

NotificationServer

SNMP MIB CIM MOF

SNMP TrapsCIM Indications

Application Producer

NotificationLibrary

Application SubscriberNotification

Library

SNMP AgentSubscriber/Reader

NotificationLibrary

CIM ProviderSubscriber/Reader

NotificationLibrary

Alarm Mgr Reader

NotificationLibrary

Page 5: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 5

Notification Types Notifications are grouped into the following notification types

• Object Create / Delete – Reports creation or deletion of managed objects, such as service units or components instantiated or terminated by the AMF, or threads, users, etc created or deleted by the application. Defined in X.730

• Attribute Change – Reports attribute changes of configuration data for a managed object, such as AMF configuration data or application-specific default configuration data, Defined in X.730

• State Change – Reports a change of state of a managed object as a result of either an internal operation or a management operation. Defined in ITU X.731

• Alarm – Reports a specific event that may or may not represent an error, e.g., application detecting a communication failure, operating system reaching a threshold of maximum number of files opened, AMF or AIS Service incurring an internal error. Defined in ITU X.733

• Security Alarm – Indicates an attack or potential attack on system security, such as repeated login attempts, occurrence of an event at an unexpected or prohibited time, illegal modification of data. Defined in X.736

Page 6: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 6

Common Parameters

Name X.73x Recommendation Default Value

Event Type Mandatory Parameter

Notification Object Mandatory Parameter

Notifying Object Notification Object

Notification Class Identifier

Event Time Mandatory Parameter

Notification Identifier Optional Parameter

Correlated Notifications Optional Parameter NULL, indicates either a first time occurrence, or that no correlation need be applied

Additional Text Optional Parameter

Additional Information Optional Parameter

Page 7: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 7

Specific Parameters Specific parameters for object creation and deletion

notifications

Name X.73x Recommendation Default Value

Source Indicator Optional Parameter

Attribute List Optional Parameter

Attribute Identifier Optional Parameter

Attribute Value Optional Parameter

Page 8: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 8

Specific Parameters Specific parameters for attribute change notifications

Name X.73x Recommendation Default Value

Source Indicator Optional Parameter

Changed State Attribute List

Mandatory Parameter

Attribute Identifier Mandatory Parameter

Old Attribute Value Optional Parameter

New Attribute Value Mandatory Parameter

Page 9: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 9

Specific Parameters Specific parameters for state change notifications

Name X.73x Recommendation Default Value

Source Indicator Optional Parameter AMF

Changed State Attribute List Mandatory Parameter

Attribute Identifier Mandatory Parameter

Old Attribute Value Optional Parameter

New Attribute Value Mandatory Parameter

Page 10: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 10

Specific Parameters Specific parameters for alarm notifications

Name X.73x Recommendation Default Value

Probable Cause Mandatory Parameter

Specific Problems Optional Parameter

Perceived Severity Mandatory Parameter Major

Trend Indication Optional Parameter No Change

Threshold Information Optional Parameter

Monitored Attributes Optional Parameter

Proposed Repair Actions Optional Parameter

Page 11: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 11

Specific Parameters Specific parameters for security alarm notifications

Name X.73x Recommendation Default Value

Cause Mandatory Parameter

Severity Mandatory Parameter

Detector Mandatory Parameter

User Mandatory Parameter

Provider Mandatory Parameter

Page 12: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 12

Notification Delivery Characteristics

Guaranteed Delivery – Alarm and security alarm notifications are guaranteed to be delivered to subscribers. An implementation may provide lower quality of service for delivery of object creation/deletion, attribute value change, and state change notifications

At Most Once Delivery – A notification is not delivered to a subscriber multiple times

Ordering – For a given notification type, notifications are delivered to a subscriber, or retrieved by a reader, in the order in which the producer generated them

Completeness – Only complete notifications are delivered to a subscriber or reader

Persistence – Alarm and security alarm notifications are stored persistently. Object creation/deletion, attribute value change, and state change notifications need not be stored persistently

Page 13: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 13

Semantic Identifiers for Notification Elements Some of the notification parameters are generic containers for elements

of various data types and meaning• Thus, not only the type but also the meaning has to be specified to enable

subscribers to interpret the element correctly Such a semantic identifier, called the Notification Element Identifier

(NEI), is defined for a notification class and a parameter, and is required for the following notification elements • Additional Information (all notification types)• Specific Problems (alarm notifications)• Threshold Information (alarm notifications)• Monitored Attributes (alarm notifications)• Attribute List (object create/delete notifications)• Changed Attribute List (attribute value change notifications)• Changed State Attribute List (state change notifications)

Uniqueness of identifiers for each parameter in a notification class is required

The Specific Problems element needs special handling of the NEI (see the SaNtfSpecificProblemT type on Slide 23)

Page 14: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 14

Notification Service Handles

Handle

Notification Handle

Notification Filter Handle

Read Handle

typedef SaUint64T SaNtfHandleT;The handle supplied to a process during initialization of the Notification Service library

typedef SaUint64T SaNtfNotificationHandleT; The handle to the internal notification structure that contains notifications

typedef SaUint64T SaNtfNotificationFilterHandleT;The handle to the internal notification filter structure

typedef SaUint64T SaNtfReadHandleT;The handle that is used in the notification reader API

Page 15: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 15

Notification Service Callbacks

There are two callback functions that the Notification Service library can invoke• saNtfNotificationCallback() is used to deliver notifications

to the application

• saNtfNotificationDiscardedCallback() informs the application that notifications have been discarded

typedef struct {

SaNtfNotificationCallbackT saNtfNotificationCallback;

SaNtfNotificationDiscardedCallbackT saNtfNotificationDiscardedCallback;

} SaNtfCallbacksT;

Page 16: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 16

Notification Type

The SaNtfNotificationTypeT enum has five values

typedef enum {

SA_NTF_TYPE_OBJECT_CREATE_DELETE,

SA_NTF_TYPE_ATTRIBUTE_CHANGE,

SA_NTF_TYPE_STATE_CHANGE,

SA_NTF_TYPE_ALARM,

SA_NTF_TYPE_SECURITY_ALARM

} SaNtfNotificationTypeT;

Page 17: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 17

Event Type The SaEventTypeT enum has 22 values

typedef enum { SA_NTF_OBJECT_NOTIFICATIONS_START = SA_NTF_TYPE_OBJECT_CREATE_DELETE, SA_NTF_OBJECT_CREATION, SA_NTF_OBJECT_DELETION, SA_NTF_ATTRIBUTE_NOTIFICATIONS_START = SA_NTF_TYPE_ATTRIBUTE_CHANGE, SA_NTF_ATTRIBUTE_ADDED, SA_NTF_ATTRIBUTE_REMOVED, SA_NTF_ATTRIBUTE_CHANGED, SA_NTF_ATTRIBUTE_RESET, SA_NTF_STATE_CHANGE_NOTIFICATIONS_START = SA_NTF_TYPE_STATE_CHANGE, SA_NTF_OBJECT_STATE_CHANGE, SA_NTF_ALARM_NOTIFICATIONS_START = SA_NTF_TYPE_ALARM, SA_NTF_ALARM_COMMUNICATION, SA_NTF_ALARM_QOS, SA_NTF_ALARM_PROCESSING, SA_NTF_ALARM_EQUIPMENT, SA_NTF_ALARM_ENVIRONMENT, SA_NTF_SECURITY_ALARM_NOTIFICATIONS_START = SA_NTF_TYPE_SECURITY_ALARM, SA_NTF_INTEGRITY_VIOLATION, SA_NTF_OPERATION_VIOLATION, SA_NTF_PHYSICAL_VIOLATION, SA_NTF_SECURITY_SERVICE_VIOLATION, SA_NTF_TIME_VIOLATION}

Page 18: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 18

Notification Objects and Notifying Objects

Both notification objects and notifying objects use SaNameT• The name of a notification object is typically an LDAP DN defined

by AIS, e.g., for an AMF component, Message Service message queue, etc

– Currently, the Notification Service does not define a naming scheme for non-AIS objects such as operating system resources, HPI objects, or application-specific objects

• The name of the notifying object is typically the LDAP DN of an AMF logical entity producing the notification

– Currently, the Notification Service does not define a naming scheme for notifying objects that are not AMF components. If the notifying object is not an AMF logical entity, an application-specific name may be used

• The values of notification objects and notifying objects are interpreted only for those cases defined in filtering

Page 19: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 19

Notification Class Identifier The notification class identifier (NCI)

uniquely identifies the kind of situation that caused the notification

• For vendorId, use the SNMP enterprise number listed in http://www.iana.org/assignments/enterprise-numbers

• The majorId and minorId values can be assigned by a vendor

• For SA Forum, the vendorId is and the majorId is given in SaServicesT (see SA Forum Overview document)

Use SaNtfElementIdT for notification element identifiers and SaNtfIdentifierT for notification identifiers

typedef struct { SaUint32T vendorId; SaUint16T majorId; SaUint16T minorId;} SaNtfClassIdT;

#define SA_NTF_VENDOR_ID_SAF 18568

typedef SaUint16T SaNtfElementIdT;typedef SaUint64T SaNtfIdentifierT;#define SA_NTF_IDENTIFIER_UNUSED ((SaNtfIdentifierT) 0)

Page 20: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 20

Notification Value Type

The SaNtfValueTypeT defines the possible types of values within a structure of type SaNtfValueT

typedef enum { SA_NTF_VALUE_UINT8, SA_NTF_VALUE_INT8, SA_NTF_VALUE_UINT16, SA_NTF_VALUE_INT16, SA_NTF_VALUE_UINT32, SA_NTF_VALUE_INT32, SA_NTF_VALUE_FLOAT, SA_NTF_VALUE_UINT64, SA_NTF_VALUE_INT64, SA_NTF_VALUE_DOUBLE, SA_NTF_VALUE_LDAP_NAME, SA_NTF_VALUE_STRING, SA_NTF_VALUE_IPADDRESS, SA_NTF_VALUE_BINARY, SA_NTF_VALUE_ARRAY, } SaNtfValueTypeT;

Page 21: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 21

Notification Value TypeSaNtfValueT defines a union type that is used in notifications for parameters or parameter elements that may be of varying data type

A value can be one of the types specified by SaNtfValueTypeT

• ptrVal represents variable length fields such as LDAP names, strings, IP addresses, and binary data

– To initialize this structure and to set a pointer to the real data, use saNtfPtrValAllocate()

– To retrieve the real data, use saNtfPtrValGet()

• arrayVal represents sets of data of identical type such as notification identifiers, attributes, etc

– To access the real data, use saNtfArrayValAllocate() and saNtfArrayValGet()

typedef union {SaUint8T uint8Val; SaInt8T int8Val; SaUint16T uint16Val; SaInt16T int16Val; SaUint32T uint32Val; SaInt32T int32Val; SaFloatT floatVal; SaUint64T uint64Val; SaInt64T int64Val; SaDoubleT doubleVal;

struct {SaUint16T dataOffset;SaUint16T dataSize;

} ptrVal; struct {

SaUint16T arrayOffset;SaUint16T numElements;SaUint16T elementSize;

} arrayVal;

} SaNtfValueT;

Page 22: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 22

Probable Cause Type The SaNtfProbableCauseT enum has the following values

typedef enum {SA_NTF_ADAPTER_ERROR,SA_NTF_APPLICATION_SUBSYSTEM_FAILURE,SA_NTF_BANDWIDTH_REDUCED,SA_NTF_CALL_ESTABLISHMENT_ERROR,SA_NTF_COMMUNICATIONS_PROTOCOL_ERROR,SA_NTF_COMMUNICATIONS_SUBSYSTEM_FAILURE,SA_NTF_CONFIGURATION_OR_CUSTOMIZATION_ERROR,SA_NTF_CONGESTION,SA_NTF_CORRUPT_DATA,SA_NTF_CPU_CYCLES_LIMIT_EXCEEDED,SA_NTF_DATASET_OR_MODEM_ERROR,SA_NTF_DEGRADED_SIGNAL,SA_NTF_D_T_E,SA_NTF_ENCLOSURE_DOOR_OPEN,SA_NTF_EQUIPMENT_MALFUNCTION,SA_NTF_EXCESSIVE_VIBRATION,SA_NTF_FILE_ERROR,SA_NTF_FIRE_DETECTED,SA_NTF_FLOOD_DETECTED,SA_NTF_FRAMING_ERROR,SA_NTF_HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM,SA_NTF_HUMIDITY_UNACCEPTABLE,SA_NTF_INPUT_OUTPUT_DEVICE_ERROR,SA_NTF_INPUT_DEVICE_ERROR,SA_NTF_L_A_N_ERROR,SA_NTF_LEAK_DETECTED,SA_NTF_LOCAL_NODE_TRANSMISSION_ERROR,SA_NTF_LOSS_OF_FRAME,SA_NTF_LOSS_OF_SIGNAL,SA_NTF_MATERIAL_SUPPLY_EXHAUSTED,SA_NTF_MULTIPLEXER_PROBLEM,SA_NTF_OUT_OF_MEMORY,SA_NTF_OUTPUT_DEVICE_ERROR,SA_NTF_PERFORMANCE_DEGRADED,SA_NTF_POWER_PROBLEM,SA_NTF_PRESSURE_UNACCEPTABLE,SA_NTF_PROCESSOR_PROBLEM,

SA_NTF_PUMP_FAILURE,SA_NTF_QUEUE_SIZE_EXCEEDED,SA_NTF_RECEIVE_FAILURE,SA_NTF_RECEIVER_FAILURE,SA_NTF_REMOTE_NODE_TRANSMISSION_ERROR,SA_NTF_RESOURCE_AT_OR_NEARING_CAPACITY,SA_NTF_RESPONSE_TIME_EXCESSIVE,SA_NTF_RETRANSMISSION_RATE_EXCESSIVE,SA_NTF_SOFWARE_ERROR,SA_NTF_SOFWARE_PROGRAM_ABNORMALLY_TERMINATED,SA_NTF_SOFTWARE_PROGRAM_ERROR,SA_NTF_STORAGE_CAPACITY_PROBLEM,SA_NTF_TEMPERATURE_UNACCEPTABLE,SA_NTF_THRESHOLD_CROSSED,SA_NTF_TIMING_PROBLEM,SA_NTF_TOXIC_LEAK_DETECTED,SA_NTF_TRANSMIT_FAILURE,SA_NTF_TRANSMITTER_FAILURE,SA_NTF_UNDERLYING_RESOURCE_UNAVAILABLE,SA_NTF_VERSION_MISMATCH,SA_NTF_AUTHENTICATION_FAILURE,SA_NTF_BREACH_OF_CONFIDENTIALITY,SA_NTF_CABLE_TAMPER,SA_NTF_DELAYED_INFORMATION,SA_NTF_DENIAL_OF_SERVICE,SA_NTF_DUPLICATE_INFORMATION,SA_NTF_INFORMATION_MISSING,SA_NTF_INFORMATION_MODIFICATION_DETECTED,SA_NTF_INFORMATION_OUT_OF_SEQUENCE,SA_NTF_INTRUSION_DETECTION,SA_NTF_KEY_EXPIRED,SA_NTF_NON_REPUDIATION_FAILURE,SA_NTF_OUT_OF_HOURS_ACTIVITY,SA_NTF_OUT_OF_SERVICE,SA_NTF_PROCEDURAL_ERROR,SA_NTF_UNAUTHORIZED_ACCESS_ATTEMPT,SA_NTF_UNEXPECTED_INFORMATION,SA_NTF_UNSPECIFIED_REASON} SaNtfProbableCauseT;

Page 23: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 23

Specific Problem and Severity Types Specific Problem

Severity

Severity Trend

typedef struct {SaNtfElementIdT problemId;SaNtfClassIdT problemClassId;SaNtfValueTypeT problemType;SaNtfValueT problemValue;

} SaNtfSpecificProblemT;

This structure represents a single element in the specific problem parameter of a notification. It is highly application dependentproblemId is user definedproblemClassId is optionalproblemType and problemValue are specific to the notification

typedef enum {SA_NTF_SEVERITY_CLEARED,SA_NTF_SEVERITY_INDETERMINATE,SA_NTF_SEVERITY_WARNING,SA_NTF_SEVERITY_MINOR,SA_NTF_SEVERITY_MAJOR,SA_NTF_SEVERITY_CRITICAL

} SaNtfSeverityT;

This type enumerates the severities used by alarm notifications and by security alarm notifications

typedef enum {SA_NTF_TREND_MORE_SEVERE,SA_NTF_TREND_NO_CHANGE,SA_NTF_TREND_LESS_SEVERE

} SaNtfSeverityTrendT;

This type enumerates the trend indication of severity

Page 24: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 24

Proposed Repair Action and State Change Types

Proposed Repair Action

Source Indicator

State Change

typedef struct {SaNtfElementIdT actionId;SaNtfValueTypeT actionValueType;SaNtfValueT actionValue;

} SaNtfProposedRepairActionT;

Structure that represents a single proposed repair action in an alarm notificationCurrently, SA Forum does not specify any mechanism to define an association between a repair action and a problem

typedef enum {SA_NTF_OBJECT_OPERATION,SA_NTF_MANAGEMENT_OPERATION,SA_NTF_UNKNOWN_OPERATION

} SaNtfSourceIndicatorT;

The source indicator for state change, object create/delete, and attribute value change notifications

typedef struct {SaNtfElementIdT stateId;SaBoolT oldStatePresent;SaUint16T oldState;SaUint16T newState;

} SaNtfStateChangeT;

Structure that represents state changes as part of a notification. The oldState and newState fields contain the old and new state value and the stateId field identifies the kind of state that has changed. The oldState field is optional, and is relevant only when oldStatePresent is SA_TRUE

Page 25: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 25

Attribute and Attribute Change Types

Attribute

Attribute Change

typedef struct {SaNtfElementIdT attributeId;SaNtfValueTypeT attributeType;SaNtfValueT attributeValue;

} SaNtfAttributeT;

Structure that represents object attributes in an object creation or deletion notificationattributeId is user defined

typedef struct {SaNtfElementIdT attributeId;SaNtfValueTypeT attributeType;SaBoolT oldAttributePresent;SaNtfValueT oldAttributeValue;SaNtfValueT newAttributeValue;

} SaNtfAttributeChangeT;

Structure that represents attribute changes in a notificationattributeId is user definedThe oldAttributeValue field is optional, and is relevant only when oldAttributePresent is SA_TRUE

Page 26: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 26

Security Alarm TypesService User

Security Alarm Detector

typedef struct {SaNtfValueTypeT valueType;SaNtfValueT value;

} SaNtfServiceUserT;

Structure that represents the service user and service provider in a security alarm notification

typedef struct {SaNtfValueTypeT valueType;SaNtfValueT value;

} SaNtfSecurityAlarmDetectorT;

Structure that represents the security alarm detector in a security alarm notification

Page 27: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 27

Notification Header Type The notification header type contains pointers to the

common fields in the internal notification structuretypedef struct {

SaNtfEventTypeT *eventType;SaNameT *notificationObject;SaNameT *notifyingObject;SaNtfClassIdT *notificationClassId;SaTimeT *eventTime;SaUint16T numCorrelatedNotifications;SaUint16T lengthAdditionalText;SaUint16T numAdditionalInfo;SaNtfIdentifierT *notificationId;SaNtfIdentifierT *correlatedNotifications;SaStringT additionalText;SaNtfAdditionalInfoT *additionalInfo;

} SaNtfNotificationHeaderT;

eventType –The event typenotificationObject – The notification object in the internal notification structurenotifyingObject – The notifying object notificationClassId –The notification class identifiereventTime – The event timenumCorrelatedNotifications – The number of correlated notifications in the notificationlengthAdditionalText – The length in bytes of additional text (including terminating ‘\0’)numAdditionalInfo – The number of additional info fieldsnotificationId – The notification identifier correlatedNotifications – The correlated notification identifiers arrayadditionalText – The additional text in the internal notification structureadditionalInfo – The additional info array in the internal notification structure

Page 28: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 28

Notification Types Object Create/Delete Notification

typedef struct {

SaNtfNotificationHandleT notificationHandle;

SaNtfNotificationHeaderT notificationHeader;

SaUint16T numAttributes;

SaNtfSourceIndicatorT *sourceIndicator;

SaNtfAttributeT *objectAttributes;

} SaNtfObjectCreateDeleteNotificationT;

notificationHandle – The handle to the internal notification structurenotificationHeader – The notification headernumAttributes – The number of object attributes in the notificationsourceIndicator – The source indicator field in the internal notification structureobjectAttributes –The attributes array in the internal notification structure

Page 29: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 29

Notification Types Attribute Change Notification

State Change Notification

typedef struct {SaNtfNotificationHandleT notificationHandle;SaNtfNotificationHeaderT notificationHeader;SaUint16T numAttributes;SaNtfSourceIndicatorT *sourceIndicator;SaNtfAttributeChangeT *changedAttributes;

} SaNtfAttributeChangeNotificationT;

notificationHandle – The handle to the internal notification structurenotificationHeader – The notification headernumAttributes – The number of changed attributes in the notificationsourceIndicator – The source indicator field changedAttributes – The changed attributes array

typedef struct {SaNtfNotificationHandleT notificationHandle;SaNtfNotificationHeaderT notificationHeader;SaUint16T numStateChanges;SaNtfSourceIndicatorT *sourceIndicator;SaNtfStateChangeT *changedStates;

} SaNtfStateChangeNotificationT;

notificationHandle – The handle to the internal notification structurenotificationHeader – The notification headernumStateChanges – The number of state changes in the notificationsourceIndicator – The source indicator field changedStates – The changed states array

Page 30: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 30

Notification Types Alarm Notification

typedef struct {

SaNtfNotificationHandleT notificationHandle;

SaNtfNotificationHeaderT notificationHeader;

SaUint16T numSpecificProblems;

SaUint16T numMonitoredAttributes;

SaUint16T numProposedRepairActions;

SaNtfProbableCauseT *probableCause;

SaNtfSpecificProblemT *specificProblems;

SaNtfSeverityT *perceivedSeverity;

SaNtfSeverityTrendT *trend;

SaNtfThresholdInformationT

*thresholdInformation;

SaNtfAttributeT *monitoredAttributes;

SaNtfProposedRepairActionT

*proposedRepairActions;

} SaNtfAlarmNotificationT;

notificationHandle – The handle to the internal notification structurenotificationHeader – The notification headernumSpecificProblems – The number of specific problemsnumMonitoredAttributes – The number of monitored attributesnumProposedRepairActions – The number of proposed repair actionsprobableCause – The probable causespecificProblems – The array of specific problemsperceivedSeverity – The perceived severitytrend – The trend of severitythresholdInformation – The threshold information fieldmonitoredAttributes – The monitored attributes arrayproposedRepairActions – The proposed repair actions array

Page 31: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 31

Notification Types Security Alarm Notification

typedef struct {

SaNtfNotificationHandleT notificationHandle;

SaNtfNotificationHeaderT notificationHeader;

SaNtfProbableCauseT *probableCause;

SaNtfSeverityT *severity;

SaNtfSecurityAlarmDetectorT *securityAlarmDetector;

SaNtfServiceUserT*serviceUser;

SaNtfServiceUserT *serviceProvider;

} SaNtfSecurityAlarmNotificationT;

notificationHandle – The handle to the internal notification structurenotificationHeader – The notification headerprobableCause – The probable causeseverity – The severity securityAlarmDetector – The alarm detectorserviceUser – The service userserviceProvider – The service user

Page 32: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 32

Notification Types Notification

Field TypeObject

Create/DeleteAttribute Change

State Change

Alarm Security Alarm

notificationHandle notificationHeader numAttributes sourceIndicator objectAttributes changedAttributes numStateChanges changedStates numSpecificProblems numMonitoredAttributes numProposedRepairActions probableCause specificProblems perceivedSeverity trend thresholdInformation monitoredAttributes proposedRepairActions severity securityAlarmDetector serviceUser serviceProvider

Page 33: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 33

Notification Filter Header Type The notification filter header type contains filter elements

common to all notification types

typedef struct {

SaUint16T numEventTypes;

SaNtfEventTypeT *eventTypes;

SaUint16T numNotificationObjects;

SaNameT *notificationObjects;

SaUint16T numNotifyingObjects;

SaNameT *notifyingObjects;

SaUint16T numNotificationClassIds;

SaNtfClassIdT *notificationClassIds;

} SaNtfNotificationFilterHeaderT;

numEventTypes – The number of event typeseventTypes – The array of event typesnumNotificationObjects – The number of notification objects notificationObjects – The array of notification objectsnumNotifyingObjects – The number of notifying objectsnotifyingObjects - The array of notifying objectsnumNotificationClassIds – The number of notification class identifiersnotificationClassIds – The array of notification class identifiers

Page 34: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 34

Notification Filter Types Object Create/Delete Notification Filter

typedef struct {SaNtfNotificationFilterHandleT

notificationFilterHandle;SaNtfNotificationFilterHeaderT

notificationFilterHeader;SaUint16T numSourceIndicators;SaNtfSourceIndicatorT *sourceIndicators;

} SaNtfObjectCreateDeleteNotificationFilterT;

notificationFilterHandle – The handle to the internal notification filter structure

notificationFilterHeader – The notification filter header

numSourceIndicators – The number of source indicators

sourceIndicators – The array of source indicators

Page 35: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 35

Notification Filter Types Attribute Change Notification Filter

State Change Notification Filter

typedef struct {SaNtfNotificationFilterHandleT notificationFilterHandle;SaNtfNotificationFilterHeaderT notificationFilterHeader;SaUint16T numSourceIndicators;SaNtfSourceIndicatorT *sourceIndicators;

} SaNtfAttributeChangeNotificationFilterT;

notificationFilterHandle – The handle to the internal notification filter structure notificationFilterHeader – The notification filter header numSourceIndicators – The number of source indicatorssourceIndicators – The array of source indicators

typedef struct {SaNtfNotificationFilterHandleT notificationFilterHandle;SaNtfNotificationFilterHeaderT notificationFilterHeader;SaUint16T numSourceIndicators;SaNtfSourceIndicatorT *sourceIndicators;SaUint16T numStateChanges;SaNtfStateChangeT *changedStates;

} SaNtfStateChangeNotificationFilterT;

See above for the notificationFilterHandle, notificationFilterHeader, numSourceIndicators, and sourceIndicatorsnumStateChanges – The number of state changeschangedStates – The array of changed states

Page 36: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 36

Notification Filter Types Alarm Notification Filter

typedef struct {

SaNtfNotificationFilterHandleT notificationFilterHandle;

SaNtfNotificationFilterHeaderT notificationFilterHeader;

SaUint16T numProbableCauses;

SaUint16T numPerceivedSeverities;

SaUint16T numTrends;

SaNtfProbableCauseT *probableCauses;

SaNtfSeverityT *perceivedSeverities;

SaNtfSeverityTrendT *trends;

} SaNtfAlarmNotificationFilterT;

notificationFilterHandle – The handle to the internal notification filter structurenotificationFilterHeader – The notification filter header numProbableCauses – The number of probable causes numPerceivedSeverities – The number of perceived severitiesnumTrends – The number of severity trends probableCauses – The array of probable causesperceivedSeverities – The array of perceived severitiestrends – The array of severity trends

Page 37: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 37

Notification Filter Types Security Alarm Notification Filter

typedef struct {SaNtfNotificationFilterHandleT notificationFilterHandle;SaNtfNotificationFilterHeaderT notificationFilterHeader;SaUint16T numProbableCauses;SaUint16T numSeverities;SaUint16T numSecurityAlarmDetectors;SaUint16T numServiceUsers;SaUint16T numServiceProviders;SaNtfProbableCauseT *probableCauses;SaNtfSeverityT *severities;SaNtfSecurityAlarmDetectorT *securityAlarmDetectors;SaNtfServiceUserT *serviceUsers;SaNtfServiceUserT *serviceProviders;

} SaNtfSecurityAlarmNotificationFilterT;

numProbableCauses – The number of probable causes numSeverities – The number of severities numSecurityAlarmDetectors – The number of security alarm detectorsnumServiceUsers – The number of service users numServiceProviders – The number of service providers probableCauses – The array of probable causes severities – The array of severitiessecurityAlarmDetectors – The array of security alarm detectors serviceUsers – The array of service users serviceProviders – The array of service providers

Page 38: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 38

Notification Filter Types Notification

Field TypeObject

Create/DeleteAttribute Change

State Change

Alarm Security Alarm

notificationFilterHandle notificationFilterHeader numSourceIndicators sourceIndicators numStateChanges changedStates numProbableCauses numPerceivedSeverity numTrends probableCauses perceivedSeverities trends numSeverites numSecurityAlarmDetectors numServiceUsers numServiceProvider severities securityAlarmDetectors serviceUsers serviceProviders

Page 39: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 39

Search Types Search Mode

Search Criteria

Search Direction

typedef enum {SA_NTF_SEARCH_BEFORE_OR_AT_TIME,SA_NTF_SEARCH_AT_TIME,SA_NTF_SEARCH_AT_OR_AFTER_TIME,SA_NTF_SEARCH_BEFORE_TIME,SA_NTF_SEARCH_AFTER_TIME,SA_NTF_SEARCH_NOTIFICATION_ID,SA_NTF_SEARCH_ONLY_FILTER

} SaNtfSearchModeT;

This enumeration type defines the search modes for the Notification Reader API

typedef struct {SaNtfSearchModeT searchMode;SaTimeT eventTime;SaNtfIdentifierT notificationId;

} SaNtfSearchCriteriaT;

This structure contains the search criteria for the Notification Reader APIsearchMode – The search mode eventTime – Relevant only if searchMode is one of SA_NTF_SEARCH_*_TIMEnotificationId – Relevant only if searchMode is SA_NTF_SEARCH_NOTIFICATION_ID

typedef enum {SA_NTF_SEARCH_OLDER,SA_NTF_SEARCH_YOUNGER

} SaNtfSearchDirectionT;

This enumeration type defines the search directions for the Notification Reader API

Page 40: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 40

Notifications and Filter Handles Types Notification Type Filter Handles structure

Notifications structure

typedef struct {

SaNtfNotificationFilterHandleT objectCreateDeleteFilterHandle;

SaNtfNotificationFilterHandleT attributeChangeFilterHandle;

SaNtfNotificationFilterHandleT stateChangeFilterHandle;

SaNtfNotificationFilterHandleT alarmFilterHandle;

SaNtfNotificationFilterHandleT securityAlarmFilterHandle;

} SaNtfNotificationTypeFilterHandlesT;

Aggregates the notification filter handles for all notifications typesHandles that are not used are set to SA_NTF_FILTER_HANDLE_NULL

typedef struct {

SaNtfNotificationTypeT notificationType;

union {

SaNtfObjectCreateDeleteNotificationT objectCreateDeleteNotification;

SaNtfAttributeChangeNotificationT attributeChangeNotification;

SaNtfStateChangeNotificationT stateChangeNotification;

SaNtfAlarmNotificationT alarmNotification;

SaNtfSecurityAlarmNotificationT securityAlarmNotification;

} notification;

} SaNtfNotificationsT;

Contains the common notification type and a union of all specific notification typesnotificationType –The type of notification

Page 41: SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Copyright© 2006 Service Availability™ Forum, Inc 41

Summary This lesson has presented the following topics related

to the Notification Service• Notification Service Model

– Users of the Notification Service– Notifications and Notification Filters– Notification Types– Common Parameters– Notification Parameters– Notification Delivery Characteristics– Integration of HPI Events– Semantic Identifiers of Notification Elements

• Notification Service Types

The next lesson on the Notification Service will cover • Notification Service Functions

• Configuration Data for the Notification Service