-- Module M3100ASN1Module3 (M.3100:07/1995)
-- See also ITU-T M.3100 (07/1995)
-- See also the index of all ASN.1 assignments needed in this document

M3100ASN1Module3 {itu-t recommendation m gnm(3100) informationModel(0)
  asn1Modules(2) asn1Module3(2)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN

-- EXPORTS everything
IMPORTS
  SwitchStatus
    FROM SDHProtASN1 {itu-t(0) recommendation(0) g(7) g774(774) hyphen(127)
      prot(3) informationModel(0) asn1Module(2) sdhmsp(0)}
  AdditionalInformation, ProbableCause
    FROM Attribute-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2)
      asn1Module(2) 1}
  RelativeDistinguishedName, ObjectInstance
    FROM CMIP-1 {joint-iso-itu-t ms(9) cmip(1) modules(0) protocol(3)};

AutoSwitchReason ::= ENUMERATED {
  waitToRestore(0), resourceDegrade(1), resourceFailed(2)}

ProtectionStatusR1 ::=
  SET OF
    CHOICE {noRequest       [0]  NULL,
            doNotRevert     [1]  NULL,
            manualSwitch
              [2]  SEQUENCE {switchStatus  [1]  SwitchStatus,
                             relatedUnit   [2]  FromAndToProtectionUnit
            },
            autoSwitch
              [3]  SEQUENCE {switchStatus      [1]  SwitchStatus,
                             relatedUnit       [2]  FromAndToProtectionUnit,
                             autoSwitchReason  [3]  AutoSwitchReason},
            forcedSwitch
              [4]  SEQUENCE {switchStatus  [1]  SwitchStatus,
                             relatedUnit   [2]  FromAndToProtectionUnit
            },
            lockout
              [5]  CHOICE {switchStatus   [1]  SwitchStatus,
                           releaseFailed  [2]  NULL},
            releaseFailed   [6]  NULL,
            resourceFailed  [7]  NULL,
            lockedIn        [8]  NULL}

ProtectionStatusParameterR1 ::= SEQUENCE {
  oldProtectionStatus  ProtectionStatusR1,
  newProtectionStatus  ProtectionStatusR1
}

FromAndToProtectionUnit ::= CHOICE {
  fromProtectionUnitNumber  [0]  RelativeDistinguishedName,
  toProtectionUnitNumber    [1]  RelativeDistinguishedName
}

-- For a protected PU, both the fromProtectionUnitNumber and the toProtectionUnitNumber hold the number of the
-- related protecting PU. When switching to the protecting PU (service on the protecting PU), the
-- toProtectionUnitNumber choice is used. When switching back to the protected PU (service on the protected PU),
-- the fromProtectionUnitNumber choice is used. 
-- For a protecting PU, both the fromProtectionUnitNumber and the toProtectionUnitNumber hold the number of the
-- related protected PU. When switching to the protected PU (service on the protected PU), the toProtectionUnitNumber
-- choice is used. When switching back to the protecting PU (service on the protecting PU), the
-- fromProtectionUnitNumber choice is used.
LockedInCondition ::= SEQUENCE {
  settingWindowTime    [0]  INTEGER, -- number of seconds
  releasingWindowTime  [1]  INTEGER, -- number of seconds
  hitsCount            [2]  INTEGER
}

ResourcePointer ::= CHOICE {
  null             NULL,
  objectInstances  SET OF ObjectInstance
}

ProtectionAlarmInfo ::= SEQUENCE {
  probableCause   ProbableCause,
  additionalInfo  AdditionalInformation
}

END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D