-- =============================================================================
--               GDMO definitions extracted from ITU-T Rec. M.3100 (1995)
-- =============================================================================

network  MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721: 1992":top;
  CHARACTERIZED BY
    networkPackage  PACKAGE
      BEHAVIOUR
        networkDefinition;
      ATTRIBUTES
        networkId GET;;;
  CONDITIONAL PACKAGES
    userLabelPackage PRESENT IF "an instance supports it";
REGISTERED AS {m3100ObjectClass 1};


networkDefinition  BEHAVIOUR
  DEFINED AS
    "The Network object class is a class of managed objects that are collections
    of interconnected telecommunications and management objects (logical or
    physical) capable of exchanging information. These objects have one or more
    common characteristics, for example they may be owned by a single customer
    or provider, or associated with a specific service network. A network may be
    nested within another (larger) network, thereby forming a containment
    relationship. An example of a network that is contained in another network
    is a transmission sub-network. It is owned by a single Administration and
    can only perform transmission functions.";


networkR1  MANAGED OBJECT CLASS
  DERIVED FROM network;
  CHARACTERIZED BY
    networkR1Package  PACKAGE
      ATTRIBUTES
        "Recommendation X.721:1992":systemTitle  GET-REPLACE;;;
REGISTERED AS {m3100ObjectClass 33};


circuitPack  MANAGED OBJECT CLASS
  DERIVED FROM equipmentR1;
  CHARACTERIZED BY
    createDeleteNotificationsPackage,
    administrativeOperationalStatesPackage,
    stateChangeNotificationPackage,
    equipmentsEquipmentAlarmR1Package,
    currentProblemListPackage,
    equipmentAlarmEffectOnServicePackage,
    alarmSeverityAssignmentPointerPackage,
    circuitPackPackage  PACKAGE
      BEHAVIOUR circuitPackBehaviour;
      ATTRIBUTES
        circuitPackType GET SET-BY-CREATE,
        "Recommendation X.721: 1992": availabilityStatus
          PERMITTED VALUES ASN1DefinedTypesModule.CircuitPackAvailabilityStatus GET;;;
REGISTERED AS {m3100ObjectClass 30};


circuitPackBehaviour BEHAVIOUR
  DEFINED AS
    "The Circuit Pack object class is a class of managed objects that represents
    a plug-in replaceable unit that can be inserted into or removed from the
    equipment holder of the Network Element. Examples of plug-in cards include
    line cards, processors and power supply units.

    The attribute availability status is used to indicate whether the correct
    physical circuit pack is inserted or not. This is a set valued attribute and
    includes the value notInstalled or empty. If the type of the inserted
    physical circuit pack matches the value of the circuitPackType attribute
    (relating to the circuitPack instance) then the value of the
    availabilityStatus is an empty set. Otherwise, the value of the
    availabilityStatus attribute is notInstalled even if it is one of the
    acceptable circuit pack type.";


equipment  MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721: 1992":top;
  CHARACTERIZED BY
    equipmentPackage  PACKAGE
      BEHAVIOUR
        equipmentBehaviour BEHAVIOUR
          DEFINED AS
            "The equipment object class is a class of managed objects that
            represents physical components of a managed element, including
            replaceable components. An instance of this object class is present
            in a single geographic location. An equipment may be nested within
            another equipment, thereby creating a containment relationship. The
            equipment type shall be identified by sub-classing this object
            class. Either the name of the sub-class or an attribute may be used
            for identifying the equipment type.

            When the attribute value change notification package is present, the
            attributeValueChange notification defined in Recommendation X.721
            shall be emitted when the value of one of the following atrribute
            changes: alarm status, affected object list, user label, version,
            location name and current problem list. Because the above attributes
            are all in conditional packages, the behaviour for emitting the
            attribute value change notification applies only when the
            corresponding conditional packages are present in the managed
            object. When the state change notification package is present, the
            stateChangeNotification defined in Recommendation X.721 shall be
            emitted if the value of administrative state or operational state
            changes (when the administrativeOperationalStates conditional
            package is present)." ;;
      ATTRIBUTES
        equipmentId GET SET-BY-CREATE,
        replaceable GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    createDeleteNotificationsPackage  PRESENT IF "the objectCreation and
      objectDeletion notifications defined in Recommendation X.721 are supported
      by an instance of this class.",
    attributeValueChangeNotificationPackage  PRESENT IF "the
      attributeValueChange notification defined in Recommendation X.721 is
      supported by an instance of this class.",
    stateChangeNotificationPackage  PRESENT IF "the stateChange notification
      defined in Recommendation X.721 is supported by an instance of this class.",
    administrativeOperationalStatesPackage  PRESENT IF "an instance supports it.",
    affectedObjectListPackage  PRESENT IF "an instance supports it.",
    equipmentsEquipmentAlarmPackage  PRESENT IF "the equipmentAlarm notification
      defined in Recommendation X.721 is supported by an instance of this class.",
    environmentalAlarmPackage  PRESENT IF "the environmentalAlarm notification
      defined in Recommendation X.721 is supported by an instance of this class.",
    tmnCommunicationsAlarmInformationPackage  PRESENT IF "the
      communicationsAlarm notification defined in Recommendation X.721 is
      supported by an instance of this class.",
    processingErrorAlarmPackage  PRESENT IF "the processingErrorAlarm
      notification defined in Recommendation X.721 is supported by an instance
      of this class.",
    userLabelPackage  PRESENT IF "an instance supports it",
    vendorNamePackage PRESENT IF "an instance supports it",
    versionPackage PRESENT IF "an instance supports it",
    locationNamePackage PRESENT IF "an instance supports it",
    currentProblemListPackage PRESENT IF "an instance supports it";
REGISTERED AS {m3100ObjectClass 2};


equipmentR2 MANAGED OBJECT CLASS
  DERIVED FROM equipmentR1;
  CHARACTERIZED BY
    equipmentR2Package PACKAGE
      BEHAVIOUR
        equipmentR2PackageBehaviour BEHAVIOUR DEFINED AS
          "The typeText attribute indicates the type of the equipment";;
      ATTRIBUTES
        typeText GET SET-BY-CREATE;;;
REGISTERED AS {m3100ObjectClass 35};


equipmentHolder  MANAGED OBJECT CLASS
  DERIVED FROM equipmentR1;
  CHARACTERIZED BY
    equipmentHolderPackage  PACKAGE
      BEHAVIOUR equipmentHolderBehaviour;
      ATTRIBUTES
        equipmentHolderType GET SET-BY-CREATE,
        equipmentHolderAddress GET SET-BY-CREATE ;;;
  CONDITIONAL PACKAGES
    subordinateCircuitPackPackage
    PRESENT IF "the resource represented by this equipmentHolder instance is
      allowed to contain a circuit pack";
REGISTERED AS {m3100ObjectClass 32};


equipmentHolderBehaviour BEHAVIOUR
  DEFINED AS
    "The Equipment Holder object class is a class of managed objects that
    represents physical resources of a network element that are capable of
    holding other physical resources. Examples of resources represented by
    instances of this object class are equipment bay, shelf and slot.

    The conditional package subordinateCircuitPackage consists of three attributes:

    - acceptableCircuitPackTypeList

    This attribute specifies the types of circuit packs that are acceptable by
    the equipment holder. Values may be added, replaced or removed to this
    set-valued attribute. If the equipmentHolder is currently containing a
    circuitPack, then the value of corresponding type (of the circuitPack) shall
    not be replaced or removed from this attribute. The type of the circuitPack
    contained shall be one of the types specified for this attribute.

    - holderStatus

    This attribute indicates the status of the equipment holder. The status of
    the holder may be one of the following.

      - empty to indicate that there is no replaceable unit in the holder.

      - the holder contains a unit that is one of the types in the
        acceptableCircuitPackType list.

      - the holder contains a unit recognizable by the network element; but not
        one of the types in the acceptableCircuitPackTypeList.

      - unrecognized replaceable unit.

    if the holder contains a unit that is acceptable and its type matches the
    value of the circuitPackType attribute(of the circuitPack object), then the
    availableStatus of the circuitPack will be an empty set. In all other cases
    the availabilityStatus will include a notInstalled value.

    - subordinateCircuitPackSoftwareLoad

    This attribute specifies the software load, if there is any, which is
    currently designated as the one to be loaded to the subordinate(contained)
    circuitPack (if it is software loadable) whenever an automatic reload of
    software is needed.";


equipmentR1  MANAGED OBJECT CLASS
  DERIVED FROM equipment;
  CHARACTERIZED BY
    equipmentR1Package  PACKAGE
      ATTRIBUTES
        serialNumber GET,
        supportedByObjectList GET-REPLACE ADD-REMOVE;;;
  CONDITIONAL PACKAGES
    alarmSeverityAssignmentPointerPackage PRESENT IF "the managed object
      supports configuration of alarm severities",
    equipmentsEquipmentAlarmR1Package PRESENT IF "the equipmentAlarm
      notification defined in Recommendation X.721 is supported by an instance
      of this class.",
    environmentalAlarmR1Package PRESENT IF "the environmentalAlarm notification
      defined in Recommendation X.721 is supported by an instance of this class.",
    processingErrorAlarmR1Package PRESENT IF "the processingErrorAlarm
      notification defined in Recommendation X.721 is supported by an instance
      of this class.";
REGISTERED AS {m3100ObjectClass 28};


managedElement  MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721: 1992":top;
  CHARACTERIZED BY
    managedElementPackage  PACKAGE
      BEHAVIOUR
        managedElementBehaviour  BEHAVIOUR
          DEFINED AS
            "The Managed Element object class is a class of managed objects
            representing telecommunications equipment or TMN entities (either
            groups or parts) within the telecommunications network that performs
            managed element functions, i.e. provides support and/or service to
            the subscriber. Managed elements may or may not additionally perform
            mediation/OS functions. A managed element communicates with the
            manager (directly or indirectly) over one or more standard
            Q-interfaces for the purpose of being monitored and/or controlled. A
            managed element contains equipment that may or may not be
            geographically distributed.

            When the attribute value change notification package is present, the
            attributeValueChange notification defined in Recommendation X.721
            shall be emitted when the value of one of the following attribute
            changes: alarm status, user label, version, location name and
            current problem list. For the above attributes that are in
            conditional packages, the behaviour for emitting the attribute value
            change notification applies only when the corresponding conditional
            packages are present in the managed object. When the state change
            notification package is present, the stateChangeNotification defined
            in Recommendation X.721 shall be emitted if the value of
            administrative state or operational state or usage state changes."; ;
      ATTRIBUTES
        managedElementId GET,
        "Recommendation X.721: 1992":systemTitle GET-REPLACE,
        alarmStatus GET,
        "Recommendation X.721: 1992":administrativeState GET-REPLACE,
        "Recommendation X.721: 1992":operationalState GET,
        "Recommendation X.721: 1992":usageState GET;
      NOTIFICATIONS
        "Recommendation X.721: 1992":environmentalAlarm,
        "Recommendation X.721: 1992":equipmentAlarm,
        "Recommendation X.721: 1992":communicationsAlarm,
        "Recommendation X.721: 1992":processingErrorAlarm;;;
  CONDITIONAL PACKAGES
    createDeleteNotificationsPackage  PRESENT IF "the objectCreation and
      objectDeletion notifications defined in Recommendation X.721 are supported
      by an instance of this class.",
    attributeValueChangeNotificationPackage  PRESENT IF "the
      attributeValueChange notification defined in Recommendation X.721 is
      supported by an instance of this class.",
    stateChangeNotificationPackage  PRESENT IF "the stateChange notification
      defined in Recommendation X.721 is supported by an instance of this class.",
    audibleVisualLocalAlarmPackage  PRESENT IF "an instance supports it",
    resetAudibleAlarmPackage  PRESENT IF "an instance supports it",
    userLabelPackage  PRESENT IF "an instance supports it",
    vendorNamePackage PRESENT IF "an instance supports it",
    versionPackage PRESENT IF "an instance supports it",
    locationNamePackage  PRESENT IF "an instance supports it",
    currentProblemListPackage PRESENT IF "an instance supports it",
    externalTimePackage PRESENT IF "an instance supports it",
    systemTimingSourcePackage PRESENT IF "an instance supports it";
REGISTERED AS {m3100ObjectClass 3};


managedElementR1  MANAGED OBJECT CLASS
  DERIVED FROM managedElement;
  CHARACTERIZED BY
    managedElementR1Package  PACKAGE
      NOTIFICATIONS
        "Recommendation X.721: 1992":environmentalAlarm
          "Recommendation Q.821:1992":logRecordIdParameter
          "Recommendation Q.821:1992":correlatedRecordNameParameter
          "Recommendation Q.821:1992":suspectObjectListParameter,
        "Recommendation X.721: 1992":equipmentAlarm
          "Recommendation Q.821:1992":logRecordIdParameter
          "Recommendation Q.821:1992":correlatedRecordNameParameter
          "Recommendation Q.821:1992":suspectObjectListParameter,
        "Recommendation X.721: 1992":communicationsAlarm
          "Recommendation Q.821:1992":logRecordIdParameter
          "Recommendation Q.821:1992":correlatedRecordNameParameter
          "Recommendation Q.821:1992":suspectObjectListParameter,
        "Recommendation X.721: 1992":processingErrorAlarm
          "Recommendation Q.821:1992":logRecordIdParameter
          "Recommendation Q.821:1992":correlatedRecordNameParameter
          "Recommendation Q.821:1992":suspectObjectListParameter;;;
  CONDITIONAL PACKAGES
    alarmSeverityAssignmentPointerPackage PRESENT IF
      "the managed object supports configuration of alarm severities";
REGISTERED AS {m3100ObjectClass 27};


managedElementComplex  MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721: 1992":top;
  CHARACTERIZED BY
    managedElementComplexPackage  PACKAGE
      BEHAVIOUR
        managedElementComplexBehaviour  BEHAVIOUR
          DEFINED AS
            "The Managed Element Complex object class is a class of managed
            objects that represents a collection of network elements. An OS can
            reference and manage one or more NEs belonging to the complex
            represented by an instance of this object class. "; ;
      ATTRIBUTES
        managedElementComplexId GET,
        "Recommendation X.721: 1992":systemTitle GET-REPLACE;;;
  CONDITIONAL PACKAGES
    createDeleteNotificationsPackage  PRESENT IF "the objectCreation and
      objectDeletion notifications defined in Recommendation X.721 are supported
      by an instance of this class.";
REGISTERED AS {m3100ObjectClass 34};


software  MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721: 1992":top;
  CHARACTERIZED BY
    softwarePackage  PACKAGE
      BEHAVIOUR
        softwareBehaviour  BEHAVIOUR
          DEFINED AS
            "The Software object class is a class of managed objects that
            represent logical information stored in equipment, including
            programs and data tables. Software may be nested within other
            software, thereby creating a containment relationship.

            When the attribute value change notification package is present, the
            attributeValueChange notification defined in Recommendation X.721
            shall be emitted when the value of one of the following attribute
            changes: alarm status, affected object list, user label, version,
            and current problem list. Because the above attributes are all in
            conditional packages, the behaviour for emitting the attribute value
            change notification applies only when the corresponding conditional
            packages are present in the managed object. When the state change
            notification package is present, the stateChangeNotification defined
            in Recommendation X.721 shall be emitted if the value of
            administrative state or operational state changes (when the
            administrativeOperationalStates conditional package is present).";;
      ATTRIBUTES
        softwareId GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    createDeleteNotificationsPackage  PRESENT IF "the objectCreation and
      objectDeletion notifications defined in Recommendation X.721 are supported
      by an instance of this class.",
    attributeValueChangeNotificationPackage  PRESENT IF "the
      attributeValueChange notification defined in Recommendation X.721 is
      supported by an instance of this class.",
    stateChangeNotificationPackage  PRESENT IF "the stateChange notification
      defined in Recommendation X.721 is supported by an instance of this class.",
    administrativeOperationalStatesPackage  PRESENT IF "an instance supports it.",
    affectedObjectListPackage  PRESENT IF "an instance supports it.",
    softwareProcessingErrorAlarmPackage  PRESENT IF "an instance supports it.",
    userLabelPackage  PRESENT IF "an instance supports it",
    vendorNamePackage PRESENT IF "an instance supports it",
    versionPackage PRESENT IF "an instance supports it",
    currentProblemListPackage PRESENT IF "an instance supports it";
REGISTERED AS {m3100ObjectClass 4};


softwareR1  MANAGED OBJECT CLASS
  DERIVED FROM software;
  CONDITIONAL PACKAGES
    alarmSeverityAssignmentPointerPackage PRESENT IF
      "the managed object supports configuration of alarm severities",
    softwareProcessingErrorAlarmR1Package  PRESENT IF "an instance supports it.";
REGISTERED AS {m3100ObjectClass 29};


connectionTerminationPointBidirectional  MANAGED OBJECT CLASS
  DERIVED FROM
    connectionTerminationPointSource,
    connectionTerminationPointSink;
REGISTERED AS {m3100ObjectClass 5};


connectionTerminationPointSink  MANAGED OBJECT CLASS
  DERIVED FROM terminationPoint;
  CHARACTERIZED BY
    connectionTerminationPointSinkPackage  PACKAGE
      BEHAVIOUR
        connectionTerminationPointSinkBehaviour  BEHAVIOUR
          DEFINED AS
            "This managed object terminates a link connection. The downstream
            connectivity pointer attribute points to the termination point
            managed object, within the same managed element, that receives
            information (traffic) from this termination point at the same layer,
            or is null. The referenced object shall be an instance of one of the
            following classes or its subclasses: Trail Termination Point Sink,
            Trail Termination Point Bidirectional, Connection Termination Point
            Source, Connection Termination Point Bidirectional. The downstream
            connectivity pointer may identify one or more objects depending on
            whether the signal is connected to one or more termination point objects.";;
      ATTRIBUTES
        downstreamConnectivityPointer PERMITTED VALUES
          -- The allowed choices for the syntax of this attribute are restricted
          -- in the subtype CTPDownstreamPointer
          ASN1DefinedTypesModule.CTPDownstreamPointer  GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    ctpInstancePackage PRESENT IF "the name binding used to create an instance
      of this object class requires this attribute.",
    channelNumberPackage PRESENT IF "an instance supports it";
REGISTERED AS {m3100ObjectClass 6};


connectionTerminationPointSource  MANAGED OBJECT CLASS
  DERIVED FROM terminationPoint;
  CHARACTERIZED BY
    connectionTerminationPointSourcePackage  PACKAGE
      BEHAVIOUR
        connectionTerminationPointSourceBehaviour BEHAVIOUR
          DEFINED AS
            "This managed object originates a link connection. The upstream
            connectivity pointer attribute points to the termination point
            managed object, within the same managed element, that sends
            information (traffic) to this termination point at the same layer,
            or is null. The referenced object shall be an instance of one of the
            following classes or its subclasses: Trail Termination Point Source,
            Trail Termination Point Bidirectional, Connection Termination Point
            Sink, Connection Termination Point Bidirectional.";;
      ATTRIBUTES
        upstreamConnectivityPointer PERMITTED VALUES
          -- The allowed choices for the syntax of this attribute are restricted
          -- in the subtype CTPUpstreamPointer
          ASN1DefinedTypesModule.CTPUpstreamPointer GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    ctpInstancePackage PRESENT IF "the name binding used to create an instance
      of this object class requires this attribute.",
    channelNumberPackage PRESENT IF "an instance supports it";
REGISTERED AS {m3100ObjectClass 7};


terminationPoint  MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721: 1992":top;
  CHARACTERIZED BY
    terminationPointPackage  PACKAGE
      BEHAVIOUR
        terminationPointBehaviour  BEHAVIOUR
          DEFINED AS
            "This managed object represents the termination of a transport entity,
            such as a trail or a connection. The characteristic information
            attribute is used to identify equivalence between subclasses of
            termination points in order to determine whether cross connection or
            connectivity is possible. The operational state reflects the
            perceived ability to generate and/or receive a valid signal.
            Subclasses of termination point shall specify the attributes and
            states for which attribute value change and state change
            notifications will be generated.";;
      ATTRIBUTES
        supportedByObjectList GET;;;
  CONDITIONAL PACKAGES
    createDeleteNotificationsPackage  PRESENT IF
      "the objectCreation and objectDeletion notifications defined in
      Recommendation X.721 are supported by an instance of this managed object class",
    attributeValueChangeNotificationPackage  PRESENT IF
      "the attributeValueChange notification  defined in Recommendation X.721 is
      supported by an instance of this managed object class",
    stateChangeNotificationPackage  PRESENT IF
      "the stateChange notification  defined in Recommendation X.721 is
      supported by an instance of this managed object class",
    operationalStatePackage PRESENT IF
      "the resource represented by this managed object is capable of assessing
      the ability to generate and/or receive a valid signal.",
    crossConnectionPointerPackage PRESENT IF
      "the termination point can be flexibly assigned, (i.e. cross connected).",
    characteristicInformationPackage PRESENT IF
      "an instance supports it.",
    networkLevelPackage PRESENT IF "an instance supports it",
    tmnCommunicationsAlarmInformationPackage PRESENT IF
      "the communicationsAlarm notification (as defined in Recommendation X.721)
      is supported by this managed object",
    alarmSeverityAssignmentPointerPackage PRESENT IF
      "the tmnCommunicationsAlarmInformationPackage package is present AND the
      managed object supports configuration of alarm severities";
REGISTERED AS {m3100ObjectClass 8};


trailTerminationPointBidirectional  MANAGED OBJECT CLASS
  DERIVED FROM trailTerminationPointSource,
    trailTerminationPointSink;
  CHARACTERIZED BY
    trailTerminationPointBidirectionalPackage  PACKAGE
      BEHAVIOUR
        trailTerminationPointBidirectionalBehaviour  BEHAVIOUR
          DEFINED AS
            "The operational state is disabled if either the sink or source part
            of the termination point is disabled.";;;;
REGISTERED AS {m3100ObjectClass 9};


trailTerminationPointSink  MANAGED OBJECT CLASS
  DERIVED FROM terminationPoint;
  CHARACTERIZED BY
    operationalStatePackage,
    trailTerminationPointSinkPackage  PACKAGE
      BEHAVIOUR
        trailTerminationPointSinkBehaviour  BEHAVIOUR
          DEFINED AS
            "This managed object represents a termination point where a trail is
            terminated. It represents the access point in a layer network which
            is a focus for both the trail relationship and the client/server
            relationship.

            The operational state reflects the perceived ability to receive a
            valid signal. If the termination point detects that a signal
            received has failed or it is unable to process the incoming signal,
            then the operational state will have the value disabled.

            When the administrative state is locked, the termination point is
            administratively removed from service. When the administrative state
            is unlocked, the termination point is administratively in service.
            Changes to administrative state have no effect on the connectivity pointer.

            A change in the operational state shall cause a state change
            notification. If administrative state is present in an instance of
            trail termination point sink class, it shall not emit a state change
            notification. However, subclasses of trail termination point sink
            class may modify this behaviour to require this notification.
            Subclasses of trail termination point sink shall specify the
            attributes for which attribute value change notifications should be
            generated.

            The upstream connectivity pointer attribute points to the
            termination point managed object, within the same managed element,
            that sends information (traffic) to this termination point at the
            same layer, or is null. The referenced object shall be an instance
            of one of the following classes or its subclasses: Connection
            Termination Point Sink or Bidirectional (single or a concatenated
            sequence) or Trail Termination Point Source or Bidirectional (single
            or a concatenated sequence).";;
      ATTRIBUTES
        upstreamConnectivityPointer  GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    "Recommendation X.721:1992":administrativeStatePackage PRESENT IF
      "the resource represented by the managed object is capable of being
      administratively placed in and out of service",
    supportableClientListPackage PRESENT IF
      "the object class can support more than one type of client",
    ttpInstancePackage PRESENT IF
      "the name binding used to create an instance of this object class requires
      this attribute.";
REGISTERED AS {m3100ObjectClass 10};


trailTerminationPointSource  MANAGED OBJECT CLASS
  DERIVED FROM terminationPoint;
  CHARACTERIZED BY
    operationalStatePackage,
    trailTerminationPointSourcePackage  PACKAGE
      BEHAVIOUR
        trailTerminationPointSourceBehaviour  BEHAVIOUR
          DEFINED AS
            "This managed object represents a termination point where a trail is
            originated. It represents the access point in a layer network which
            is a focus for both the trail relationship and the client/server
            relationship.

            The operational state reflects the perceived ability to generate a
            valid signal. If the termination point detects that a valid signal
            cannot be generated, then the operational state will have the value
            disabled.

            When the administrative state is locked, the termination point is
            administratively removed from service. When the administrative state
            is unlocked, the termination point is administratively in service.
            Changes to administrative state have no effect on the connectivity pointer.

            A change in the operational state shall cause a state change
            notification. If administrative state is present in an instance of
            trail termination point source class, it shall not emit a state
            change notification. However, subclasses of trail termination point
            source class may modify this behaviour to require this notification.
            Subclasses of trail termination point source shall specify the
            attributes for which attribute value change notifications should be
            generated.

            The downstream connectivity pointer attribute points to the
            termination point managed object, within the same managed element,
            that receives information (traffic) from this termination point at
            the same layer, or is null. The referenced object shall be an
            instance of one of the following classes or its subclasses:
            Connection Termination Point Source or Bidirectional (single or a
            concatenated sequence or a set if connected to more than one
            connection termination point source objects) or Trail Termination
            Point Sink or Bidirectional (single or a set if connected to more
            than one trail termination point sink objects).";;
      ATTRIBUTES
        downstreamConnectivityPointer GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    "Recommendation X.721: 1992":administrativeStatePackage PRESENT IF
      "the resource represented by the managed object is capable of being
      administratively placed in and out of service",
    supportableClientListPackage PRESENT IF
      "the object class can support more than one type of client",
    ttpInstancePackage PRESENT IF
      "the name binding used to create an instance of this object class requires
      this attribute.";
REGISTERED AS {m3100ObjectClass 11};


circuitEndPointSubgroup MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721 : 1992":top;
  CHARACTERIZED BY
    circuitEndPointSubgroupPackage  PACKAGE
      BEHAVIOUR
        circuitSubgroupBehaviour BEHAVIOUR
          DEFINED AS
            "A set of circuit end points that directly interconnects one
            exchange with another, having common values for the attributes
            listed in this package. Note that the term exchange includes PBX
            where applicable."
            -- Annex A/E.410 defines circuit sub group--;;
      ATTRIBUTES
        circuitEndPointSubgroupId GET,
        numberOfCircuits GET,
        labelOfFarEndExchange GET,
        signallingCapabilities GET,
        informationTransferCapabilities GET,
        circuitDirectionality GET,
        transmissionCharacteristics GET,
        userLabel GET-REPLACE;
      NOTIFICATIONS
        "Recommendation X.721:1992": attributeValueChange,
        "Recommendation X.721:1992": objectCreation,
        "Recommendation X.721:1992": objectDeletion;;;
REGISTERED AS {m3100ObjectClass 31};


connectionR1 MANAGED OBJECT CLASS
  DERIVED FROM  pipe;
  CHARACTERIZED BY
    connectionR1Package PACKAGE
      BEHAVIOUR
        connectionR1Behaviour BEHAVIOUR DEFINED AS
          "The Connection object class is a class of managed objects responsible
          for the transparent transfer of information between connection
          termination points. A connection is a component of a trail. Several
          connections can be bundled into a higher rate trail.

          A sequence of one or more connections are linked together to form a
          trail. A connection may be either uni- or bidirectional.";;
      ATTRIBUTES
        connectionId GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    serverTrailListPackage  PRESENT IF "an instance supports it",
    clientTrailPackage PRESENT IF "an instance supports it";
REGISTERED AS {m3100ObjectClass 23};


pipe MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721: 1992":top;
  CHARACTERIZED BY
    pipePackage  PACKAGE
      BEHAVIOUR
        pipeBehaviour  BEHAVIOUR
          DEFINED AS
            "The Pipe object class is a class of managed objects which ensures
            the transfer of information between two termination points. The pipe
            object class is not instantiable because the transfer is effected
            via the client-server relationship of trail and connection.
            Connectivity direction is determined by the directionality of the a
            and z termination points.

            If an instance of this class is bidirectional, the a- and
            z-termination points shall also be bidirectional. If an instance of
            this class is unidirectional, the a-point shall be the source TP and
            the z-termination point shall be the sink TP.

            The operational state indicates the capability to carry a signal.";;
      ATTRIBUTES
        directionality GET,
        "Recommendation X.721: 1992":administrativeState GET-REPLACE,
        "Recommendation X.721: 1992":operationalState GET,
        a-TPInstance GET SET-BY-CREATE ,
        z-TPInstance GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    createDeleteNotificationsPackage  PRESENT IF
      "the objectCreation and objectDeletion notifications defined in
      Recommendation X.721 are supported by an instance of this managed object class",
    attributeValueChangeNotificationPackage  PRESENT IF
      "the attributeValueChange notification  defined in Recommendation X.721 is
      supported by an instance of this managed object class",
    stateChangeNotificationPackage  PRESENT IF
      "the stateChange notification  defined in Recommendation X.721 is
      supported by an instance of this managed object class",
    characteristicInformationPackage PRESENT IF
      "an instance supports it.",
    protectedPackage PRESENT IF
      "an instance supports it.",
    tmnCommunicationsAlarmInformationPackage PRESENT IF
      "the communicationsAlarm notification (as defined in Recommendation X.721)
      is supported by this managed object",
    alarmSeverityAssignmentPointerPackage PRESENT IF
      "the tmnCommunicationsAlarmInformationPackage package is present AND the
      managed object supports configuration of alarm severities",
    userLabelPackage  PRESENT IF "an instance supports it";
    -- the above package may be used for M.1400 type designations.
REGISTERED AS {m3100ObjectClass 24};


trailR1 MANAGED OBJECT CLASS
  DERIVED FROM  pipe;
  CHARACTERIZED BY
    trailR1Package PACKAGE
      BEHAVIOUR
        trailR1Behaviour BEHAVIOUR
          DEFINED AS
            "Trail is a class of managed objects in layer networks which is
            responsible for the integrity of transfer of characteristic
            information from one or more other layer networks. A trail is
            composed of two Trail Termination Points and one or more connection
            and associated connection termination points.";;
      ATTRIBUTES
        trailId GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    serverConnectionListPackage  PRESENT IF "an instance supports it",
    clientConnectionListPackage  PRESENT IF "an instance supports it";
REGISTERED AS {m3100ObjectClass 25};


crossConnection MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721: 1992":top;
  CHARACTERIZED BY
    crossConnectionPackage PACKAGE
      BEHAVIOUR
        crossConnectionBehaviour BEHAVIOUR
          DEFINED AS
            "A managed object of this class represents an assignment
            relationship between the termination point or GTP object listed in
            the From Termination attribute and the termination point or GTP
            objects listed in the To Termination attribute of this managed object.

            The To Termination attribute will always be non-NULL. The From
            Termination attribute will only be NULL in the case of
            point-to-multipoint configurations. If the From Termination
            attribute has a value of NULL, the assignment relationship is
            between the termination point object or the GTP object listed in the
            From Termination attribute of the containing Multipoint
            Cross-Connection managed object and the termination point object or
            GTP object listed in the To Termination attribute of this managed object.

            A point to point cross-connection can be established between: one of
            CTP Sink, CTP Bidirectional, TTP Source, TTP Bidirectional, or GTP;
            and one of CTP Source, CTP Bidirectional, TTP Sink, TTP Bidirectional,
            or GTP.

            In a unidirectional cross-connection, the termination or GTP object
            pointed to by the From Termination and the termination point or GTP
            object pointed to by the To Termination attribute (in this object or
            the containing mpCrossConnection) are related in such a way that
            traffic can flow between the termination points represented by these
            managed objects. In a bidirectional cross-connection, information
            flows in both directions.

            If the objects listed in the From Termination and To Termination
            attributes are GTPs, the nth element of the From Termination GTP is
            related to the nth element of the To Termination GTP (for every n).

            If the fromTermination attribute has a value of NULL, the
            directionality attribute must have the value 'unidirectional'.

            The total rate of the From Terminations must be equal to the total
            rate of To Terminations.

            The attribute Signal Type describes the signal that is
            cross-connected. The termination points or GTPs that are
            cross-connected must have signal types that are compatible.

            If an instance of this object class is contained in a multipoint
            cross-connection and the operational state of the containing
            multipoint cross-connection is 'disabled', the operational state of
            this object will also be 'disabled'.

            The following are the definitions of the administrative state and
            the operational state attributes: Administrative State:

            - Unlocked: The Cross-Connection object is administratively
              unlocked. Traffic is allowed to pass through the connection.

            - Locked: No traffic is allowed to pass through the
              Cross-Connection. The connectivity pointers in the cross-connected
              termination points is NULL.

            Operational State:

            - Enabled: The Cross-Connection is performing its normal function.

            - Disabled: The Cross-Connection is incapable of performing its
              normal cross-connection function.";;
      ATTRIBUTES
        crossConnectionId GET,
        "Recommendation X.721 : 1992":administrativeState GET-REPLACE,
        "Recommendation X.721 : 1992":operationalState GET,
        signalType GET,
        fromTermination GET,
        toTermination GET,
        directionality GET;;;
REGISTERED AS {m3100ObjectClass 15};


crossConnectionR1 MANAGED OBJECT CLASS
  DERIVED FROM crossConnection;
  CHARACTERIZED BY
    crossConnectionR1Package PACKAGE
      BEHAVIOUR
        crossConnectionR1Behaviour BEHAVIOUR
          DEFINED AS
            "When the attribute value change notification package is present,
            the attributeValueChange notification shall be emitted when
            userLabel or redline changes value (when the attributes are present).

            When the state change notification package is present, the
            stateChange notification shall be emitted when operationalState or
            administrativeState changes value.";;;;
  CONDITIONAL PACKAGES
    userLabelPackage PRESENT IF "an instance supports it",
    redlinePackage PRESENT IF "an instance supports it",
    createDeleteNotificationsPackage  PRESENT IF "the objectCreation and
      objectDeletion notifications defined in Recommendation X.721 are supported
      by an instance of this class.",
    attributeValueChangeNotificationPackage  PRESENT IF "the
      attributeValueChange notification defined in Recommendation X.721 is
      supported by an instance of this class.",
    stateChangeNotificationPackage  PRESENT IF "the stateChange notification
      defined in Recommendation X.721 is supported by an instance of this class.";
REGISTERED AS {m3100ObjectClass 37};


-- This managed object class is the preferred replacement of both
-- crossConnection and namedCrossConnection.
fabric MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721 : 1992":top;
  CHARACTERIZED BY
    fabricPackage  PACKAGE
      BEHAVIOUR
        fabricBehaviour BEHAVIOUR
          DEFINED AS
            "The Fabric object represents the function of managing the
            establishment and release of cross-connections. It also manages the
            assignment of termination points to TP Pools and GTPs.

            Administrative State:

            - Unlocked: The Fabric is allowed to perform its normal functions.
              ACTIONS will be accepted to setup or remove cross-connections, to
              rearrange TP Pools, to add/remove termination points to/from GTPs.

            - Locked: The Fabric is not allowed to perform its normal functions.
              No ACTIONS will be accepted. No new cross-connection can be setup
              or removed, no TP Pool can be rearranged, and no termination
              points can be added/removed to/from GTPs.

            Operational State:

            - Enabled: When the Fabric is in the enabled operational state, it
              may be fully-operational or partially-operational (partially
              operational is indicated by the availability status attribute).

            - Disabled: The Fabric is incapable of performing its normal
              function. For instance, the managing system will not be able to:

              1) setup or remove any cross-connection;

              2) rearrange TP Pools; and

              3) add/remove termination points to/from GTPs.

            Availability Status:

            The supported values for this attribute are:

            - Degraded: The Fabric is degraded in some respect. For instance,
              the Fabric cannot perform the function of establishing new
              cross-connections while it can still accept ACTIONs to re-arrange
              TP Pools. The Fabric remains available for service (i.e. its
              operational state is enabled) while it is degraded.

            - Empty SET.";;
      ATTRIBUTES
        fabricId  GET SET-BY-CREATE,
        "Recommendation X.721: 1992":administrativeState GET-REPLACE,
        "Recommendation X.721 : 1992":operationalState GET,
        "Recommendation X.721 : 1992":availabilityStatus GET,
        listOfCharacteristicInfo  GET SET-BY-CREATE,
        supportedByObjectList  GET-REPLACE  ADD-REMOVE;
      ACTIONS
        addTpsToGTP,
        removeTpsFromGTP,
        addTpsToTpPool,
        removeTpsFromTpPool,
        connect,
        disconnect;;;
REGISTERED AS {m3100ObjectClass 16};


fabricR1 MANAGED OBJECT CLASS
  DERIVED FROM  fabric;
  CHARACTERIZED BY
    fabricR1Package  PACKAGE
      ACTIONS
        switchOver;;;
  CONDITIONAL PACKAGES
    createDeleteNotificationsPackage  PRESENT IF "the objectCreation and
      objectDeletion notifications defined in Recommendation X.721 are supported
      by an instance of this class.";
REGISTERED AS {m3100ObjectClass 26};


fabricR2 MANAGED OBJECT CLASS
  DERIVED FROM  fabricR1;
  CHARACTERIZED BY
    fabricR2Package PACKAGE
      BEHAVIOUR
        fabricR2Behaviour BEHAVIOUR
          DEFINED AS
            "When the state change notification package is present, the
            stateChange notification shall be emitted when operationalState or
            administrativeState changes value.";;;;
  CONDITIONAL PACKAGES
    stateChangeNotificationPackage  PRESENT IF "the stateChange notification
      defined in Recommendation X.721 is supported by an instance of this class.";
REGISTERED AS {m3100ObjectClass 39};


gtp MANAGED OBJECT CLASS
  DERIVED FROM   "Recommendation X.721 : 1992":top;
  CHARACTERIZED BY
    gtpPackage PACKAGE
      BEHAVIOUR
        gtpBehaviour BEHAVIOUR
          DEFINED AS
            "This object class represents a group of termination points treated
            as a single unit for management purposes such as cross-connections.
            The signalType attribute describes the composition of the GTP. When
            a termination point is involved in a GTP, it cannot be
            cross-connected independently of that GTP. ";;
      ATTRIBUTES
        gtpId GET,
        crossConnectionObjectPointer GET,
        signalType GET,
        tpsInGtpList GET;;;
REGISTERED AS {m3100ObjectClass 17};


gtpR1 MANAGED OBJECT CLASS
  DERIVED FROM gtp;
  CONDITIONAL PACKAGES
    createDeleteNotificationsPackage  PRESENT IF "the objectCreation and
      objectDeletion notifications defined in Recommendation X.721 are supported
      by an instance of this class.";
REGISTERED AS {m3100ObjectClass 38};


mpCrossConnection MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721: 1992":top;
  CHARACTERIZED BY
    mpCrossConnectionPackage PACKAGE
      BEHAVIOUR
        mpCrossConnectionBehaviour BEHAVIOUR
          DEFINED AS
            "This class represents an assignment relationship between the
            termination point or GTP object listed in the From Termination
            attribute and the termination point or GTP objects listed in the To
            Termination attributes of the contained crossConnection managed objects.

            A multipoint cross-connection can be established between one of CTP
            Sink, CTP Bidirectional, TTP Source, TTP Bidirectional, or GTP; and
            a set whose members are CTP Source, CTP Bidirectional, TTP Sink, TTP
            Bidirectional, or GTP.

            The fromTermination attribute will always be non-NULL. The
            termination point or GTP object pointed to by the fromTermination
            attribute is related to all the termination point or GTP objects
            pointed to by the toTermination attribute of the contained
            crossConnection managed objects in such a way that traffic can flow
            between the termination points represented by these managed objects.

            Information flows from the From Termination to the To Termination of
            the contained cross-connection objects.

            If the objects listed in the fromTermination attribute and in the
            toTermination attribute of the contained crossConnection objects are
            GTPs, the nth element of the From Termination GTP is related to the
            nth element of the To Termination GTP (for every n).

            The total rate of the From Terminations must be equal to the total
            rate of To Terminations in each contained crossConnection object.

            The attribute Signal Type describes the signal that is
            cross-connected. The termination points or GTPs that are
            cross-connected must have signal types that are compatible.

            The following are the definitions of the administrative state and
            the operational state attributes: Administrative State:

            - Unlocked: The mpCrossConnection object is administratively
              unlocked. It allows traffic to pass through each contained
              connection depending on its administrative state.

            - Locked: No traffic is allowed to pass through the Cross-Connection
              between the cross-connected termination points. The effect of this
              value overrides the effect of the administrative state of each
              contained cross-connection.

            Operational State:

            The operational state of a Multipoint Cross-Connection object
            reflects the overall health of the cross- connection including all
            the Cross-Connection objects contained in the Multipoint Cross-Connection.

            - Enabled: The Cross-Connection is performing its normal function.
              Note that some (but not all) of the cross-connection objects
              contained in the Multipoint Cross-Connection may be disabled.

            - Disabled: The Cross-Connection is incapable of performing its
              normal cross-connection function. All the cross-connection objects
              contained in the Multipoint Cross-Connection are disabled.

            Availability Status:

            The supported values for this attribute are:

            - In test

            - Degraded: The Multipoint Cross-Connection is degraded in some
              respect. For instance, if one or more (but not all)
              Cross-Connection objects contained in the Multipoint
              Cross-Connection are disabled, the Multipoint Cross-Connection
              will be considered as degraded. The Multipoint Cross-Connection
              remains available for service (i.e. its operational state is
              enabled) while it is degraded.

            - Empty SET.";;
      ATTRIBUTES
        mpCrossConnectionId GET,
        "Recommendation X.721 : 1992":administrativeState GET-REPLACE,
        "Recommendation X.721 : 1992":operationalState GET,
        "Recommendation X.721 : 1992":availabilityStatus GET,
        signalType GET,
        fromTermination GET;;;
REGISTERED AS {m3100ObjectClass 18};


mpCrossConnectionR1 MANAGED OBJECT CLASS
  DERIVED FROM mpCrossConnection;
  CHARACTERIZED BY
    mpCrossConnectionR1Package PACKAGE
      BEHAVIOUR
        mpCrossConnectionR1Behaviour BEHAVIOUR
          DEFINED AS
            "When the attribute value change notification package is present,
            the attributeValueChange notification shall be emitted when
            userLabel or redline changes value (when the attributes are present).

            When the state change notification package is present, the
            stateChange notification shall be emitted when operationalState or
            administrativeState changes value.";;;;
  CONDITIONAL PACKAGES
    userLabelPackage PRESENT IF "an instance supports it",
    redlinePackage PRESENT IF "an instance supports it",
    createDeleteNotificationsPackage  PRESENT IF "the objectCreation and
      objectDeletion notifications defined in Recommendation X.721 are supported
      by an instance of this class.",
    attributeValueChangeNotificationPackage  PRESENT IF "the
      attributeValueChange notification defined in Recommendation X.721 is
      supported by an instance of this class.",
    stateChangeNotificationPackage  PRESENT IF "the stateChange notification
      defined in Recommendation X.721 is supported by an instance of this class.";
REGISTERED AS {m3100ObjectClass 36};


namedCrossConnection MANAGED OBJECT CLASS
  DERIVED FROM crossConnection;
  CHARACTERIZED BY
    namedCrossConnectionPackage;
REGISTERED AS {m3100ObjectClass 19};


namedMpCrossConnection MANAGED OBJECT CLASS
  DERIVED FROM mpCrossConnection;
  CHARACTERIZED BY
    namedCrossConnectionPackage;
REGISTERED AS {m3100ObjectClass 20};


tpPool MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721 : 1992":top;
  CHARACTERIZED BY
    tpPoolPackage PACKAGE
      BEHAVIOUR
        tpPoolBehaviour BEHAVIOUR
          DEFINED AS
            "The tpPool object represents a set of termination points or GTPs
            that are used for some management purpose, such as routing. A
            termination point that is a member of a GTP cannot be a member of a
            tpPool independent of the remainder of the GTP. ";;
      ATTRIBUTES
        tpPoolId GET,
        tpsInTpPoolList GET,
        totalTpCount GET,
        connectedTpCount GET,
        idleTpCount GET;;;
REGISTERED AS {m3100ObjectClass 21};


alarmSeverityAssignmentProfile  MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721 : 1992":top;
  CHARACTERIZED BY
    alarmSeverityAssignmentProfilePackage  PACKAGE
      BEHAVIOUR
        alarmSeverityAssignmentProfileBehaviour  BEHAVIOUR
          DEFINED AS
            "The alarm severity assignment profile object class is a class of
            management support object that specifies the alarm severity
            assignment for managed objects. Instances of this object are
            referenced by the alarmSeverityAssignmentProfilePointer attribute in
            the managed objects.";;
      ATTRIBUTES
        alarmSeverityAssignmentProfileId GET SET-BY-CREATE,
        alarmSeverityAssignmentList GET-REPLACE  ADD-REMOVE ;;;
  CONDITIONAL PACKAGES
    objectManagementNotificationsPackage  PRESENT IF "an instance supports it";
REGISTERED AS {m3100ObjectClass 22};


administrativeOperationalStatesPackage PACKAGE
  ATTRIBUTES
    "Recommendation X.721:1992":administrativeState GET-REPLACE,
    "Recommendation X.721:1992":operationalState GET;
REGISTERED AS {m3100Package 1};


affectedObjectListPackage PACKAGE
  ATTRIBUTES
    affectedObjectList GET;
REGISTERED AS  {m3100Package 2};


alarmSeverityAssignmentPointerPackage PACKAGE
  BEHAVIOUR
    alarmSeverityAssignmentPointerPackageBehaviour BEHAVIOUR
      DEFINED AS
        "If the alarm severity assignment profile pointer is NULL, then one of
        the following two choices applies when reporting alarms:

        a) agent assigns the severity; or

        b) the value 'indeterminate' is used.";;
  ATTRIBUTES
    alarmSeverityAssignmentProfilePointer GET-REPLACE ;
REGISTERED AS  {m3100Package 3};


attributeValueChangeNotificationPackage PACKAGE
  NOTIFICATIONS
    "Recommendation X.721:1992":attributeValueChange;
REGISTERED AS {m3100Package 4};


audibleVisualLocalAlarmPackage PACKAGE
  ACTIONS
    allowAudibleVisualLocalAlarm,
    inhibitAudibleVisualLocalAlarm;
REGISTERED AS {m3100Package 5};


channelNumberPackage PACKAGE
  ATTRIBUTES
    channelNumber GET SET-BY-CREATE;
REGISTERED AS  {m3100Package 6};


characteristicInformationPackage PACKAGE
  ATTRIBUTES
    characteristicInformation GET SET-BY-CREATE;
REGISTERED AS  {m3100Package 7};


clientConnectionListPackage PACKAGE
  ATTRIBUTES
    clientConnectionList GET SET-BY-CREATE;
REGISTERED AS  {m3100Package 35};


clientTrailPackage PACKAGE
  ATTRIBUTES
    clientTrail GET SET-BY-CREATE;
REGISTERED AS  {m3100Package 9};


createDeleteNotificationsPackage PACKAGE
  NOTIFICATIONS
    "Recommendation X.721:1992":objectCreation,
    "Recommendation X.721:1992":objectDeletion;
REGISTERED AS {m3100Package 10};


crossConnectionPointerPackage PACKAGE
  ATTRIBUTES
    crossConnectionObjectPointer GET;
REGISTERED AS  {m3100Package 11};


ctpInstancePackage PACKAGE
  ATTRIBUTES
    cTPId GET SET-BY-CREATE;
REGISTERED AS  {m3100Package 12};


currentProblemListPackage  PACKAGE
  ATTRIBUTES
    currentProblemList GET;
REGISTERED AS {m3100Package 13};


environmentalAlarmPackage PACKAGE
  NOTIFICATIONS
    "Recommendation X.721:1992":environmentalAlarm;
REGISTERED AS {m3100Package 14};


environmentalAlarmR1Package PACKAGE
  NOTIFICATIONS
    "Recommendation X.721:1992":environmentalAlarm
      "Recommendation Q.821:1992":logRecordIdParameter
      "Recommendation Q.821:1992":correlatedRecordNameParameter
      "Recommendation Q.821:1992":suspectObjectListParameter;
REGISTERED AS {m3100Package 36};


equipmentAlarmEffectOnServicePackage PACKAGE
  NOTIFICATIONS
    "Recommendation X.721:1992":equipmentAlarm
      alarmEffectOnServiceParameter;
REGISTERED AS {m3100Package 38};


equipmentsEquipmentAlarmPackage PACKAGE
  ATTRIBUTES
    alarmStatus GET;
  NOTIFICATIONS
    "Recommendation X.721:1992":equipmentAlarm;
REGISTERED AS {m3100Package 15};


equipmentsEquipmentAlarmR1Package PACKAGE
  ATTRIBUTES
    alarmStatus GET;
  NOTIFICATIONS
    "Recommendation X.721:1992":equipmentAlarm
      "Recommendation Q.821:1992":logRecordIdParameter
      "Recommendation Q.821:1992":correlatedRecordNameParameter
      "Recommendation Q.821:1992":suspectObjectListParameter;
REGISTERED AS {m3100Package 37};


externalTimePackage  PACKAGE
  ATTRIBUTES
    externalTime GET-REPLACE;
REGISTERED AS {m3100Package 16};


locationNamePackage  PACKAGE
  ATTRIBUTES
    locationName GET-REPLACE;
REGISTERED AS {m3100Package 17};


namedCrossConnectionPackage PACKAGE
  ATTRIBUTES
    redline GET-REPLACE,
    crossConnectionName GET-REPLACE;;


-- The above package is not registered because it is used as a mandatory package
-- in this Recommendation.
networkLevelPackage PACKAGE
  BEHAVIOUR
    networkLevelPackageBehaviour BEHAVIOUR
      DEFINED AS
        "The network level pointer identifies a network level object. The value
        of the network level pointer shall only be modified by the managing system.";;
  ATTRIBUTES
    networkLevelPointer GET-REPLACE;
REGISTERED AS  {m3100Package 18};


operationalStatePackage PACKAGE
  ATTRIBUTES
    "Recommendation X.721: 1992":operationalState GET;
REGISTERED AS  {m3100Package 19};


objectManagementNotificationsPackage PACKAGE
  NOTIFICATIONS
    "Recommendation X.721:1992":objectCreation,
    "Recommendation X.721:1992":objectDeletion,
    "Recommendation X.721:1992":attributeValueChange;
REGISTERED AS  {m3100Package 20};


processingErrorAlarmPackage PACKAGE
  NOTIFICATIONS
    "Recommendation X.721:1992":processingErrorAlarm;
REGISTERED AS {m3100Package 21};


processingErrorAlarmR1Package PACKAGE
  NOTIFICATIONS
    "Recommendation X.721:1992":processingErrorAlarm
      "Recommendation Q.821:1992":logRecordIdParameter
      "Recommendation Q.821:1992":correlatedRecordNameParameter
      "Recommendation Q.821:1992":suspectObjectListParameter;
REGISTERED AS {m3100Package 39};


protectedPackage PACKAGE
  ATTRIBUTES
    protected GET SET-BY-CREATE;
REGISTERED AS  {m3100Package 22};


redlinePackage PACKAGE
  ATTRIBUTES
    redline GET-REPLACE;
REGISTERED AS {m3100Package 42};


resetAudibleAlarmPackage PACKAGE
  ACTIONS
    "Recommendation Q.821:1992":resetAudibleAlarm;
REGISTERED AS {m3100Package 23};


serverConnectionListPackage PACKAGE
  ATTRIBUTES
    serverConnectionList GET SET-BY-CREATE;
REGISTERED AS  {m3100Package 24};


serverTrailListPackage  PACKAGE
  ATTRIBUTES
    serverTrailList  GET SET-BY-CREATE;
REGISTERED AS  {m3100Package 25};


softwareProcessingErrorAlarmPackage PACKAGE
  ATTRIBUTES
    alarmStatus GET;
  NOTIFICATIONS
    "Recommendation X.721:1992":processingErrorAlarm;
REGISTERED AS {m3100Package 26};


softwareProcessingErrorAlarmR1Package PACKAGE
  ATTRIBUTES
    alarmStatus GET;
  NOTIFICATIONS
    "Recommendation X.721:1992":processingErrorAlarm
      "Recommendation Q.821:1992":logRecordIdParameter
      "Recommendation Q.821:1992":correlatedRecordNameParameter
      "Recommendation Q.821:1992":suspectObjectListParameter;
REGISTERED AS {m3100Package 40};


subordinateCircuitPackPackage PACKAGE
  ATTRIBUTES
    acceptableCircuitPackTypeList GET-REPLACE ADD-REMOVE,
    holderStatus GET,
    subordinateCircuitPackSoftwareLoad GET-REPLACE;
REGISTERED AS {m3100Package 41};


supportableClientListPackage PACKAGE
  ATTRIBUTES
    supportableClientList GET SET-BY-CREATE;
REGISTERED AS  {m3100Package 27};


stateChangeNotificationPackage PACKAGE
  NOTIFICATIONS
    "Recommendation X.721:1992":stateChange;
REGISTERED AS {m3100Package 28};


systemTimingSourcePackage PACKAGE
  ATTRIBUTES
    systemTimingSource GET-REPLACE;
REGISTERED AS  {m3100Package 29};


tmnCommunicationsAlarmInformationPackage PACKAGE
  BEHAVIOUR
    tmnCommunicationsAlarmInformationBehaviour;
  ATTRIBUTES
    alarmStatus  GET,
    currentProblemList GET;
  NOTIFICATIONS
    "Recommendation X.721:1992":communicationsAlarm
      "Recommendation Q.821:1992":logRecordIdParameter
      "Recommendation Q.821:1992":correlatedRecordNameParameter
      "Recommendation Q.821:1992":suspectObjectListParameter;
REGISTERED AS  {m3100Package 30};


tmnCommunicationsAlarmInformationBehaviour BEHAVIOUR
  -- The following behaviour text is taken directly from 5.3.1.1/Q.821
  DEFINED AS
    "An alarm report which contains a Perceived Severity parameter with a value
    of 'cleared' and a Correlated Notifications parameter shall only indicate
    the clearing of those alarms whose Notification Identifiers are included in
    the set of Correlated Notifications. An alarm report which contains a
    Perceived Severity parameter with a value of 'cleared', but no Correlated
    Notifications parameter, shall indicate the clearing of alarms based on the
    value of the Alarm Type, Probable Cause, and Specific Problems parameters.

    The parameters that are associated with the communications alarm, if
    present, are placed in individual elements of the SET OF ManagementExtension
    in the additionalInformation field of the notification.";


ttpInstancePackage  PACKAGE
  ATTRIBUTES
    tTPId GET SET-BY-CREATE;
REGISTERED AS  {m3100Package 31};


userLabelPackage  PACKAGE
  ATTRIBUTES
    userLabel GET-REPLACE;
REGISTERED AS {m3100Package 32};


vendorNamePackage  PACKAGE
  ATTRIBUTES
    vendorName GET-REPLACE;
REGISTERED AS {m3100Package 33};


versionPackage PACKAGE
  ATTRIBUTES
    version GET-REPLACE;
REGISTERED AS {m3100Package 34};


a-TPInstance  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.RelatedObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    aTPInstanceBehaviour BEHAVIOUR
      DEFINED AS
        "The A-Termination Point Instance attribute type identifies one of the
        two termination points of an instance of the connectivity object class
        or one of its subclasses.";;
REGISTERED AS {m3100Attribute 1};


acceptableCircuitPackTypeList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.AcceptableCircuitPackTypeList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    acceptableCircuitPackTypeListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the types of the circuit packs that can be
        contained in an equipment holder object.";;
REGISTERED AS {m3100Attribute 58};


affectedObjectList  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.ObjectList;
  MATCHES FOR   EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    affectedObjectListBehaviour BEHAVIOUR
      DEFINED AS
        "The Affected Object List attribute type specifies the object instances
        which can be directly affected by a change in state or deletion of a
        given managed object. The attribute does not force internal details to
        be specified, but only the necessary level of detail required for management.";;
REGISTERED AS {m3100Attribute 2};


alarmSeverityAssignmentList  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.AlarmSeverityAssignmentList;
  BEHAVIOUR
    alarmSeverityAssignmentListBehaviour BEHAVIOUR
      DEFINED AS
        "The Alarm Severity Assignment List is an attribute type whose value
        provides a listing of all abnormal conditions that may exist in
        instances of an object class, and shows the assigned alarm severity
        information (minor, major, etc.) for each condition.";;
REGISTERED AS {m3100Attribute 3};


alarmSeverityAssignmentProfileId  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    alarmSeverityAssignmentProfileIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Alarm Severity AssignmentProfile Id is an attribute type whose
        distinguished value can be used as a RDN when naming an instance of the
        Alarm SeverityAssignment Profile object class.";;
REGISTERED AS {m3100Attribute 4};


alarmSeverityAssignmentProfilePointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX    ASN1DefinedTypesModule.PointerOrNull;
  MATCHES FOR  EQUALITY;
  BEHAVIOUR
    alarmSeverityAssignmentProfilePointerBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute identifies a Alarm Severity Assignment Profile object.";;
REGISTERED AS {m3100Attribute 5};


alarmStatus  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.AlarmStatus;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    alarmStatusBehaviour BEHAVIOUR
      DEFINED AS
        "The Alarm Status attribute type indicates the occurrence of an abnormal
        condition relating to an object. This attribute may also function as a
        summary indicator of alarm conditions associated with a specific
        resource. It is used to indicate the existence of an alarm condition, a
        pending alarm condition such as threshold situations, or (when used as a
        summary indicator) the highest severity of active alarm conditions. When
        used as a summary indicator, the order of severity (from highest to lowest) is:

        activeReportable-Critical

        activeReportable-Major

        activeReportable-Minor

        activeReportable-Indeterminate

        activeReportable-Warning

        activePending

        cleared.";;
REGISTERED AS {m3100Attribute 6};


channelNumber  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.ChannelNumber;
  MATCHES FOR EQUALITY, ORDERING;
REGISTERED AS {m3100Attribute 7};


characteristicInformation  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.CharacteristicInformation;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    characteristicInformationBehaviour BEHAVIOUR
      DEFINED AS
        "The value of this attribute is used to verify the connectability of
        instances of the termination point subclasses.";;
REGISTERED AS {m3100Attribute 8};


circuitDirectionality ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.CircuitDirectionality;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    circuitDirectionalityBehaviour BEHAVIOUR
      DEFINED AS
        "The attribute type specifies the directionality of the circuits in the
        circuit subgroup.";;
REGISTERED AS {m3100Attribute 66};


circuitEndPointSubgroupId  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    circuitEndPointSubgroupIdBehaviour BEHAVIOUR
      DEFINED AS
        "The circuitEndPointsubgroup Id is an attribute type whose distinguished
        value can be used as a RDN when naming an instance of the
        circuitEndPointsubgroup object class.";;
REGISTERED AS {m3100Attribute 61};


circuitPackType ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.CircuitPackType;
  MATCHES FOR EQUALITY, SUBSTRINGS;
  BEHAVIOUR
    circuitPackTypeBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the type of the circuit pack.";;
REGISTERED AS {m3100Attribute 54};


clientConnectionList  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    clientConnectionListBehaviour BEHAVIOUR
      DEFINED AS
        "The values of this attribute identify the client connections served by
        a trail. These client connections may be either of a lower or same rate
        as the trail. In the latter case, the list consists of only one client
        connection.";;
REGISTERED AS {m3100Attribute 53};


clientTrail  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.ObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    clientTrailBehaviour BEHAVIOUR
      DEFINED AS
        "The value of this attribute identifies the trail object instance in the
        same network layer as the connection served by a connection object.";;
REGISTERED AS {m3100Attribute 10};


connectedTpCount ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.Count;
  MATCHES FOR             EQUALITY, ORDERING;
  BEHAVIOUR
    connectedTpCountBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the total number of termination points
        associated with a tpPool that have been connected.";;
REGISTERED AS  {m3100Attribute 11};


connectionId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    connectionIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Connection Id is an attribute type whose distinguished value can be
        used as a RDN when naming an instance of the Connection object class.";;
REGISTERED AS {m3100Attribute 12};


cTPId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour;
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
REGISTERED AS {m3100Attribute 13};


crossConnectionId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.NameType;
  MATCHES FOR  EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    crossConnectionIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Cross-Connection Id is an attribute type whose distinguished value
        can be used as a RDN when naming an instance of the crossConnection
        object class.";;
REGISTERED AS {m3100Attribute 14};


crossConnectionName ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.CrossConnectionName;
  MATCHES FOR  EQUALITY, SUBSTRINGS;
  BEHAVIOUR
    crossConnectionNameBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is a descriptive name for a cross-connection or
        multipoint cross-connection managed object.";;
REGISTERED AS {m3100Attribute 15};


crossConnectionObjectPointer  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX
    ASN1DefinedTypesModule.CrossConnectionObjectPointer;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    crossConnectionObjectPointerBehaviour  BEHAVIOUR
      DEFINED AS
        "This attribute points to a managed object such as a Cross-connection, a
        GTP or a Fabric. When a termination point is neither connected nor
        reserved for connection, its crossConnectionObjectPointer points to the
        Fabric object responsible for its connection.";;
REGISTERED AS {m3100Attribute 16};


currentProblemList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.CurrentProblemList;
  BEHAVIOUR
    currentProblemListBehaviour BEHAVIOUR
      DEFINED AS
        "The Current Problem List attribute type identifies the current existing
        problems, with severity, associated with the managed object.";;
REGISTERED AS {m3100Attribute 17};


directionality  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.Directionality;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    directionalityBehaviour BEHAVIOUR
      DEFINED AS
        "The Directionality attribute type specifies whether the associated
        managed object is uni- or bi-directional.";;
REGISTERED AS {m3100Attribute 18};


downstreamConnectivityPointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.DownstreamConnectivityPointer;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    downstreamConnectivityPointerBehaviour BEHAVIOUR
      DEFINED AS
        "The matching for equality is applicable for all choices of the syntax.
        The set operations are permitted only when the choice of the syntax
        correspond to either broadcast or concatenated broadcast.";;
REGISTERED AS {m3100Attribute 19};


equipmentHolderAddress ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.EquipmentHolderAddress;
  MATCHES FOR EQUALITY, SUBSTRINGS;
  BEHAVIOUR
    equipmentHolderAddressBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the physical location of the resource
        represented by the equipmentHolder instance. Depending on the
        containment hierarchy of the equipmentHolder in the managed system, the
        value of this attribute may vary. For example, if a system has three
        levels of equipment holders representing Bay, Shelf and Slot
        respectively (i.e. the managed Element contains multiple Bay equipment
        holders, each Bay equipment holder contains multiple Shelf equipment
        holders and each Shelf equipment holder contains multiple Slot equipment
        holders), then:

        - for the equipmentHolder representing a Bay, the Frame Identification
          code may be used as the value of this attribute;

        - for the equipmentHolder representing a Shelf, the Bay Shelf code may
          be used as the value of this attribute;

        - for the equipmentHolder representing a Slot, the position code may be
          used as the value of this attribute.

        If the system uses only one level of equipment holder, that represents
        the Shelves (i.e., the managedElement contains multiple Shelf equipment
        holders, and each Shelf equipment holder contains a circuit pack), then
        the value of this attribute is a sequence of the Frame Identification
        code and the Bay Shelf Code.";;
REGISTERED AS {m3100Attribute 56};


equipmentHolderType ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.EquipmentHolderType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    equipmentHolderTypeBehaviour BEHAVIOUR
      DEFINED AS
        "The equipment holder type attribute indicates the type of equipment
        holder using a character string. The   example values for the character
        string may be bay, shelf, drawer, slot and rack.";;
REGISTERED AS {m3100Attribute 57};


equipmentId  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR  EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    equipmentIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Equipment Id is an attribute type whose distinguished value can be
        used as a RDN when naming an instance of the Equipment object class.";;
REGISTERED AS {m3100Attribute 20};


externalTime ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.ExternalTime;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    externalTimeBehaviour BEHAVIOUR
      DEFINED AS
        "The External time attribute provides time-of-day system time. The
        attribute functions as a reference for all time stamp activities in the
        managed element.";;
REGISTERED AS {m3100Attribute 21};


fabricId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.NameType;
  MATCHES FOR   EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    fabricIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Fabric Id is an attribute type whose distinguished value can be
        used as a RDN when naming an instance of the Fabric object class.";;
REGISTERED AS  {m3100Attribute 22};


fromTermination ATTRIBUTE
  WITH ATTRIBUTE SYNTAX    ASN1DefinedTypesModule.PointerOrNull;
  MATCHES FOR  EQUALITY;
  BEHAVIOUR
    fromTerminationBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute identifies a TTP (source or bidirectional), a CTP (sink
        or bidirectional) or a GTP composed of members of one of these categories.";;
REGISTERED AS {m3100Attribute 23};


gtpId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.NameType;
  MATCHES FOR   EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    gtpIdBehaviour BEHAVIOUR
      DEFINED AS
        "The gtp Id is an attribute type whose distinguished value can be used
        as a RDN when naming an instance of the gtp object class.";;
REGISTERED AS  {m3100Attribute 24};


holderStatus  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.HolderStatus;
  MATCHES FOR EQUALITY, SUBSTRINGS;
  BEHAVIOUR
    holderStatusBehaviour BEHAVIOUR
      DEFINED AS
        "The holderStatus attribute indicates the status of the physical holder.
        It specifies if the holder is empty or has a circuitPack of specific
        type (that may or not be acceptable to the holder) or has an
        indeterminate type.";;
REGISTERED AS {m3100Attribute 59};


idleTpCount ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.Count;
  MATCHES FOR  EQUALITY, ORDERING;
  BEHAVIOUR
    idleTpCountBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the total number of termination points
        associated with a tpPool that are in an operational state of enabled and
        that are available for Cross-Connection.";;
REGISTERED AS  {m3100Attribute 25};


informationTransferCapabilities ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.InformationTransferCapabilities;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    informationTransferCapabilitiesBehaviour BEHAVIOUR
      DEFINED AS
        "The attribute type specifies the different service types such as
        speech, 64 kbits unrestricted data supported by the circuit subgroup.";;
REGISTERED AS {m3100Attribute 65};


labelOfFarEndExchange ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.UserLabel;
  MATCHES FOR EQUALITY, SUBSTRINGS;
  BEHAVIOUR
    labelOfFarEndExchangeBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute type assigns a user friendly name to the Far End
        Exchange terminating this circuit subgroup.";;
REGISTERED AS {m3100Attribute 63};


listOfCharacteristicInfo ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.ListOfCharacteristicInformation;
  MATCHES FOR  EQUALITY;
  BEHAVIOUR
    listOfCharacteristicInfoBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute lists the characteristic information types that can be
        cross-connected by a Fabric.";;
REGISTERED AS  {m3100Attribute 26};


locationName  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.LocationName;
  MATCHES FOR  EQUALITY, SUBSTRINGS;
  BEHAVIOUR
    locationNameBehaviour BEHAVIOUR
      DEFINED AS
        "The Location Name attribute type identifies a location.";;
REGISTERED AS {m3100Attribute 27};


managedElementId  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    managedElementIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Managed Element Id is an attribute type whose distinguished value
        can be used as a RDN when naming an instance of the Managed Element
        object class.";;
REGISTERED AS {m3100Attribute 28};


managedElementComplexId  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    managedElementComplexIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Managed Element Complex Id is an attribute type whose distinguished
        value can be used as a RDN when naming an instance of the Managed
        Element Complex object class.";;
REGISTERED AS {m3100Attribute 68};


mpCrossConnectionId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.NameType;
  MATCHES FOR  EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    mpCrossConnectionIdBehaviour BEHAVIOUR
      DEFINED AS
        "The mp Cross-Connection Id is an attribute type whose distinguished
        value can be used as a RDN when naming an instance of the
        mpCrossConnection object class.";;
REGISTERED AS {m3100Attribute 29};


networkId  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    networkIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Network Id is an attribute type whose distinguished value can be
        used as a RDN when naming an instance of the Network object class.";;
REGISTERED AS {m3100Attribute 30};


networkLevelPointer  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.ObjectInstance;
  MATCHES FOR EQUALITY;
REGISTERED AS {m3100Attribute 31};


numberOfCircuits  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NumberOfCircuits;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    numberOfCircuitsBehaviour BEHAVIOUR
      DEFINED AS
        "The number of circuits in a circuit subgroup.";;
REGISTERED AS {m3100Attribute 62};


protected ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.Boolean;
  MATCHES FOR  EQUALITY;
  BEHAVIOUR
    protectedBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute identifies whether the associated managed object is
        protected or not. The value TRUE implies it is protected.";;
REGISTERED AS {m3100Attribute 32};


redline ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.Boolean;
  MATCHES FOR    EQUALITY;
  BEHAVIOUR
    redlineBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute identifies whether the associated managed object is red
        lined, e.g. identified as being part of a sensitive circuit.";;
REGISTERED AS {m3100Attribute 33};


replaceable  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.Replaceable;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    replaceableBehaviour BEHAVIOUR
      DEFINED AS
        "The Replaceable attribute type indicates whether the associated managed
        object is replaceable or non-replaceable.";;
REGISTERED AS {m3100Attribute 34};


serialNumber  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.SerialNumber;
  MATCHES FOR EQUALITY, SUBSTRINGS;
  BEHAVIOUR
    serialNumberBehaviour BEHAVIOUR
      DEFINED AS
        "The serial number attribute type identifies the serial number of the
        physical resource.";;
REGISTERED AS {m3100Attribute 69};


serverConnectionList  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.SequenceOfObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    serverConnectionListBehaviour BEHAVIOUR
      DEFINED AS
        "The value of this attribute identifies one or more connection objects
        within the same network layer as the trail that are connected in series
        to constitute the trail.";;
REGISTERED AS {m3100Attribute 35};


serverTrailList  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.ObjectList;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    serverTrailListBehaviour BEHAVIOUR
      DEFINED AS
        "The value of this attribute identifies the trail objects (in most cases
        one) in a lower order network layer which may be used in parallel to
        serve a connection object.";;
REGISTERED AS {m3100Attribute 36};


signallingCapabilities ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.SignallingCapabilities;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    signallingCapabilitiesBehaviour BEHAVIOUR
      DEFINED AS
        "The attribute type specifies the signalling types supported by the
        circuit subgroup.";;
REGISTERED AS {m3100Attribute 64};


signalType ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.SignalType;
  MATCHES FOR  EQUALITY;
  BEHAVIOUR
    signalTypeBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute uniquely identifies the signal type of a cross-connection,
        TP pool or GTP. The signal type can either be simple, bundle, or
        complex. If the signal type is simple, it consists of a single type of
        characteristic information. If the signal type is bundle, it is made up
        of a number of signal types all of the same characteristic information.
        If the signal type is complex, it consists of a sequence of bundle
        signal type. The order in the complex signal type represents the actual
        composition of the signal.";;
REGISTERED AS {m3100Attribute 37};


softwareId  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    softwareIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Software Id is an attribute type whose distinguished value can be
        used as a RDN when naming an instance of the Software object class.";;
REGISTERED AS {m3100Attribute 38};


subordinateCircuitPackSoftwareLoad ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.SubordinateCircuitPackSoftwareLoad;
  BEHAVIOUR
    subordinateCircuitPackSoftwareLoadBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the software, if any, that is currently
        designated as the one to be loaded to the containing circuit pack
        whenever automatic reload of software is needed. The values of this
        attribute may be one of the following: sequence of printable string,
        sequence of object instance or NULL. The NULL choice is used when the
        contained circuit pack is not software loadable, or no software load has
        been designated. The choice of sequence of ObjectInstance identifies an
        ordered set of software instances. This ordered set can be used to
        specify the order in which the software is to be downloaded. It is
        recommended to note in the ICS if the ordering is significant. When the
        choice of PrintableString is used, the semantics is a local matter.";;
REGISTERED AS {m3100Attribute 60};


supportableClientList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.SupportableClientList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    supportableClientListBehaviour BEHAVIOUR
      DEFINED AS
        "The value of this attribute is the list of object classes representing
        the clients which the particular managed object is capable of
        supporting. This may be a subset of the client layers identified in
        Recommendation G.803 by the particular server layer managed object.";;
REGISTERED AS {m3100Attribute 39};


supportedByObjectList  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.ObjectList;
  MATCHES FOR  EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    supportedByObjectListBehaviour BEHAVIOUR
      DEFINED AS
        "The Supported By Object List is an attribute type whose value
        identifies a set of object instances which are capable of directly
        affecting a given managed object. The object instances include both
        physical and logical objects. This attribute does not force internal
        details to be specified, but only the necessary level of detail required
        for management. If the object instances supporting the managed object
        are unknown to that object, then this attribute is an empty set.";;
REGISTERED AS {m3100Attribute 40};


systemTimingSource  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.SystemTimingSource;
  MATCHES FOR  EQUALITY;
  BEHAVIOUR
    systemTimingSourceBehaviour BEHAVIOUR
      DEFINED AS
        "The System Timing Source attribute is used to specify the primary and
        secondary managed element timing source for synchronization.";;
REGISTERED AS {m3100Attribute 41};


totalTpCount ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.Count;
  MATCHES FOR   EQUALITY, ORDERING;
  BEHAVIOUR
    totalTpCountBehaviour           BEHAVIOUR
      DEFINED AS
        "This attribute indicates the total number of termination points
        associated with a tpPool.";;
REGISTERED AS  {m3100Attribute 42};


toTermination ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.Pointer;
  MATCHES FOR  EQUALITY;
  BEHAVIOUR
    toTerminationBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute identifies a CTP (source or bidirectional), a TTP (sink
        or bidirectional) or a GTP composed of members of one of these categories.";;
REGISTERED AS {m3100Attribute 43};


tpPoolId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.NameType;
  MATCHES FOR   EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    tpPoolIdBehaviour BEHAVIOUR
      DEFINED AS
        "The TP Pool Id is an attribute type whose distinguished value can be
        used as a RDN when naming an instance of the tpPool object class.";;
REGISTERED AS  {m3100Attribute 44};


tpsInGtpList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.TpsInGtpList;
  MATCHES FOR  EQUALITY;
  BEHAVIOUR
    tpsInGtpListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute lists the termination points that are represented by a GTP.";;
REGISTERED AS  {m3100Attribute 45};


tpsInTpPoolList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX   ASN1DefinedTypesModule.ListOfTPs;
  MATCHES FOR    EQUALITY;
  BEHAVIOUR
    tpsInTpPoolListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute lists the termination points that are represented by a
        TP Pool.";;
REGISTERED AS  {m3100Attribute 46};


trailId  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    trailIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Trail Id is an attribute type whose distinguished value can be used
        as a RDN when naming an instance of the Trail object class.";;
REGISTERED AS {m3100Attribute 47};


tTPId  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    ttpIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Trail Termination Point Id is an attribute type whose distinguished
        value can be used as a RDN when naming an instance of the Trail
        Termination Point object class.";;
REGISTERED AS {m3100Attribute 48};


transmissionCharacteristics ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.TransmissionCharacteristics;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    transmissionCharacteristicsBehaviour BEHAVIOUR
      DEFINED AS
        "The attribute type specifies the different transmission characteristics
        such as satellite, echo control supported or not supported by the
        circuit subgroup. The bit positions are set to indicate if a particular
        characteristic is supported.";;
REGISTERED AS {m3100Attribute 67};


typeText ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.TypeText;
  MATCHES FOR EQUALITY, SUBSTRINGS;
  BEHAVIOUR
    typeTextBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute gives a textual description of the type of the  resource";;
REGISTERED AS {m3100Attribute 70};


upstreamConnectivityPointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.ConnectivityPointer;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    upstreamConnectivityPointerBehaviour BEHAVIOUR
      DEFINED AS
        "The matching for equality is applicable for all the choices of the syntax.";;
REGISTERED AS {m3100Attribute 49};


userLabel  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.UserLabel;
  MATCHES FOR EQUALITY, SUBSTRINGS;
  BEHAVIOUR
    userLabelBehaviour BEHAVIOUR
      DEFINED AS
        "The User Label attribute type assigns a user friendly name to the
        associated object.";;
REGISTERED AS {m3100Attribute 50};


vendorName  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.VendorName;
  MATCHES FOR EQUALITY, SUBSTRINGS;
  BEHAVIOUR
    vendorNameBehaviour BEHAVIOUR
      DEFINED AS
        "The Vendor Name attribute type identifies the vendor of the associated
        managed object.";;
REGISTERED AS {m3100Attribute 51};


version  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.Version;
  MATCHES FOR EQUALITY, SUBSTRINGS;
  BEHAVIOUR
    versionBehaviour BEHAVIOUR
      DEFINED AS
        "The Version attribute type identifies the version of the associated
        managed object.";;
REGISTERED AS {m3100Attribute 52};


z-TPInstance  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.RelatedObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    z-TPInstanceBehaviour BEHAVIOUR
      DEFINED AS
        "The Z-Termination Point Instance attribute type identifies one of the
        two termination points of an instance of the connectivity object class.";;
REGISTERED AS {m3100Attribute 55};


alarmSeverityAssignment-managedElement  NAME BINDING
  SUBORDINATE OBJECT CLASS alarmSeverityAssignmentProfile  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS managedElement  AND SUBCLASSES;
  WITH ATTRIBUTE alarmSeverityAssignmentProfileId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 1};


circuitPack-equipmentHolder-autoCreated      NAME BINDING
  SUBORDINATE OBJECT CLASS  circuitPack  AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    equipmentHolder  AND SUBCLASSES;
  WITH ATTRIBUTE equipmentId;
  BEHAVIOUR circuitPack-equipmentHolder-autoCreateBeh;
REGISTERED AS {m3100NameBinding  32};


circuitPack-equipmentHolder-autoCreateBeh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name an instance of an circuitPack relative to
    another equipmentHolder instance. The creation of the circuitPack object is
    the result of inserting the physical circuit pack into the resource
    represented by the superior object.

    When the superior object contains a circuitPack object, the superior object
    shall not contain more than one circuitPack object, and shall not contain
    other equipmentHolder objects.";


circuitPack-equipmentHolder-explicitlyCreated      NAME BINDING
  SUBORDINATE OBJECT CLASS  circuitPack  AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    equipmentHolder  AND SUBCLASSES;
  WITH ATTRIBUTE equipmentId;
  BEHAVIOUR circuitPack-equipmentHolder-explicitlyCreateBeh;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      createErrorParameter;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding  33};


circuitPack-equipmentHolder-explicitlyCreateBeh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name an instance of a circuitPack relative to
    another equipmentHolder instance. The creation of the circuitPack object is
    the result of system management protocol.

    When the superior object contains a circuitPack object, the superior object
    shall not contain more than one circuitPack object, and shall not contain
    other equipmentHolder objects.";


circuitPack-equipmentHolder-autoCreated-R1 NAME BINDING
  SUBORDINATE OBJECT CLASS  circuitPack AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS equipmentHolder AND SUBCLASSES;
  WITH ATTRIBUTE equipmentId;
  BEHAVIOUR  circuitPack-equipmentHolder-autoCreated-R1-Beh;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS
      generalErrorParameter;
REGISTERED AS {m3100NameBinding  37};


circuitPack-equipmentHolder-autoCreated-R1-Beh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name an instance of an circuitPack relative to
    another equipmentHolder instance. The creation of the circuitPack object is
    the result of inserting the physical circuit pack into the resource
    represented by the superior object.

    The management system may delete this circuit pack and recreate a new one in
    order to plan the specific type of the circuit pack, using the
    explicitlyCreated name binding";


circuitPack-equipmentHolder-explicitlyCreated-R1      NAME BINDING
  SUBORDINATE OBJECT CLASS  circuitPack  AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    equipmentHolder AND SUBCLASSES;
  WITH ATTRIBUTE equipmentId;
  BEHAVIOUR circuitPack-equipmentHolder-explicitlyCreated-R1-Beh;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      createErrorParameter
      generalErrorParameter;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding  46};


circuitPack-equipmentHolder-explicitlyCreated-R1-Beh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name an instance of a circuitPack relative to
    another equipmentHolder instance. The  creation of the circuitPack object is
    the result of system management protocol.

    If the circuitPackType is incompatible with the types supported by the
    equipmentHolder, the create request will result in a CMIP processing failure
    error. The generalErrorParameter is then used to report  the error and may
    provide the value of the circuitPackType attribute. This parameter may be
    used for other CMIP  processing failure if needed.";


connectionR1-network  NAME BINDING
  SUBORDINATE OBJECT CLASS connectionR1;
  NAMED BY
    SUPERIOR OBJECT CLASS network;
  WITH ATTRIBUTE connectionId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 25};

--connectionTerminationPointSource-trailTerminationPointSource NAME BINDING
-- SUBORDINATE OBJECT CLASS
--  connectionTerminationPointSource;
-- NAMED BY
-- SUPERIOR OBJECT CLASS trailTerminationPointSource AND SUBCLASSES;
-- WITH ATTRIBUTE cTPId;
-- BEHAVIOUR
--  cTPSource-TTPBehaviour;

-- CREATE
--  WITH-REFERENCE-OBJECT,
--  WITH-AUTOMATIC-INSTANCE-NAMING;
-- DELETE
--  ONLY-IF-NO-CONTAINED-OBJECTS;
--REGISTERED AS {m3100NameBinding 3};


--connectionTerminationPointSource-trailTerminationPointBidirectional NAME BINDING
-- SUBORDINATE OBJECT CLASS
--  connectionTerminationPointSource;
-- NAMED BY
-- SUPERIOR OBJECT CLASS trailTerminationPointBidirectional
--  AND SUBCLASSES;
-- WITH ATTRIBUTE cTPId;
-- BEHAVIOUR
--  cTPSource-TTPBehaviour;
-- CREATE
--  WITH-REFERENCE-OBJECT,
--  WITH-AUTOMATIC-INSTANCE-NAMING;
-- DELETE
--  ONLY-IF-NO-CONTAINED-OBJECTS;
--REGISTERED AS {m3100NameBinding 4};
cTPSource-TTPBehaviour BEHAVIOUR
  DEFINED AS
    "The name binding represents a relationship in which a TTP receives
    information (traffic) from a source CTP. When automatic instance naming is
    used, the choice of name bindings left as a local matter.";
--connectionTerminationPointSink-trailTerminationPointSink NAME BINDING
-- SUBORDINATE OBJECT CLASS connectionTerminationPointSink;
-- NAMED BY
-- SUPERIOR OBJECT CLASS trailTerminationPointSink AND SUBCLASSES;
-- WITH ATTRIBUTE cTPId;
-- BEHAVIOUR
--  cTPSink-TTPBehaviour;
-- CREATE
--  WITH-REFERENCE-OBJECT,
--  WITH-AUTOMATIC-INSTANCE-NAMING;
-- DELETE
-- ONLY-IF-NO-CONTAINED-OBJECTS;
--REGISTERED AS {m3100NameBinding 5};

--connectionTerminationPointSink-trailTerminationPointBidirectional NAME BINDING
-- SUBORDINATE OBJECT CLASS connectionTerminationPointSink;
-- NAMED BY
-- SUPERIOR OBJECT CLASS trailTerminationPointBidirectional
--  AND SUBCLASSES;
-- WITH ATTRIBUTE cTPId;
-- BEHAVIOUR
--  cTPSink-TTPBehaviour;
-- CREATE
--  WITH-REFERENCE-OBJECT,
--  WITH-AUTOMATIC-INSTANCE-NAMING;
-- DELETE
--  ONLY-IF-NO-CONTAINED-OBJECTS;
--REGISTERED AS {m3100NameBinding 6};


cTPSink-TTPBehaviour BEHAVIOUR
  DEFINED AS
    "The name binding represents a relationship in which a TTP sends information
    (traffic) to a sink CTP.

    When automatic instance naming is used, the choice of name bindings left as
    a local matter.";


crossConnection-fabric NAME BINDING
  SUBORDINATE OBJECT CLASS   crossConnection
    AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS      fabric
      AND SUBCLASSES;
  WITH ATTRIBUTE             crossConnectionId;
  BEHAVIOUR
    crossConnection-fabricBehaviour BEHAVIOUR
      DEFINED AS
        "The value of the fromTermination attribute in the Cross-Connection
        object shall not be NULL. When an instance of cross-connection is deleted,
        the following attributes will be affected. The
        crossConnectionObjectPointer attribute in the termination point objects
        or in the GTP objects that were pointing to the deleted cross-connection
        instance shall be set to point to the Fabric responsible for the
        connection of the termination points.

        The counters in the appropriate TP Pool objects (if applicable) shall be
        updated. The connectivityPointer attributes in the disconnected
        termination points shall be set to NULL. Deleting a cross-connection
        object instance has no effect on the composition of any GTP.";;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 7};


crossConnection-mpCrossConnection NAME BINDING
  SUBORDINATE OBJECT CLASS   crossConnection
    AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS      mpCrossConnection
      AND SUBCLASSES;
  WITH ATTRIBUTE             crossConnectionId;
  BEHAVIOUR
    crossConnection-mpCrossConnectionBehaviour BEHAVIOUR
      DEFINED AS
        "The value of the fromTermination attribute in the Cross-Connection
        object must be NULL. When an instance of cross-connection is deleted,
        the following attributes will be affected. The
        crossConnectionObjectPointer attribute in the termination point object
        or in the GTP object that was pointing to the deleted cross-connection
        instance shall be set to point to the Fabric responsible for the
        connection of the termination points. The counters in the appropriate TP
        Pool objects (if applicable) shall be updated. The connectivity pointers
        in the disconnected termination point shall be set to NULL.

        Deleting the last cross-connection contained in a multipoint
        cross-connection object instance has the effect of also deleting the
        multipoint cross-connect object instance (and updating the appropriate
        pointers). Deleting a cross-connection object instance has no effect on
        the composition of any GTP.";;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 8};


crossConnection-fabric-R1   NAME BINDING
  SUBORDINATE OBJECT CLASS  crossConnection AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS fabric AND SUBCLASSES;
  WITH ATTRIBUTE crossConnectionId;
  BEHAVIOUR crossConnection-fabricBehaviour;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS
      generalErrorParameter;
REGISTERED AS {m3100NameBinding 39};


crossConnection-mpCrossConnection-R1 NAME BINDING
  SUBORDINATE OBJECT CLASS crossConnection AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS mpCrossConnection AND SUBCLASSES;
  WITH ATTRIBUTE crossConnectionId;
  BEHAVIOUR crossConnection-mpCrossConnectionBehaviour;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS
      generalErrorParameter;
REGISTERED AS {m3100NameBinding 40};


equipment-managedElement  NAME BINDING
  SUBORDINATE OBJECT CLASS equipment  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS managedElement  AND SUBCLASSES;
  WITH ATTRIBUTE equipmentId;
  BEHAVIOUR
    equipmentNameBindingBehaviour;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 9};


equipment-equipment  NAME BINDING
  SUBORDINATE OBJECT CLASS equipment AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS equipment AND SUBCLASSES;
  WITH ATTRIBUTE equipmentId;
  BEHAVIOUR
    equipmentNameBindingBehaviour;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 10};


equipmentNameBindingBehaviour
  BEHAVIOUR
  DEFINED AS
    "When automatic instance naming is used, the choice of name binding is left
    as a local matter.";


equipment-managedElement-R1 NAME BINDING
  SUBORDINATE OBJECT CLASS equipment AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS managedElement AND SUBCLASSES;
  WITH ATTRIBUTE equipmentId;
  BEHAVIOUR equipmentNameBindingBehaviour;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      generalErrorParameter;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS
      generalErrorParameter;
REGISTERED AS {m3100NameBinding 41};


equipment-equipment-R1 NAME BINDING
  SUBORDINATE OBJECT CLASS equipment AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS equipment AND SUBCLASSES;
  WITH ATTRIBUTE equipmentId;
  BEHAVIOUR equipmentNameBindingBehaviour;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      generalErrorParameter;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS
      generalErrorParameter;
REGISTERED AS {m3100NameBinding  42};


equipmentHolder-equipmentHolder      NAME BINDING
  SUBORDINATE OBJECT CLASS  equipmentHolder AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    equipmentHolder  AND SUBCLASSES;
  WITH ATTRIBUTE equipmentId;
  BEHAVIOUR equipmentHolder-equipmentHolderBeh;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      createErrorParameter;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding  31};


equipmentHolder-equipmentHolderBeh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name an instance of an equipmentHolder
    relative to another equipmentHolder instance.";


--6.10 Event Forwarding Discriminator
eventForwardingDiscriminator-managedElement  NAME BINDING
  SUBORDINATE OBJECT CLASS
    "Recommendation X.721:1992":eventForwardingDiscriminator;
  NAMED BY
    SUPERIOR OBJECT CLASS managedElement  AND SUBCLASSES;
  WITH ATTRIBUTE "Recommendation X.721:1992":discriminatorId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 11};


eventForwardingDiscriminator-managedElement-R1 NAME BINDING
  SUBORDINATE OBJECT CLASS
    "Recommendation X.721:1992": eventForwardingDiscriminator AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS managedElement AND SUBCLASSES;
  WITH ATTRIBUTE "Recommendation X.721:1992": discriminatorId;
  BEHAVIOUR equipmentNameBindingBehaviour;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      generalErrorParameter;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS
      generalErrorParameter;
REGISTERED AS {m3100NameBinding  43};


fabric-managedElement NAME BINDING
  SUBORDINATE OBJECT CLASS   fabric
    AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS      managedElement AND SUBCLASSES;
  WITH ATTRIBUTE             fabricId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 12};


fabric-managedElement-R1 NAME BINDING
  SUBORDINATE OBJECT CLASS fabric AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS managedElement AND SUBCLASSES;
  WITH ATTRIBUTE fabricId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      generalErrorParameter;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS
      generalErrorParameter;
REGISTERED AS {m3100NameBinding 44};


gtp-fabric NAME BINDING
  SUBORDINATE OBJECT CLASS   gtp;
  NAMED BY
    SUPERIOR OBJECT CLASS      fabric
      AND SUBCLASSES;
  WITH ATTRIBUTE             gtpId;
REGISTERED AS {m3100NameBinding 13};


log-managedElement  NAME BINDING
  SUBORDINATE OBJECT CLASS "Recommendation X.721:1992":log;
  NAMED BY
    SUPERIOR OBJECT CLASS managedElement  AND SUBCLASSES;
  WITH ATTRIBUTE "Recommendation X.721:1992":logId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 14};


managedElement-network  NAME BINDING
  SUBORDINATE OBJECT CLASS managedElement  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS network;
  WITH ATTRIBUTE managedElementId;
  BEHAVIOUR
    managedElementCreateBehaviour BEHAVIOUR
      DEFINED AS
        "Managed Element object is not created or deleted by system management
        protocol. The object is created when initializing the managed element.";;
REGISTERED AS {m3100NameBinding 15};


managedElement-organization      NAME BINDING
  SUBORDINATE OBJECT CLASS  managedElement AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    "ITU-T Rec. X.521":organization AND SUBCLASSES;
  WITH ATTRIBUTE managedElementId;
  BEHAVIOUR managedElement-organizationBeh;
REGISTERED AS {m3100NameBinding  27};


managedElement-organizationBeh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name the managedElement object to an
    organization directory object. The managedElement object is not created or
    deleted by system management protocol. The managed element object is created
    when initializing the network element.";


managedElement-organizationalUnit      NAME BINDING
  SUBORDINATE OBJECT CLASS  managedElement AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    "ITU-T Rec. X.521": organizationalUnit AND SUBCLASSES;
  WITH ATTRIBUTE  managedElementId;
  BEHAVIOUR managedElement-organizationalUnitBeh;
REGISTERED AS {m3100NameBinding  28};


managedElement-organizationalUnitBeh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name the managedElement object to an
    organizationalUnit directory object. The managedElement object is not
    created or deleted by system management protocol. The managed element object
    is created when initializing the network element.";


managedElement-managedElementComplex  NAME BINDING
  SUBORDINATE OBJECT CLASS  managedElement  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  managedElementComplex AND SUBCLASSES;
  WITH ATTRIBUTE    managedElementId;
  BEHAVIOUR managedElementCreateBehaviour;
REGISTERED AS {m3100NameBinding  34};


managedElement-managedElementComplex-explicitlyCreated NAME BINDING
  SUBORDINATE OBJECT CLASS managedElement AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS managedElementComplex AND SUBCLASSES;
  WITH ATTRIBUTE managedElementId;
  BEHAVIOUR managedElement-managedElementComplex-explicitlyCreateBehaviour;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      createErrorParameter;
  DELETE
    DELETES-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 45};


managedElement-managedElementComplex-explicitlyCreateBehaviour BEHAVIOUR
  DEFINED AS
    "This name binding is used to name the managedElement object instance
    relative to a managedElementComplex object. The managedElement object is
    explicitly created by management protocol. Creation of the managedElement
    may trigger the automatic creation of certain inherent objects contained
    within the managedElement, and the deletion of the managedElement may
    trigger automatic deletion of all objects contained in the managedElement.";


managedElementComplex-organization      NAME BINDING
  SUBORDINATE OBJECT CLASS  managedElementComplex AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    "ITU-T Rec. X.521": organization AND SUBCLASSES;
  WITH ATTRIBUTE managedElementComplexId;
  BEHAVIOUR  managedElementComplex-organizationBeh;
REGISTERED AS {m3100NameBinding  35};


managedElementComplex-organizationBeh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name the managedElementComplex object to an
    organization directory object. The managedElementComplex object is not
    created or deleted by system management protocol.";


managedElementComplex-organizationalUnit      NAME BINDING
  SUBORDINATE OBJECT CLASS  managedElementComplex AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    "ITU-T Rec. X.521": organizationalUnit AND SUBCLASSES;
  WITH ATTRIBUTE managedElementComplexId;
  BEHAVIOUR managedElementComplex-organizationalUnitBeh;
REGISTERED AS {m3100NameBinding  36};


managedElementComplex-organizationalUnitBeh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name the managedElementComplex object to an
    organizationalUnit directory object. The managedElementComplex object is not
    created or deleted by system management protocol.";


managedElementComplex-network      NAME BINDING
  SUBORDINATE OBJECT CLASS  managedElementComplex AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    networkR1 AND SUBCLASSES;
  WITH ATTRIBUTE managedElementComplexId;
  BEHAVIOUR  managedElementComplex-networkBeh;
REGISTERED AS {m3100NameBinding  53}; -- Replace 56 which is used to register
                                      -- "externalPoint-equipment"


managedElementComplex-networkBeh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name the managedElementComplex object to a
    network object. The managedElementComplex object is not created or deleted
    by system management protocol.";


mpCrossConnection-fabric NAME BINDING
  SUBORDINATE OBJECT CLASS   mpCrossConnection
    AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS      fabric
      AND SUBCLASSES;
  WITH ATTRIBUTE             mpCrossConnectionId;
REGISTERED AS {m3100NameBinding 16};


network-network  NAME BINDING
  SUBORDINATE OBJECT CLASS network  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS network AND SUBCLASSES;
  WITH ATTRIBUTE networkId;
  BEHAVIOUR
    networkCreateBehaviour BEHAVIOUR
      DEFINED AS
        "Network object is not created or deleted by system management protocol.
        The object is created when initializing the network.";;
REGISTERED AS {m3100NameBinding 17};


network-organization      NAME BINDING
  SUBORDINATE OBJECT CLASS  network AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    "ITU-T Rec. X.521": organization AND SUBCLASSES;
  WITH ATTRIBUTE networkId;
  BEHAVIOUR network-organizationBeh;
REGISTERED AS {m3100NameBinding  29};


network-organizationBeh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name the network object to an organization
    directory object. The network object is not created or deleted by system
    management protocol. The object is created when initializing the network.";


network-organizationalUnit      NAME BINDING
  SUBORDINATE OBJECT CLASS  network  AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    "ITU-T Rec. X.521": organizationalUnit AND SUBCLASSES;
  WITH ATTRIBUTE  networkId;
  BEHAVIOUR network-organizationalUnitBeh;
REGISTERED AS {m3100NameBinding  30};


network-organizationalUnitBeh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name the network object to an
    organizationalUnit directory object. The network object is not created or
    deleted by system management protocol. The object is created when
    initializing the network.";


software-equipment  NAME BINDING
  SUBORDINATE OBJECT CLASS software  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS equipment  AND SUBCLASSES;
  WITH ATTRIBUTE softwareId;
  BEHAVIOUR
    softwareNameBindingBehaviour;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 18};


software-software  NAME BINDING
  SUBORDINATE OBJECT CLASS software  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS software  AND SUBCLASSES;
  WITH ATTRIBUTE softwareId;
  BEHAVIOUR
    softwareNameBindingBehaviour;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 19};


software-managedElement  NAME BINDING
  SUBORDINATE OBJECT CLASS software  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS managedElement  AND SUBCLASSES;
  WITH ATTRIBUTE softwareId;
  BEHAVIOUR
    softwareNameBindingBehaviour;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 20};


softwareNameBindingBehaviour
  BEHAVIOUR
  DEFINED AS
    "When automatic instance naming is used, the choice of name binding is left
    as a local matter.";


tpPool-fabric NAME BINDING
  SUBORDINATE OBJECT CLASS   tpPool;
  NAMED BY
    SUPERIOR OBJECT CLASS      fabric
      AND SUBCLASSES;
  WITH ATTRIBUTE             tpPoolId;
REGISTERED AS {m3100NameBinding 21};


trailR1-network  NAME BINDING
  SUBORDINATE OBJECT CLASS trailR1;
  NAMED BY
    SUPERIOR OBJECT CLASS network;
  WITH ATTRIBUTE trailId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 26};


--trailTerminationPointSource-managedElement  NAME BINDING
-- SUBORDINATE OBJECT CLASS trailTerminationPointSource  AND SUBCLASSES;
-- NAMED BY
-- SUPERIOR OBJECT CLASS managedElement  AND SUBCLASSES;
-- WITH ATTRIBUTE tTPId;
-- BEHAVIOUR
-- trailTerminationPointNameBindingBehaviour;
-- CREATE
--  WITH-REFERENCE-OBJECT,
--  WITH-AUTOMATIC-INSTANCE-NAMING;
-- DELETE
--  ONLY-IF-NO-CONTAINED-OBJECTS;
--REGISTERED AS {m3100NameBinding 23};
trailTerminationPointNameBindingBehaviour
  BEHAVIOUR
  DEFINED AS
    "When automatic instance naming is used, the choice of name binding is left
    as a local matter.";
--trailTerminationPointSink-managedElement  NAME BINDING
-- SUBORDINATE OBJECT CLASS trailTerminationPointSink  AND SUBCLASSES;
-- NAMED BY
-- SUPERIOR OBJECT CLASS managedElement  AND SUBCLASSES;
-- WITH ATTRIBUTE tTPId;
-- BEHAVIOUR
-- trailTerminationPointNameBindingBehaviour;
-- CREATE
--  WITH-REFERENCE-OBJECT,
--  WITH-AUTOMATIC-INSTANCE-NAMING;
-- DELETE
--  ONLY-IF-NO-CONTAINED-OBJECTS;
--REGISTERED AS {m3100NameBinding 24};

-- Rec. X.745


testActionPerformer-managedElement NAME BINDING
  SUBORDINATE OBJECT CLASS "Rec. X.745 (1993)" : testActionPerformer AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS managedElement  AND SUBCLASSES;
  WITH ATTRIBUTE "Rec. X.745 (1993)" : testActionPerformerId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 47};


testObject-testActionPerfomer NAME BINDING
  SUBORDINATE OBJECT CLASS "Rec. X.745 (1993)" : testObject AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS "Rec. X.745 (1993)"  : testActionPerformer AND SUBCLASSES;
  WITH ATTRIBUTE "Rec. X.745 (1993)" : testObjectId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 48};

-- Rec. X.738


simpleScanner-managedElement NAME BINDING
  SUBORDINATE OBJECT CLASS "Rec. X.738 (1993)" : simpleScanner AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS managedElement  AND SUBCLASSES;
  WITH ATTRIBUTE "Rec. X.739 (1993)" : scannerId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 49};

-- Rec. X.742


usageMeteringControl-managedElement NAME BINDING
  SUBORDINATE OBJECT CLASS  "Rec. X.742 (1995)" : usageMeteringControlObject
    AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS managedElement AND SUBCLASSES;
  WITH ATTRIBUTE "Rec. X.742 (1995)" : controlObjectId;
  DELETE
    DELETES-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 50};

-- Rec. X.746


scheduler-managedElement NAME BINDING
  SUBORDINATE OBJECT CLASS "Rec. X.746 (1995)" : scheduler AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS managedElement AND SUBCLASSES;
  WITH ATTRIBUTE
    "Rec. X.746 (1995)"  : schedulerID;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      "Rec. X.738 (1993)":conflictingPackagesRequestedError;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS  {m3100NameBinding 51};

-- Rec. X.723


applicationProcess-managedElement NAME BINDING
  SUBORDINATE OBJECT CLASS "Rec. X.723 (1993)" : applicationProcess AND SUBCLASSES ;
  NAMED BY
    SUPERIOR OBJECT CLASS managedElement AND SUBCLASSES ;
  WITH ATTRIBUTE "Rec. X.723 (1993)" : applicationProcessId ;
REGISTERED AS {m3100NameBinding 54};


subsystem-managedElement  NAME BINDING
  SUBORDINATE OBJECT CLASS "Rec. X.723 (1993)" : subsystem AND SUBCLASSES ;
  NAMED BY
    SUPERIOR OBJECT CLASS  managedElement AND SUBCLASSES ;
  WITH ATTRIBUTE "Rec. X.723 (1993)" : subsystemId ;
REGISTERED AS {m3100NameBinding 55};


addTpsToGTP ACTION
  BEHAVIOUR
    addTpsToGtpBehaviour BEHAVIOUR
      DEFINED AS
        "This action is used to arrange termination points into GTPs.  If the
        group termination point instance does not exist then a new one is
        automatically created and its identity returned in the result. Otherwise
        the termination points are added to those already in the GTP.
        Termination points may be members of zero or one GTP. This action will
        fail if the GTP is involved in a cross-connection, if the GTP is a
        member of a TP pool or if the termination point is already a member of a
        GTP. A bidirectional termination point that can provide independent
        unidirectional connectivity may be a member of zero or one GTP for each
        direction of connectivity.";;
  MODE   CONFIRMED;
  WITH INFORMATION SYNTAX   ASN1DefinedTypesModule.AddTpsToGtpInformation;
  WITH REPLY SYNTAX         ASN1DefinedTypesModule.AddTpsToGtpResult;
REGISTERED AS {m3100Action 1};


addTpsToTpPool ACTION
  BEHAVIOUR
    addTpsToTpPoolBehaviour BEHAVIOUR
      DEFINED AS
        "This action is used to arrange termination points or GTPs into pools of
        termination points or GTPs that are all equivalent for some management
        purpose such as routing. If the tpPool instance does not exist then a
        new one is automatically created and its identity returned in the
        result. Otherwise the termination points or GTPs are added to those
        already in the tpPool.  If an Indirect Adaptor is specified, a GTP
        representing the CTPs contained from the Indirect Adaptor will be
        created and it will be added to the tpPool.";;
  MODE      CONFIRMED;
  WITH INFORMATION SYNTAX   ASN1DefinedTypesModule.AddTpsToTpPoolInformation ;
  WITH REPLY SYNTAX         ASN1DefinedTypesModule.AddTpsToTpPoolResult;
REGISTERED AS {m3100Action 2};


allowAudibleVisualLocalAlarm  ACTION
  BEHAVIOUR allowAudibleVisualLocalAlarmBehaviour;
REGISTERED AS {m3100Action 3};


allowAudibleVisualLocalAlarmBehaviour  BEHAVIOUR
  DEFINED AS
    "The allow Audible Visual Local Alarm action allows a managed system to
    present audible and/or visual indications.";


connect ACTION
  BEHAVIOUR
    connectBehaviour BEHAVIOUR
      DEFINED AS
        "This action is used to establish a connection between termination
        points or GTPs. The termination points to be connected can be specified
        in one of two ways:

        1) by explicitly identifying the two termination points or GTPs;

        2) by specifying one termination point or GTP, and specifying a tpPool
           from which any idle termination point/GTP may be used. The result, if
           successful, always returns an explicit list of termination points or GTP.

        There are two basic forms of cross-connection arrangement:
        point-to-point and point to multi-point (broadcast). A single
        cross-connection is created if either the explicitPtoP or ptoTpPool
        option is selected in this action. This cross-connection object points
        to the termination points or GTPs involved in the cross-connection.
        Connections are indicated in termination points by the
        connectivityPointer attribute. If the administrativeState in the
        crossConnection object is unlocked, this attribute is set, as a result
        of this action, to the local name of the termination point to which it
        is connected. Also, the crossConnectionObjectPointer in the termination
        points or GTPs points to the cross-connection object.

        For point to multi-point cross-connection (indicated by choosing the
        explicitPtoMp or ptoMPools option), one multi-point cross-connection
        object will be created containing one crossConnection object for each
        termination point specified in the toTps parameter. In the source TP the
        crossConnectionObjectPointer will point at the newly created Multi-point
        cross-connect object. In each Tp named in the toTPs list (possibly
        selected from a specified tpPool), the CrossConnectionObject pointer
        will point at the corresponding cross-connection object. The
        connectivity pointers in the connected termination points will be
        updated to reflect the new connectivity.

        The idleTPcount and the connectedTPcount attributes in the tpPool object
        (if any) are updated as a result of the action. If a GTP is implicitly
        defined by specifying several termination points to be connected together,
        the GTP object will be automatically created and its id will be returned
        in the action reply.

        If an Indirect Adaptor is specified, a GTP representing the CTPs
        contained from the Indirect Adaptor will be created and it will be connected.

        The administrative state of the created cross-connection or multi-point
        cross-connection objects is specified as an optional parameter of this
        action. If this parameter is omitted, the administrative state will be
        set to 'unlocked' (unless the addLegs parameter is specified). This
        action will fail if any of the termination points specified is already
        involved in a cross-connection or if part of an existing GTP is specified.

        If the addLeg parameter is specified, one or more Legs will be added to
        an existing multi-point cross-connection arrangement. Selected
        termination points or GTPs must support a similar signal type to that of
        the termination points already connected to the arrangement. The result,
        if successful, always returns the termination points or GTPs involved in
        the multi-point cross-connection. A cross-connection object is created
        as a result of this action. This object will be named from the specified
        mpCrossConnection object instance. The administrative state of the
        created cross-connection object will be the same as that of the
        containing multi-point cross-connection object unless otherwise
        specified in the action parameters.

        When the namedCrossConnection parameter is present, a
        namedCrossConnection (or subclass of namedCrossConnection)  instance
        will be created. When userLabel and/or redline is present,
        crossConnectionR1 (or subclass of crossConnectionR1) instance will be
        created. When none of these parameters are present, it is up to the
        local system to deduce which instance will be created. The
        namedCrossConnection field shall not be used together with either the
        userLabel field or the redline field in the same action request.";;
  MODE    CONFIRMED;
  WITH INFORMATION SYNTAX   ASN1DefinedTypesModule.ConnectInformation;
  WITH REPLY SYNTAX         ASN1DefinedTypesModule.ConnectResult;
REGISTERED AS {m3100Action 4};


disconnect ACTION
  BEHAVIOUR
    disconnectBehaviour BEHAVIOUR
      DEFINED AS
        "This action is used to take down a cross-connection. The connection to
        be taken down is specified by identifying termination point(s) [or
        GTP(s)] of the connection. If the connection was point-to-point, then
        the other termination point or GTP is implicitly disconnected as well
        and the cross-connection object is deleted. If the connection was point
        to multi-point and the action referred to the master, all the
        termination points or GTPs that are legs are implicitly disconnected as
        well and the multi-point cross-connection and cross-connection objects
        are deleted.

        If the connection was point-to-multi-point and the action referred to a
        leg, then just that leg is disconnected, unless it is the last leg, in
        which case the master termination point is also implicitly disconnected
        and the multipoint cross-connection and cross-connection objects are
        deleted. The idleTPcount and the connectedTPcount attributes in the
        tpPool objects (if any) are updated as a result of the action. The
        connectivity pointers in the disconnected termination points will be set
        to NULL as a result of this action.

        This action has no effect on the composition of GTPs and GTPs are not
        deleted as a result of this action. This action will fail if part of a
        GTP is specified.";;
  MODE    CONFIRMED;
  WITH INFORMATION SYNTAX   ASN1DefinedTypesModule.DisconnectInformation;
  WITH REPLY SYNTAX         ASN1DefinedTypesModule.DisconnectResult;
REGISTERED AS {m3100Action 5};


inhibitAudibleVisualLocalAlarm  ACTION
  BEHAVIOUR inhibitAudibleVisualLocalAlarmBehaviour;
REGISTERED AS {m3100Action 6};


inhibitAudibleVisualLocalAlarmBehaviour  BEHAVIOUR
  DEFINED AS
    "The Inhibit Audible/Visual Local Alarm action inhibits a managed system
    from presenting audible and/or visual indications.";


removeTpsFromGTP ACTION
  BEHAVIOUR
    removeTpsFromGtpBehaviour BEHAVIOUR
      DEFINED AS
        "This action is used to remove termination points from GTPs. This action
        will fail if the GTP is involved in a cross-connection or if it is a
        member of a TP pool. Removing the last termination point from a GTP has
        the effect of deleting the GTP object. If the GTP is deleted, the name
        of the GTP will be sent back in the ACTION reply.";;
  MODE                      CONFIRMED;
  WITH INFORMATION SYNTAX   ASN1DefinedTypesModule.RemoveTpsFromGtpInformation;
  WITH REPLY SYNTAX         ASN1DefinedTypesModule.RemoveTpsFromGtpResult;
REGISTERED AS {m3100Action 7};


removeTpsFromTpPool ACTION
  BEHAVIOUR
    removeTpsFromTpPoolBehaviour BEHAVIOUR
      DEFINED AS
        "This action is used to remove termination points from termination point
        pools. Removing the last termination point from a pool has the effect of
        deleting the TP Pool object. If the TP pool is deleted, the name of the
        TP Pool will be sent back in the ACTION reply.";;
  MODE                      CONFIRMED;
  WITH INFORMATION SYNTAX   ASN1DefinedTypesModule.RemoveTpsFromTpPoolInformation;
  WITH REPLY SYNTAX         ASN1DefinedTypesModule.RemoveTpsFromTpPoolResult;
REGISTERED AS {m3100Action 8};


switchOver ACTION
  BEHAVIOUR
    switchOverBehaviour BEHAVIOUR
      DEFINED AS
        "This action offers the capability, in an atomic way, to: Switch an
        existing connection to another one of the same type maintaining one of
        the original cross-connected termination points. If the operation
        succeeds, this will result in the deletion of the old connection
        indicated in the action information and the connection of the new
        termination point. The new termination point indicated in the action
        information must be available (disconnected for the respective
        direction) in order to establish the new cross-connection. The switch
        over of an individual connection is considered an atomic operation.

        Switch a bundle of existing connections. Each of these connections are
        switched over as described above. In this case, the action will behave
        according to a best effort policy and only those connections which can
        be successfully switched over will be performed independently of each other.

        In any case, a connection designates a unidirectional or bidirectional
        point-to-point connection (i.e. crossConnection), a leg of a multi-point
        connection (i.e. crossConnection contained in a mpCrossConnection), or a
        leg of a multipoint connection protection defined in Recommendation G.774.04.";;
  MODE                      CONFIRMED;
  WITH INFORMATION SYNTAX   ASN1DefinedTypesModule.SwitchOverInformation;
  WITH REPLY SYNTAX         ASN1DefinedTypesModule.SwitchOverResult;
REGISTERED AS { m3100Action 9};


alarmEffectOnServiceParameter  PARAMETER
  CONTEXT EVENT-INFO;
  WITH SYNTAX ASN1DefinedTypesModule.AlarmEffectOnServiceParameter;
  BEHAVIOUR
    alarmEffectOnServiceParameterBehaviour BEHAVIOUR
      DEFINED AS
        "The alarmEffectOnServiceParameter is a parameter to be included as an
        element of a set in the AdditionalInformation parameter of the AlarmInfo
        defined in Recommendation X.721. The alarmEffectOnServiceParameter
        indicates whether the service is affected by the alarm.";;
REGISTERED AS {m3100Parameter 1};


createErrorParameter  PARAMETER
  CONTEXT SPECIFIC-ERROR;
  WITH SYNTAX ASN1DefinedTypesModule.CreateError;
  BEHAVIOUR
    createErrorParameterBehaviour BEHAVIOUR
      DEFINED AS
        "If the maximum number of instances of the object class exist within the
        superior (containing) managed object, attempts to create additional
        instances will result in the CMIP processing failure error. The syntax
        of the specific error is an integer defined by CreateError. The value of
        the integer indicates the number of instances that are currently
        contained in the superior object.";;
REGISTERED AS {m3100Parameter 2};


generalErrorParameter PARAMETER
  CONTEXT SPECIFIC-ERROR;
  WITH SYNTAX ASN1DefinedTypesModule.GeneralError;
  BEHAVIOUR
    generalErrorParameterBehaviour BEHAVIOUR DEFINED AS
      "If an error or set of errors occurs that cannot be described by existing
      CMISE errors or other error parameters, the error(s) will be communicated
      using this parameter, with the error or errors described by a cause code
      and optionally provided text.

      An attributeList can be provided if the error condition can be further
      described by the state of the object attributes.

      Related object(s) can also be provided. The related objects may contribute
      to the condition that does not allow the operation to take place. An
      example would be if objects are configured for a particular service
      offering that is in conflict with the service offering that is being
      provisioned.";;
REGISTERED AS {m3100Parameter 3};


abstractLink MANAGED OBJECT CLASS
  DERIVED FROM   "ITU-T X.721 | ISO/IEC 10165-2:1992":top;
  CHARACTERIZED BY
    createDeleteNotificationsPackage,
    abstractLinkPackage PACKAGE
      BEHAVIOUR
        abstractLinkBehaviour BEHAVIOUR
          DEFINED AS
            "The abstract link object class gives a topological description of
            the capacity between two adjacent Subnetworks, or two Link Ends; or
            a Subnetwork and an Access Group when Network trail termination
            points lie outside the boundary of the largest subnetwork.

            The use made of the individual attributes and notifications is
            detailed below:

            - a end: the link end, subnetwork or access group which terminates
              one end of the Link <ITU-T G.853.1,RELATIONSHIP:linkBinds>;

            - available link capacity: the number of free Link Connections or
              free bandwidth

            <ITU-T G.853.8,ATTRIBUTE:pamAvailableLinkCapacity>;

            - z end: the link end, subnetwork or access group which terminates
              the other end of the Link <ITU-T G.853.1,RELATIONSHIP:linkBinds>;

            - signal Id: shows the signal Id of the Link Connections that
              provide the capacity for the Link;

            - a link must be provided with capacity by Link connections of the
              same signal Id; attribute value change notification: shall be
              emitted when the values change of the following attributes:
              availableLinkCapacity, totalLinkCapacity.";;
      ATTRIBUTES
        aEnd    GET SET-BY-CREATE,
        availableLinkCapacity GET,
        signalId   GET SET-BY-CREATE,
        zEnd    GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    attributeValueChangeNotificationPackage  PRESENT IF
      "the attributeValueChange notification  defined in Recommendation X.721 is
      supported by an instance of this managed object class",
    usageCostPackage  PRESENT IF
      "the link has an allocated usage cost ",
    userLabelPackage PRESENT IF
      "a userLabel is supported. <ITU-T G.852.2,PERMISSION:userLabelFacility>";
REGISTERED AS {m3100ObjectClass 44};


abstractLinkEnd MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T X.721 | ISO/IEC 10165-2:1992":top;
  CHARACTERIZED BY
    attributeValueChangeNotificationPackage,
    createDeleteNotificationsPackage,
    abstractLinkEndPackage  PACKAGE
      BEHAVIOUR
        abstractLinkEndBehaviour BEHAVIOUR
          DEFINED AS
            "The Abstract Link End  object class is a class of managed objects
            which contains Network Connection Termination Points for the purpose
            of  representing topology.

            The use made of individual attributes and notification is detailed below:

            - available link end capacity: represents the spare capacity of the
              link end;

            - link pointer: is a distinguished name of the related link managed
              object instance;

            - contained in subnetwork list: is a distinguished name that
              represents the parent subnetwork of the logical link.

            An attribute value change notification shall be emitted when the
            value of the availableLinkEndCapacity or the
            containedInSubNetworkList is changed.";;
      ATTRIBUTES
        availableLinkEndCapacity GET,
        linkPointer    GET;;;
  CONDITIONAL PACKAGES
    containedInSubNetworkListPackage PRESENT IF
      "this link end object instance is not named from a subnetwork managed object ",
    userLabelPackage PRESENT IF
      "a userLabel is supported. <ITU-T G.852.2, PERMISSION:userLabelFacility>";
REGISTERED AS {m3100ObjectClass 45};


abstractLinkEndR1 MANAGED OBJECT CLASS
  DERIVED FROM abstractLinkEnd;
  CHARACTERIZED BY
    abstractLinkEndPkgR1 PACKAGE
      ATTRIBUTES
        signalId GET;;;
REGISTERED AS {m3100ObjectClass 70};


accessGroup MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T X.721|ISO/IEC 10165-2:1992":top;
  CHARACTERIZED BY
    accessGroupPackage PACKAGE
      BEHAVIOUR
        accessGroupBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:access group>

            The Access Group object class is a class of managed objects which
            groups Network Trail Termination Points for management purposes.
            <ITU-T Rec.G.852.3,ACTION:create link,ACTION POLICY:inputAEnd>
            <ITU-T Rec.G.852.3,ACTION:create link,ACTION POLICY:inputZEnd>";;
      ATTRIBUTES
        accessGroupId   GET,
        accessPointList   GET-REPLACE ADD-REMOVE
          networkTTPAndAccessGroupNotCompatible failureToAssociateNetworkTTP
          failureToDisassociateNetworkTTP,
        topologicalEndDirectionality GET,
        signalId    GET;;;
  CONDITIONAL PACKAGES
    containedInSubNetworkListPackage PRESENT IF
      "the access group object is contained in a subnetwork",
    linkPointerListPackage PRESENT IF
      "topology management is supported
      <ITU-T G.852.3,ACTION:create link, ACTION POLICY:inputAEnd>,
      <ITU-T G.852.3,ACTION:create link, ACTION POLICY:inputZEnd>>",
    userLabelPackage PRESENT IF
      "a userLabel is supported <ITU-T G.852.2,PERMISSION:userLabelFacility>";
REGISTERED AS {m3100ObjectClass 46};


layerNetworkDomain MANAGED OBJECT CLASS
  DERIVED FROM networkR1;
  CHARACTERIZED BY
    layerNetworkDomainPkg PACKAGE
      BEHAVIOUR
        layerNetworkDomainBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:layer network domain>

            This managed object represents a transport administrative domain in
            which all resources pertain to the same G.805 layer.
            <ITU-T G.853.1,OBJECT:layerNetworkDomain > It represents the
            topological aspects of the transport network layer.
            <ITU-T G.853.1,RELATIONSHIP:layerNetworkDomainIsMadeOf >";;
      ATTRIBUTES
        signalId GET;;;
REGISTERED AS {m3100ObjectClass 47};


layerNetworkDomainR1 MANAGED OBJECT CLASS
  DERIVED FROM layerNetworkDomain;
  CHARACTERIZED BY
    layerNetworkDomainPkgR1 PACKAGE
      BEHAVIOUR
        layerNetworkDomainBehaviourR1 BEHAVIOUR
          DEFINED AS
            "The signalId can be set upon creation of an instance of the
            layerNetworkDomainR1 to support the following typical operations:

            1) set the signalId value upon creation of the layer network domain

            2) set the signalId attribute of a subnetwork (or abstract link,
               etc.) based on the value of the layer network domain instance
               referenced in the create request. ";;
      ATTRIBUTES
        signalId GET SET-BY-CREATE;;;
REGISTERED AS {m3100ObjectClass 69};


linkConnection MANAGED OBJECT CLASS
  DERIVED FROM  pipeR2;
  CHARACTERIZED BY
    linkConnectionPackage PACKAGE
      BEHAVIOUR
        linkConnectionBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:link connection>

            The Link Connection object class is a class of managed objects
            responsible for the transparent transfer of information between
            Network Connection Termination Points.

            A Link Connection may be a component of a Trail. A sequence of one
            or more Link Connections (and subnetwork connections) may be linked
            together to form a Trail.
            <ITU-T G.853.1,RELATIONSHIP:linkConnectionIsSupportedByTrail>,
            <ITU-T G.853.1,RELATIONSHIP:trailIsMadeOfTransportEntities> A Link
            Connection may be either uni- or bidirectional.
            <ITU-T G.853.1,OBJECT:transportConnection >

            A point-to-point unidirectional Link Connection can be established
            between a Network connection termination point source or Network
            connection termination point bidirectional; and a Network connection
            termination point sink or Network connection termination point
            bidirectional.

            A point-to-point bidirectional Link Connection can be established
            between a Network connection termination point bidirectional; and a
            Network connection termination point bidirectional.

            An operation to create a Link Connection will not be successful and
            will fail with an invalid TP type if a requested endpoint is a
            Network Trail Termination Point.

            For all types of Link Connection, the network termination point(s)
            pointed to by the A End attribute is related to the network
            termination point(s) pointed to by the Z End attribute in such a way
            that traffic can flow between the network termination points
            represented by these managed objects in a unidirectional or
            bidirectional manner as indicated by the directionality attribute.
            <ITU-T G.853.3, ATTRIBUTE:directionality>";;
      ATTRIBUTES
        connectionId  GET;;;
  CONDITIONAL PACKAGES
    serverTrailListPackage PRESENT IF
      "the link connection is supported by a server trail
      <ITU-T G.853.8,RELATIONSHIP:linkConnectionIsSupportedByTrail>",
    compositePointerPackage PRESENT IF
      "the link connection is a component of that subnetwork connection
      <ITU-T G.853.1,RELATIONSHIP:subnetworkConnectionIsMadeOfTransportEntities>",
    clientTrailPackage PRESENT IF
      "the link connection serves a client trail
      <ITU-T G.853.1,RELATIONSHIP:trailIsMadeOfTransportEntities>";
REGISTERED AS {m3100ObjectClass 48};


logicalLink MANAGED OBJECT CLASS
  DERIVED FROM   abstractLink;
  CHARACTERIZED BY
    logicalLinkCapacityPackage,
    logicalLinkPackage PACKAGE
      BEHAVIOUR
        logicalLinkBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:link>

            A logical link managed object represents a link that may be
            administratively composed of link connections or bandwidth that may
            be provided by one or more topological links or other logical links.";;
      ATTRIBUTES
        linkDirectionality  GET,
        linkId    GET;;;
  CONDITIONAL PACKAGES
    linkConnectionPointerListPackage PRESENT IF
      "pre-provisioned link connections are supported by the transport technology";
REGISTERED AS {m3100ObjectClass 49};


logicalLinkEnd MANAGED OBJECT CLASS
  DERIVED FROM abstractLinkEnd;
  CHARACTERIZED BY
    linkEndCapacityPackage,
    logicalLinkEndPackage  PACKAGE
      BEHAVIOUR
        logicalLinkEndBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:link end> The Logical Link End object class
            represents the end of a logical link.

            When present, the Network CTPs In Link End List Package identifies
            the network CTPs that are present in the Logical Link End. There is
            no name binding between or Logical Link End and the network CTPs
            that are associated with the Logical Link.";;
      ATTRIBUTES
        linkEndId    GET,
        logicalEndDirectionality  GET;;;
  CONDITIONAL PACKAGES
    networkCTPsInLinkEndListPackage PRESENT IF
      "pre-provisioned network CTPs are supported by the transport technology";
REGISTERED AS {m3100ObjectClass 50};


logicalLinkEndR1 MANAGED OBJECT CLASS
  DERIVED FROM logicalLinkEnd;
  CHARACTERIZED BY
    logicalLinkEndPkgR1 PACKAGE
      ATTRIBUTES
        signalId GET;;;
REGISTERED AS {m3100ObjectClass 71};


networkCTPBidirectional MANAGED OBJECT CLASS
  DERIVED FROM
    networkCTPSink,
    networkCTPSource;
  CHARACTERIZED BY
    networkCTPBidPackage PACKAGE
      BEHAVIOUR
        networkCTPBidBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:connection termination point>

            If it is necessary to configure an instance of this object class to
            be unidirectional, a subclass may be specified for which
            directionality is permitted to be settable.";;;;
REGISTERED AS {m3100ObjectClass 51};


networkCTPSink MANAGED OBJECT CLASS
  DERIVED FROM networkTerminationPoint;
  CHARACTERIZED BY
    networkCTPSinkPackage PACKAGE
      BEHAVIOUR
        networkCTPSinkBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:connection termination point>

            The Network CTP Sink object class is a class of managed objects that
            terminates Link connections and/or originates Subnetwork
            Connections. The resource receives information (traffic), via a Link
            connection, from an instance representing a NetworkConnection
            Termination Point, and sends it on, via a Subnetwork Connection, to
            instances representing either NWCTP Sources or a NWTTP Sink in the
            same Subnetwork.

            An instance of this class may only have connectivity relationships
            (link connection or subnetwork connection) with instances that
            represent Network Connection Termination Points, Source or
            Bidirectional, which are at the same layer.
            <ITU-T G.852.3,COMMUNITY_POLICY:signalid>

            An instance of this class may be subnetwork connected, via a
            Subnetwork Connection, to a single instance which represents a
            Network Trail Termination Point, Sink or Bidirectional, at the same
            layer.
            <ITU-T G.853.1:RELATIONSHIP:subnetworkConnectionIsTerminatedByPointToPoint, ROLE:a_endCTP>

            The Subnetwork Connection Pointer attribute points to the managed
            object representing the relationship with the network termination
            point(s), within the same Subnetwork, that receive(s) information
            (traffic) from this network termination point, or is null.
            <ITU-T G.853.1: RELATIONSHIP:subnetworkConnectionIsTerminatedByPointToPoint , ROLE: a_endCTP>

            The referenced managed object shall represent a Subnetwork
            Connection. Where the NWCTP sink participates in many subnetwork
            connections for different subnetworks, the Subnetwork Connection
            Pointer is null.

            Any network termination points identified by the related Subnetwork
            Connection indicate that a relationship exists, but this does not
            indicate that information can flow between the network termination
            points. This capability is indicated by a combination of the State
            Attributes including the Operational State.

            The Connectivity Pointer attribute points to the managed object
            representing the Connection which relates this instance to the
            instance representing the Network Connection Termination Point,
            Source or Bidirectional, that sends information (traffic) to this
            network termination point, or is null.
            <ITU-T G.853.1,RELATIONSHIP:linkConnectionIsTerminatedByPointToPoint, ROLE: z_endCTP>";;;;
  CONDITIONAL PACKAGES
    channelNumberPackage PRESENT IF
      "the channel number attribute is supported by an instance of this managed
      object class",
    ctpInstancePackage PRESENT IF
      "an instance supports it",
    networkCTPPackage PRESENT IF
      "pointers to instances of network termination points at higher or lower
      levels of subnetwork partitioning are supported by this managed object
      class <ITU-T G.853.1,RELATIONSHIP:subnetworkTPPoolIsMadeOfSubnetworkTP>",
    serverTTPPointerPackage PRESENT IF
      "the server trail termination point pointer attribute is supported by an
      instance of this managed object class
      <ITU-T G.853.1,RELATIONSHIP:networkTTPAdaptsNetworkCTP>";
REGISTERED AS {m3100ObjectClass 52};


networkCTPSource MANAGED OBJECT CLASS
  DERIVED FROM networkTerminationPoint;
  CHARACTERIZED BY
    networkCTPSourcePackage PACKAGE
      BEHAVIOUR
        networkCTPSourceBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:connection termination point>

            The Network CTP Source object class is a class of managed objects
            that originates Link connections and/or terminates Subnetwork
            Connections. The resource sends information (traffic), via a Link
            connection, to instances representing Network Connection Termination
            Points, and receives it, via a Subnetwork Connection, from an
            instance representing either a NWCTP Sink or a NWTTP Source in the
            same Subnetwork.

            An instance of this class may only have connectivity relationships
            (link connection or subnetwork connection) with instances that
            represent Network Connection Termination Points, Sink or
            Bidirectional, which are at the same layer.
            <ITU-T G.852.3,COMMUNITY_POLICY:signalid>

            An instance of this class may be subnetwork connected, via a
            Subnetwork Connection, to a single instance which represents a
            Network Trail Termination Point, Source or Bidirectional, at the
            same layer.
            <ITU-T G.853.1,RELATIONSHIP:subnetworkConnectionIsTerminatedByPointToPoint, ROLE: z_endCTP>

            The Subnetwork Connection Pointer attribute points to the managed
            object representing the relationship with the network termination
            point, within the same Subnetwork, that sends information (traffic)
            to this network termination point, or is null. The referenced
            managed object shall represent a Subnetwork Connection.
            <ITU-T G.853.1,RELATIONSHIP:subnetworkConnectionIsTerminatedByPointToPoint, ROLE: z_endCTP>

            Where the NWCTP source participates in many subnetwork connections
            for different subnetworks, the Subnetwork Connection Pointer is null.

            Any network termination points identified by the related Subnetwork
            Connection indicate that a relationship exists, but this does not
            indicate that information can flow between the network termination
            points. This capability is indicated by a combination of the State
            Attributes, including the Operational State.

            The Connectivity Pointer attribute points to the managed object
            representing the Connection which relates this instance to the
            instance representing the Network Connection Termination Point, Sink
            or Bidirectional, that receives information (traffic) from this
            network termination point, or is null.
            <ITU-T G.853.1,RELATIONSHIP:linkConnectionIsTerminatedByPointToPoint, ROLE: a_endCTP>";;;;
  CONDITIONAL PACKAGES
    channelNumberPackage PRESENT IF
      "the channel number attribute is supported by an instance of this managed
      object class",
    ctpInstancePackage PRESENT IF
      "an instance supports it",
    networkCTPPackage PRESENT IF
      "pointers to instances of network termination points at higher or lower
      levels of subnetwork partitioning are supported by this managed object
      class <see G.853.1,RELATIONSHIP: subnetworkTPIsRelatedToExtremity>",
    serverTTPPointerPackage PRESENT IF
      "the server trail termination point pointer attribute is supported by an
      instance of this managed object class
      <see ITU-T G.853.1,RELATIONSHIP:networkTTPAdaptsNetworkCTP>";
REGISTERED AS {m3100ObjectClass 53};


networkTerminationPoint MANAGED OBJECT CLASS
  DERIVED FROM terminationPoint;
  CHARACTERIZED BY
    createDeleteNotificationsPackage,
    networkTerminationPointPackage  PACKAGE
      BEHAVIOUR
        networkTerminationPointBehaviour  BEHAVIOUR
          DEFINED AS
            "This managed object represents the network termination of a
            transport entity, such as an instance representing a Trail or a Link
            Connection.

            The sncPointer is used to point to a Subnetwork Connection. However,
            not all network termination points will have a flexible connection,
            and it may be more appropriate to point to another network
            termination point, for example in a regenerator the two network
            connection termination points would point to each other as there is
            no flexibility between them. In this instance the networkTPPointer
            shall be used. Both pointers are conditional.
            <ITU-T G.853.1,RELATIONSHIP:subnetworkConnectionIsTerminatedByPointToPoint, ROLE: a_endCTP or z_endCTP>

            The Connectivity Pointer attribute points to the managed object
            representing the Link connection or Trail which relates this
            instance to other instance(s) representing the Network Termination
            Point(s).
            <ITU-T G.853.1,RELATIONSHIP:trailIsTerminatedByPointToPoint, ROLE: a_endCTP or z_endCTP>
            <ITU-T G.853.1,RELATIONSHIP:linkConnectionIsterminatedByPointToPoint, ROLE: a_endCTP or z_endCTP>";;
      ATTRIBUTES
        pointDirectionality  GET,
        signalId   GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    configuredConnectivityPackage PRESENT IF
      "configured connectivity indication is supported by this managed object instance",
    connectivityPointerPackage PRESENT IF
      "the network termination point terminates a link connection or a trail
      <ITU-T G.853.1,RELATIONSHIP:trailIsTerminatedByPointToPoint, ROLE: a_endCTP or z_endCTP>,
      < ITU-T G.853.1,RELATIONSHIP:linkConnectionIsterminatedByPointToPoint, ROLE: a_endCTP or z_endCTP>",
    "ITU-T X.721|ISO/IEC 10165-2:1992":administrativeStatePackage PRESENT IF
      "the resource represented by this managed object is capable of being
      administratively removed from service (point view)",
    "ITU-T X.721|ISO/IEC 10165-2:1992":availabilityStatusPackage PRESENT IF
      "the resource represented by this managed object is capable of
      representing its availability (point view)",
    locationNamePackage PRESENT IF
      "an instance supports it",
    neAssignmentPackage PRESENT IF
      "the Network Element view of termination points is available",
    sncPointerPackage PRESENT IF
      "a network termination point may be flexibly connected to another network
      termination point
      <ITU-T G.853.1,RELATIONSHIP:extremitiesTerminateSubnetworkConnection>",
    networkTPPointerPackage PRESENT IF
      "there is no flexibity between network termination points (degenerate case only)",
    userLabelPackage PRESENT IF
      "a userLabel is supported < ITU-T G.852.2, PERMISSION userLabelFacility>";
REGISTERED AS {m3100ObjectClass 54};


networkTTPBidirectional MANAGED OBJECT CLASS
  DERIVED FROM
    networkTTPSink,
    networkTTPSource;
  CHARACTERIZED BY
    networkTTPBidPackage PACKAGE   BEHAVIOUR
      networkTTPBidBehaviour BEHAVIOUR
      DEFINED AS
        "<ITU-T G.852.2,RESOURCE:trail termination point>

        If it is necessary to configure an instance of this object class to be
        unidirectional, a subclass may be specified for which directionality is
        permitted to be settable.";;;;
REGISTERED AS {m3100ObjectClass 55};


networkTTPBidirectionalR1 MANAGED OBJECT CLASS
  DERIVED FROM
    networkTTPBidirectional,
    networkTTPSinkR1;
REGISTERED AS {m3100ObjectClass 68};


networkTTPSink MANAGED OBJECT CLASS
  DERIVED FROM networkTerminationPoint;
  CHARACTERIZED BY
    networkTTPSinkPackage PACKAGE
      BEHAVIOUR
        networkTTPSinkBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:trail termination point>

            The Network TTP Sink object class is a class of managed objects that
            terminates Trails and Subnetwork Connections in the Network viewpoint.

            An instance of this class may only have Trail relationships with
            Network Trail Termination Points, Source or Bidirectional, which are
            at the same layer. <ITU-T G.852.3,COMMUNITY_POLICY:signalid>

            An instance of this class may be subnetwork connected, via a
            Subnetwork Connection, to a single Network Connection Termination
            Point Sink or Bidirectional, or a Network Trail Termination Point
            Source at the same layer.
            <ITU-T G.853.1,RELATIONSHIP:subnetworkConnectionIsTerminatedByPointToPoint, ROLE: z_endCTP>

            The Subnetwork Connection Pointer attribute points to the managed
            object representing the relationship with one or more Network
            Connection Termination Points, within the same Subnetwork, that send
            information (traffic) to this network termination point, or is null.

            Any network termination point identified by the related Subnetwork
            Connection indicates that a relationship exists, but this does not
            indicate that information can flow between the network termination
            points. This capability is indicated in a combination of the State
            attributes, including the Operational State.

            The Connectivity Pointer attribute points to the managed object
            representing the Trail which relates this instance to the instances
            representing the Network Trail Termination Points, that send
            information (traffic) to this network termination point at the same
            layer, or is null.
            <ITU-T G.853.1,RELATIONSHIP:trailIsTerminatedByPointToPoint, ROLE: z_endCTP>";;;;
  CONDITIONAL PACKAGES
    supportableClientListPackage PRESENT IF
      "an instance supports it",
    ttpInstancePackage PRESENT IF
      "an instance supports it",
    clientCTPListPackage PRESENT IF
      "management of the client networkCTPs of this managed object is supported
      <ITU-T G.853.1,RELATIONSHIP:networkTTPAdaptsNetworkCTP>";
REGISTERED AS {m3100ObjectClass 56};


networkTTPSinkR1 MANAGED OBJECT CLASS
  DERIVED FROM networkTTPSink;
  CONDITIONAL PACKAGES
    clientCTPListPackage PRESENT IF
      "management of the client networkCTPs of this managed object is supported
      <G.853.1,RELATIONSHIP:networkTTPAdaptsNetworkCTP>";
REGISTERED AS {m3100ObjectClass 67};


networkTTPSource MANAGED OBJECT CLASS
  DERIVED FROM networkTerminationPoint;
  CHARACTERIZED BY
    networkTTPSourcePackage PACKAGE
      BEHAVIOUR
        networkTTPSourceBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:trail termination point>

            The Network TTP Source object class is a class of managed objects
            that originates Trails and Subnetwork Connections in the Network viewpoint.

            An instance of this class may only have Trail relationships with
            Network Trail Termination Points, Sink or Bidirectional, which are
            at the same layer. <ITU-T G.852.3, COMMUNITY_POLICY:signalid>

            An instance of this class may be subnetwork connected, via a
            Subnetwork Connection, to a single Network Connection Termination
            Point Source or Bidirectional, or a Network Trail Termination Point
            Sink at the same layer. It may also be connected, via a Subnetwork
            Connection, to multiple instances of Network CTPs at the same layer
            when it is operating in the broadcast mode in order to transmit
            multiple copies of the same signal.
            <ITU-T G.853.1,RELATIONSHIP: subnetworkConnectionIsTerminatedByPointToPoint, ROLE: a_endCTP>

            The Subnetwork Connection Pointer attribute points to the managed
            object representing the relationship with one or more Network
            Connection Termination Points, within the same Subnetwork, that
            receive information (traffic) from this network termination point,
            or is null.

            Any network termination point identified by the related Subnetwork
            Connection indicates that a relationship exists, but this does not
            indicate that information can flow between the network termination
            points. This capability is indicated by a combination of the State
            Attributes, including the Operational State.

            The Connectivity Pointer attribute points to the managed object
            representing the Trail which relates this instance to the instances
            representing the Network Trail Termination Points, that receive
            information (traffic) from this network termination point at the
            same layer, or is null.
            <ITU-T G.853.1,RELATIONSHIP: linkConnectionIsTerminatedByPointToPoint, ROLE: z_endCTP >
            ";;;;
  CONDITIONAL PACKAGES
    supportableClientListPackage PRESENT IF
      "an instance supports it",
    ttpInstancePackage PRESENT IF
      "an instance supports it",
    clientLinkEndPointerPackage PRESENT IF
      "link ends are supported by the subnetwork in the client layer",
    clientCTPListPackage PRESENT IF
      "management of the client networkCTPs of this managed object is supported
      <ITU-T G.853.1,RELATIONSHIP:networkTTPAdaptsNetworkCTP>";
REGISTERED AS {m3100ObjectClass 57};


pipeR2 MANAGED OBJECT CLASS
  DERIVED FROM " ITU-T X.721|ISO/IEC 10165-2:1992":top;
  CHARACTERIZED BY
    pipeR2Package  PACKAGE
      BEHAVIOUR
        pipeR2Behaviour  BEHAVIOUR
          DEFINED AS
            "The pipeR2 object class is a class of managed objects which ensures
            the transfer of information between two or more termination points.
            The directionality attribute indicates whether transmission is
            unidirectional or bidirectional.

            The Signal Id attribute describes the signal that is transferred
            across a Connectivity instance. The managed objects representing the
            network termination points that are related by this instance must
            have signal Ids that are compatible.

            If an instance of this class is bidirectional, the a- and
            z-termination points shall also be bidirectional. If an instance of
            this class is unidirectional, the a-point shall be the source TP or
            bidirectional TP and the z-termination point shall be the sink TP or
            bidirectional TP. For unidirectional connections, the aEndNWTPList
            attribute shall identify the source end. The operational state
            indicates the capability to carry a signal.";;
      ATTRIBUTES
        directionality  GET,
        signalId   GET SET-BY-CREATE,
        aEndNetworkTPList GET SET-BY-CREATE,
        zEndNetworkTPList GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    "ITU-T X.721|ISO/IEC 10165-2:1992":administrativeStatePackage PRESENT IF
      "the administrativeState attribute defined in Recommendation X.721 is
      supported by an instance of this managed object class (arc view)",
    alarmSeverityAssignmentPointerPackage PRESENT IF
      "the tmnCommunicationsAlarmInformationPackage package is present AND the
      managed object supports configuration of alarm severities (arc view)",
    attributeValueChangeNotificationPackage PRESENT IF
      "the attributeValueChange notification  defined in Recommendation X.721 is
      supported by an instance of this managed object class",
    "ITU-T X.721|ISO/IEC 10165-2:1992":availabilityStatusPackage PRESENT IF
      "the availabilityStatus attribute defined in Recommendation X.721 is
      supported by an instance of this managed object class (arc view)",
    createDeleteNotificationsPackage PRESENT IF
      "the objectCreation and objectDeletion notifications defined in
      Recommendation X.721 are supported by an instance of this managed object class",
    operationalStatePackage PRESENT IF
      "the operationalState attribute defined in Recommendation X.721 is
      supported by an instance of this managed object class (arc view)",
    protectedPackage PRESENT IF
      "an instance supports it.",
    qualityOfConnectivityServicePackage PRESENT IF
      "an instance supports it",
    stateChangeNotificationPackage PRESENT IF
      "the stateChange notification  defined in Recommendation X.721 is
      supported by an instance of this managed object class (arc view)",
    supportedByPackage PRESENT IF
      "the supportedByObjectList attribute is supported by this managed object",
    tmnCommunicationsAlarmInformationPackage PRESENT IF
      "the communicationsAlarm notification (as defined in Recommendation X.721)
      is supported by this managed object (arc view)",
    userLabelPackage PRESENT IF
      "an instance supports it";
    -- the userLabelPackage may be used for M.1400 type designations.
REGISTERED AS {m3100ObjectClass 58};


subNetwork MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T X.721|ISO/IEC 10165-2:1992":top;
  CHARACTERIZED BY
    createDeleteNotificationsPackage,
    subNetworkPackage  PACKAGE
      BEHAVIOUR subNetworkBehaviour BEHAVIOUR
        DEFINED AS
          "<ITU-T G.852.2,RESOURCE:subnetwork> The Subnetwork object class
          represents logical collections of network termination points.

          If present the attribute ContainedSubNetworkList will be null if there
          are no contained Subnetworks. The attribute ContainedInSubNetworkList
          will also be null if there are no containing (parent) Subnetworks.";;
      ATTRIBUTES
        signalId  GET SET-BY-CREATE,
        subNetworkId GET;;;
  CONDITIONAL PACKAGES
    administrativeOperationalStatesPackage PRESENT IF
      "the administrativeState and operationalState attributes defined in
      Recommendation X.721 are supported by an instance of this managed object class",
    attributeValueChangeNotificationPackage PRESENT IF
      "the attributeValueChange notification defined in Recommendation X.721 is
      supported by an instance of this managed object class",
    "ITU-T X.721|ISO/IEC 10165-2:1992":availabilityStatusPackage PRESENT IF
      "the availabilityStatus attribute defined in Recommendation X.721 is
      supported by an instance of this managed object class",
    containedAccessGroupListPackage PRESENT IF
      "access group instances are contained in the subnetwork",
    containedInSubNetworkListPackage PRESENT IF
      "this subnetwork object instance is contained in a subnetwork
      (partitioning is supported) <ITU-T G.853.1,RELATIONSHIP:sNIsPartitionedBySn>",
    containedLinkEndListPackage PRESENT IF
      "there are contained link end in the subnetwork object instance
      (partitioning is supported)",
    containedLinkListPackage PRESENT IF
      "there are contained links in the subnetwork object instance (partitioning
      is supported)",
    containedNetworkTPListPackage PRESENT IF
      "there are contained network termination points in the subnetwork object
      instance <ITU-T G.853.3,topmanSubnetwork:RELATIONSHIP:subnetworkIsDelimitedBy>",
    containedSubNetworkListPackage PRESENT IF
      "there are contained subnetworks in this subnetwork object instance
      (partitioning is supported)  < ITU-T G.853.1,RELATIONSHIP:sNIsPartitionedBySn>",
    linkPointerListPackage PRESENT IF
      "a topological view using links, subnetworks, and access groups is
      supported (arc view) <ITU-T G.853.3,topmanSubnetwork:RELATIONSHIP:linkBinds>",
    stateChangeNotificationPackage PRESENT IF
      "the stateChange notification defined in Recommendation X.721 is supported
      by an instance of this managed object class",
    supportedByPackage PRESENT IF
      "an instance supports it",
    usageStatePackage PRESENT IF
      "the usageState attribute defined in Recommendation X.721 is supported by
      an instance of this managed object class",
    userLabelPackage PRESENT IF
      "the user label attribute is supported by an instance of this managed
      object class <ITU-T G.852.2, PERMISSION:userLabelFacility >";
REGISTERED AS {m3100ObjectClass 59};


subNetworkConnection MANAGED OBJECT CLASS
  DERIVED FROM pipeR2;
  CHARACTERIZED BY
    subNetworkConnectionPackage PACKAGE
      BEHAVIOUR
        subNetworkConnectionBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:subnetwork connection>

            The Subnetwork Connection object class is a class of managed objects
            that associates the network termination point object identified in
            the A end attribute and the network termination point object(s)
            listed in the Z end attribute of this managed object. The Subnetwork
            Connection may be set up between network termination points (or
            groups of network termination points) specified explicitly, or
            implicitly between managed objects acting as containers of network
            termination point managed object instances from which any idle
            network termination point or group may be used.

            If the managed objects listed in the A End and Z End attributes
            represent groups, the nth element of the A end group is related to
            the nth element of every Z end group (for every n). There shall be n
            elements in each group involved in the Subnetwork Connection.

            For a group with n elements, the Signal Id shall be taken to be a
            bundle of n times the characteristic information of the individual
            elements, all of which are the same.

            A point-to-point unidirectional Subnetwork Connection can be
            established between one of Network connection termination point
            sink, Network connection termination point bidirectional, Network
            trail termination point source, Network trail termination point
            bidirectional or Network group termination point; and one of Network
            connection termination point source, Network connection termination
            point bidirectional, Network trail termination point sink, Network
            trail termination point bidirectional or Network group termination point.

            A point-to-point bidirectional Subnetwork Connection can be
            established between one of Network connection termination point
            bidirectional, Network trail termination point bidirectional or
            Network group termination point; and one of Network connection
            termination point bidirectional, Network trail termination point
            bidirectional or Network group termination point.

            A point-to-multipoint unidirectional Subnetwork Connection can be
            established between one of Network connection termination point
            sink, Network connection termination point bidirectional, Network
            trail termination point source, Network trail termination point
            bidirectional or Network group termination point; and a set whose
            members are Network connection termination point sources, Network
            connection termination point bidirectionals, Network trail
            termination point sinks, Network trail termination point
            bidirectional or Network group termination point.

            A point-to-multipoint bidirectional Subnetwork Connection can be
            established between one of Network connection termination point
            bidirectional, Network trail termination point bidirectional or
            Network group termination; and a set whose members are Network
            connection termination point bidirectionals, Network trail
            termination point bidirectionals or Network group termination points.

            The componentPackage is supported where the Subnetwork Connection is
            made up of a number of component Subnetwork Connections, and Link
            Connections, within the same layer.";;
      ATTRIBUTES
        subNetworkConnectionId  GET;;;
  CONDITIONAL PACKAGES
    compositePointerPackage PRESENT IF
      "the Subnetwork Connection is a component of another Subnetwork Connection
      within the same layer (partitioned subnetworks).
      <ITU-T G.853.1,RELATIONSHIP:subnetworkConnectionisMadeOfTransportEntities>",
    componentPointerPackage PRESENT IF
      "the Subnetwork Connection is made up of a number of component Subnetwork
      Connections, and Link Connections, within the same layer (partitioned
      subnetworks)
      <G.853.1,RELATIONSHIP:subnetworkConnectionisMadeOfTransportEntities>",
    relatedRoutingProfilePackage PRESENT IF
      "routing profiles are supported",
    userLabelPackage PRESENT IF
      "a userLabel is supported <ITU-T G.852.2, PERMISSION:userLabelFacility>";
REGISTERED AS {m3100ObjectClass 60};


topologicalLink MANAGED OBJECT CLASS
  DERIVED FROM abstractLink;
  CHARACTERIZED BY
    topologicalLinkCapacityPackage,
    topologicalLinkPackage PACKAGE
      BEHAVIOUR
        topologicalLinkBehaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:topological link>

            The topological link object class represents a link in a client
            layer provided by one and only one server trail.

            The serverTrail attribute is a pointer to the trail in the server
            layer network domain that supports this topological link. The
            serverTrail attribute may be null if the trail in the server layer
            network domain that supports this topological link is not assigned.

            The use made of the individual attributes and notifications is
            detailed below:

            - total link capacity: the total number of Link Connections or
              bandwidth available <ITU-T G.853.8,ATTRIBUTE:pamMaxProvisionableCapacity>;

            - maximum link connection count: the maximum number of link
              connections available on connection with flexible bandwidth management;

            - potential link capacity: the number of potential Link Connections
              or potential bandwidth that could be provisioned
              <ITU-T G.853.8, ATTRIBUTE:pamPotentialLinkCapacity>;

            - provisioned link capacity: the number of provisioned Link
              Connections or the provisioned bandwidth
              <ITU-T G.853.8,ATTRIBUTE:pamProvisionedLinkCapacity>;

            - provisioned link connection count: the number of link connections
              assigned using flexible bandwidth management.

            An attribute value change notification shall be emitted when the
            value of the totalLinkCapacity, maximumLinkConnectionCount,
            potentialLinkCapacity, provisionedLinkCapacity or
            provisionedLinkConnectionCount is changed.";;
      ATTRIBUTES
        directionality  GET,
        linkId    GET,
        serverTrail   GET;;;
  CONDITIONAL PACKAGES
    totalLinkCapacityPackage PRESENT IF
      "pre-provisioned adaptation or link connection or link management are
      supported by the transport technology",
    maximumLinkConnectionCountPackage PRESENT IF
      "flexible bandwidth allocation is supported",
    potentialLinkCapacityPackage PRESENT IF
      "pre-provisioned adaptation or link connection or link management are
      supported by the transport technology",
    provisionedLinkCapacityPackage PRESENT IF
      "pre-provisioned adaptation or link connection or link management are
      supported by the transport technology",
    provisionedLinkConnectionCountPackage PRESENT IF
      "flexible bandwidth allocation is supported";
REGISTERED AS {m3100ObjectClass 61};


topologicalLinkEnd MANAGED OBJECT CLASS
  DERIVED FROM abstractLinkEnd;
  CHARACTERIZED BY
    serverTTPPointerPackage,
    topologicalLinkEndCapacityPackage,
    topologicalLinkEndPackage  PACKAGE
      BEHAVIOUR
        topologicalLinkEndBehavior BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:topological link end>

            The Topological Link End object class represents the end of a
            topological link when viewed from the point perspective. The
            Topological Link End object is related to one and only one network
            TTP in the server layer.

            The use made of the individual attributes and notifications is
            detailed below:

            - total link end capacity: the total number of network CTPs or the
              bandwidth available
              <ITU-T G.853.8,ATTRIBUTE: pamMaxProvisionableCapacity>;

            - maximum network CTP count: the maximum number of network CTPs
              available at the LinkEnd when using flexible bandwidth management;

            - potential link end capacity: the number of potential network CTPs
              or potential bandwidth that could be provisioned
              <ITU-T G.853.8, ATTRIBUTE: pamPotentialLinkCapacity>;

            - provisioned link end capacity: the number of provisioned network
              CTPs or the provisioned bandwidth
              <ITU-T G.853.8, ATTRIBUTE: pamProvisionedLinkCapacity>;

            - provisioned network CTP count: the number of network CTP assigned
              to the link end when using flexible bandwidth management.

            An attribute value change notification shall be emitted when the
            value of the totalLinkEndCapacity, maximumNetworkCTPCount,
            potentialLinkEndCapacity, provisionedLinkEndCapacity or
            provisionedNetworkCTPCount is changed.";;
      ATTRIBUTES
        linkEndId   GET,
        pointDirectionality  GET;;;
  CONDITIONAL PACKAGES
    totalLinkEndCapacityPackage PRESENT IF
      "pre-provisioned adaptation or link connection or link management are
      supported by the transport technology ",
    maximumNetworkCTPCountPackage PRESENT IF
      "flexible bandwidth allocation is supported",
    potentialLinkEndCapacityPackage PRESENT IF
      "pre-provisioned adaptation or link connection or link management are
      supported by the transport technology ",
    provisionedLinkEndCapacityPackage PRESENT IF
      "pre-provisioned adaptation or link connection or link management are
      supported by the transport technology ",
    provisionedNetworkCTPCountPackage PRESENT IF
      "flexible bandwidth allocation is supported";
REGISTERED AS {m3100ObjectClass 62};


topologicalLinkEndR1 MANAGED OBJECT CLASS
  DERIVED FROM topologicalLinkEnd;
  CHARACTERIZED BY
    topologicalLinkEndPkgR1 PACKAGE
      ATTRIBUTES
        signalId GET;;;
REGISTERED AS {m3100ObjectClass 72};


trailR2 MANAGED OBJECT CLASS
  DERIVED FROM pipeR2;
  CHARACTERIZED BY
    trailR2Package  PACKAGE
      BEHAVIOUR
        trailR2Behaviour BEHAVIOUR
          DEFINED AS
            "<ITU-T G.852.2,RESOURCE:trail>

            Trail is a class of managed objects in layer networks which is
            responsible for the integrity of transfer of characteristic
            information from one or more other layer networks.

            A Trail is composed of two or more Network Trail Termination Points
            and one or more Link Connection or Subnetwork Connections, and
            associated Network Connection Termination Points.

            A point-to-point unidirectional Trail can be established between a
            Network TTP source or Network TTP bid; and a Network TTP sink or
            Network TTP bid. A point-to-point bidirectional Trail can be
            established between a Network TTP bid; and a Network TTP bid.

            For all types of Trail, the termination point(s) pointed to by the A
            End attribute is related to the network termination point(s) pointed
            to by the Z End attribute in such a way that traffic can flow
            between the network termination points represented by these managed
            objects in a unidirectional or bidirectional manner as indicated by
            the directionality attribute.

            The layerConnectionList attribute, when present, lists the
            subnetwork connections and link connections (in the same layer)
            which compose the trail. This represents a single partitioned view
            of the decomposition of a trail into its component subnetwork
            connections and link connections.";;
      ATTRIBUTES
        trailId  GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    layerConnectionListPackage PRESENT IF
      "there is a requirement to view the sequence of subnetwork connections and
      link connections which make up the trail in the same layer.",
    trafficDescriptorPackage PRESENT IF
      "flexible bandwidth allocation is supported
      <ITU-T G.852.6, ACTION: setupPointToPointTrail, ACTION_POLICY: trafficCharacteristics>",
    clientLinkPointerPackage PRESENT IF
      "there is a requirement to view the link(s) in a higher layer which is
      supported by this trail",
    clientLinkConnectionPointerListPackage PRESENT IF
      "there is a requirement to view the link connection(s) in a higher layer
      which is supported by this trail. <ITU-T G.852.8, ACTION: assign server
      transport entity to client linking entity, ACTION_POLICY:
      returnClientTransportEntities>";
REGISTERED AS {m3100ObjectClass 63};


clientCTPListPackage PACKAGE
  ATTRIBUTES
    clientCTPList   GET;
REGISTERED AS {m3100Package 49};


clientLinkConnectionPointerListPackage PACKAGE
  ATTRIBUTES
    clientLinkConnectionPointerList  GET;
REGISTERED AS {m3100Package 50};


clientLinkEndPointerPackage PACKAGE
  ATTRIBUTES
    clientLinkEndPointerList  GET;
REGISTERED AS {m3100Package 51};


clientLinkPointerPackage PACKAGE
  ATTRIBUTES
    clientLinkPointerList  GET;
REGISTERED AS {m3100Package 52};


componentPointerPackage PACKAGE
  BEHAVIOUR
    componentPointerPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package identifies a sequence of instances of Link connection and
        Subnetwork Connection managed objects which are components of a
        Subnetwork Connection, within a given layer.";;
  ATTRIBUTES
    componentPointers    GET;
REGISTERED AS {m3100Package 53};


compositePointerPackage PACKAGE
  BEHAVIOUR
    compositePointerPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package identifies an instance of the Subnetwork Connection
        managed object class.  Within a given layer, a given subnetwork
        connection is composed of a sequence of link connections and subnetwork
        connections. This pointer points from one of these components to the
        composite subnetwork connection.";;
  ATTRIBUTES
    compositePointer    GET;
REGISTERED AS {m3100Package 54};


configuredConnectivityPackage PACKAGE
  ATTRIBUTES
    configuredConnectivity  GET;
REGISTERED AS {m3100Package 55};


connectivityPointerPackage PACKAGE
  BEHAVIOUR
    connectivityPointerPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package identifies an instance of a Link connection or Trail
        managed object class which is terminated by the Network Termination Point.";;
  ATTRIBUTES
    connectivityPointer   GET;
REGISTERED AS {m3100Package 56};


containedAccessGroupListPackage PACKAGE
  ATTRIBUTES
    containedAccessGroupList GET-REPLACE ADD-REMOVE;
REGISTERED AS {m3100Package 57};


containedInSubNetworkListPackage PACKAGE
  BEHAVIOUR
    containedInSubNetworkListPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package identifies the aggregate subnetwork(s) that a component
        subnetwork is contained in through partitioning.

        The component subnetwork may be named from a different
        layerNetworkDomain (associated with a different networkR1 administrative
        domain with a compatible signal identification) than the aggregate
        subnetwork if permitted by a policy.";;
  ATTRIBUTES
    containedInSubNetworkList GET-REPLACE ADD-REMOVE;
REGISTERED AS {m3100Package 58};


containedLinkEndListPackage PACKAGE
  ATTRIBUTES
    containedLinkEndList  GET-REPLACE ADD-REMOVE;
REGISTERED AS {m3100Package 59};


containedLinkListPackage PACKAGE
  BEHAVIOUR
    containedLinkListPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package identifies the links that a subnetwork contains through
        partitioning.

        The link may be named from a different layerNetworkDomain (associated
        with a different networkR1 administrative domain with a compatible
        signal identification) than the aggregate subnetwork if permitted by a
        policy.";;
  ATTRIBUTES
    containedLinkList   GET-REPLACE ADD-REMOVE;
REGISTERED AS {m3100Package 60};


containedNetworkTPListPackage PACKAGE
  ATTRIBUTES
    containedNetworkTPList  GET-REPLACE ADD-REMOVE
      networkTTPAndSubnetworkNotCompatible failureToAssociateNetworkTTP
      failureToDisassociateNetworkTTP;
REGISTERED AS {m3100Package 61};


containedSubNetworkListPackage PACKAGE
  BEHAVIOUR
    containedSubNetworkListPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package identifies the component subnetwork(s) that an aggregate
        subnetwork contains through partitioning.

        The component subnetwork may be named from a different
        layerNetworkDomain (associated with a different networkR1 administrative
        domain with a compatible signal identification) than the aggregate
        subnetwork if permitted by policy.";;
  ATTRIBUTES
    containedSubNetworkList  GET-REPLACE ADD-REMOVE;
REGISTERED AS {m3100Package 62};


layerConnectionListPackage PACKAGE
  ATTRIBUTES
    connectionList  GET SET-BY-CREATE;
REGISTERED AS {m3100Package 63};


logicalLinkCapacityPackage PACKAGE
  BEHAVIOUR
    logicalLinkCapacityPacakageBehaviour BEHAVIOUR
      DEFINED AS
        "This package provides the support for the management of the capacity of
        a logical link. It specifies actions to assign and release link
        connections and/or bandwidth to a link.";;
  ACTIONS
    assignLinkConnectionOnLogicalLink,
    deassignLinkConnectionFromLogicalLink;
REGISTERED AS {m3100Package 64};


linkConnectionPointerListPackage PACKAGE
  BEHAVIOUR
    linkConnectionPointerListPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package identifies the list of link connections associated with a
        logical link.";;
  ATTRIBUTES
    linkConnectionPointerList GET-REPLACE ADD-REMOVE;
REGISTERED AS {m3100Package 65};


linkEndCapacityPackage  PACKAGE
  BEHAVIOUR
    linkEndCapacityPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package provides the support for the management of the capacity of
        a link end. It specifies actions to assign and release network CTPs
        and/or bandwidth to a link end.";;
  ACTIONS
    assignNetworkCTPOnLogicalLinkEnd,
    deassignNetworkCTPFromLogicalLinkEnd;
REGISTERED AS {m3100Package 66};


linkPointerListPackage PACKAGE
  BEHAVIOUR
    linkPointerListPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package identifies instances of the link managed object class.";;
  ATTRIBUTES
    linkPointerList    GET;
REGISTERED AS {m3100Package 67};


maximumLinkConnectionCountPackage PACKAGE
  ATTRIBUTES
    maximumLinkConnectionCount  GET;
REGISTERED AS {m3100Package 68};


maximumNetworkCTPCountPackage PACKAGE
  ATTRIBUTES
    maximumNetworkCTPCount  GET;
REGISTERED AS {m3100Package 69};


neAssignmentPackage PACKAGE
  BEHAVIOUR
    neAssignmentPackageBehaviour BEHAVIOUR
      DEFINED AS
        "The NE Assignment package provides a pointer from the lowest level
        Network TP in the partitioning hierarchy to a NE TP which represents the
        functionality which supports the Network TP. The sub-partition pointer
        for a NWCTP which utilises the NE assignment pointer will be NULL.";;
  ATTRIBUTES
    neAssignmentPointer   GET;
REGISTERED AS {m3100Package 70};


networkCTPsInLinkEndListPackage PACKAGE
  BEHAVIOUR
    networkCTPsInLinkEndListPackageBehaviour BEHAVIOUR
      DEFINED AS
        "The Network CTPs In Link End List Package identifies the network CTPs
        that are present in the Logical Link End or Topological Link End managed
        object. ";;
  ATTRIBUTES
    networkCTPsInLinkEndList  GET;
REGISTERED AS {m3100Package 71};


networkCTPPackage PACKAGE
  BEHAVIOUR
    networkCTPPackagePackageBehaviour BEHAVIOUR
      DEFINED AS
        "The Network CTP package identifies instances of the Network CTP
        managed  object class at higher and lower levels of subnetwork
        partitioning (within a given layer) by the use of partitioning pointers.
        The Super Partition pointer is a pointer to a Network CTP which is in a
        higher level partition. This pointer will only be present for the
        Network CTPs in the lower partition which have a direct correspondence
        to the Network CTPs at the higher level. The higher level Network CTPs
        have an inverse pointer, the sub-partition pointer to the lower level.
        Where the lowest level of NWCTP points to a NE CTP via the NE assignment
        pointer, the value of the sub-partition pointer is null.";;
  ATTRIBUTES
    superPartitionPointer   GET,
    sub-partitionPointer  GET;
REGISTERED AS {m3100Package 72};


networkTPPointerPackage PACKAGE
  BEHAVIOUR
    networkTPPointerPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package defines a pointer to an instance of a network termination
        point. ";;
  ATTRIBUTES
    networkTPPointer   GET;
REGISTERED AS {m3100Package 73};


potentialLinkCapacityPackage PACKAGE
  ATTRIBUTES
    potentialLinkCapacity  GET;
REGISTERED AS {m3100Package 74};


potentialLinkEndCapacityPackage PACKAGE
  ATTRIBUTES
    potentialLinkEndCapacity GET;
REGISTERED AS {m3100Package 75};


provisionedLinkCapacityPackage PACKAGE
  ATTRIBUTES
    provisionedLinkCapacity  GET;
REGISTERED AS {m3100Package 76};


provisionedLinkConnectionCountPackage PACKAGE
  ATTRIBUTES
    provisionedLinkConnectionCount  GET;
REGISTERED AS {m3100Package 77};


provisionedLinkEndCapacityPackage PACKAGE
  ATTRIBUTES
    provisionedLinkEndCapacity  GET;
REGISTERED AS {m3100Package 78};


provisionedNetworkCTPCountPackage PACKAGE
  ATTRIBUTES
    provisionedNetworkCTPCount  GET;
REGISTERED AS {m3100Package 79};


qualityOfConnectivityServicePackage PACKAGE
  ATTRIBUTES
    qualityOfConnectivityService  GET;
REGISTERED AS {m3100Package 80};


relatedRoutingProfilePackage PACKAGE
  ATTRIBUTES
    relatedRoutingProfile   GET;
REGISTERED AS {m3100Package 81};


serverTTPPointerPackage PACKAGE
  ATTRIBUTES
    serverTTPPointer    GET;
REGISTERED AS {m3100Package 82};


sncPointerPackage PACKAGE
  BEHAVIOUR
    sncPointerPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package defines a pointer to instance(s) of the Subnetwork
        Connection managed object class, within a given layer.

        The Subnetwork Connection Pointer attribute points to the managed object
        representing the relationship with the Network TP or subclass, within
        the same Subnetwork, that sends information (traffic) to this network TP
        or subclass, or is null. The referenced managed object shall represent a
        Subnetwork Connection. Where the network TP participates in many
        subnetwork connections for different subnetworks, the Subnetwork
        Connection Pointer is null.";;
  ATTRIBUTES
    subNetworkConnectionPointer   GET;
REGISTERED AS {m3100Package 83};


supportedByPackage PACKAGE
  ATTRIBUTES
    supportedByObjectList GET-REPLACE ADD-REMOVE;
REGISTERED AS {m3100Package 84};


topologicalLinkCapacityPackage PACKAGE
  BEHAVIOUR
    topologicalLinkCapacityPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package provides the support for the management of the capacity of
        a topological link. It specifies actions to assign and release link
        connections and/or bandwidth to a topological link.";;
  ACTIONS
    addCapacityToTopologicalLink,
    removeCapacityFromTopologicalLink;
REGISTERED AS {m3100Package 85};


topologicalLinkEndCapacityPackage PACKAGE
  BEHAVIOUR
    topologicalLinkEndCapacityPackageBehaviour BEHAVIOUR
      DEFINED AS
        "This package provides the support for the management of the capacity of
        a topological link end. It specifies actions to assign and release
        network CTPs and/or bandwidth to a topological link end.";;
  ACTIONS
    addCapacityToTopologicalLinkEnd,
    removeCapacityFromTopologicalLinkEnd;
REGISTERED AS {m3100Package 86};


totalLinkCapacityPackage PACKAGE
  ATTRIBUTES
    totalLinkCapacity   GET;
REGISTERED AS {m3100Package 87};


totalLinkEndCapacityPackage PACKAGE
  ATTRIBUTES
    totalLinkEndCapacity  GET;
REGISTERED AS {m3100Package 88};


trafficDescriptorPackage PACKAGE
  ATTRIBUTES
    trafficDescriptor   GET-REPLACE newServiceCharacteristicsExistsAlready
      newTrafficDescriptorExistsAlready invalidServiceCharacteristicsRequested
      invalidTrafficDescriptorRequested;
REGISTERED AS {m3100Package 89};


unknownStatusPackage PACKAGE
  ATTRIBUTES
    "ITU-T X.721|ISO/IEC 10165-2:1992":unknownStatus GET;
REGISTERED AS {m3100Package 90};


usageCostPackage PACKAGE
  ATTRIBUTES
    usageCost GET-REPLACE;
REGISTERED AS {m3100Package 91};


usageStatePackage PACKAGE
  ATTRIBUTES
    "ITU-T X.721|ISO/IEC 10165-2:1992":usageState GET;
REGISTERED AS {m3100Package 92};


accessGroupId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    accessGroupIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Access Group Id is an attribute type whose distinguished value can
        be used as an RDN when naming an instance of the Access Group object class.";;
REGISTERED AS {m3100Attribute 83};


accessPointList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.TPList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    accessPointListBehaviour BEHAVIOUR
      DEFINED AS
        "The Access Point List attribute lists all the Network Trail Termination
        Points within an instance of the managed object class Access Group.";;
REGISTERED AS {m3100Attribute 84};


aEnd ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    aEndBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is a pointer to a subnetwork, a link end or an access
        group in the same network layer domain.";;
REGISTERED AS {m3100Attribute 85};


aEndNetworkTPList  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    aEndNWTPListBehaviour BEHAVIOUR
      DEFINED AS
        "The value of this attribute identifies one or more network termination
        points of an instance of a subclass of the Connectivity object class.
        This attribute cannot be null.";;
REGISTERED AS {m3100Attribute 86};


assignedLinkEndCapacity ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.PointCapacity;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    assignedLinkEndCapacityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the number of Network CTPs associated with a
        Link End that have been assigned or the bandwidth that has been assigned.";;
REGISTERED AS {m3100Attribute 87};


availableLinkEndCapacity ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.PointCapacity;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    availableLinkEndCapacityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the number of Network CTPs associated with a
        Link End that have spare capacity or the amount of spare bandwidth
        associated with a Link End.";;
REGISTERED AS {m3100Attribute 88};


availableLinkCapacity ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Capacity;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    availableLinkCapacityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the available capacity of a link expressed as
        either the number of link connections that are avaiable or the bandwidth
        that is available to that link.";;
REGISTERED AS {m3100Attribute 89};


clientCTPList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    clientCTPListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute defines the CTP or list of CTPs which are clients of a
        TTP or TTPs in another layer. Usually a single TTP in a higher order
        layer will support a number of CTPs in a lower order layer. Alternatively,
        where concatenation is used, a number of TTPs in a lower order layer may
        serve a CTP or CTPs in a higher order layer.";;
REGISTERED AS {m3100Attribute 90};


clientLinkEndPointerList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    clientLinkEndPointerBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is a set of pointers to the link ends that reflect the
        properties of a network trail termination point in the client layer
        network domain(s).";;
REGISTERED AS {m3100Attribute 91};


clientLinkPointerList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    clientLinkPointerBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is a set of pointers to the topological links that
        reflect the capacity of a trail in the client layer network domain(s).";;
REGISTERED AS {m3100Attribute 92};


clientLinkConnectionPointerList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    clientLinkConnectionPointerListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute of a trail that is a set of pointers to the link
        connections in the client layer network domain(s) that are supported by
        the trail.";;
REGISTERED AS {m3100Attribute 93};


componentPointers ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    componentPointersBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is used where the Subnetwork Connection is made up of a
        number of component Subnetwork Connections and Link connections within
        the same layer.";;
REGISTERED AS {m3100Attribute 94};


compositePointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.RelatedObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    compositePointerBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is used where the connectivity instance is a component
        of a Subnetwork Connection within the same layer.";;
REGISTERED AS {m3100Attribute 95};


configuredConnectivity ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ConfiguredConnectivity;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    configuredConnectivityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the configured connectivity of a Network
        Termination Point managed object (or subclass). The possible values for
        this attribute are sourceConnect, sinkConnect, bidirectionalConnect and
        noConnect.

        For a Network Termination Point managed object with pointDirectionality
        equal to sink, the allowed values for this attribute are noConnect and
        sinkConnect.

        For a Network Termination Point managed object with pointDirectionality
        equal to source, the allowed values for this attribute are noConnect and
        sourceConnect.

        For a Network Termination Point managed object with pointDirectionality
        equal to bidirectional, the allowed values for this attribute are
        noConnect and bidirectionalConnect. For some technologies, sinkConnect
        and sourceConnect may also be allowed for a bidirectional Network
        Termination Point managed object.";;
REGISTERED AS {m3100Attribute 96};


connectionList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    connectionListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute defines the list of Link Connections and subnetwork
        connections in a given layer which may compose a Trail in the same
        layer. This composition of Connectivity instances may be a simple
        sequence or, in the multipoint case, a tree structure.";;
REGISTERED AS {m3100Attribute 97};


connectivityPointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ConnectivityPointer;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    connectivityPointerBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute points to the Link connection or Trail terminated by the
        Network Termination Point.";;
REGISTERED AS {m3100Attribute 98};


containedAccessGroupList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    containedAccessGroupListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute defines the list of Access Group instances which are
        contained in the Subnetwork.";;
REGISTERED AS {m3100Attribute 99};


containedInSubNetworkList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    containedInSubNetworkListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute defines the list of parent Subnetworks which contain the
        Access Group, Link End, or Subnetwork in a given layer.";;
REGISTERED AS {m3100Attribute 100};


containedLinkEndList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    containedLinkEndBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is used to describe the internal topology of a
        subnetwork from the point perspective (in a given layer). This topology
        comprises link ends and subnetworks. The link ends are listed in this
        attribute.";;
REGISTERED AS {m3100Attribute 101};


containedLinkList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    containedLinkBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is used to describe the internal topology of a
        subnetwork (in a given layer). This topology comprises links and
        subnetworks. The links are listed in this attribute.";;
REGISTERED AS {m3100Attribute 102};


containedNetworkTPList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    containedNetworkTPListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is a list of pointers to network TPs that are contained
        in a subnetwork.";;
REGISTERED AS {m3100Attribute 103};


containedSubNetworkList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    containedSubNetworkListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is used to describe the internal topology of a
        subnetwork (in a given layer). This topology comprises links and
        subnetworks. The subnetworks are listed in this attribute.";;
REGISTERED AS {m3100Attribute 104};


layerNetworkDomainId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.NameType;
  MATCHES FOR EQUALITY;
REGISTERED AS {m3100Attribute 105};


linkConnectionPointerList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    linkConnectionPointerListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute defines the list of Link Connections in a given layer
        which may compose a Logical Link in the same layer.";;
REGISTERED AS {m3100Attribute 106};


linkDirectionality ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.LinkDirectionality;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    linkDirectionalityBehaviour BEHAVIOUR
      DEFINED AS
        "The Link Directionality attribute type specifies whether the associated
        link managed object is uni- or bidirectional, or  undefined";;
REGISTERED AS {m3100Attribute 107};


linkEndId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.NameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    linkEndIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Link End Id is an attribute type whose distinguished value can be
        used as an RDN when naming an instance of the Link End object class.";;
REGISTERED AS {m3100Attribute 108};


linkId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    linkIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Link Id is an attribute type whose distinguished value can be used
        as an RDN when naming an instance of the Link object class.";;
REGISTERED AS {m3100Attribute 109};


linkPointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.RelatedObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    linkPointerBehaviour BEHAVIOUR
      DEFINED AS
        "The Link Pointer attribute points to a link from a link end. ";;
REGISTERED AS {m3100Attribute 110};


linkPointerList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    linkPointerListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute points to the links terminated by the subnetwork or the
        link terminated by an access group";;
REGISTERED AS {m3100Attribute 111};


logicalEndDirectionality ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.PointDirectionality;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    logicalEndDirectionalityBehaviour BEHAVIOUR
      DEFINED AS
        "The Logical End Directionality attribute type specifies whether the
        associated link end managed object is sink, source, or bidirectional.";;
REGISTERED AS {m3100Attribute 112};


maximumLinkConnectionCount ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Count;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    maximumLinkConnectionCountBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the maximum number of link connections
        associated with a link when flexible bandwidth allocation is supported.";;
REGISTERED AS {m3100Attribute 113};


maximumNetworkCTPCount ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Count;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    maximumNetworkCTPCountBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the maximum number of Network CTPs associated
        with a Link End.";;
REGISTERED AS {m3100Attribute 114};


neAssignmentPointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.NeAssignmentPointer;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    neAssignmentPointerBehaviour BEHAVIOUR
      DEFINED AS
        "The NE Assignment Pointer attribute points from the lowest level
        Network TP in the partitioning hierarchy to a NE TP which represents the
        functionality which supports the Network TP. The sub-partition pointer
        for a NWCTP which utilises the NE assignment pointer will be NULL.";;
REGISTERED AS {m3100Attribute 115};


networkCTPsInLinkEndList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.TPList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    networkCTPsInLinkEndListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute lists the NetworkCTPs that are represented by a Link End.";;
REGISTERED AS {m3100Attribute 116};


networkTPPointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.RelatedObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    networkTPPointerBehaviour BEHAVIOUR
      DEFINED AS
        "The Network TP Pointer attribute points to a network termination point.";;
REGISTERED AS {m3100Attribute 117};


pointDirectionality ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.PointDirectionality;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    pointDirectionalityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the directionality of a networkTP managed
        object instance.";;
REGISTERED AS {m3100Attribute 118};


potentialLinkCapacity ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Capacity;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    potentialLinkCapacityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the number of link connections or the amount
        of bandwidth that has not yet been assigned to a Link, but that could be
        assigned to the Link from the server trail.";;
REGISTERED AS {m3100Attribute 119};


potentialLinkEndCapacity ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.PointCapacity;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    potentialLinkEndCapacityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the number of Network CTP or the amount of
        bandwidth that have not yet been assigned to a Link End, but that could
        be assigned to the Link End from the server trail termination point.";;
REGISTERED AS {m3100Attribute 120};


provisionedLinkCapacity ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Capacity;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    provisionedLinkCapacityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the number of link connections assigned to a
        Link or the amount of bandwidth assigned to a Link.";;
REGISTERED AS {m3100Attribute 121};


provisionedLinkConnectionCount  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Count;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    provisionedLinkConnectionCountBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the number of link connections assigned to
        that link when flexible bandwidth allocation is supported.";;
REGISTERED AS {m3100Attribute 122};


provisionedLinkEndCapacity ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.PointCapacity;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    provisionedLinkEndCapacityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the number of network CTPs assigned to a
        LinkEnd or the amount of bandwidth assigned to a LinkEnd.";;
REGISTERED AS {m3100Attribute 123};


provisionedNetworkCTPCount ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Count;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    provisionedNetworkCTPCountBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the number of Network CTPs associated with a
        Link End that have been assigned.";;
REGISTERED AS {m3100Attribute 124};


qualityOfConnectivityService ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    qualityOfConnectivityServiceBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the quality of service for Connectivity and
        its subclasses, and requires further definition.";;
REGISTERED AS {m3100Attribute 125};


relatedRoutingProfile ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectInstance;
  MATCHES FOR EQUALITY;
REGISTERED AS {m3100Attribute 126};


serverTrail ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2. RelatedObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    serverTrailBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute pointer to a trail in the server layer that supports the
        link in a client.";;
REGISTERED AS {m3100Attribute 127};


serverTTPPointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    serverTTPPointerbehaviour BEHAVIOUR
      DEFINED AS
        "This attribute defines the TTP which may serve a CTP and/or link End in
        another layer. Usually a TTP or TTPs in a higher order layer will serve
        a CTP or CTPs in a lower order layer.";;
REGISTERED AS {m3100Attribute 128};


signalId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.SignalId;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    signalIdBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute defines the characteristic information of the layer (in
        the G.805 sense) to which the entity under consideration belongs. It is
        used to determine whether subnetwork connection/connectivity is
        possible. The signal Id may be a simple rate and format, a bundle of
        entities with the same characteristic information which form an
        aggregate signal, or a complex type containing groupings of different
        bundles. The complex type may be applicable to certain multi-media
        applications involving multiple parallel connections between endpoint
        locations";;
REGISTERED AS {m3100Attribute 129};


sub-partitionPointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.RelatedObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    sub-partitionPointerBehaviour BEHAVIOUR
      DEFINED AS
        "The Sub-partition Pointer is a pointer to a Network CTP which is in a
        lower level partition. Where the lowest level of NWCTP points to a NE
        CTP via the NE Assignment Pointer, the value of the Sub-partition
        Pointer is null.";;
REGISTERED AS {m3100Attribute 130};


subNetworkConnectionId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    subNetworkConnectionIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Subnetwork Connection Id is an attribute type whose distinguished
        value can be used as an RDN when naming an instance of the subnetwork
        Connection object class.";;
REGISTERED AS {m3100Attribute 131};


subNetworkConnectionPointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.SubNetworkConnectionPointerList;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    subNetworkConnectionPointerBehaviour BEHAVIOUR
      DEFINED AS
        "The Subnetwork Connection Pointer attribute points to the ordered list
        of subnetwork Connection(s)  which have a relationship with the network
        termination point When no subnetwork connection is present this pointer
        points to a subnetwork or is NULL. This list has a single entry for
        point-to-point applications, and may have mutliple entries for
        point-to-multipoint applications.";;
REGISTERED AS {m3100Attribute 132};


subNetworkId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.NameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    subNetworkIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Subnetwork Id is an attribute type whose distinguished value can be
        used as an RDN when naming an instance of the Subnetwork object class.";;
REGISTERED AS {m3100Attribute 133};


superPartitionPointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.RelatedObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    superPartitionPointerBehaviour BEHAVIOUR
      DEFINED AS
        "The Super Partition Pointer is a pointer to a Network CTP which is in a
        higher level partition. It will only be present for those Network CTPs
        in the lower partition which have a direct correspondence to the Network
        CTPs at the higher level. It can be null.";;
REGISTERED AS {m3100Attribute 134};


topologicalEndDirectionality ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.TopologicalEndDirectionality;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    topologicalEndDirectionalityBehaviour BEHAVIOUR
      DEFINED AS
        "The Topological End Directionality attribute type specifies whether the
        associated link end managed object is sink, source, bidirectional, or
        undefined.";;
REGISTERED AS {m3100Attribute 135};


topologicalGroupPointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.RelatedObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    topologicalGroupPointerBehaviour BEHAVIOUR
      DEFINED AS
        "The Topological Group Pointer is an attribute type which identifies an
        instance of the Topological Point managed object class or identifies an
        instance of the Access Group managed object class.";;
REGISTERED AS {m3100Attribute 136};


topologicalPointId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.NameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    topologicalPointIdBehaviour BEHAVIOUR
      DEFINED AS
        "The Topological Point Id is an attribute type whose distinguished value
        can be used as an RDN when naming an instance of the Topological Point
        object class.";;
REGISTERED AS {m3100Attribute 137};


totalLinkCapacity ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Capacity;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    totalLinkCapacityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the total capacity of a Link which may be the
        number of Link connections contained in a Link or the total bandwidth
        available to the Link.";;
REGISTERED AS {m3100Attribute 138};


totalLinkEndCapacity ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.PointCapacity;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    totalLinkEndCapacityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the total capacity of a Link End which is
        either the total number of NetworkCTPs associated with a Link End or the
        total bandwidth of the Link End.";;
REGISTERED AS {m3100Attribute 139};


trafficDescriptor ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  M3100ASN1TypeModule2.TrafficDescriptor;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    trafficDescriptorBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute contains the traffic descriptor of a trail. It is to be
        used with flexible bandwidth allocation.";;
REGISTERED AS {m3100Attribute 140};


usageCost ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  M3100ASN1TypeModule2.UsageCost;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    usageCostBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute contains the costs for a transport entity. It is to be
        used as selection/routing criteria.";;
REGISTERED AS {m3100Attribute 141};


zEnd ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    zEndBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is a pointer to a subnetwork, a link end, or access
        group in the same network layer domain.";;
REGISTERED AS {m3100Attribute 142};


zEndNetworkTPList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    zEndNetworkTPListBehaviour BEHAVIOUR
      DEFINED AS
        "The value of this attribute identifies one or more network termination
        points of an instance of a subclass of the Connectivity object class.";;
REGISTERED AS {m3100Attribute 143};


addCapacityToTopologicalLink ACTION
  BEHAVIOUR
    addCapacityToTopologicalLinkBehaviour BEHAVIOUR
      DEFINED AS
        "This action adds capacity to a topological link by adding link
        connections or increasing the available bandwidth.

        This action will return an AddCapacityToTopologicalLinkResult with a
        resultingLinkConnections field containing a NULL value when dynamic
        bandwidth is being assigned.
        <ITU-T G.854.8:OPERATION, addCapacityToTopologicalLink >";;
  MODE CONFIRMED;
  PARAMETERS
    noSuchLink,
    insufficientCapacity,
    invalidChannelsNumber,
    channelsAlreadyProvisioned,
    failureToCreateLCs,
    failureToAssociateLCs,
    failureToSupportLCs,
    failureToIncreaseCapacity;
  WITH INFORMATION SYNTAX
    M3100ASN1TypeModule2.AddCapacityToTopologicalLinkInformation;
  WITH REPLY SYNTAX
    M3100ASN1TypeModule2.AddCapacityToTopologicalLinkResult;
REGISTERED AS {m3100Action 12};


addCapacityToTopologicalLinkEnd ACTION
  BEHAVIOUR
    addCapacityToTopologicalLinkEndBehaviour BEHAVIOUR
      DEFINED AS
        "This action adds capacity to a topological link end by adding network
        CTPs or by increasing the available bandwidth.
        <ITU-T G.854.8:OPERATION, addCapacityToTopologicalLinkEnd >";;
  MODE CONFIRMED;
  PARAMETERS
    noSuchLinkEnd,
    insufficientCapacity,
    invalidChannelsNumber,
    channelsAlreadyProvisioned,
    failureToCreateLCs,
    failureToAssociateLCs,
    failureToSupportLCs,
    failureToIncreaseCapacity;
  WITH INFORMATION SYNTAX
    M3100ASN1TypeModule2.AddCapacityToTopologicalLinkEndInformation;
  WITH REPLY SYNTAX
    M3100ASN1TypeModule2.AddCapacityToTopologicalLinkEndResult;
REGISTERED AS {m3100Action 13};


assignLinkConnectionOnLogicalLink ACTION
  BEHAVIOUR
    assignLinkConnectionOnLogicalLinkBehaviour BEHAVIOUR
      DEFINED AS
        "This action assigns link connections to a Logical Link.

        The pointers to the link connections that are assigned will be added to
        the linkConnectionPointerList attribute of the logicalLink managed
        object. <ITU-T G.854.10:OPERATION, assignLinkConnectionOnLink >";;
  MODE CONFIRMED;
  PARAMETERS
    linkAndLinkConnectionNotCompatible,
    invalidLinkConnection,
    notEnoughLinkConnections,
    linkConnectionAlreadyAssigned,
    inconsistentSignalIdentification,
    inconsistentDirectionality,
    failureToSetLinkConnectionCallerId,
    failureToDecreaseCapacity;
  WITH INFORMATION SYNTAX
    M3100ASN1TypeModule2.AssignLinkConnectionOnLogicalLinkInformation;
  WITH REPLY SYNTAX
    M3100ASN1TypeModule2.AssignLinkConnectionOnLogicalLinkResult;
REGISTERED AS {m3100Action 14};


assignNetworkCTPOnLogicalLinkEnd ACTION
  BEHAVIOUR
    assignNetworkCTPOnLogicalLinkEndBehaviour BEHAVIOUR
      DEFINED AS
        "This action assigns networkCTPs to a logical link end.
        <ITU-T G.854.10:OPERATION, assignNetworkCTPOnLinkEnd >";;
  MODE CONFIRMED;
  PARAMETERS
    linkEndAndNetworkCTPNotCompatible,
    invalidNetworkCTP,
    notEnoughNetworkCTPs,
    networkCTPAlreadyAssigned,
    inconsistentSignalIdentification,
    inconsistentDirectionality,
    failureToSetNetworkCTPCallerId,
    failureToDecreaseCapacity;
  WITH INFORMATION SYNTAX
    M3100ASN1TypeModule2.AssignNetworkCTPOnLogicalLinkEndInformation;
  WITH REPLY SYNTAX
    M3100ASN1TypeModule2.AssignNetworkCTPOnLogicalLinkEndResult;
REGISTERED AS {m3100Action 15};


deassignLinkConnectionFromLogicalLink ACTION
  BEHAVIOUR
    deassignLinkConnectionFromLogicalLinkBehaviour BEHAVIOUR
      DEFINED AS
        "This action de-assigns a link connection in a layer domain to a logical
        link in the same layer domain.
        <ITU-T G.854.10:OPERATION, deassignLinkConnectionFromLink >";;
  MODE CONFIRMED;
  PARAMETERS
    linkAndLinkConnectionNotCompatible,
    invalidLinkConnection,
    notAssignedToCaller,
    failureToDeassignLinkConnection,
    failureToIncreaseCapacity;
  WITH INFORMATION SYNTAX
    M3100ASN1TypeModule2.DeassignLinkConnectionFromLogicalLinkInformation;
REGISTERED AS {m3100Action 16};


deassignNetworkCTPFromLogicalLinkEnd ACTION
  BEHAVIOUR
    deassignNetworkCTPFromLogicalLinkEndBehaviour BEHAVIOUR
      DEFINED AS
        "This action de-assigns a network CTP instance from a logical link end.
        <ITU-T G.854.10:OPERATION, deassignNetworkCTPFromLinkEnd >";;
  MODE CONFIRMED;
  PARAMETERS
    linkEndAndNetworkCTPNotCompatible,
    invalidNetworkCTP,
    notAssignedToCaller,
    failureToDeassignNetworkCTP,
    failureToIncreaseCapacity;
  WITH INFORMATION SYNTAX
    M3100ASN1TypeModule2.DeassignNetworkCTPFromLogicalLinkEndInformation;
REGISTERED AS {m3100Action 17};


removeCapacityFromTopologicalLink ACTION
  BEHAVIOUR
    removeCapacityFromTopologicalLinkBehaviour BEHAVIOUR
      DEFINED AS
        "This action removes capacity from the topological link by removing link
        connections and/or bandwidth from the link.
        <ITU-T G.854.8:OPERATION, removeCapacityFromTopologicalLink >";;
  MODE CONFIRMED;
  PARAMETERS
    noSuchLink,
    insufficientCapacity,
    invalidChannelsNumber,
    failureToDecreaseCapacity,
    failureToRemoveLC;
  WITH INFORMATION SYNTAX
    M3100ASN1TypeModule2.RemoveCapacityFromTopologicalLinkInformation;
  WITH REPLY SYNTAX
    M3100ASN1TypeModule2.RemoveCapacityFromTopologicalLinkResult;
REGISTERED AS {m3100Action 18};


removeCapacityFromTopologicalLinkEnd ACTION
  BEHAVIOUR
    removeCapacityFromTopologicalLinkEndBehaviour BEHAVIOUR
      DEFINED AS
        "This action removes capacity from a topological link end by removal of
        network CTPs from the topological link end and/or by the removal of bandwidth.

        This action will return an RemoveCapacityToTopologicalLinkResult with a
        resultingLinkConnections field containing a NULL value when dynamic
        bandwidth is being unassigned.
        <ITU-T G.854.8:OPERATION, removeCapacityFromTopologicalLinkEnd >";;
  MODE CONFIRMED;
  PARAMETERS
    noSuchLinkEnd,
    insufficientCapacity,
    invalidChannelsNumber,
    failureToDecreaseCapacity,
    failureToRemoveLC;
  WITH INFORMATION SYNTAX
    M3100ASN1TypeModule2.RemoveCapacityFromTopLinkEndInformation;
  WITH REPLY SYNTAX
    M3100ASN1TypeModule2.RemoveCapacityFromTopLinkEndResult;
REGISTERED AS {m3100Action 19};


boundSubnetwork  PARAMETER
  CONTEXT  SPECIFIC-ERROR;
  WITH SYNTAX M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 6};


channelsAlreadyProvisioned PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX    M3100ASN1TypeModule2.Channels;
REGISTERED AS {m3100Parameter 7};


failureToAddLinkConnections PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX    M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 8};


failureToAddNetworkCTPs PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX    M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 9};


failureToAssociateLCs PARAMETER
  CONTEXT  SPECIFIC-ERROR;
  WITH SYNTAX M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 10};


failureToAssociateNetworkTTP PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 11};


failureToDeassignLinkConnection PARAMETER
  CONTEXT    SPECIFIC-ERROR;
  WITH SYNTAX   M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 12};


failureToDeassignNetworkCTP PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 13};


failureToDecreaseCapacity PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX    M3100ASN1TypeModule2.Capacities;
REGISTERED AS {m3100Parameter 14};


failureToIncreaseCapacity PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX    M3100ASN1TypeModule2.Capacities;
REGISTERED AS {m3100Parameter 15};


failureToRemoveLC  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 16};


failureToBindLink  PARAMETER
  CONTEXT  SPECIFIC-ERROR;
  WITH SYNTAX M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 17};


failureToBindLinkEnd PARAMETER
  CONTEXT  SPECIFIC-ERROR;
  WITH SYNTAX M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 18};


failureToBindTopologicalLink  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 19};


failureToCreateAccessGroup   PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 20};


failureToCreateLink  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 21};


failureToCreateLCs  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 22};


failureToCreateLinkEnd  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 23};


failureToCreateNetworkTTP PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 24};


failureToCreateSubnetwork PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 25};


failureToDisassociateNetworkTTP PARAMETER
  CONTEXT    SPECIFIC-ERROR;
  WITH SYNTAX   M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 26};


failureToRemoveAccessGroup PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 27};


failureToRemoveNetworkCTPs PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 28};


failureToRemoveNetworkTTP PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 29};


failureToRemoveSubnetwork PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 30};


failureToSetDirectionality  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 31};


failureToSetLinkConnectionCallerId PARAMETER
  CONTEXT    SPECIFIC-ERROR;
  WITH SYNTAX   M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 32};


failureToSetNetworkCTPCallerId PARAMETER
  CONTEXT    SPECIFIC-ERROR;
  WITH SYNTAX   M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 33};


failureToSetUserIdentifier PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 34};


failureToSupportLCs PARAMETER
  CONTEXT  SPECIFIC-ERROR;
  WITH SYNTAX M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 35};


inconsistentDirectionality  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 36};


inconsistentSignalIdentification PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 37};


insufficientCapacity  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX    M3100ASN1TypeModule2.Capacity;
REGISTERED AS {m3100Parameter 38};


invalidChannelsNumber  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.Channels;
REGISTERED AS {m3100Parameter 39};


invalidLinkConnection  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.ObjectInstance;
REGISTERED AS {m3100Parameter 40};


invalidNetworkCTP  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX    M3100ASN1TypeModule2.ObjectInstance;
REGISTERED AS {m3100Parameter 41};


invalidServiceCharacteristicsRequested  PARAMETER
  CONTEXT     SPECIFIC-ERROR;
  WITH SYNTAX      M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 42};


invalidTPType   PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 43};


invalidTrafficDescriptorRequested PARAMETER
  CONTEXT    SPECIFIC-ERROR;
  WITH SYNTAX     M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 44};


linkConnectionAlreadyAssigned  PARAMETER
  CONTEXT    SPECIFIC-ERROR;
  WITH SYNTAX     M3100ASN1TypeModule2.ObjectInstance;
REGISTERED AS {m3100Parameter 45};


linkEndAndNetworkCTPNotCompatible PARAMETER
  CONTEXT     SPECIFIC-ERROR;
  WITH SYNTAX      M3100ASN1TypeModule2.ObjectList;
REGISTERED AS {m3100Parameter 46};


linkAndLinkConnectionNotCompatible  PARAMETER
  CONTEXT     SPECIFIC-ERROR;
  WITH SYNTAX      M3100ASN1TypeModule2.ObjectList;
REGISTERED AS {m3100Parameter 47};


networkCTPAlreadyAssigned PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX    M3100ASN1TypeModule2.ObjectInstance;
REGISTERED AS {m3100Parameter 48};


networkTTPAndAccessGroupNotCompatible PARAMETER
  CONTEXT     SPECIFIC-ERROR;
  WITH SYNTAX      M3100ASN1TypeModule2. None;
REGISTERED AS {m3100Parameter 49};


networkTTPAndSubnetworkNotCompatible PARAMETER
  CONTEXT     SPECIFIC-ERROR;
  WITH SYNTAX      M3100ASN1TypeModule2. None;
REGISTERED AS {m3100Parameter 50};


networkTTPAssociatedWithAccessGroup PARAMETER
  CONTEXT     SPECIFIC-ERROR;
  WITH SYNTAX      M3100ASN1TypeModule2. ObjectInstance;
REGISTERED AS {m3100Parameter 51};


networkTTPAssociatedWithSubnetwork PARAMETER
  CONTEXT     SPECIFIC-ERROR;
  WITH SYNTAX      M3100ASN1TypeModule2. ObjectInstance;
REGISTERED AS {m3100Parameter 52};


networkTTPsExisting  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 53};


networkTTPTerminatesTrail PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.ObjectInstance;
REGISTERED AS {m3100Parameter 54};


newServiceCharacteristicsExistsAlready PARAMETER
  CONTEXT     SPECIFIC-ERROR;
  WITH SYNTAX      M3100ASN1TypeModule2.SignalId;
REGISTERED AS {m3100Parameter 55};


newTrafficDescriptorExistsAlready PARAMETER
  CONTEXT    SPECIFIC-ERROR;
  WITH SYNTAX     M3100ASN1TypeModule2.SignalId;
REGISTERED AS {m3100Parameter 56};


noLinkCapacity   PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX    M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 57};


noLinkEndCapacity  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 58};


noSuchLink    PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.ObjectInstance;
REGISTERED AS {m3100Parameter 59};


noSuchLinkEnd   PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.ObjectInstance;
REGISTERED AS {m3100Parameter 60};


notAssignedToCaller  PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX    M3100ASN1TypeModule2.ObjectInstance;
REGISTERED AS {m3100Parameter 61};


notEnoughLinkConnections PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.Count;
REGISTERED AS {m3100Parameter 62};


notEnoughNetworkCTPs PARAMETER
  CONTEXT  SPECIFIC-ERROR;
  WITH SYNTAX   M3100ASN1TypeModule2.Count;
REGISTERED AS {m3100Parameter 63};


subnetworkInUse   PARAMETER
  CONTEXT   SPECIFIC-ERROR;
  WITH SYNTAX    M3100ASN1TypeModule2.None;
REGISTERED AS {m3100Parameter 64};


accessGroup-layerNetworkDomain NAME BINDING
  SUBORDINATE OBJECT CLASS accessGroup AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS layerNetworkDomain AND SUBCLASSES;
  WITH ATTRIBUTE accessGroupId;
  BEHAVIOUR
    accessGroup-layerNetworkDomainBehaviour BEHAVIOUR
      DEFINED AS
        "If, during a create operation, the topologicalEndDirectionality
        attribute fails to be set or the access group object fails to be
        created, the create operation will fail with the specific error with the
        value of either failureToSetDirectionality or failureToCreateAccessGroup
        respectively.

        If, during a delete operation, the accessPointList is not NULL the
        delete operation will fail with the specific error with the value
        networkTTPsExisting. If the access group managed object is not deleted,
        the delete operation will fail with the specific error with the value
        failureToRemoveAccessGroup.
        <ITU-T G.854.3:OPERATION,createAccessGroup, OUTPUT_PARAMETERS:accessGroup>
        <ITU-T G.854.3:OPERATION,createAccessGroup, OUTPUT_PARAMETERS:none>";;
  CREATE
    WITH-REFERENCE-OBJECT
      failureToSetDirectionality
      failureToCreateAccessGroup;
  DELETE
    DELETES-CONTAINED-OBJECTS
      networkTTPsExisting
      failureToRemoveAccessGroup;
REGISTERED AS {m3100NameBinding 63};


layerNetworkDomain-networkR1 NAME BINDING
  SUBORDINATE OBJECT CLASS layerNetworkDomain AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS   networkR1 AND SUBCLASSES;
  WITH ATTRIBUTE networkId;
  CREATE
    WITH-REFERENCE-OBJECT;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 64};


logicalLink-layerNetworkDomain NAME BINDING
  SUBORDINATE OBJECT CLASS logicalLink AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS layerNetworkDomain AND SUBCLASSES;
  WITH ATTRIBUTE linkId;
  BEHAVIOUR
    logicalLink-layerNetworkDomainBehaviour BEHAVIOUR
      DEFINED AS
        "The logicalLink managed object is created by the establishLink or
        establishLinkAndLinkEnds action.
        <ITU-T G.854.3,OPERATION:createLink,OUTPUT_PARAMETERS:link>

        The logicalLink managed object is deleted by the removeLink or
        removeLinkAndLinkEnds.
        <ITU-T G.854.3,OPERATION:deleteLink,OUTPUT_PARAMETERS:none>";;
REGISTERED AS {m3100NameBinding 65};


linkConnection-layerNetworkDomain  NAME BINDING
  SUBORDINATE OBJECT CLASS linkConnection AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  layerNetworkDomain AND SUBCLASSES;
  WITH ATTRIBUTE connectionId;
REGISTERED AS {m3100NameBinding 66};


linkConnection-topologicalLink NAME BINDING
  SUBORDINATE OBJECT CLASS linkConnection AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  topologicalLink AND SUBCLASSES;
  WITH ATTRIBUTE connectionId;
REGISTERED AS {m3100NameBinding 67};


logicalLinkEnd-layerNetworkDomain NAME BINDING
  SUBORDINATE OBJECT CLASS logicalLinkEnd AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  layerNetworkDomain AND SUBCLASSES;
  WITH ATTRIBUTE linkEndId;
REGISTERED AS {m3100NameBinding 68};


logicalLinkEnd-subNetwork NAME BINDING
  SUBORDINATE OBJECT CLASS logicalLinkEnd AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  subNetwork AND SUBCLASSES;
  WITH ATTRIBUTE linkEndId;
REGISTERED AS {m3100NameBinding 69};


topologicalLinkEnd-layerNetworkDomain NAME BINDING
  SUBORDINATE OBJECT CLASS topologicalLinkEnd AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  layerNetworkDomain AND SUBCLASSES;
  WITH ATTRIBUTE linkEndId;
REGISTERED AS {m3100NameBinding 70};


topologicalLinkEnd-subNetwork NAME BINDING
  SUBORDINATE OBJECT CLASS topologicalLinkEnd AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  subNetwork AND SUBCLASSES;
  WITH ATTRIBUTE linkEndId;
REGISTERED AS {m3100NameBinding 71};
--networkCTPSink-subNetwork NAME BINDING
-- SUBORDINATE OBJECT CLASS networkCTPSink AND SUBCLASSES;
-- NAMED BY
--  SUPERIOR OBJECT CLASS  subNetwork AND SUBCLASSES;
-- WITH ATTRIBUTE cTPId;
-- BEHAVIOUR
--  networkCTPSink-subNetworkBehaviour BEHAVIOUR
--   DEFINED AS
--"The subordinate managed object is automatically instantiated deleted when the
--superior managed object is instantiated, or when additional resources
--(including planned resources) are added to, or removed from, the subnetwork,
--according to the configuration of the Subnetwork.";;
--REGISTERED AS {m3100NameBinding 72};

--networkCTPSink-layerNetworkDomain NAME BINDING
-- SUBORDINATE OBJECT CLASS networkCTPSink AND SUBCLASSES;
-- NAMED BY
--  SUPERIOR OBJECT CLASS  layerNetworkDomain AND SUBCLASSES;
-- WITH ATTRIBUTE cTPId;
--REGISTERED AS {m3100NameBinding 73};

--networkCTPSource-subNetwork NAME BINDING
-- SUBORDINATE OBJECT CLASS networkCTPSource AND SUBCLASSES;
-- NAMED BY
--  SUPERIOR OBJECT CLASS  subNetwork AND SUBCLASSES;
-- WITH ATTRIBUTE cTPId;
-- BEHAVIOUR
--  networkCTPSource-subNetworkBehaviour BEHAVIOUR
--   DEFINED AS
--"The subordinate managed object is automatically instantiated deleted when the
--superior managed object is instantiated, or when additional resources
--(including planned resources) are added to, or removed from, the subnetwork,
--according to the configuration of the subnetwork.";;
--REGISTERED AS {m3100NameBinding 74};

--networkCTPSource-layerNetworkDomain NAME BINDING
-- SUBORDINATE OBJECT CLASS networkCTPSource AND SUBCLASSES;
-- NAMED BY
-- SUPERIOR OBJECT CLASS  layerNetworkDomain AND SUBCLASSES;
-- WITH ATTRIBUTE cTPId;
--REGISTERED AS {m3100NameBinding 75};

--networkTTPSink-layerNetworkDomain NAME BINDING
-- SUBORDINATE OBJECT CLASS networkTTPSink AND SUBCLASSES;
-- NAMED BY
--  SUPERIOR OBJECT CLASS  layerNetworkDomain AND SUBCLASSES;
-- WITH ATTRIBUTE tTPId;
-- BEHAVIOUR
--  networkTTPSink-layerNetworkDomainBehaviour BEHAVIOUR
--   DEFINED AS
--" If, during a delete operation, the networkTTP terminates a trail then the
--delete operation will fail with a specific error with the value
--networkTTPTerminatesTrail.
-- If, during a delete operation, the networkTTP is associated with a subnetwork
-- or an access group then the delete operation will fail with a specific error
-- with the value networkTTPAssociatedWithSubnetwork or the value
-- networkTTPAssociatedWithAccessGroup respectively.
-- <ITU-T G.854.6,OPERATION:createNetworkTTP,OUTPUT_PARAMETERS:networkTTP>
-- <ITU-T G.854.6,OPERATION:deleteNetworkTTP,OUTPUT_PARAMETERS:none>";;
-- CREATE
--  WITH-REFERENCE-OBJECT,
--  WITH-AUTOMATIC-INSTANCE-NAMING
--   failureToCreateNetworkTTP;
-- DELETE
--  ONLY-IF-NO-CONTAINED-OBJECTS
--  networkTTPTerminatesTrail
--   networkTTPAssociatedWithSubnetwork
--   networkTTPAssociatedWithAccessGroup
--   failureToCreateNetworkTTP;
--REGISTERED AS {m3100NameBinding 76};

--networkTTPSink-subNetwork NAME BINDING
-- SUBORDINATE OBJECT CLASS networkTTPSink AND SUBCLASSES;
-- NAMED BY
--  SUPERIOR OBJECT CLASS  subNetwork AND SUBCLASSES;
-- WITH ATTRIBUTE tTPId;
-- BEHAVIOUR
--  networkTTPSink-subNetworkBehaviour BEHAVIOUR
--   DEFINED AS "
--If, during a delete operation, the networkTTP terminates a trail then the
--delete operation will fail with a specific error with the value
--networkTTPTerminatesTrail.";;
-- CREATE
--  WITH-REFERENCE-OBJECT,
--  WITH-AUTOMATIC-INSTANCE-NAMING
--   failureToCreateNetworkTTP;
-- DELETE
--  ONLY-IF-NO-CONTAINED-OBJECTS
--   networkTTPTerminatesTrail
--   failureToRemoveNetworkTTP;
--REGISTERED AS {m3100NameBinding 77};

--networkTTPSource-layerNetworkDomain NAME BINDING
-- SUBORDINATE OBJECT CLASS networkTTPSource AND SUBCLASSES;
-- NAMED BY
--  SUPERIOR OBJECT CLASS  layerNetworkDomain AND SUBCLASSES;
-- WITH ATTRIBUTE tTPId;
-- BEHAVIOUR
--  networkTTPSource-layerNetworkDomainBehaviour BEHAVIOUR
-- DEFINED AS
--"If, during a delete operation, the networkTTP terminates a trail then the
--delete operation will fail with a specific error with the value
--networkTTPTerminatesTrail.
-- If, during a delete operation, the networkTTP is associated with a subnetwork
-- or an access group then the delete operation will fail with a specific error
-- with the value networkTTPAssociatedWithSubnetwork or the value
-- networkTTPAssociatedWithAccessGroup respectively.";;
-- CREATE
--  WITH-REFERENCE-OBJECT,
--  WITH-AUTOMATIC-INSTANCE-NAMING
--  failureToCreateNetworkTTP;
-- DELETE
--  ONLY-IF-NO-CONTAINED-OBJECTS
--   networkTTPTerminatesTrail
--   networkTTPAssociatedWithSubnetwork
--   networkTTPAssociatedWithAccessGroup
--   failureToRemoveNetworkTTP;
--REGISTERED AS {m3100NameBinding 79};


--networkTTPSource-subNetwork NAME BINDING
-- SUBORDINATE OBJECT CLASS networkTTPSource AND SUBCLASSES;
-- NAMED BY
--  SUPERIOR OBJECT CLASS  subNetwork AND SUBCLASSES;
-- WITH ATTRIBUTE tTPId;
-- BEHAVIOUR
--  networkTTPSource-subNetworkBehaviour BEHAVIOUR
--   DEFINED AS
--"If, during a delete operation, the networkTTP terminates a trail then the
--delete operation will fail with a specific error with the value
--networkTTPTerminatesTrail.";;
-- CREATE
--  WITH-REFERENCE-OBJECT,
--  WITH-AUTOMATIC-INSTANCE-NAMING
--   failureToCreateNetworkTTP;
-- DELETE
--  ONLY-IF-NO-CONTAINED-OBJECTS
--   networkTTPTerminatesTrail
--   failureToRemoveNetworkTTP;
--REGISTERED AS {m3100NameBinding 80};
subNetwork-layerNetworkDomain NAME BINDING
  SUBORDINATE OBJECT CLASS subNetwork AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  layerNetworkDomain AND SUBCLASSES;
  WITH ATTRIBUTE subNetworkId;
  BEHAVIOUR
    subNetwork-layerNetworkDomainBehaviour BEHAVIOUR
      DEFINED AS
        "If, during a create operation in which networkTTP managed object
        instances are required to be created or associated with the subnetwork,
        the networkTTP managed object instances failed to be created or
        associated then a specific error will be returned with the values
        failureToCreateNetworkTTP or failureToAssociateNetworkTTP respectively
        and the create operation will fail.

        If, during a delete operation, the subnetwork is found to be in use (to
        have subnetwork connection present) or is bound to other resources a
        specific error with the value subnetworkInUse or boundSubnetwork
        respectively will be returned and the create operation will fail.

        <ITU-T G.854.1,OPERATION:ssccSetupSubnetworkConnection, OUTPUT_PARAMETERS:newSNC>,
        <ITU-T G.854.1,OPERATION:ssccReleaseSubnetworkConnection, OUTPUT_PARAMETERS:none>";;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      failureToAssociateNetworkTTP
      failureToCreateNetworkTTP
      failureToCreateSubnetwork;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS
      subnetworkInUse
      boundSubnetwork
      failureToRemoveSubnetwork;
REGISTERED AS {m3100NameBinding 81};


subNetworkConnection-subNetwork NAME BINDING
  SUBORDINATE OBJECT CLASS subNetworkConnection AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  subNetwork AND SUBCLASSES;
  WITH ATTRIBUTE subNetworkConnectionId;
REGISTERED AS {m3100NameBinding 82};


topologicalLink-layerNetworkDomain NAME BINDING
  SUBORDINATE OBJECT CLASS topologicalLink AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  layerNetworkDomain AND SUBCLASSES;
  WITH ATTRIBUTE linkId;
  BEHAVIOUR
    topologicalLink-layerNetworkDomainBehaviour BEHAVIOUR
      DEFINED AS
        "The topologicalLink managed object is either automatically created when
        the trail in the server network layer domain that supports the link is
        created or is created by an establishTopologicalLink or an
        establishTopologicalLinkAndLinkEnds action.
        <ITU-T G.854.3,OPERATION:createTopologicalLink OUTPUT_PARAMETERS:topologicalLink>,

        The topologicalLink managed object is deleted either by a
        removeTopologicalLink or removeTopologicalLinkAndLinkEnds action or by
        the deletion of the trail if the topologicalLink managed object had
        previously been created automatically.
        <ITU-T G.854.3,OPERATION:deleteTopologicalLink,OUTPUT_PARAMETERS:none>";;
REGISTERED AS {m3100NameBinding 83};


trailR2-layerNetworkDomain NAME BINDING
  SUBORDINATE OBJECT CLASS trailR2 AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  layerNetworkDomain AND SUBCLASSES;
  WITH ATTRIBUTE trailId;
REGISTERED AS {m3100NameBinding 84};


externalPoint MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T X.721|ISO/IEC 10165-2:1992":top;
  CHARACTERIZED BY
    createDeleteNotificationsPackage,
    attributeValueChangeNotificationPackage,
    stateChangeNotificationPackage,
    externalPointPackage PACKAGE
      BEHAVIOUR
        externalPointBehaviour BEHAVIOUR
          DEFINED AS
            "This object class is a superclass for controlPoint and scanPoint
            object classes which are used to control external devices or monitor
            external conditions respectively. This object class contains common
            aspects of controlPoint and scanPoint object classes. The
            operational state and administrative state represent the state of
            the control and scan functions, i.e. not the state of the external
            entity.";;
      ATTRIBUTES
        "ITU-T X.721|ISO/IEC 10165-2:1992":operationalState  GET,
        "ITU-T X.721|ISO/IEC 10165-2:1992":administrativeState GET-REPLACE,
        supportedByObjectList  GET,
        externalPointId   GET SET-BY-CREATE,
        externalPointMessage  GET-REPLACE;;;
  CONDITIONAL PACKAGES
    locationNamePackage PRESENT IF
      "an instance supports it";
REGISTERED AS {m3100ObjectClass 40};


controlPoint MANAGED OBJECT CLASS
  DERIVED FROM  externalPoint;
  CHARACTERIZED BY
    controlPointPackage  PACKAGE
      BEHAVIOUR
        controlPointPackageBehaviour BEHAVIOUR
          DEFINED AS
            "This managed object class is used to control external devices
            associated with the managed system, such as relay closure for bell,
            lamp, generator, heater, or air conditioner. Each instance of this
            class represents one control point.

            The current state of a control point can be either closed (i.e.
            activate) or open (i.e. released). A control point may optionally
            have a normal state (i.e. closed or open, one or the other).

            The external device represented by a control point can be remotely
            operated through the 'control' action. A control operation can be
            momentary (i.e. momentarily close or open) or continuous
            (continuously close or open).

            Valid control type of a control point may be momentary only,
            continuous only, or both. A control action will be denied if the
            control action type (continuous or momentary) is not valid for the
            control point. The effect of a control action on a control point is
            given in Table 1.

            Current state,  valid control type, normal state (optional), text
            message (such as user-friendly label or text) and location
            (optional) of the control points are by separate attributes.";;
      ATTRIBUTES
        currentControlState GET,
        validControlType  GET-REPLACE SET-BY-CREATE;
      ACTIONS
        externalControl;;;
  CONDITIONAL PACKAGES
    normalControlStatePackage PRESENT IF
      "an instance supports it";
REGISTERED AS  {m3100ObjectClass 41};


scanPoint MANAGED OBJECT CLASS
  DERIVED FROM  externalPoint;
  CHARACTERIZED BY
    externalScanPackage PACKAGE
      BEHAVIOUR
        externalScanBehaviour BEHAVIOUR
          DEFINED AS
            "This managed object class is used to monitor external conditions
            related to the managed element, for that, events of external devices
            (such as power failure, fire alarm, door open, humidity, etc.) are
            monitored. Each instance of this object class represents one scan
            point. Environmental alarm will be emitted if a scan point detects
            an abnormal condition. The text message specified in the
            externalPointMessage attribute is to be included in the
            additionalText field of the environmentalAlarm notification when an
            alarm is emitted for the scan point. The severity of such alarms can
            be configured through an optional package.

            The currentProblemList represents the current problems of the
            external entity being monitored, i.e. not current problems with the
            scan function itself. The probable cause of the currentProblemList
            is by itself not a precise indicator of service affecting alarms
            (e.g. due to standby resources) and the serviceAffected attribute is
            used as a unifying indicator of service affecting conditions.";;
      ATTRIBUTES
        currentProblemList GET,
        serviceAffected  GET;
      NOTIFICATIONS
        "ITU-T X.721|ISO/IEC 10165-2:1992":environmentalAlarm;;;
  CONDITIONAL PACKAGES
    alarmSeverityAssignmentPointerPackage PRESENT IF
      "an instance supports it";
REGISTERED AS {m3100ObjectClass  42};


normalControlStatePackage PACKAGE
  ATTRIBUTES
    normalControlState GET-REPLACE;
REGISTERED AS {m3100Package 43};


currentControlState  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ControlState;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    currentControlStateBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the current state of the control point";;
REGISTERED AS  {m3100Attribute 71};


normalControlState  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ControlState;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    normalControlStateBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the normal state of the control point";;
REGISTERED AS {m3100Attribute 72};


validControlType  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ValidControlType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    validControlTypeBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the valid type of control signal for this
        control point";;
REGISTERED AS {m3100Attribute 73};


externalPointId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Integer;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    externalPointIdBehaviour  BEHAVIOUR
      DEFINED AS
        "This attribute identifies the port number where the monitored or
        controlled external device is attached. It also serves as the naming
        attribute for the managed object.";;
REGISTERED AS {m3100Attribute  74};


serviceAffected ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Boolean;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    serviceAffectingBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates whether the alarm condition for monitored
        external device is service affecting or not.";;
REGISTERED AS {m3100Attribute  75};


externalPointMessage  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ExternalPointMessage;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    externalPointMessageBehaviour  BEHAVIOUR
      DEFINED AS
        "This attibute can provide some textual definition of the external
        point. It can also be used for identifying the location of the external point";;
REGISTERED AS {m3100Attribute 76};


externalControl ACTION
  BEHAVIOUR
    externalControlBeh BEHAVIOUR
      DEFINED AS
        "This action instructs the NE to momentarily operate (close or open) or
        continuously operate (close or open) an external control device (such as
        a relay closure) represented by a control point. The control action type
        parameter is included in the request.";;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX M3100ASN1TypeModule2.ControlActionType;
  WITH REPLY SYNTAX M3100ASN1TypeModule2.ControlResult;
REGISTERED AS {m3100Action 10};


externalPoint-equipment NAME BINDING
  SUBORDINATE OBJECT CLASS externalPoint AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS equipment AND SUBCLASSES;
  WITH ATTRIBUTE externalPointId;
  CREATE;
  DELETE;
REGISTERED AS {m3100NameBinding 56};


externalPoint-managedElement NAME BINDING
  SUBORDINATE OBJECT CLASS externalPoint AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS managedElement AND SUBCLASSES;
  WITH ATTRIBUTE externalPointId;
  CREATE;
  DELETE;
REGISTERED AS {m3100NameBinding 57};


externalPoint-managedElementComplex NAME BINDING
  SUBORDINATE OBJECT CLASS externalPoint AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS managedElementComplex AND SUBCLASSES;
  WITH ATTRIBUTE externalPointId;
  CREATE;
  DELETE;
REGISTERED AS {m3100NameBinding 58};


circuitPackR1 MANAGED OBJECT CLASS
  DERIVED FROM equipmentR2;
  CHARACTERIZED BY
    createDeleteNotificationsPackage,
    administrativeOperationalStatesPackage,
    stateChangeNotificationPackage,
    equipmentsEquipmentAlarmR1Package,
    currentProblemListPackage,
    equipmentAlarmEffectOnServicePackage,
    alarmSeverityAssignmentPointerPackage,
    circuitPackR1Package PACKAGE
      BEHAVIOUR circuitPackR1Behaviour;
      ATTRIBUTES
        "ITU-T X.721|ISO/IEC 10165-2:1992":availabilityStatus GET;;;
  CONDITIONAL PACKAGES
    circuitPackResetPackage    PRESENT IF
      "an instance supports it.",
    numberOfPortPackage    PRESENT IF
      "an instance supports it.",
    portAssociationsPackage    PRESENT IF
      "an instance supports it.",
    circuitPackConfigurationPackage  PRESENT IF
      "an instance supports it.",
    containedBoardPackage   PRESENT IF
      "the resource represented by this circuit pack is allowed to contain other
      circuit packs";
REGISTERED AS {m3100ObjectClass 43};


circuitPackR1Behaviour BEHAVIOUR
  DEFINED AS
    "The circuitPackR1 object class is a class of managed objects that
    represents a plug-in replaceable unit that can be inserted into or removed
    from the equipment holder of the Network Element. Examples of plug-in cards
    include line cards, processors and power supply units. The inherited
    attribute textType (of syntax GraphicString) is used to indicate the type of
    the circuit pack. The value of this attribute should match one of the values
    of the acceptableCircuitPackTypeList attribute (of syntax PrintableString)
    of the containing equipmentHolder object. If the type of a circuit pack is
    of GraphicString characters outside of the PrintableString character set, it
    will not match any value of the acceptableCircuitPackList attribute. In this
    case, no instance of circuitPackR1 should be instantiated and the
    holderStatus attribute of the equipmentHolder object shall have the value
    'unknownType'. The attribute availabilityStatus is used to indicate the
    availability of the circuit pack. The availabilityStatus attribute is a
    set-valued attribute. The following values may be used:

    - fail: the circuit pack is failed;

    - inTest: the circuit pack is in test;

    - notInstall: the physical circuit pack is not inserted, or if inserted but
      its type does not match the type specified in the textType attribute of
      the circuitPackR1 instance (even if the physical circuit pack is one of
      the acceptable circuit pack type of the containing equipment holder);

    - degraded: a subset of the ports of the circuit pack has defects;

    - dependency: the circuit pack is disabled because of a resource which the
      circuit pack depends on is not available; and

    - offLine: the circuit pack is under initializing (i.e. resetting).

    The circuitPackR1 may contain additional circuitPackR1 objects.";


circuitPackConfigurationPackage PACKAGE
  BEHAVIOUR circuitPackConfigurationPackageBehaviour;
  ATTRIBUTES
    availableSignalRateList   GET,
    portSignalRateAndMappingList   GET-REPLACE ADD-REMOVE serviceAffectedErrorParameter;
REGISTERED AS {m3100Package 44};


circuitPackConfigurationPackageBehaviour BEHAVIOUR
  DEFINED AS
    "A replace operation of the portSignalRateAndMappingList attribute may cause
    the deletion and creation of termination point objects. If this is the case,
    objectDeletion and objectCreation notifications will be emitted from the
    deleted and created objects. However, if such deletion and/or creation
    affects existing user services, the replace request should be denied and an
    error response of processingFailure with syntax defined in the
    serviceAffectedErrorParameter parameter should be returned.";


circuitPackResetPackage PACKAGE
  ACTIONS
    circuitPackReset;
REGISTERED AS {m3100Package 45};


numberOfPortPackage PACKAGE
  ATTRIBUTES
    numberOfPorts  GET;
REGISTERED AS {m3100Package 46};


portAssociationsPackage PACKAGE
  ATTRIBUTES
    portAssociations GET;
REGISTERED AS {m3100Package 47};


containedBoardPackage PACKAGE
  ATTRIBUTES
    acceptableCircuitPackTypeList  GET-REPLACE ADD-REMOVE;
REGISTERED AS {m3100Package 48};


availableSignalRateList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.AvailableSignalRateList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    availableSignalRateListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute identifies the signal rates supported by the circuit
        pack entity.";;
REGISTERED AS {m3100Attribute 77};


numberOfPorts ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Count;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    numberOfPortsBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the total number of ports supported by the
        circuit pack.";;
REGISTERED AS {m3100Attribute 78};


portAssociations ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.PortAssociations;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    portAssociationBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute is a sequence of pairs that relate a port on the
        multiport  circuit pack with the associated entity.";;
REGISTERED AS {m3100Attribute 79};


portSignalRateAndMappingList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.PortSignalRateAndMappingList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    portSignalRateAndMappingListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute identifies the signal rate associated with a circuit
        pack port (e.g. port=0, rate=stm1) and its payload mapping (e.g. au3 or
        au4). The signal rate and payload mapping is provisionable. For example,
        a port with signal rate stm4 may have a payload mapping of au4-4.
        Another possible mapping of this rate is a sequence of four individual
        au4 (i.e. au4, au4, au4, au4) or a sequence of mixed au3 and au4 (e.g.
        au3, au3, au3, au4, au4, au3, au3, au3).";;
REGISTERED AS {m3100Attribute 80};


circuitPackReset ACTION
  BEHAVIOUR
    circuitPackResetBeh BEHAVIOUR
      DEFINED AS
        "This action is used to request to initialize a circuit pack. The
        request can be a complete reset or a partial reset. A complete reset
        request is indicated by the value of NULL in the action argument. A
        partial request is indicated by a non-negative integer. The value zero
        implies the least level of reset. The higher integer value implies a
        more thorough reset. The determination of the highest integer that is
        equivalent to a complete reset is a local matter. When the circuit pack
        in the process of resetting, the value offLine of the availabilityStatus
        attribute shall be indicated. If the circuit pack is user service
        sensitive, then a reset shall be performed only when the circuit pack is
        in the locked adiministrariveState. If the circuit pack is not in the
        locked administrariveState, a reset request shall be denied and the
        value entityInService of the resetError parameter shall be returned.";;
  MODE CONFIRMED;
  PARAMETERS circuitPackResetError;
  WITH INFORMATION SYNTAX M3100ASN1TypeModule2.ResetLevel;
REGISTERED AS {m3100Action 11};


circuitPackR1-circuitPackR1-autoCreated NAME BINDING
  SUBORDINATE OBJECT CLASS  circuitPackR1  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  circuitPackR1 AND SUBCLASSES;
  WITH ATTRIBUTE  equipmentId;
  BEHAVIOUR circuitPackR1-circuitPackR1-autoCreateBeh;
  DELETE
    DELETES-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 89};


circuitPackR1-circuitPackR1-autoCreateBeh BEHAVIOUR
  DEFINED AS
    "This name binding is used only when a circuitPack provides slots for the
    contained boards (e.g. lower-order termination). When the circuitPack is
    inserted into the containing board, the circuitPack object representing the
    inserted board is automatically created.";


circuitPackR1-equipmentHolder-autoCreated-Delete  NAME BINDING
  SUBORDINATE OBJECT CLASS  circuitPackR1  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  equipmentHolder  AND SUBCLASSES;
  WITH ATTRIBUTE  equipmentId;
  BEHAVIOUR circuitPackR1-equipmentHolder-autoCreate-Delete-Beh;
  DELETE
    DELETES-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 59};


circuitPackR1-equipmentHolder-autoCreate-Delete-Beh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name an instance of a circuitPack relative to
    an equipmentHolder instance. The creation of the circuitPack object is the
    result of inserting the physical circuit pack into the resource represented
    by the superior object. The circuit pack including contained objects can be
    deleted as the result of system management.";


circuitPackR1-equipmentHolder-explicitlyCreated-Delete      NAME BINDING
  SUBORDINATE OBJECT CLASS  circuitPackR1  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  equipmentHolder  AND SUBCLASSES;
  WITH ATTRIBUTE  equipmentId;
  BEHAVIOUR circuitPackR1-equipmentHolder-explicitlyCreate-Delete-Beh;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      createErrorParameter
      generalErrorParameter;
  DELETE
    DELETES-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding  60};


circuitPackR1-equipmentHolder-explicitlyCreate-Delete-Beh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name an instance of a circuitPack relative to
    another equipmentHolder instance. The creation of the circuitPack object is
    the result of system management. The circuit pack including contained
    objects can be deleted as the result of system management.";


circuitPackR1-equipmentHolder-autoCreated   NAME BINDING
  SUBORDINATE OBJECT CLASS  circuitPackR1 AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS equipmentHolder  AND SUBCLASSES;
  WITH ATTRIBUTE  equipmentId;
  BEHAVIOUR  circuitPackR1-equipmentHolder-autoCreated-Beh;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS
      generalErrorParameter;
REGISTERED AS {m3100NameBinding 61};


circuitPackR1-equipmentHolder-autoCreated-Beh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name an instance of a circuitPack relative to
    another equipmentHolder instance. The creation of the circuitPack object is
    the result of inserting the physical circuit pack into the resource
    represented by the superior object.

    The management system may delete this circuit pack and recreate a new one in
    order to plan the specific type of the circuit pack, using the
    explicitlyCreated name binding. The circuit pack can only be deleted as the
    result of system management when there are no contained objects.";


circuitPackR1-equipmentHolder-explicitlyCreated NAME BINDING
  SUBORDINATE OBJECT CLASS  circuitPackR1  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  equipmentHolder  AND SUBCLASSES;
  WITH ATTRIBUTE equipmentId;
  BEHAVIOUR circuitPackR1-equipmentHolder-explicitlyCreated-Beh;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      createErrorParameter
      generalErrorParameter;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {m3100NameBinding 62};


circuitPackR1-equipmentHolder-explicitlyCreated-Beh BEHAVIOUR
  DEFINED AS
    "This name binding is used to name an instance of a circuitPack relative to
    another equipmentHolder instance. The creation of the circuitPack object is
    the result of system management protocol. If the circuitPackType is
    incompatible with the types supported by the equipmentHolder, the create
    request will result in a CMIP processing failure error. The
    generalErrorParameter is then used to report the error and may provide the
    value of the circuitPackType attribute. The circuit pack can only be deleted
    as the result of system management when there are no contained objects.";


circuitPackResetError PARAMETER
  CONTEXT SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.ResetError;
  BEHAVIOUR circuitPackResetErrorBeh;
REGISTERED AS {m3100Parameter 4};


circuitPackResetErrorBeh BEHAVIOUR
  DEFINED AS
    "This parameter is included in the error parameter of the CMIP APDU when the
    reset action fails for any other reason than the package not being
    implemented.  If the managed system is unable to return an error because of
    the reset action itself, it is expected that other failures within the
    managed system will occur and be reported, or be detected by the managing
    system (e.g. loss of association).";


serviceAffectedErrorParameter PARAMETER
  CONTEXT SPECIFIC-ERROR;
  WITH SYNTAX  M3100ASN1TypeModule2.ServiceAffectingErrorParameter;
  BEHAVIOUR serviceAffectedErrorParameterBeh;
REGISTERED AS {m3100Parameter 5};


serviceAffectedErrorParameterBeh BEHAVIOUR
  DEFINED AS
    "This parameter is included in the processingFailure response when the
    operation fails for the reason that the operation affects existing user service.";


protectionGroupR2 MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation G.774.3":protectionGroupR1;
  CHARACTERIZED BY protectionGroupR2Pkg PACKAGE
    BEHAVIOUR protectionGroupR2Beh;
    ATTRIBUTES
      lockedInCondition GET-REPLACE;
    NOTIFICATIONS
      "Rec. G.774.3":protectionSwitchReportingR1
        protectionStatusParameterR1;;;
  CONDITIONAL PACKAGES
    protectionAlarmPkg PRESENT IF
      "the system is capable of reporting failure of protection mechanism or
      failure of the protecting resource.";
REGISTERED AS {m3100ObjectClass 64};


protectionGroupR2Beh BEHAVIOUR
  DEFINED AS
    "This object class is used for representing a protection system. The
    invokeProtection action switches always from protected unit to protecting
    unit. Either all or none of the Protection Unit instances within an
    Protection Group object shall have the priorityPkg package. It is to be
    noted that, before the creation of the protectionGroupR2 object, the
    supported by object list (sbol) attribute of a reliable resource such as
    termination point object may point to an unreliable resource object such as
    circuit pack. But once the protection group object is created, the sbol
    attribute would start pointing at the protection group object";


protectionUnitR1 MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721":top;
  CHARACTERIZED BY protectionUnitR1Pkg PACKAGE
    BEHAVIOUR protectionUnitR1Beh;
    ATTRIBUTES
      "Rec. G.774.3":protectionUnitId GET,
      "Rec. G.774.3":protecting  GET,
      reliableResourcePointerR1 GET,
      unreliableResourcePointerR1 GET,
      protectionStatusR1   GET;;;
  CONDITIONAL PACKAGES
    "Rec. G.774.3":priorityPkg PRESENT IF
      "an instance supports it",
    attributeValueChangeNotificationPackage PRESENT IF
      "an instance supports it";
REGISTERED AS {m3100ObjectClass 65};


protectionUnitR1Beh BEHAVIOUR
  DEFINED AS
    "Instances of this object class are used to represent the protected (i.e.
    working, regular, or preferred) or protecting (i.e. backup or standby)
    resource in a protection system. Instances of this object class are
    instantiated by the agent according to the protection schemes adopted by the
    NE. A Protection Unit instance is deleted when the resource object instance
    pointed to by the Unreliable Resource Pointer attribute is deleted, and may
    be created automatically when the associated resource object is created. The
    agent may also create and delete instances of this object class in order to
    reflect local modifications in the protection schemes. The
    attributeValueChange notification is used to notify changes of the Reliable
    Resource Pointer, Protection Status, and Priority attributes.";


protectionAlarmPkg PACKAGE
  ATTRIBUTES
    currentProblemList GET;
  NOTIFICATIONS
    protectionAlarm;
REGISTERED AS {m3100Package 93};


protectionStatusR1 ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1Module3. ProtectionStatusR1;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR protectionStatusR1Beh;
REGISTERED AS {m3100Attribute 144};


protectionStatusR1Beh BEHAVIOUR
  DEFINED AS
    " -- See description of this attribute in 2.2.-- ";


lockedInCondition ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1Module3.LockedInCondition;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    lockedInConditionBeh BEHAVIOUR
      DEFINED AS
        "This read-write attribute specifies the criteria of the locked-in
        condition. The criteria includes the automatic protection switching
        (APS) rate and the associated setting and releasing time windows. If the
        number of APS of a Protection Unit reaches the value specified in the
        hitsCount field within a moving time window of specified length, the
        Protection Unit will enter the locked-in condition. Each switch to
        protection and its subsequent release is considered as one hit. The
        length of the time window for entering the locked-in condition is
        specified in the settingWindowTime field. Once a Protection Unit is in
        the locked-in condition, future request of APS will be denied until the
        locked-in condition is released. The release criterion is no APS request
        within another moving time window. The length of this time window is
        specified in the releasingWindowTime field. ";;
REGISTERED AS { m3100Attribute 145};


reliableResourcePointerR1 ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1Module3.ResourcePointer;
  MATCHES FOR EQUALITY, SET-INTERSECTION, SET-COMPARISON;
  BEHAVIOUR reliableResourcePointerR1Beh;
REGISTERED AS { m3100Attribute 146};


reliableResourcePointerR1Beh BEHAVIOUR
  DEFINED AS
    "The value of the reliableResourcePointerR1 attribute points to the reliable
    resource(s) (e.g. the functional objects) that is/are associated with the
    Protection Unit instance.";


unreliableResourcePointerR1 ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1Module3.ResourcePointer;
  MATCHES FOR   EQUALITY, SET-INTERSECTION, SET-COMPARISON;
  BEHAVIOUR unreliableResourcePointerR1Beh;
REGISTERED AS { m3100Attribute 147};


unreliableResourcePointerR1Beh BEHAVIOUR
  DEFINED AS
    "The value of the unreliableResourcePointerR1 attribute points to the
    unreliable resource(s) (e.g. circuit pack) that is/are associated with the
    Protection Unit instance.";


protectionAlarm NOTIFICATION
  BEHAVIOUR protectionAlarmBeh;
  WITH INFORMATION SYNTAX M3100ASN1Module3.ProtectionAlarmInfo
    AND ATTRIBUTE IDS
      probableCause "Rec. X.721 | ISO/IEC 10165-2 : 1992": probableCause,
      additionalInfo "Rec. X.721 | ISO/IEC 10165-2 : 1992": additionalInformation;
REGISTERED AS { m3100Notification 1};


protectionAlarmBeh BEHAVIOUR
  DEFINED AS
    "The protectionAlarm notification is emitted from the Protection Group
    object to report any protection mechanism failure or protecting resource failure.";


protectionStatusParameterR1 PARAMETER
  CONTEXT EVENT-INFO;
  WITH SYNTAX M3100ASN1Module3.ProtectionStatusParameterR1;
  BEHAVIOUR protectionStatusParameterR1Beh;
REGISTERED AS {m3100Parameter 65};


protectionStatusParameterR1Beh BEHAVIOUR
  DEFINED AS
    "This parameter is included in the additional info field of the
    protectionSwitchReporting notification. This parameter is used according to
    the following rules. - See description in 2.2";


arcIntervalProfile MANAGED OBJECT CLASS
  DERIVED FROM "Recommendation X.721: 1992":top;
  CHARACTERIZED BY
    arcIntervalProfilePackage PACKAGE
      BEHAVIOUR arcIntervalProfilePackageBehaviour BEHAVIOUR
        DEFINED AS
          "This object defines the default ARC intervals for the Alarm Reporting
          Control (ARC) states that support time-based transitions. An interval
          profile is only applicable for ARC states that automatically
          transition within an agent with time being a factor (but not
          necessarily the only factor) in the transition criteria from a mode of
          inhibited alarm reporting to a mode of allowed alarm reporting.
          Automatic agent state transitions from a mode of allowed alarm
          reporting to a mode of inhibited alarm reporting is prohibited.
          Support for this object is required only when settable intervals for
          the related ARC states are required.";;
      ATTRIBUTES
        arcIntervalProfileId GET SET-BY-CREATE,
        arcDefaultNALMTIInterval GET-REPLACE, -- interval for the "nalm-ti" state
        arcDefaultNALMCDInterval GET-REPLACE -- interval for the "nalm-qi" state
          ;;;
  CONDITIONAL PACKAGES
    attributeValueChangeNotificationPackage PRESENT IF
      "the attributeValueChange notification defined in Recommendation X.721 is
      supported by an instance of this managed object class",
    createDeleteNotificationsPackage PRESENT IF
      "the objectCreation and objectDeletion notifications defined in
      Recommendation X.721 are supported by an instance of this managed object class",
    userLabelPackage PRESENT IF "an instance supports it";
REGISTERED AS { m3100ObjectClass 66};


arcPackage PACKAGE
  BEHAVIOUR arcPackageBehaviour BEHAVIOUR
    DEFINED AS
      "This package defines the characteristics required for an object
      supporting Alarm Reporting Control (ARC). The ARC feature shall be
      supported by any object that supports alarm reporting. Changes to
      arcProbableCauseList take effect immediately. The behaviour of the changes
      for each probable cause is similar to the behaviour exhibited when
      transitioning to and from the ALM state. The reporting for a probable
      cause stops when the probable cause is added and starts when removed from
      the list. When arcProbableCauseList is modified, changes will be made
      according to best effort. Only non-supported probableCauses shall return
      errors and not added to list; valid probable causes shall be accepted and
      added to list. Changes in the default timed intervals (the two in the ARC
      profile) takes effect only when entering into QI or TI states from any
      other state as long as an override value is not specified in the
      arcControl action. Changes in the arcManagementRequestedInterval are
      allowed only when it has a time value (as opposed to being set to
      noAdjustment) and then takes effect immediately. Attribute value change
      notifications shall be sent for changes to arcState, arcProbableCauseList,
      arcIntervalProfilePointer, and arcManagementRequestedInterval";;
  ATTRIBUTES
    arcState GET, -- SCNs shall be used
    arcQIStatus GET, -- No AVCs or SCNs shall be sent for changes in value
    arcProbableCauseList GET-REPLACE ADD-REMOVE notSupportedProbableCause,
    arcIntervalProfilePointer GET-REPLACE,
    arcManagementRequestedInterval GET-REPLACE,
    arcTimeRemaining GET, -- No AVCs shall be sent for changes in value of this
                          -- attribute
    currentProblemList GET;
  ACTIONS
    -- need to add error parameters definitions for arcControl action
    arcControl;
  NOTIFICATIONS
    "Recommendation X.721:1992": attributeValueChange,
    "Recommendation X.721:1992":stateChange;
REGISTERED AS { m3100Package 94};


arcRetrieveAlarmDetailPackage PACKAGE
  BEHAVIOUR arcRetrieveAlarmDetailPackageBehaviour BEHAVIOUR
    DEFINED AS
      "This package defines an ability to query useful alarm information beyond
      alarmStatus and probableCause when alarm notifcations are not sent for a
      given probableCause (e.g. when the alarm is under Alarm Reporting Conrol
      (ARC)).";;
  ACTIONS
    arcRetrieveAlarmDetail;
REGISTERED AS { m3100Package 95};


environmentalAlarmR2Package PACKAGE
  ATTRIBUTES
    alarmStatus  GET,
    currentProblemList GET;
  NOTIFICATIONS
    "Recommendation X.721:1992":environmentalAlarm
      "Recommendation Q.821:1992":logRecordIdParameter
      "Recommendation Q.821:1992":correlatedRecordNameParameter
      "Recommendation Q.821:1992":suspectObjectListParameter
      alarmingResumedParameter
      affectedObjectListParameter;
REGISTERED AS {m3100Package 96};


equipmentsEquipmentAlarmR2Package PACKAGE
  ATTRIBUTES
    alarmStatus  GET,
    currentProblemList GET;
  NOTIFICATIONS
    "Recommendation X.721:1992":equipmentAlarm
      "Recommendation Q.821:1992":logRecordIdParameter
      "Recommendation Q.821:1992":correlatedRecordNameParameter
      "Recommendation Q.821:1992":suspectObjectListParameter
      alarmingResumedParameter
      affectedObjectListParameter;
REGISTERED AS {m3100Package 97 };


processingErrorAlarmR2Package PACKAGE
  ATTRIBUTES
    alarmStatus  GET,
    currentProblemList GET;
  NOTIFICATIONS
    "Recommendation X.721:1992":processingErrorAlarm
      "Recommendation Q.821:1992":logRecordIdParameter
      "Recommendation Q.821:1992":correlatedRecordNameParameter
      "Recommendation Q.821:1992":suspectObjectListParameter
      alarmingResumedParameter
      affectedObjectListParameter;
REGISTERED AS {m3100Package 98 };


softwareProcessingErrorAlarmR2Package PACKAGE
  ATTRIBUTES
    alarmStatus  GET,
    currentProblemList GET;
  NOTIFICATIONS
    "Recommendation X.721:1992":processingErrorAlarm
      "Recommendation Q.821:1992":logRecordIdParameter
      "Recommendation Q.821:1992":correlatedRecordNameParameter
      "Recommendation Q.821:1992":suspectObjectListParameter
      alarmingResumedParameter
      affectedObjectListParameter;
REGISTERED AS {m3100Package 99 };


tmnCommunicationsAlarmInformationR1Package PACKAGE
  BEHAVIOUR
    tmnCommunicationsAlarmInformationBehaviour;
  ATTRIBUTES
    alarmStatus  GET,
    currentProblemList GET;
  NOTIFICATIONS
    "Recommendation X.721:1992":communicationsAlarm
      "Recommendation Q.821:1992":logRecordIdParameter
      "Recommendation Q.821:1992":correlatedRecordNameParameter
      "Recommendation Q.821:1992":suspectObjectListParameter
      alarmingResumedParameter
      affectedObjectListParameter;
REGISTERED AS {m3100Package 100 };


arcDefaultNALMTIInterval ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule4.ArcDefaultNALMTIInterval;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR arcDefaultNALMTIIntervalBehaviour BEHAVIOUR
    DEFINED AS
      "This attribute defines the default/initial value for the ARC interval
      timer of the ARC nalm-ti state if another interval is not specified in the
      management request to transition to the state.";;
REGISTERED AS { m3100Attribute 148};


arcDefaultNALMCDInterval ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule4. ArcDefaultNALMCDInterval;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR arcDefaultNALMCDIntervalBehaviour BEHAVIOUR
    DEFINED AS
      "This attribute defines the default/initial value for the ARC interval
      timer of the ARC nalm-qi state if another interval is not specified in the
      management request to transition to the state.";;
REGISTERED AS { m3100Attribute 149 };


arcIntervalProfileId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR arcIntervalProfileIdBehaviour BEHAVIOUR
    DEFINED AS
      "The arcIntervalProfileId is an attribute type whose distinguished value
      can be used as a RDN when naming an instance of the arcIntervalProfile
      object class.";;
REGISTERED AS { m3100Attribute 150};


arcIntervalProfilePointer ATTRIBUTE
  WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.PointerOrNull;
  MATCHES FOR EQUALITY;
  BEHAVIOUR arcIntervalProfilePointerBehaviour BEHAVIOUR
    DEFINED AS
      "This attribute identifies the associated arc interval profile object. The
      value of this attribute is NULL when settable persistence and timed
      intervals are not used (i.e. for nalm-qi and nalm-ti states).";;
REGISTERED AS { m3100Attribute 151 };


arcManagementRequestedInterval ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule4.ArcTime;
  MATCHES FOR EQUALITY;
  BEHAVIOUR arcManagementRequestedIntervaBehaviour BEHAVIOUR
    DEFINED AS
      "This identifies the management requested time for an ARC interval. This
      attribute changes value only upon management request or when a resource
      automatically transitions to the ALM state. Management requests to change
      the value of this attribute are denied when it is invalid to do so. For
      example, when the managed resource is in the ALM or NALM state. The value
      of this attribute reflects whether or not the ARC interval can be adjusted
      via management request at a given moment.";;
REGISTERED AS {m3100Attribute 152};


arcProbableCauseList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule4.ArcProbableCauseList;
  MATCHES FOR EQUALITY;
  BEHAVIOUR arcProbableCauseListBehaviour BEHAVIOUR
    DEFINED AS
      "The probable causes in this list are inhibited when alarm reporting is
      turned off. An empty list indicates all probable causes the resource
      supports are inhibited. Should one of these probable cause indications be
      raised when alarm reporting is inhibited, the currentProblemList shall be
      updated with the probable cause as normal but the alarm status for the
      probable cause shall be 'activePending'.";;
REGISTERED AS {m3100Attribute 153};


arcState ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule4.ArcState;
  MATCHES FOR EQUALITY;
  BEHAVIOUR arcStateBehaviour BEHAVIOUR
    DEFINED AS
      "This attribute defines the Alarm Reporting Control (ARC) state of the
      object. The initial state and the set of ARC states required to be
      supported for a given object shall be defined in the object class
      behaviour. State change notifications shall be used to indicate value
      changes for this attribute.";;
REGISTERED AS {m3100Attribute 154};


arcQIStatus ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule4.ArcQIStatus;
  MATCHES FOR EQUALITY;
  BEHAVIOUR arcQIStatusBehaviour BEHAVIOUR
    DEFINED AS
      "This attribute defines the Alarm Reporting Control (ARC) status of the
      object. Neither state change notifications nor attribute value change
      notifications shall be used to indicate value changes for this attribute.";;
REGISTERED AS {m3100Attribute 155};


arcTimeRemaining ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule4.ArcTime;
  MATCHES FOR EQUALITY;
  BEHAVIOUR arcTimeRemainingBehaviour BEHAVIOUR
    DEFINED AS
      "This identifies the time remaining for an ARC interval (i.e. persistence
      interval for the nalm-qi state and timed interval for the nalm-ti state).
      Note that it does not necessarily indicate the time remaining in the
      state. For example, the arcTimeRemaining could be 30 minutes in the
      nalm-qi state and if a qualified problem is raised for the managed
      resource before the ARC interval timer expires it will exit the timer and
      wait indefinately until it once again becomes qualified problem-free,
      restarts the timer, and begins to decrement the time remaining again. When
      a resource transitions to the nalm-ti, nalm, or nalm-qi state, the value
      of this attribute is initialized to the management requested interval.
      When there is no timer running, the value will indicate that the timer is
      not running (i.e. no adjustments in time taking place).";;
REGISTERED AS {m3100Attribute 156};


arcControl ACTION
  BEHAVIOUR arcControlBeh BEHAVIOUR
    DEFINED AS
      "The arcControl action provides management control for alarm reporting.
      This control is to be used either to turn reporting on or to turn
      reporting off. This is achieved by identifying the desired ARC state. In
      some cases the action will be denied because a state is not supported for
      a given resource type. In addition to specifying the state, the manager
      may request an arcInterval other than the default for a one time use. Such
      an override is only applicable in transitions to the nalm-qi and naml-ti
      states.";;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX M3100ASN1TypeModule4.ArcControlRequest;
REGISTERED AS { m3100Action 20 };


arcRetrieveAlarmDetail ACTION
  BEHAVIOUR arcRetrieveAlarmDetailBeh BEHAVIOUR
    DEFINED AS
      "The arcRetrieveAlarmDetail action provides a mechanism for querying a
      subset of the information relating to all current problems (i.e. probable
      cause, alarm status, perceived severity, and event time) and may be
      executed at any time, even when the the current problem is under
      management control for alarm reporting.";;
  MODE CONFIRMED;
  WITH REPLY SYNTAX M3100ASN1TypeModule4.ArcAlarmDetailSet;
REGISTERED AS { m3100Action 21 };


affectedObjectListParameter PARAMETER
  CONTEXT EVENT-INFO;
  WITH SYNTAX M3100ASN1TypeModule4.ArcAffectedObjectList;
  BEHAVIOUR affectedObjectListParameterBeh BEHAVIOUR
    DEFINED AS
      "The affectedObjectListParameter may be attached to alarm notifications.
      The purpose of this parameter is to identify the list of resources that
      are affected by the problem.";;
REGISTERED AS { m3100Parameter 66 };


alarmingResumedParameter PARAMETER
  CONTEXT EVENT-INFO;
  WITH SYNTAX M3100ASN1TypeModule4.AlarmingResumed;
  BEHAVIOUR alarmingResumedBeh BEHAVIOUR
    DEFINED AS
      "The alarmingResumedParameter shall be attached to alarm notifications
      emitted as a result of the resumption of alarming on a resource. The
      purpose of this parameter is to clarify the reason for any discrepancy
      between the time the event is received and the timestamp in the alarm
      notification. The timestamp of the alarm notification shall be the time
      that the problem was declared.";;
REGISTERED AS { m3100Parameter 67};


notSupportedProbableCause PARAMETER
  CONTEXT SPECIFIC-ERROR;
  WITH SYNTAX M3100ASN1TypeModule4.NotSupportedProbableCause;
  BEHAVIOUR notSupportedProbableCauseBeh BEHAVIOUR
    DEFINED AS
      "The probable cause values that are not supported by the object due to the
      fact that the object does not declare the probable cause.";;
REGISTERED AS { m3100Parameter 68};


arcIntervalProfile-managedElement NAME BINDING
  SUBORDINATE OBJECT CLASS arcIntervalProfile AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS managedElement AND SUBCLASSES;
  WITH ATTRIBUTE arcIntervalProfileId;
  BEHAVIOUR arcIntervalProfile-managedElementBeh BEHAVIOUR
    DEFINED AS
      "This name binding is used to name an instance of an arcIntervalProfile
      relative to a managedElement instance. The creation of a single instance
      of the arcIntervalProfile object is the result of the creation of the
      containing managedElement instance." ;;
REGISTERED AS { m3100NameBinding 90};


arcIntervalProfile-managedElementComplex NAME BINDING
  SUBORDINATE OBJECT CLASS arcIntervalProfile AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS managedElementComplex AND SUBCLASSES;
  WITH ATTRIBUTE arcIntervalProfileId;
  BEHAVIOUR arcIntervalProfile-managedElementComplexBeh BEHAVIOUR
    DEFINED AS
      "This name binding is used to name an instance of an arcIntervalProfile
      relative to a managedElementComplex instance. The creation of a single
      instance of the arcIntervalProfile object is the result of the creation of
      the containing managedElementComplex instance." ;;
REGISTERED AS { m3100NameBinding 91};


arcIntervalProfile-network NAME BINDING
  SUBORDINATE OBJECT CLASS arcIntervalProfile AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS network AND SUBCLASSES;
  WITH ATTRIBUTE arcIntervalProfileId;
  BEHAVIOUR arcIntervalProfile-networkBeh BEHAVIOUR
    DEFINED AS
      "This name binding is used to name an instance of an arcIntervalProfile
      relative to a network instance. The creation of a single instance of the
      arcIntervalProfile object is the result of the creation of the containing
      network instance." ;;
REGISTERED AS { m3100NameBinding 92};


fabricR3 MANAGED OBJECT CLASS
  DERIVED FROM fabricR2;
  CHARACTERIZED BY fabricR3Pkg PACKAGE
    ACTIONS bridgeRoll;;;
REGISTERED AS { m3100ObjectClass 73 };


bridgeRoll ACTION
  BEHAVIOUR bridgeRollBeh;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX M3100ASN1TypeModule5.BridgeRollArg;
  WITH REPLY SYNTAX M3100ASN1TypeModule5.BridgeRollReply;
REGISTERED AS { m3100Action 22 };


bridgeRollBeh BEHAVIOUR
  DEFINED AS
    "This action is used to control the bridge and roll process. This process is
    used to move a signal from one leg of an existing cross-connection to new leg.

    The results of a bridge and roll operation take one of two forms:
    bridgeRollFailed, which indicates that the requested operation was not
    successful. This response uses the same logicalProblems as the connect
    action of the fabric to report problems with the creation of a bridge. When
    the requested action cannot be performed because the identified termination
    points are not part of the connection, the logicalProblem
    notAlreadyConnected is used. bridgeRollComplete, which indicates that the
    requested operation was successful.

    For a bridge operation, the manager must specify the affected
    cross-connection, the termination point of that cross-connection that is to
    be replaced (bridgeRollFromTp), and the new termination point that will
    replace it (bridgeRollToTp). The results of the bridge operation depend on
    the type of cross-connection:

    if the connection is bidirectional, or the connection is unidirectional
    point-to-point and the bridgeRollFromTp is the toTermination of the
    crossConnection, the bridge operation will bridge the signal to the new leg,
    causing the creation of a new one-way crossConnection. If the operation is
    successful, the bridgeRollComplete field indicates the newly created
    crossConnection.

    if the connection is unidirectional point-to-multipoint, and the
    bridgeRollFromTp is the toTermination of the crossConnection, the bridge
    operation will result in the addition of another leg to the multicast. If
    the operation is successful, the bridgeRollComplete field indicates the
    newly created crossConnection.

    if the connection is unidirectional (point-to-point or point-to-multipoint),
    and the bridgeRollFromTp is the fromTermination of the connection, the
    bridge operation will reserve the bridgeRollToTp for use (if the network
    element supports such resource reservation), but will not cause a new
    connection to be created; the reservation is indicated by pointing the
    crossConnectionObjectPointer of the bridgeRollToTp to the existing
    crossConnection or mpCrossConnection object instance. If the operation is
    successful, the bridgeRollComplete field is NULL.

    For a roll operation, the manager must specify the same cross-connection and
    termination points that were specified in the bridge operation. The
    bridgeRollFromTp identifies the termination point from which service will be
    rolled. The results of a roll operation depend on the type of connection:

    If the connection is bidirectional, the crossConnection associated with the
    bridgeRollFromTp is made unidirectional, and the crossConnection associated
    with the bridgeRollToTp is made bidirectional. If the operation is successful,
    the bridgeRollComplete field is NULL.

    If the connection is unidirectional (point-to-point or point-to-multipoint),
    and the bridgeRollFromTp is the toTermination of the connection, there is no
    change to the configuration. If the operation is successful, the
    bridgeRollComplete field is NULL.

    If the connection is unidirectional (point-to-point or point-to-multipoint),
    and the bridgeRollFromTp is the fromTermination of the connection, the
    fromTermination of the connection is changed from the bridgeRollFromTp to
    the bridgeRollToTp. If the operation is successful, the bridgeRollComplete
    field is NULL.

    For a releaseBridge operation, the manager must specify the same
    cross-connection and termination points that were specified in the bridge
    operation. The bridgeRollFromTp identifies the termination point that is to
    be removed from the cross-connection. The results of a releaseBridge
    operation depend on the type of connection:

    If the connection is bidirectional, or the connection is unidirectional
    (point-to-point or point-to-multipoint) and the bridgeRollFromTp is not the
    toTermination of the connection, the releaseBridge operation causes the
    crossConnection that is associated with the bridgeRollFromTp to be deleted.
    If the operation was successful, the bridgeRollComplete field indicates the
    crossConnection that was deleted.

    If the connection is unidirectional (point-to-point or point-to-multipoint)
    and the bridgeRollFromTp is reserved by the connection, but is not the
    fromTermination of the connection, the releaseBridge operation causes the
    bridgeRollFromTp to be unreserved; this is indicated by pointing the
    crossConnectionObjectPointer of that termination point to the fabric. If the
    operation was successful, the bridgeRollComplete field is NULL.";


fabricR4 MANAGED OBJECT CLASS
  DERIVED FROM fabricR3;
  CHARACTERIZED BY fabricR4Pkg PACKAGE
    BEHAVIOUR fabricR4PkgBeh BEHAVIOUR
      DEFINED AS
        "This fabric extends the previous fabrics by adding the ability to
        migrate between bidirectional and unidirectional connections, between
        point-to-point and multicast connections, and between unprotected and
        protected connections. If the fabric supports these features, the
        appropriate conditional packages are instantiated.";;;;
  CONDITIONAL PACKAGES
    splitJoinPkg PRESENT IF
      "the fabric supports migration from a bidirectional point-to-point
      connection to two unidirectional connections, and vice versa",
    multicastConversionPkg PRESENT IF
      "the fabric supports migration from a unidirectional point-to-point
      connection to a multicast connection with a single leg, and vice versa",
    sncpPkg PRESENT IF
      "the fabric supports subnetwork connection protection";
REGISTERED AS {m3100ObjectClass 74};


splitJoinPkg PACKAGE
  BEHAVIOUR splitJoinPkgBeh BEHAVIOUR
    DEFINED AS
      "This package provides actions that allow a bidirectional connection to be
      converted to two unidirectional connections, or two unidirectional
      connections between the same termination points to be converted to a
      single bidirectional connection. In both cases the conversion is done
      without disrupting traffic, unless a particular implementation indicates
      otherwise.";;
  ACTIONS
    splitXC,
    joinXC;
REGISTERED AS {m3100Package 101};


multicastConversionPkg PACKAGE
  BEHAVIOUR multicastConversionPkgBeh BEHAVIOUR
    DEFINED AS
      "This package provides actions that allow a unidirectional point-to-point
      connection to be converted into a multicast connection with a single leg,
      or vice versa. In both cases the conversion is done without disrupting
      traffic, unless a particular implementation indicates otherwise.";;
  ACTIONS
    convertPtoPToMulticast,
    convertMulticastToPtoP;
REGISTERED AS {m3100Package 102};


sncpPkg PACKAGE
  BEHAVIOUR sncpPkgBeh BEHAVIOUR
    DEFINED AS
      "This package provides actions to establish protected connections and to
      migrate between protected and unprotected connections.";;
  ACTIONS
    "ITU-T Recommendation G.774-04":protectUnprotect,
    "ITU-T Recommendation G.774-04":protectedConnect;
REGISTERED AS {m3100Package 103};


convertMulticastToPtoP ACTION
  BEHAVIOUR convertMulticastToPtoPBeh BEHAVIOUR
    DEFINED AS
      "This action is used to convert a multicast connection with a single leg
      into a point-to-point unidirectional cross-connection. This action can be
      applied to either protected or unprotected connections. The action
      argument indicates the existing multicast (mpCrossConnection or
      mpConnectionProtection) that is to be converted. When this action is
      successfully performed, the existing multicast is deleted, and replaced
      with a unidirectional point-to-point. This action fails if the specified
      multicast contains more than one subordinate connection.";;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX M3100ASN1TypeModule6.ConvertMulticastToPtoPInfo;
  WITH REPLY SYNTAX M3100ASN1TypeModule6.ConvertMulticastToPtoPReply;
REGISTERED AS {m3100Action 23};


convertPtoPToMulticast ACTION
  BEHAVIOUR convertPtoPToMulticastBeh BEHAVIOUR
    DEFINED AS
      "This action is used to convert a unidirectional point-to-point
      cross-connection into a multicast connection with a single leg. This
      action can be applied to both protected and unprotected connections. When
      this action is successfully performed, the existing connection (or
      subclass) is deleted, and replaced with a multicast connection and a
      subordinate connection to represent the leg.";;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX M3100ASN1TypeModule6.ConvertPtoPToMulticastInfo;
  WITH REPLY SYNTAX M3100ASN1TypeModule6.ConvertPtoPToMulticastReply;
REGISTERED AS {m3100Action 24};


joinXC ACTION
  BEHAVIOUR joinXCBeh BEHAVIOUR
    DEFINED AS
      "This action is used to convert two unidirectional connections into a
      single bidirectional connection. This conversion is only allowed if the
      two connections are between the same bidirectional endpoints. This action
      can be applied to both protected and unprotected connections. When this
      action is successfully performed, the existing connections are deleted,
      and a bidirectional connection is created.";;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX M3100ASN1TypeModule6.JoinXCInfo;
  WITH REPLY SYNTAX M3100ASN1TypeModule6.JoinXCReply;
REGISTERED AS {m3100Action 25};


splitXC ACTION
  BEHAVIOUR splitXCBeh BEHAVIOUR
    DEFINED AS
      "This action is used to convert a bidirectional connection into two
      unidirectional connections. This action can be applied to both protected
      and unprotected connections. When this action is successfully performed,
      the existing bidirectional connection is deleted, and two unidirectional
      connections are created.";;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX M3100ASN1TypeModule6.SplitXCInfo;
  WITH REPLY SYNTAX M3100ASN1TypeModule6.SplitXCReply;
REGISTERED AS {m3100Action 26};


attributeRanges  MANAGED OBJECT CLASS
  DERIVED FROM  "Recommendation X.721: 1992":top;
  CHARACTERIZED BY attributeRangesPackage  PACKAGE
    BEHAVIOUR attributeRangesBeh;
    ATTRIBUTES
      attributeRangesId GET,
      kind GET,
      ranges GET;;;
REGISTERED AS {m3100ObjectClass 75};


attributeRangesBeh BEHAVIOUR
  DEFINED AS
    "The AttributeRanges class allows the managed system to report the minimum
    and maximum values accepted by a certain attribute, as well as the
    granularity, or step increments, of the range. Each AttributeRanges instance
    contains ranges for attributes belonging to one object class. The 'kind'
    attribute denotes the object class for which ranges are being defined. The
    'attributeName' field of the kind attribute specifies the name of the
    attribute for which a range is being defined. The range is then defined
    using the 'minimum', 'maximum', and 'granularity' fields.

    For each ManagedElement instance representing a network element, one or more
    AttributeRanges instances may be created. AttributeRanges instances are
    bound to the ManagedElement instance via a containment relationship.

    Ranges are defined per ManagedElement instance. This allows for an attribute
    to have different ranges when it belongs to different network elements. In
    other words, the scope of each AttributeRanges instance is the relevant
    objects associated with the ManagedElement which contains the
    AttributeRanges instance.";


genericTransportTTP MANAGED OBJECT CLASS
  DERIVED FROM  networkTerminationPoint;
  CHARACTERIZED BY genericTransportTTPPackage  PACKAGE
    BEHAVIOUR genericTransportTTPBeh BEHAVIOUR DEFINED AS
      "The GenericTransportTTP object is used to represent a physical port or
      endpoints of transport connections. It may be used by technology-specific
      models as an abstraction of an underlying transport layer.";;
    ATTRIBUTES
      clientLinkEndPointerList GET-REPLACE;;;
  CONDITIONAL PACKAGES
    ttpPortIDPackage PRESENT IF
      "the server TTP port is represented",
    potentialCapacityPackage PRESENT IF
      "the TTP represents a rate-adaptive technology";
REGISTERED AS {m3100ObjectClass 76};


ttpPortIDPackage PACKAGE
  ATTRIBUTES
    ttpPortID   GET;
REGISTERED AS {m3100Package 104};


potentialCapacityPackage PACKAGE
  ATTRIBUTES
    potentialCapacity  GET;
REGISTERED AS {m3100Package 105};


managedElementR2  MANAGED OBJECT CLASS
  DERIVED FROM  managedElementR1;
  CHARACTERIZED BY managedElementR2Package  PACKAGE
    BEHAVIOUR managedElementR2Beh BEHAVIOUR DEFINED AS
      "This object class is a subclass of ManagedElementR1, and it introduces
      three additional attributes not present in ManagedElementR1: modelCode,
      managedElementType, and neAlias.";;
    ATTRIBUTES
      managedElementType GET,
      modelCode GET;;;
  CONDITIONAL PACKAGES
    neAliasPackage PRESENT IF
      "an instance supports it.";
REGISTERED AS {m3100ObjectClass 77};


neAliasPackage PACKAGE
  ATTRIBUTES
    neAliases GET;
REGISTERED AS {m3100Package 106};


attributeRangesId  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "Recommendation X.721 : 1992" : rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721
    attributeRangesIdBehaviour  BEHAVIOUR
      DEFINED AS
        "The Attribute Ranges Id is an attribute type whose distinguished value
        can be used as a RDN when naming an instance of the Attribute Ranges
        object class.";;
REGISTERED AS {m3100Attribute 164};


kind ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  M3100ASN1TypeModule7.Kind;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    kindBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute holds a string representing the name of an object class
        for which the AttributeRanges instance is defining attribute ranges.";;
REGISTERED AS {m3100Attribute 157};


managedElementType  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  M3100ASN1TypeModule7.ManagedElementType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    managedElementTypeBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute holds a set of either textual strings or values from a
        predefined set (Object Identifiers), that describe the generic type of
        the Network Element modelled by the ManagedElementR2 instance. Multiple
        managed element type values may be used to describe hybrid equipment.";;
REGISTERED AS {m3100Attribute 158};


modelCode  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX
    M3100ASN1TypeModule7.ModelCode;
  MATCHES FOR
    EQUALITY;
  BEHAVIOUR
    modelCodeBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute stores the product model code of the Network Element.
        The product model code is the manufacturer's model identification
        information. It is vendor-provided information that the vendor uses to
        distinguish the network element among a family of products. This
        attribute is useful for OSSs performing equipment discovery and
        inventory processes.";;
REGISTERED AS {m3100Attribute 159};


neAliases  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  M3100ASN1TypeModule7.NeAliases;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    neAliasBeh BEHAVIOUR
      DEFINED AS
        "This attribute is used to hold aliases given by the EMS to a certain
        Managed Element instance. Having such aliases available via the EMS/NMS
        interface is useful for relating Network Element names entered at the EMS,
        via the Graphical User Interface or otherwise, to those found on the NMS
        user interface. More importantly, these aliases may appear in alarms
        sent by certain EMS software outside the interface. Thus, it would be
        crucial for the NMS to recognize such aliases in order to perform alarm
        correlation or other fault and performance functions.";;
REGISTERED AS {m3100Attribute 160};


potentialCapacity ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.Capacity;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR
    potentialCapacityBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute indicates the number of link connections or the amount
        of bandwidth that has not yet been assigned to a Link, but that could be
        assigned to the Link from the server trail.";;
REGISTERED AS {m3100Attribute 161};


ranges  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  M3100ASN1TypeModule7.Ranges;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    rangesBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute stores the ranges for attributes. Ranges may be defined
        for attributes of type INTEGER or type REAL. The 'attributeName' field
        specifies the name of the attribute for which a range is being defined.
        The range is then defined using the 'minimum', 'maximum', and
        'granularity' fields.";;
REGISTERED AS {m3100Attribute 162};


ttpPortID  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  M3100ASN1TypeModule7.PortIDType;
  MATCHES FOR EQUALITY;
REGISTERED AS {m3100Attribute 163};


attributeRanges-managedElement NAME BINDING
  SUBORDINATE OBJECT CLASS attributeRanges AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS   managedElement AND SUBCLASSES;
  WITH ATTRIBUTE attributeRangesId;
REGISTERED AS {m3100NameBinding 93};

--genericTransportTTP-managedElement NAME BINDING
-- SUBORDINATE OBJECT CLASS genericTransportTTP AND SUBCLASSES;
-- NAMED BY
--  SUPERIOR OBJECT CLASS   managedElement AND SUBCLASSES;
-- WITH ATTRIBUTE ttpPortID;
--REGISTERED AS {m3100NameBinding 94};


alarmReportingControlManager  MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T Rec. X.721 | ISO/IEC 10165-2 : 1992":top;
  CHARACTERIZED BY
    alarmReportingControlManagerPackage  PACKAGE
      BEHAVIOUR
        alarmReportingControlManagerBehaviour  BEHAVIOUR
          DEFINED AS
            !The alarm reporting control manager object class is a class of
            management support object that specifies the alarm report control
            setting and status for the objects in the managed system.!;;
      ATTRIBUTES
        alarmReportingControlManagerId GET SET-BY-CREATE,
        arcDefaultNALMTIInterval GET-REPLACE, -- defined in Amd.3
        arcDefaultNALMCDInterval GET-REPLACE, -- defined in Amd.3
        alarmReportingControlList GET-REPLACE  ADD-REMOVE ;;;
  CONDITIONAL PACKAGES
    objectManagementNotificationsPackage  PRESENT IF "an instance supports it";
REGISTERED AS {m3100ObjectClass 78};


alarmReportingControlList  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  M3100ASN1TypeModule4.AlarmReportingControlList;
  BEHAVIOUR
    alarmReportingControlListBehaviour BEHAVIOUR
      DEFINED AS
        !The Alarm Reporting Control List is an attribute type whose value
        provides a list of (SET OF) ARC setting for the objects in the managed
        system. Each entry in the list is the setting for an individual object.
        The setting for an individual object includes an identify of the
        controlled object (e.g., a TP object intance), the controlled probable
        causes, the arc state, and optionally the time remaining in the arc.!;;
REGISTERED AS {m3100Attribute 165};


alarmReportingControlManagerId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  ASN1DefinedTypesModule.NameType;
  MATCHES FOR EQUALITY, ORDERING, SUBSTRINGS;
  BEHAVIOUR
    "ITU-T Rec. X.721 | ISO/IEC 10165-2 : 1992":rDNIdBehaviour,
      -- The above behaviour is defined as part of discriminatorId in
      -- Recommendation X.721.
    alarmReportingControlManagerIdBehaviour BEHAVIOUR
      DEFINED AS
        !The Alarm Reporting Control Manager Id is an attribute type whose
        distinguished value can be used as a RDN when naming an instance of the
        Alarm Reporting Control Manager object class.!;;
REGISTERED AS {m3100Attribute 166};

--3.6.x Physical Port


physicalPort MANAGED OBJECT CLASS
  DERIVED FROM  "Recommendation X.721 : 1992":top;
  CHARACTERIZED BY
    physicalPortPackage  PACKAGE
      BEHAVIOUR
        physicalPortBehaviour  BEHAVIOUR
          DEFINED AS
            "This managed object class represents the characteristics of
            physical termination of network equipments. This MOC is a collection
            of common attributes of physical ports, and it is defined for
            inheritance. The purpose of modelling the physical port as an
            individual managed object is to provide more detailed information
            and possibility to show relationships among a port and its supported
            TTP(s) and (indirectly) CTP(s). When an instance of this class or
            its derived classes is instantiated under an instance of
            circuitPackR1, the conditional package
            circuitPackConfigurationPackage in the circuitPackR1 class should
            not be instantiated.

              A physical port is understood to consist of a physical part and a
              logical part. The physicalPort MOC is a physical resource that
              represents the physical part of the physical port while the
              genericTransportTTP MOC is a logical resource (sometimes called a
              device interface TP) one or more of which represent the logical
              part of the physical port. Transmission and mapping capabilities,
              as represented by the signal rates and mapping lists (and
              wavelengths) of the physicalPortSignalRateAndMappingList attribute
              are considered logical properties of a physical port, and so are
              included in the definition of genericTransportTTP Rev.1.

              Since the physical port is split into a physical resource part and
              a logical resource part, the supportedTTPList attribute is used to
              reference the logical part from the physical part. Conversely, the
              physicalPort attribute and the conditional ttpPortID attribute of
              the genericTransportTTPR1 object serve as references from the
              (pieces of the) logical part to the physical part.

              The associated genericTransportTTPs, i.e. the logical part of the
              physical port, are considered the lowest-layer server trail
              termination points (TTPs) supported by the physical port, e.g.
              vc4TTP or opticalSPITTP or vpTTP or ETYnTTPBidirectional.

              The capability to support the directionality for data transfer is
              represented by the pointDirectionality attribute of the associated
              genericTransportTTP objects (inherited from networkTerminationPoint).";;
      ATTRIBUTES
        physicalPortId   GET SET-BY-CREATE,
        "ITU-T Rec. X.721 | ISO/IEC 10165-2 : 1992" : administrativeState GET-REPLACE,
        connectorType     GET,
        reach        GET,
        supportedTTPList  GET;;;
  CONDITIONAL PACKAGES
    objectManagementNotificationsPackage  PRESENT IF "an instance supports it",
    stateChangeNotificationPackage PRESENT IF "an instance supports it",
    userLabelPackage PRESENT IF "an instance supports it";
REGISTERED AS {m3100ObjectClass 79};

--3.6.x Generic transport TTP with physical port SignalRateAndMapping list


genericTransportTTPR1 MANAGED OBJECT CLASS
  DERIVED FROM    genericTransportTTP;
  CHARACTERIZED BY
    genericTransportTTPR1Package  PACKAGE
      BEHAVIOUR genericTransportTTPR1Behaviour BEHAVIOUR DEFINED AS
        "The GenericTransportTTPR1 object is used to represent a
        GenericTransportTTP which has an associated physical port object and
        hosts the SignalRateAndMapping list of this physical port.

        The physicalPort attribute and the inherited conditional ttpPortID
        attribute store references to the Physical Port that supports this
        generic transport TTP.";;
      ATTRIBUTES
        physicalPortAttribute         GET,
        physicalPortSignalRateAndMappingList  GET-REPLACE  ADD-REMOVE;;;
REGISTERED AS {m3100ObjectClass 80};

--5.x Port Number


physicalPortId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.PortNumber;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    physicalPortIdBehaviour    BEHAVIOUR
      DEFINED AS
        "This attribute is the value of the port number. The port number may be
        used in constructing the name of the managed entity Physical Port.";;
REGISTERED AS {m3100Attribute 168};

--5.x Physical Port SignalRateAndMapping List


physicalPortSignalRateAndMappingList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  M3100ASN1TypeModule2.PhysicalPortSignalRateAndMappingList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR
    physicalPortSignalRateAndMappingListBehaviour BEHAVIOUR
      DEFINED AS
        "This attribute identifies the signal rate associated with a supported
        TTP of a physical port (e.g., rate=stm1) and its payload mapping (e.g.,
        au3 or au4). The signal rate and payload mapping is provisionable. For
        example, a port with signal rate stm4 may have a payload mapping of
        au4-4c. Another possible mapping of this rate is a sequence of four
        individual au4 (i.e., au4, au4, au4, au4) or a sequence of mixed au3 and
        au4 (e.g., au3, au3, au3, au4, au4, au3, au3, au3). This attribute
        supports two choices depending on whether the signal may be sent with
        the same rate in both directions or depends on the direction. It is also
        possible to support only one direction for signal transfer, which is a
        special case of different rates in the two directions. In addition if
        the port terminates an optical signal, different rates may be supported
        on different wavelengths. The port mapping list shall be consistent with
        the value of the attribute pointDirectionality. For example if the
        directionality is source, 'uniform' choice in the port mapping list is
        not a valid option.";;
REGISTERED AS {m3100Attribute 169};

--5.x Connector Type


connectorType  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  M3100ASN1TypeModule2.ConnectorType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    connectorTypeBehaviour    BEHAVIOUR
      DEFINED AS
        "This attribute describes the connector type used for this port. The
        value of this attribute can be one of the following: FC(Fibre
        Connector), LC(Lucent Connector), SC(Subscriber Connector), etc.";;
REGISTERED AS {m3100Attribute 170};

--5.x Reach


reach  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX  M3100ASN1TypeModule2.Reach;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    reachBehaviour    BEHAVIOUR
      DEFINED AS
        "This attribute indicates the length a signal may travel before
        requiring termination or regeneration. This attribute is useful for both
        planning and operations.";;
REGISTERED AS {m3100Attribute 171};

--5.x Supported TTP List


supportedTTPList  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectList;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    supportedTTPListBehaviour    BEHAVIOUR
      DEFINED AS
        "This attribute stores references to the lowest-layer Generic Transport
        Trail Termination Points with Physical Port SignalRateAndMapping List
        (genericTransportTTPR1) supported by this physical port.";;
REGISTERED AS {m3100Attribute 172};

--5.x Physical Port


physicalPortAttribute  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3100ASN1TypeModule2.ObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR
    physicalPortAttributeBehaviour    BEHAVIOUR
      DEFINED AS
        "This attribute stores a reference to the Physical Port that supports
        this generic transport TTP.";;
REGISTERED AS {m3100Attribute 173};

--6.x Name Binding
-- Physical Port is named from either Equipment (including Circuit Pack) or
-- Managed Element


physicalPort-equipment  NAME BINDING
  SUBORDINATE OBJECT CLASS  physicalPort AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  equipment AND SUBCLASSES;
  WITH ATTRIBUTE  physicalPortId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE;
REGISTERED AS {m3100NameBinding 95};


physicalPort-managedElement  NAME BINDING
  SUBORDINATE OBJECT CLASS  physicalPort AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS  managedElement AND SUBCLASSES;
  WITH ATTRIBUTE  physicalPortId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE;
REGISTERED AS {m3100NameBinding 96};

-- =============================================================================
--  Formatted by OpenT2 Version 5.5.6.34 on Wed Feb 09 15:29:57 2005