-- =============================================================================
--               GDMO definitions extracted from ITU-T Rec. G.774.9 (2001)
-- =============================================================================

protectionCoordinator MANAGED OBJECT CLASS
  DERIVED FROM   "Recommendation X.721":top;
  CHARACTERIZED BY
    protectionCoordinatorPkg PACKAGE
      BEHAVIOUR protectionCoordinatorBeh;
      ATTRIBUTES
        protectionCoordinatorId  GET;
      ACTIONS
        establishProtection
          protectionConfigurationError,
        dismissProtection
          removeProtectionError,
        modifyProtection
          protectionConfigurationError
          removeProtectionError;;;
REGISTERED AS {g774-09MObjectClass 1};


protectionCoordinatorBeh BEHAVIOUR
  DEFINED AS
    *This object class allows the management system to configure the protection
    schemes of a network element. Instances of this class or of its subclasses
    are created at system start-up and can never be deleted.*;


sdhMSProtectionCoordinator MANAGED OBJECT CLASS
  DERIVED FROM     protectionCoordinator;
  CHARACTERIZED BY
    sdhMSProtectionCoordinatorPkg PACKAGE
      BEHAVIOUR sdhMSProtectionCoordinatorBeh;
      ACTIONS
        establishProtection
          mSPGroupConfigurationParameter
          mSPUnitConfigurationParameter
          mSPConfigurationError,
        modifyProtection
          mSPUnitConfigurationParameter
          mSPConfigurationError;;;
REGISTERED AS {g774-09MObjectClass 2};


sdhMSProtectionCoordinatorBeh BEHAVIOUR
  DEFINED AS
    *This object class is used specifically to configure SDH MS protection
    schemes. Only one instance can be created in one NE.

    When the establishProtection action is successfully performed one
    sdhMSProtectionGroup instance and as many sdhMSProtectionUnit instances are
    created as specified by the action information. The
    unreliableResourcePointer of each sdhMSProtectionUnit will point to the
    unprotectedCTP indicated by the unreliableObjects field of the action
    information. The reliableResourcePointer will point to the protectedTTP
    connected to the unprotectedCTP, unless the protectionUnit is protecting and
    extra-traffic is not required or not supported. In this case the
    reliableResourcePointer is NULL.

    UnprotectedCTPs and protectedTTPs are anyhow instantiated for sections which
    can potentially be included in a protection group irrespective whether
    protection is actually present or not. When a section is not part of a
    protection group, the crossConnectionObjectPointer of the unprotectedCTP and
    protectedTTP point to the sdhMSProtectionCoordinator object instance. When
    protection is established the crossConnectionObjectPointer points to the
    associated sdhMSprotectionUnit. When it is possible, unprotectedCTPs and
    protectedTTPs may be created/deleted as a result of the
    establish/modify/dismiss actions.*;


protectionCoordinatorId      ATTRIBUTE
  WITH ATTRIBUTE SYNTAX    SDHProtCoordASN1.NameType;
  MATCHES FOR    EQUALITY;
  BEHAVIOUR    protectionCoordinatorIdBeh;
REGISTERED AS {g774-09Attribute 1};


protectionCoordinatorIdBeh BEHAVIOUR
  DEFINED AS
    *The protectionCoordinatorId attribute is an attribute type whose
    distinguished value can be used as an RDN when naming an instance of the
    protectionCoordinator object class.*;


dismissProtection      ACTION
  BEHAVIOUR  dismissProtectionBeh;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX    SDHProtCoordASN1.DismissProtectionInfo;
REGISTERED AS {g774-09Action 1};


dismissProtectionBeh BEHAVIOUR DEFINED AS
  *This action is used to dismiss a protection scheme. The protectionGroup
  object instance indicated in the action argument and all the contained
  protectionUnits are deleted. After the execution of this action all the
  resources previously participating in the protection scheme will operate in an
  unprotected mode. Yet, protectedTTPs and unprotectedCTPs will remain to allow
  for future participation in other protection groups.

  The action fails if manual or forced switch commands are active on any of the
  protection units.

  Automatic switches present before the deletion are implicitly released as a
  side effect. No notification is sent to report the release of automatic switches.*;


establishProtection      ACTION
  BEHAVIOUR  establishProtectionBeh;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX    SDHProtCoordASN1.EstablishProtectionInfo;
REGISTERED AS {g774-09Action 2};


establishProtectionBeh BEHAVIOUR DEFINED AS
  *This action is used to create a protection scheme within a network element.
  When applied, one protectionGroup object instance is created.

  The protectionUnits field indicates the protection resources which will
  participate in the protection scheme and their role (protected/protecting).
  One protectionUnit instance is created for each element of the protectionUnits
  field. The unreliableResourcePointer, the protecting and the priority
  attributes of each protectionUnit are initialized with the value provided by
  the ProtectionResource sequence (priority optional). The priority must be
  assigned either to all protected (or protecting) units or to none. At least
  one protected and one protecting protection units must be provided by the
  managing system. The specificPUConfiguration field allows to define additional
  protection unit attributes for specific subclasses of the protectionUnit
  class. The specific parameter to be used is defined in protectionCoordinator
  subclasses.

  The optional protectionGroupType field is used to discriminate whether the
  protection type is 1+1 (plus) or M:N (colon). The protectionGroupType
  attribute of the protectionGroup object instance will be set accordingly. This
  field can be present only when the managing system indicated one protected and
  one protecting resource; if, in this case, it is absent the NE will set the
  protectionGroupType attribute according to its own capabilities.

  The optional revertiveInformation field allows the managing system to ask for
  a revertive/non-revertive protection scheme and, only if revertive is set to
  TRUE, to assign the wait-to-restore time. If the revertiveInformation is not
  present the NE will set the revertive and waitToRestoreTime attributes
  according to its own capabilities.

  The specificPGConfiguration field allows to define additional protection group
  attributes for specific subclasses of the protectionGroup class. The specific
  parameter to be used is defined in protectionCoordinator subclasses.*;


modifyProtection      ACTION
  BEHAVIOUR  modifyProtectionBeh;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX    SDHProtCoordASN1.ModifyProtectionInfo;
REGISTERED AS {g774-09Action 3};


modifyProtectionBeh BEHAVIOUR DEFINED AS
  *This action is used to add and/or remove one or more resources from a
  protectionGroup. Action requests that would reduce to zero the number of
  protected or protecting units will be rejected.

  If the protectionGroupType was 1+1 (plus) and one or more protection units are
  added, it automatically switches to M:N (colon).

  The action fails if manual or forced switch commands are active on any of the
  protection units under removal.

  Automatic switches present before the deletion of a protectionUnit are
  implicitly released as a side effect.*;


mSPConfigurationError    PARAMETER
  CONTEXT SPECIFIC-ERROR;
  WITH SYNTAX  SDHProtCoordASN1.MSPConfigurationError;
  BEHAVIOUR  mSPConfigurationErrorBeh;
REGISTERED AS {g774-09Parameter 1};


mSPConfigurationErrorBeh  BEHAVIOUR DEFINED AS
  *This parameter is included in the error parameter of the CMIP APDU when the
  establishProtection or modifyProtection action received by the
  sdhMSPProtectionCoordinator fails for specific MSP configuration inconsistencies.*;


mSPGroupConfigurationParameter  PARAMETER
  CONTEXT ACTION-INFO;
  WITH SYNTAX  SDHProtCoordASN1.MSPGroupConfigurationParameter;
  BEHAVIOUR    mSPGroupConfigurationParameterBeh;
REGISTERED AS {g774-09Parameter 2};


mSPGroupConfigurationParameterBeh  BEHAVIOUR DEFINED AS
  *This parameter is used in the specificPGConfiguration field of the
  establishProtection action received by the sdhMSPProtectionCoordinator, when
  the establishment of a sdhMSProtectionGroup is requested by the management system.

  The protectionSwitchMode field indicates whether protection switching is done
  on a unidirectional or bidirectional basis.

  The aPSProtocolPresent boolean field indicates whether the K1/K2 protocol is
  used. The protectionMismatchStatusPkg conditional package of the
  sdhMSProtectionGroup object is instantiated if aPSProtocolPresent value is TRUE.*;


mSPUnitConfigurationParameter    PARAMETER
  CONTEXT ACTION-INFO;
  WITH SYNTAX  SDHProtCoordASN1.MSPUnitConfigurationParameter;
  BEHAVIOUR  mSPUnitConfigurationParameterBeh;
REGISTERED AS {g774-09Parameter 3};


mSPUnitConfigurationParameterBeh  BEHAVIOUR DEFINED AS
  *This parameter is used in the specificPUConfiguration field of the
  establishProtection or modifyProtection action received by the
  sdhMSPProtectionCoordinator, when the establishment or modification of a
  sdhMSProtectionGroup is requested by the management system.

  The channelNumber field indicates the channel number associated with the
  protection unit.

  The sdhPriority field indicated the priority (High/Low) of the protected
  protection unit. For protecting protection units this field is not present.

  If the extraTrafficControl field is present the extraTrafficControlPkg is
  instantiated in the protectionUnit object instance. The administrativeState is
  initialized with the value provided by this field. This field can only be
  present if the aPSProtocolPresent value is set to true and if the protection
  unit is protecting.*;


protectionConfigurationError    PARAMETER
  CONTEXT SPECIFIC-ERROR;
  WITH SYNTAX  SDHProtCoordASN1.ProtectionConfigurationError;
  BEHAVIOUR  protectionConfigurationErrorBeh;
REGISTERED AS {g774-09Parameter 4};


protectionConfigurationErrorBeh    BEHAVIOUR DEFINED AS
  *This parameter is included in the error parameter of the CMIP APDU when the
  establishProtection or modifyProtection action received by a subclass of the
  protectionCoordinator fails for generic configuration inconsistencies.*;


removeProtectionError    PARAMETER
  CONTEXT SPECIFIC-ERROR;
  WITH SYNTAX  SDHProtCoordASN1.RemoveProtectionError;
  BEHAVIOUR  removeProtectionErrorBeh;
REGISTERED AS {g774-09Parameter 5};


removeProtectionErrorBeh    BEHAVIOUR DEFINED AS
  *This parameter is included in the error parameter of the CMIP APDU when the
  dismissProtection or modifyProtection action received by a subclass of the
  protectionCoordinator fails.

  The operatorCommandPresent result is returned when a manual or forced switch
  is present in the protection group. It shall indicate the involved protection units.*;


protectionCoordinator-sdhNE      NAME BINDING
  SUBORDINATE OBJECT CLASS  protectionCoordinator AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS    "Recommendation G.774":sdhNE AND SUBCLASSES;
  WITH ATTRIBUTE    protectionCoordinatorId;
  BEHAVIOUR      protectionCoordinator-sdhNEBeh;
REGISTERED AS {g774-09NameBinding 1};


protectionCoordinator-sdhNEBeh  BEHAVIOUR DEFINED AS
  *The subordinate managed object is automatically instantiated when the
  superior managed object is instantiated, according to the make-up and mode of
  operation of the equipment.*;

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