-- =============================================================================
--               GDMO definitions extracted from ITU-T Rec. Q.751.4 (1998)
-- =============================================================================

-- 7.2  Formal definitions for SCCP accounting
-- 7.2.1  Managed Object Class Definitions
sccpAccount MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T Rec. X.721 (1992) | ISO/IEC 10165-2:1992":top;
  CHARACTERIZED BY
    "ITU-T Rec. M.3100 (1995)":objectManagementNotificationsPackage,
    sccpAccountPackage ;
  CONDITIONAL PACKAGES
    "ITU-T Rec. Q.751.3 (1997)":controlPointerPackage PRESENT IF "the instance
      supports it",
    "ITU-T Rec. Q.751.3 (1997)":measurementControlStatusPackage PRESENT IF "the
      instance supports it",
    sccpAccountingNotificationsPackage PRESENT IF "the instance supports it";
REGISTERED AS {sccpAccount-OOi};


sccpAccountingLogRecord MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T Rec. X.721 (1992) | ISO/IEC 10165-2 : 1992":eventLogRecord;
  CHARACTERIZED BY
    sccpAccountingLogRecordPackage;
REGISTERED AS {sccpAccountingLogRecord-OOi};


terminatingAccountClassForAccounting MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T Rec. X.721 (1992) | ISO/IEC 10165-2:1992":top;
  CHARACTERIZED BY
    terminatingAccountClassForAccountingPackage,
    "ITU-T Rec. M.3100 (1995)":objectManagementNotificationsPackage ;
REGISTERED AS {terminatingAccountClassForAccounting-OOi};


terminatingAccountClassForVerification MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T Rec. X.721 (1992) | ISO/IEC 10165-2:1992":top;
  CHARACTERIZED BY
    terminatingAccountClassForVerificationPackage,
    "ITU-T Rec. M.3100 (1995)":objectManagementNotificationsPackage ;
REGISTERED AS {terminatingAccountClassForVerification-OOi};


verificationRule MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T Rec. X.721 (1992) | ISO/IEC 10165-2:1992":top;
  CHARACTERIZED BY
    verificationRulePackage,
    "ITU-T Rec. M.3100 (1995)":objectManagementNotificationsPackage ;
REGISTERED AS {verificationRule-OOi};


verificationTranslator MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T Rec. X.721 (1992) | ISO/IEC 10165-2:1992":top;
  CHARACTERIZED BY
    verificationTranslatorPackage,
    "ITU-T Rec. M.3100 (1995)":objectManagementNotificationsPackage ;
REGISTERED AS {verificationTranslator-OOi};


-- 7.2.2  Package definitions
sccpAccountPackage PACKAGE
  BEHAVIOUR sccpAccountPackageBehaviour BEHAVIOUR DEFINED AS
    "The sccpAccount managed object allows by means of the attribute
    sccpLinkageSet to define a set (at least one) of remote nodes for which SCCP
    accounting/verification can be done collectively, because they are belonging
    to the same operator. All sccpLinkageSets defined by sccpAccounts shall be disjunct.

    The selectionGroupSetForAccounting refers to
    terminatingAccountClassForAccounting instances contained in scrc, i.e. the
    accounting is independent of the operator (Other selection items for SCCP
    accounting are for further study). The selectionGroupSetForVerification
    refers to terminatingAccountClassForVerification instances contained in the
    same sccpAccount that the selectionGroupSetForVerification attribute belongs
    to, i.e. the verification is operator dependent. Each selectionGroup entry
    shall be unique in these attributes. For each selectionGroup it is counted
    separately. Each counter information contains the number of GTs, the number
    of octets, an eventual data problem and the selectionGroup for which was
    counted. The counters are not readable but only available in the notification data.

    If all counters for verification or accounting should still be zero at the
    end of the measurement, the corresponding notification should be generated
    regardless of that in order to provide a measure against notification loss.

    Two different notifications, one for accounting, one for accounting
    verification containing the measurement results might be generated by this
    one object. If a selectionGroupSet is empty, then this means, that
    accounting resp. verification is not performed for the adjacent operator. In
    this case there is no notification for accounting resp. verification.

    The following rules apply for set requests on the sccpLinkageSet,
    selectionGroupSetForAccounting and selectionGroupSetForVerification
    attributes: The addressed sccpLinkages in the sccpLinkageSet attribute may
    only appear in one sccpAccount. The selectionGroups in the
    selectionGroupSetForVerification shall refer to
    terminatingAccountClassForVerification instances contained in this
    sccpAccount instance. The selectionGroups in the
    selectionGroupSetForAccounting shall refer to terminatingAccountClass
    instancesForAccounting.";;
  ATTRIBUTES
    sccpAccountId  GET SET-BY-CREATE,
    sccpLinkageSet  GET SET-BY-CREATE ADD-REMOVE,
    "ITU-T Rec. Q.751.3 (1997)":operatorName  GET SET-BY-CREATE,
    "ITU-T Rec. Q.751.3 (1997)":selectionGroupSetForAccounting
      INITIAL VALUE SccpAccountingDefinedTypesModule.selectionGroupSetInitial
      GET-REPLACE,
    "ITU-T Rec. Q.751.3 (1997)":selectionGroupSetForVerification
      INITIAL VALUE SccpAccountingDefinedTypesModule.selectionGroupSetInitial
      GET-REPLACE;
REGISTERED AS {sccpAccountPackage-POi};


sccpAccountingLogRecordPackage PACKAGE
  BEHAVIOUR sccpAccountingLogRecordPackageBehaviour BEHAVIOUR DEFINED AS
    "The sccpAccountingLogRecord managed object is used to represent logged
    information that resulted from the sccpAccounting or
    sccpAccountingVerification notifications.";;
  ATTRIBUTES
    "ITU-T Rec. Q.751.3 (1997)":endOfMeasurementTime   GET,
    sccpLinkageSet   GET,
    sccpAccCounterDataSequence   GET;
REGISTERED AS {sccpAccountingLogRecordPackage-POi};


sccpAccountingNotificationsPackage PACKAGE
  BEHAVIOUR sccpAccountingNotificationsPackageBehaviour BEHAVIOUR DEFINED AS
    "The sccpAccountingLogRecord managed object is used to represent logged
    information that resulted from the sccpAccounting or
    sccpAccountingVerification notifications.";;
  NOTIFICATIONS
    sccpAccounting,
    sccpAccountingVerification;
REGISTERED AS {sccpAccountingNotificationsPackage-POi};


terminatingAccountClassForAccountingPackage PACKAGE
  BEHAVIOUR terminatingAccountClassForAccountingBehaviour BEHAVIOUR DEFINED AS
    "The terminatingAccountClassForAccounting instances contain a set of gtRules
    with the same tariff. The terminating account class for accounting is
    identified by the terminatingAccountClassForAccountingId. An instance of
    this class represents the destination information item involved in accounting.

    The following restrictions apply for set requests on the ruleSet attribute:
    A rule may be contained in only one ruleSet within the scope of the superior
    scrc.";;
  ATTRIBUTES
    terminatingAccountClassForAccountingId  GET SET-BY-CREATE,
    ruleSet  GET SET-BY-CREATE ADD-REMOVE;
REGISTERED AS {terminatingAccountClassForAccountingPackage-POi};


terminatingAccountClassForVerificationPackage PACKAGE
  BEHAVIOUR terminatingAccountClassForVerificationBehaviour BEHAVIOUR DEFINED AS
    "The terminatingAccountClassForVerification instances contain a set of
    verificationRules with the same tariff. The terminating account class for
    verification is identified by the terminatingAccountClassForAccountingId. An
    instance of this class represents the destination information item involved
    in accounting verification.

    The following restrictions apply for set requests on the ruleSet attribute:
    A rule may be contained in only one ruleSet within the scope of a superior
    sccpAccount.";;
  ATTRIBUTES
    terminatingAccountClassForVerificationId  GET SET-BY-CREATE,
    ruleSet  GET SET-BY-CREATE ADD-REMOVE;
REGISTERED AS {terminatingAccountClassForVerificationPackage-POi};


verificationRulePackage PACKAGE
  BEHAVIOUR verificationRuleBehaviour BEHAVIOUR DEFINED AS
    "The verificationRules are selected during the translation of outgoing
    global titles for accounting verification purposes. As the translation
    mechanism is the same as the translation for routing purposes, the same
    selection attributes are applicable: gtAddressInformation and possibly the
    encodingScheme. If there is no matching verificationRule found, no
    terminatingAccountClassForVerification can be selected. In this case, no
    accounting verification counter is to be incremented.";;
  ATTRIBUTES
    verificationRuleId  GET SET-BY-CREATE,
    "ITU-T Rec. Q.751.2 (1997)":gtAddressInformation  GET-REPLACE,
    "ITU-T Rec. Q.751.2 (1997)":gtEncodingScheme  GET SET-BY-CREATE;
REGISTERED AS {verificationRulePackage-POi};


verificationTranslatorPackage PACKAGE
  BEHAVIOUR verificationTranslatorBehaviour BEHAVIOUR DEFINED AS
    "The verificationTranslators are selected during the translation of outgoing
    global titles for accounting verification purposes. As the translation
    mechanism is the same as the translation for routing purposes, the same
    selection attributes are applicable: gtIndicator, gtNatureOfAddress,
    gtNumberingPlan and gtTranslationType. No single-valued address attributes
    are choosen however. This is to avoid that identical sets of
    verificationRule-sets have to be created in case of identical routing for a
    set of address parameter values. A verification translator, if selected,
    specifies a set of contained verificationRules that apply for a certain
    outgoing global title.";;
  ATTRIBUTES
    verificationTranslatorId  GET SET-BY-CREATE,
    "ITU-T Rec. Q.751.2 (1997)":gtIndicator  GET SET-BY-CREATE,
    gtNatureOfAddressSet  GET-REPLACE ADD-REMOVE,
    gtNumberingPlanSet  GET-REPLACE ADD-REMOVE,
    gtTranslationTypeSet  GET-REPLACE ADD-REMOVE;
REGISTERED AS {verificationTranslatorPackage-POi};


-- 7.2.3  Attribute definitions
ruleSet ATTRIBUTE
  WITH ATTRIBUTE SYNTAX SccpAccountingDefinedTypesModule.RuleSet;
  MATCHES FOR EQUALITY,SET-COMPARISON,SET-INTERSECTION;
  BEHAVIOUR gtRuleSetBehaviour BEHAVIOUR DEFINED AS
    "The ruleSet attribute refers to a set (at least one) of gtRules or
    verificationRules, all belonging to the same terminating account class.

    A set request is rejected if a rule would be referenced which is already
    referenced by another terminatingAccountClass(ForAccounting/Verification)
    contained in the same superior object class instance.";;
REGISTERED AS {ruleSet-AOi};


sccpAccountId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX SccpAccountingDefinedTypesModule.SimpleNameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR sccpAccountIdBehaviour BEHAVIOUR DEFINED AS
    "The sccpAccountId is the naming attribute of the sccpAccount managed object.";;
REGISTERED AS {sccpAccountId-AOi};


sccpLinkageSet ATTRIBUTE
  WITH ATTRIBUTE SYNTAX SccpAccountingDefinedTypesModule.SccpLinkageSet;
  MATCHES FOR EQUALITY,SET-COMPARISON,SET-INTERSECTION;
  BEHAVIOUR sccpLinkageSetBehaviour BEHAVIOUR DEFINED AS
    "The sccpLinkageSet refers to a set (at least one) of sccpLinkages,
    identifying an operator.";;
REGISTERED AS {sccpLinkageSet-AOi};


terminatingAccountClassForAccountingId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX SccpAccountingDefinedTypesModule.SimpleNameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR terminatingAccountClassForAccountingIdBehaviour BEHAVIOUR DEFINED AS
    "The terminatingAccountClassForAccountingId is the naming attribute of the
    terminatingAccountClassForAccounting managed object. ";;
REGISTERED AS {terminatingAccountClassForAccountingId-AOi};


terminatingAccountClassForVerificationId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX SccpAccountingDefinedTypesModule.SimpleNameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR terminatingAccountClassForVerificationIdBehaviour BEHAVIOUR DEFINED AS
    "The terminatingAccountClassForVerificationId is the naming attribute of the
    terminatingAccountClassForVerification managed object. ";;
REGISTERED AS {terminatingAccountClassForVerificationId-AOi};


verificationTranslatorId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX SccpAccountingDefinedTypesModule.SimpleNameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR verificationTranslatorIdBehaviour BEHAVIOUR DEFINED AS
    "The verificationTranslatorId is the naming attribute of the
    verificationTranslator managed object.";;
REGISTERED AS {verificationTranslatorId-AOi};


verificationRuleId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX SccpAccountingDefinedTypesModule.SimpleNameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR verificationRuleIdBehaviour BEHAVIOUR DEFINED AS
    "The verificationRuleId is the naming attribute of the verificationRule
    managed object.";;
REGISTERED AS {verificationRuleId-AOi};


gtNatureOfAddressSet ATTRIBUTE
  WITH ATTRIBUTE SYNTAX SccpAccountingDefinedTypesModule.GtNatureOfAddressSet;
  MATCHES FOR EQUALITY,SET-COMPARISON,SET-INTERSECTION;
  BEHAVIOUR gtNatureOfAddressSetBehaviour BEHAVIOUR DEFINED AS
    "The gtNatureOfAddressSet attribute defines a set of gtNatureOfAddress values.";;
REGISTERED AS {gtNatureOfAddressSet-AOi};


gtNumberingPlanSet ATTRIBUTE
  WITH ATTRIBUTE SYNTAX SccpAccountingDefinedTypesModule.GtNumberingPlanSet;
  MATCHES FOR EQUALITY,SET-COMPARISON,SET-INTERSECTION;
  BEHAVIOUR gtNumberingPlanSetBehaviour BEHAVIOUR DEFINED AS
    "The gtNumberingPlanSet attribute defines a set of gtNumberingPlan values.";;
REGISTERED AS {gtNumberingPlanSet-AOi};


gtTranslationTypeSet ATTRIBUTE
  WITH ATTRIBUTE SYNTAX SccpAccountingDefinedTypesModule.GtTranslationTypeSet;
  MATCHES FOR EQUALITY,SET-COMPARISON,SET-INTERSECTION;
  BEHAVIOUR gtTranslationTypeSetBehaviour BEHAVIOUR DEFINED AS
    "The gtTranslationTypeSet attribute defines a set of gtTranslationType values.";;
REGISTERED AS {gtTranslationTypeSet-AOi};


-- 7.2.4  Name binding definitions
sccpAccount-scrc NAME BINDING
  SUBORDINATE OBJECT CLASS sccpAccount AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS "ITU-T Rec. Q.751.2 (1996)":scrc AND SUBCLASSES;
  WITH ATTRIBUTE sccpAccountId;
  BEHAVIOUR sccpAccount-scrcBehaviour BEHAVIOUR DEFINED AS
    "This name binding is used when the sccpAccount instance is created by
    management operations. A create request is rejected if at least one of the
    instances which would be referenced by the attribute sccpLinkageSet is not
    existing OR at least one of the instances which would be referenced by the
    attributes selectionGroupSetForAccounting or
    selectionGroupSetForVerification is not existing.";;
  CREATE;
  DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {sccpAccount-scrc-NBOI};


terminatingAccountClassForAccounting-scrc NAME BINDING
  SUBORDINATE OBJECT CLASS terminatingAccountClassForAccounting AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS "ITU-T Rec. Q.751.2 (1996)":scrc AND SUBCLASSES;
  WITH ATTRIBUTE terminatingAccountClassForAccountingId;
  BEHAVIOUR terminatingAccountClassForAccounting-scrcBehaviour BEHAVIOUR DEFINED AS
    "This name binding is used when a terminatingAccountClassForAccounting
    instance for SCCP accounting is created by management operations.

    A create request is rejected if a gtRule would be referenced via the
    attribute ruleSet which is already referenced by another
    terminatingAccountClassForAccounting contained in the same superior object
    class instance.

    A delete request is rejected if the instance is still referenced by an
    instance of object class sccpAccount via attribute
    selectionGroupSetForAccounting.";;
  CREATE WITH-REFERENCE-OBJECT;
  DELETE;
REGISTERED AS {terminatingAccountClassForAccounting-scrc-NBOI};


terminatingAccountClassForVerification-sccpAccount NAME BINDING
  SUBORDINATE OBJECT CLASS terminatingAccountClassForVerification AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS sccpAccount AND SUBCLASSES;
  WITH ATTRIBUTE terminatingAccountClassForVerificationId;
  BEHAVIOUR terminatingAccountClassForVerification-sccpAccountBehaviour
  BEHAVIOUR DEFINED AS
    "This name binding is used when a terminatingAccountClassForVerification
    instance for SCCP accounting verification is created by management operations.

    A create request is rejected if a verificationRule would be referenced via
    the attribute ruleSet which is already referenced by another
    terminatingAccountClassForVerification contained in the same superior object
    class instance, or if a verificationRule would be referenced via the
    attribute ruleSet which is contained in another sccpAccount instance than
    the terminatingAccountClassForVerification A delete request is rejected if
    the instance is still referenced by an instance of object class sccpAccount
    via attribute selectionGroupSetForVerification.";;
  CREATE WITH-REFERENCE-OBJECT;
  DELETE;
REGISTERED AS {terminatingAccountClassForVerification-sccpAccount-NBOI};


verificationTranslator-sccpAccount NAME BINDING
  SUBORDINATE OBJECT CLASS verificationTranslator AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS sccpAccount AND SUBCLASSES;
  WITH ATTRIBUTE verificationTranslatorId;
  BEHAVIOUR verificationTranslator-sccpAccount-Bhv BEHAVIOUR DEFINED AS
    "This name binding is used when a verificationTranslator instance for SCCP
    accounting is created by management operations.";;
  CREATE WITH-REFERENCE-OBJECT;
  DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {verificationTranslator-sccpAccount-NBOi};


verificationRule-verificationTranslator NAME BINDING
  SUBORDINATE OBJECT CLASS verificationRule AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS verificationTranslator AND SUBCLASSES;
  WITH ATTRIBUTE verificationRuleId;
  BEHAVIOUR verificationRule-verificationTranslator-Bhv BEHAVIOUR DEFINED AS
    "This name binding is used when a verificationRule instance for SCCP
    accounting is created by management operations.";;
  CREATE WITH-REFERENCE-OBJECT;
  DELETE;
REGISTERED AS {verificationRule-verificationTranslator-NBOi};


-- 7.2.5  Notification Definitions
sccpAccounting NOTIFICATION
  BEHAVIOUR sccpAccountingBehaviour BEHAVIOUR DEFINED AS
    "This notification is generated on occurrence of the event specified in the
    reporting triggers attribute of the ss7AccountingAndVerificationControl
    object controlling the sccpAccount, except if the attribute
    selectionGroupSetForAccounting of the instance has size zero. The
    notification shall also be sent, if all counters have the value zero.

    If accounting is done for all accounts in the same way, then it is possible
    to include the ruleSet only in one notification (e.g. the first) of the
    interval and omit it in all others. In this case the sequence of the given
    counters must be identical, i.e. refer to the same gtRules, for all
    notifications of the interval.";;
  WITH INFORMATION SYNTAX
    SccpAccountingDefinedTypesModule.SccpAccountingNotificationData
      AND ATTRIBUTE IDS
      endOfMeasurementTime "ITU-T Rec. Q.751.3 (1997)":endOfMeasurementTime,
      sccpLinkageSet  sccpLinkageSet,
      sccpAccCounterDataSequence  sccpAccCounterDataSequence;
REGISTERED AS {sccpAccounting-NOI};


sccpAccountingVerification NOTIFICATION
  BEHAVIOUR sccpAccountingVerificationBehaviour BEHAVIOUR DEFINED AS
    "This notification is generated on occurrence of the event specified in the
    reporting triggers attribute of the ss7AccountingAndVerificationControl
    object controlling the sccpAccount, except if the attribute
    selectionGroupSetForVerification of the instance has size zero. The
    notification shall also be sent, if all counters have the value zero.

    If verification is done for all accounts in the same way, then it is
    possible to include the ruleSet only in one notification (e.g. the first) of
    the interval and omit it in all others. In this case the sequence of the
    given counters must be identical, i.e. refer to the same gtRules, for all
    notifications of the interval.";;
  WITH INFORMATION SYNTAX
    SccpAccountingDefinedTypesModule.SccpAccountingNotificationData
      AND ATTRIBUTE IDS
      endOfMeasurementTime  "ITU-T Rec. Q.751.3 (1997)":endOfMeasurementTime,
      sccpLinkageSet   sccpLinkageSet,
      sccpAccCounterDataSequence  sccpAccCounterDataSequence;
REGISTERED AS {sccpAccountingVerification-NOI};
-- 7.2.6  Parameter Definitions
-- Currently none defined.


sccpAccCounterDataSequence ATTRIBUTE
  WITH ATTRIBUTE SYNTAX SccpAccountingDefinedTypesModule.SccpAccCounterDataSequence;
  MATCHES FOR EQUALITY;
  BEHAVIOUR sccpAccCounterDataSequenceBehaviour BEHAVIOUR DEFINED AS
    "This attribute defines the counter values of SSCP accounting or accounting
    verification ...";;
REGISTERED AS {sccpAccCounterDataSequence-AOi};

-- =============================================================================
--  Formatted by OpenT2 Version 5.5.6.34 on Fri Aug 20 11:20:49 2004