8 Example of Notification related to alarm

32.106-33GPPCommon Object Request Broker Architecture (CORBA) Solution Set (SS)Configuration Management (CM)Part 3: Notification Integration Reference Point (IRP)Telecommunication managementTS

The following is an example of Notification related to alarm.

If type_name == NOTIFY_FM_NEW_ALARM, then the filterable_body_field attributes can contain:

{

systemDN, “…”;

alarmId, “abce232”,

notificationId, 4467,

managedObjectInstance, “…”,

eventTime, …,

probableCause, 3,

perceivedSeverity, 2,

specificProblems, “xxx”,

additionalText, “…”,

}

Annex A (normative):
Notification IRP CORBA IDL

/* ## Module: CommonIRPConstDefs

This module contains definitions commonly used among all IRPs such as Alarm IRP.

================================================================================

*/

#ifndef CommonIRPConstDefs_idl

#define CommonIRPConstDefs_idl

#include <TimeBase.idl>

#pragma prefix "3gppsa5.org"

module CommonIRPConstDefs {

/*

Definition imported from CosTime. The time refers to time in Greenwich

Time Zone. It also consists of a time displacement factor in the form

of minutes of displacement from the Greenwich Meridian.

*/

typedef TimeBase::UtcT IRPTime;

enum Signal {OK, Failure, PartialFailure};

typedef sequence <string> VersionNumberSet;

};

#endif

/* ## Module: NotificationIRPConstDefs

This module contains definitions specific to Notification IRP.

==============================================================

*/

#ifndef NotificationIRPConstDefs_idl

#define NotificationIRPConstDefs_idl

#pragma prefix "3gppsa5.org"

module NotificationIRPConstDefs {

/*

This is a string sequence identifying notification categories.

A notification category is identified by the IRP name and its version.

*/

typedef sequence <string> NotificationCategorySet;

/*

This is a sequence of strings identifying event types of a particular

notification category.

*/

typedef sequence <string> EventTypesPerNotificationCategory;

/*

This sequence identifies all event types of all notification categories

identified by NotificationCategorySet. The number of elements in this

sequence shall be identical to that of NotificationCategorySet.

*/

typedef sequence <EventTypesPerNotificationCategory> EventTypesSet;

/*

This is a sequence of strings identifying extended event types of

a particular notification category.

*/

typedef sequence <string> ExtendedEventTypePerNotificationCategory;

/*

This sequence identifies all extended event types of all notification

categories identified by NotificationCategorySet. The number of elements

in this sequence shall be identical to that of NotificationCategorySet.

*/

typedef sequence <ExtendedEventTypePerNotificationCategory>

ExtendedEventTypesSet;

typedef sequence <long> NotifIDSetType;

/*

This holds identifiers of notifications that are correlated.

*/

struct CorrelatedNotification {

string 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 parameter-attribute

// of the Structured Event, i.e., the notification.

NotifIDSetType notifIDSet;

};

/*

Correlated Notification sets are sets of Correlated Notification

structures.

*/

typedef sequence <CorrelatedNotification> CorrelatedNotificationSetType;

/*

This is a sequence of strings identifying Subscription Ids.

*/

typedef string SubscriptionId;

typedef sequence <SubscriptionId> SubscriptionIdSet;

/*

This block encapsulates valid strings carried in domain_name of

structured event header. It carries the name of IRP and its

corresponding CORBA SS version number. They are the returned

values for get_XXX_IRP_version() as well.

*/

const string ALARM_IRP_VERSION_1_1 = "1f1"; //alarm IRP 1:1

const string CONFIGURATION_IRP_VERSION_1_1 = "1c1"; //CM IRP 1:1

/*

This string is used as return value for get_notification_irp_version()

*/

const string NOTIFICATION_IRP_VERSION_1_1 = "1n1"; //Notification IRP 1:1

/*

This block encapsulates string used in the name of the Name Value

pair of the structured event.

*/

const string NV_NOTIFICATION_ID = "a";

const string NV_CORRELATED_NOTIFICATIONS = "b";

const string NV_EVENT_TIME = "c";

const string NV_SYSTEM_DN = "d";

const string NV_MANAGED_OBJECT_CLASS = "e";

const string NV_MANAGED_OBJECT_INSTANCE = "f";

const string NV_PROBABLE_CAUSE = "g";

const string NV_PERCEIVED_SEVERITY = "h";

const string NV_SPECIFIC_PROBLEM = "i";

const string NV_ADDITIONAL_TEXT = "j";

const string NV_ALARM_ID = "k";

const string NV_ACK_USER_ID = "l";

const string NV_ACK_TIME = "m";

const string NV_ACK_SYSTEM_ID = "n";

const string NV_ACK_STATE = "o";

const string NV_BACKED_UP_STATUS = "p";

const string NV_BACK_UP_OBJECT = "q";

const string NV_THRESHOLD_INFO = "r";

const string NV_TREND_INDICATION = "s";

const string NV_STATE_CHANGE_DEFINITION = "t";

const string NV_MONITORED_ATTRIBUTES = "u";

const string NV_PROPOSED_REPAIR_ACTIONS = "v";

const string NV_REASON = "w";

/*

This indicates if the subscription is active (not suspended) or inactive.

*/

enum SubscriptionState {Inactive, Active, DontKnow};

};

#endif

/* ## Module: NotificationIRPSystem

This module implements capabilities of IRPAgent specified in Notification

IRP: Information Service version 1 and its equivalents in Notification

IRP: CORBA Solution Set version 1:1.

==================================================================

*/

#ifndef NotificationIRPSystem_idl

#define NotificationIRPSystem_idl

#include "CosNotifyChannelAdmin.idl"

#include "NotificationIRPConstDefs.idl"

#include "CommonIRPConstDefs.idl"

#pragma prefix "3gppsa5.org"

module NotificationIRPSystem {

/*

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 Attach { string reason; };

exception DetachException { string reason; };

exception GetSubscriptionStatus { string reason; };

exception GetSubscriptionIds { string reason; };

exception ChangeSubscriptionFilter { string reason; };

exception GetNotificationCategories { string reason; };

exception GetNotificationIRPVersion { string reason; };

exception ParameterNotSupported { string parameter; };

// name of the unsupported parameter as defined in IDL

exception InvalidParameter { string parameter; };

// name of the parameter as defined in IDL

exception OperationNotSupported {};

exception AlreadySubscribed {};

exception AtLeastOneNotificationCategoryNotSupported {};

interface NotificationIRPOperations {

/* ## Operation: attach_push

*/

NotificationIRPConstDefs::SubscriptionId attach_push (

in string manager_reference,

in long time_tick,

in NotificationIRPConstDefs::NotificationCategorySet

notification_category_set,

in string filter

)

raises (Attach, ParameterNotSupported, InvalidParameter, AlreadySubscribed,

AtLeastOneNotificationCategoryNotSupported);

/* ## Operation: attach_push_b

*/

NotificationIRPConstDefs::SubscriptionId attach_push_b (

in string manager_reference,

in long time_tick,

in NotificationIRPConstDefs::NotificationCategorySet

notification_category_set,

in string filter,

out CosNotifyChannelAdmin::SequenceProxyPushSupplier system_reference

)

raises (Attach,OperationNotSupported,ParameterNotSupported,InvalidParameter,AlreadySubscribed,AtLeastOneNotificationCategoryNotSupported);

/* ## Operation: attach_pull

*/

NotificationIRPConstDefs::SubscriptionId attach_pull (

in string manager_reference,

in long time_tick,

in NotificationIRPConstDefs::NotificationCategorySet

notification_category_set,

in string filter,

out CosNotifyChannelAdmin::SequenceProxyPullSupplier system_reference

)

raises (Attach, OperationNotSupported, ParameterNotSupported,

InvalidParameter, AlreadySubscribed,

AtLeastOneNotificationCategoryNotSupported);

/* ## Operation: detach

*/

void detach (

in string manager_reference,

in NotificationIRPConstDefs::SubscriptionId subscription_id

)

raises (DetachException,InvalidParameter);

/* ## Operation: get_notification_IRP_version

*/

CommonIRPConstDefs::VersionNumberSet get_notification_IRP_version ()

raises (GetNotificationIRPVersion);

/* ## Operation: get_subscription_status

*/

NotificationIRPConstDefs::NotificationCategorySet get_subscription_status (

in NotificationIRPConstDefs::SubscriptionId subscription_id,

out string filter_in_effect,

out NotificationIRPConstDefs::SubscriptionState subscription_state,

out long time_tick

)

raises (GetSubscriptionStatus,OperationNotSupported,InvalidParameter);

/* ## Operation: get_subscription_ids

*/

NotificationIRPConstDefs::SubscriptionIdSet get_subscription_ids (

in string manager_reference

)

raises (GetSubscriptionIds,OperationNotSupported,InvalidParameter);

/* ## Operation: change_subscription_filter

*/

void change_subscription_filter (

in NotificationIRPConstDefs::SubscriptionId subscription_id,

in string filter

)

raises (ChangeSubscriptionFilter,OperationNotSupported,InvalidParameter);

/* ## Operation: get_notification_categories

*/

NotificationIRPConstDefs::NotificationCategorySet

get_notification_categories (

out NotificationIRPConstDefs::EventTypesSet event_type_list,

out NotificationIRPConstDefs::ExtendedEventTypesSet

extended_event_type_list

)

raises (GetNotificationCategories,OperationNotSupported);

};

};

#endif

Annex B (informative):
Change history

Change history

Date

TSG #

TSG Doc.

CR

Rev

Subject/Comment

Old

New

Mar 2000

S_07

SP-000012

Approved at TSG SA #7 and placed under Change Control

2.0.0

3.0.0

Mar 2000

cosmetic

3.0.0

3.0.1

Jun 2000

S_08

SP-000243

003

Split of TS – Part 3: Notification Integration Reference Point (IRP): CORBA Solution Set (SS)

3.0.1

3.1.0

Dec 2000

S_10

SP-000519

001

1

Add pragma statement to Notification IRP IDL

3.1.0

3.2.0

Dec 2000

S_10

SP-000519

002

Correction of IDL Errors

3.1.0

3.2.0

Dec 2000

S_10

SP-000519

003

Spelling Errors in the CORBA IDL

3.1.0

3.2.0

Dec 2000

S_10

SP-000519

004

Ensure consistency with IDL exception

3.1.0

3.2.0

Mar 2001

S_11

SP-010028

005

Correct the IDL syntax error in the NotificationIRPSystem module

3.2.0

3.3.0

Mar 2001

S_11

SP-010028

006

Missing NV constant string for the Notify Alarm List Rebuilt reason attribute

3.2.0

3.3.0

Mar 2001

S_11

SP-010028

007

Add CORBA Quality of Service parameters

3.2.0

3.3.0

Mar 2001

S_11

SP-010028

008

Mismatched Notification Id type

3.2.0

3.3.0

Mar 2001

S_11

SP-010028

009

Use stringified IOR instead of type Object for manager_reference

3.2.0

3.3.0

Mar 2001

S_11

SP-010028

010

Mismatched SubscriptionId types

3.2.0

3.3.0

Mar 2001

S_11

SP-010028

011

Remove CosNotifyComm.idl not used in the module NotificationIRPSystem

3.2.0

3.3.0