-- Module SDHSNCPASN1 (G.774.4:02/2001)
-- See also ITU-T G.774.4 (02/2001)
-- See also the index of all ASN.1 assignments needed in this document

SDHSNCPASN1 {itu-t(0) recommendation(0) g(7) g774(774) hyphen(127) sncp(4)
  informationModel(0) asn1Module(2) sdhsncp(0)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN

--  EXPORTS everything 
IMPORTS
  ObjectInstance
    FROM CMIP-1 {joint-iso-ccitt ms(9) cmip(1) modules(0) protocol(3)}
  AdministrativeState, OperationalState
    FROM Attribute-ASN1Module {joint-iso-ccitt ms(9) smi(3) part2(2)
      asn1Module(2) 1}
  AddLeg, Connected, ConnectionType, ConnectionTypeBi, Directionality,
    ExplicitPtoMP, ExplicitPtoP, ExplicitTP, Failed, PointToMultipoint,
    PointToPoint, PtoMPools, PtoTPPool
    FROM ASN1DefinedTypesModule {ccitt recommendation m(13) gnm(3100)
      informationModel(0) asn1Modules(2) asn1DefinedTypesModule(0)}
  Boolean, Integer, ProtectionStatus, ProtectionStatusParameter
    FROM SDHProtASN1 {itu-t(0) recommendation(0) g(7) g774(774) hyphen(127)
      prot(3) informationModel(0) asn1Module(2) sdhmsp(0)};

sdhSNCP OBJECT IDENTIFIER ::=
  {itu-t(0) recommendation(0) g(7) g774(774) hyphen(127) sncp(4)
   informationModel(0)}

g774-04MObjectClass OBJECT IDENTIFIER ::= {sdhSNCP managedObjectClass(3)}

g774-04Attribute OBJECT IDENTIFIER ::= {sdhSNCP attribute(7)}

g774-04Action OBJECT IDENTIFIER ::= {sdhSNCP action(9)}

g774-04NameBinding OBJECT IDENTIFIER ::= {sdhSNCP nameBinding(6)}

g774-04Parameter OBJECT IDENTIFIER ::= {sdhSNCP parameter(5)}

g774-04Package OBJECT IDENTIFIER ::= {sdhSNCP package(4)}

g774-04StandardSpecificExtension OBJECT IDENTIFIER ::=
  {sdhSNCP standardSpecificExtension(0)}

--  The following value assignments are for the Protection Criteria in the 
--  context of SDH.
--  These values shall always be assigned by this Recommendation in the context 
--  of SDH.
sncpProtectionCriteria OBJECT IDENTIFIER ::=
  {g774-04StandardSpecificExtension 0}

sncpPathTraceMismatchCriteria OBJECT IDENTIFIER ::= {sncpProtectionCriteria 1}

sncpExcessiveErrorCriteria OBJECT IDENTIFIER ::= {sncpProtectionCriteria 2}

ConnectUnreliableTP ::= CHOICE {
  notConnected  [0]  UnreliableTp,
  connected     [1]  UnreliableTp
}

HoldOffTime ::= INTEGER

PointToPointProtection ::= SEQUENCE {
  protectedPointToPoint   PointToPoint,
  protectingPointToPoint  ProtectingConnection
}

--  The object Instance of the xCon of PointToPoint represents the object
--  instance of the created connectionProtection 
PointToMultipointProtection ::= SEQUENCE {
  protectedPointToMultipoint   PointToMultipoint,
  protectingPointToMultipoint  ProtectingConnection
}

--  The object Instance of the xConnections and mpXCon of PointToMultipoint 
--  represents the object instances of the created crossConnections and 
--  mpConnectionProtection
--  The protectingPointToMultipoint represents the object instance of the 
--  unreliable TP and the object instance of the created mpConnectionProtection 
--  of the protecting connection
ProtectedAddLeg ::= CHOICE {protected    [0]  AddLeg,
                            unProtected  [1]  AddLeg
}

--  The object Instance of the mpXCon of AddLeg represents the object instance of 
--  the mpConnectionProtection to which new legs are added 
ProtectedConnectInformation ::= SEQUENCE {
  connectionType
    CHOICE {connect        [0]  ProtectedConnection,
            addleg         [1]  ProtectedAddLeg,
            addUnreliable  [2]  ConnectUnreliableTP},
  administrativeState  AdministrativeState OPTIONAL
}

ProtectedConnection ::= SEQUENCE {
  protectionConnectionType  ProtectionConnectionType,
  protectingTP              ExplicitTP,
  revertive                 Boolean,
  waitToRestore             [0]  INTEGER OPTIONAL,
  holdOffTime               [1]  HoldOffTime OPTIONAL
}

ProtectionConnectionType ::= CHOICE {
  unidirectional  [0]  ConnectionType,
  bidirectional   [1]  ConnectionTypeBi
}

ProtectedConnectionResult ::= SEQUENCE {
  connectionType
    CHOICE {pointToPoint       [0]  PointToPointProtection,
            pointToMultipoint  [1]  PointToMultipointProtection},
  connectionPG    ObjectInstance
}

ProtectedConnectResult ::=
  SEQUENCE OF
    CHOICE {failed       [0]  Failed,
            protected    [1]  ProtectedConnectionResult,
            unprotected  [2]  Unprotected}

--  the n-th element in the "SEQUENCE OF" is related to the n-th element in the
--  "SEQUENCE OF" of the "ProtectedConnectInformation" type. 
ProtectingConnection ::= SEQUENCE {
  unreliableTp  ObjectInstance,
  conProt       ObjectInstance
}

ProtectionCriteria ::= SET OF Criterion

Criterion ::= OBJECT IDENTIFIER

ProtectUnprotectInformation ::=
  SEQUENCE OF
    SEQUENCE {connectionType
                CHOICE {protect    [3]  ProtectedConnection,
                        unprotect  [4]  UnprotectConnection},
              administrativeState  AdministrativeState OPTIONAL}

Unprotected ::= CHOICE {
  uniform  [0]  Connected,
  divers   [1]  UnprotectedMultiple
}

UnprotectedMultiple ::= SEQUENCE {
  sending    PointToPoint,
  receiving  PointToPoint
}

UnprotectConnection ::= CHOICE {
  uniPToP        [0]  ExplicitPtoP,
  pToMp          [1]  ExplicitPtoMP,
  bidirectional  [2]  UnprotectBi
}

UnprotectBi ::= CHOICE {
  uniformRoute  [0]  ExplicitPtoP,
  diverseRoute  [1]  UnprotectMultiple
}

UnprotectMultiple ::= SEQUENCE {
  firstXCon   ExplicitPtoP,
  secondXCon  ExplicitPtoP
}

UnreliableTp ::= SEQUENCE {
  unreliableTp          ExplicitTP,
  connectionProtection  ObjectInstance
}

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