-- Module SDHProtASN1 (G.774.3:02/2001)
-- See also ITU-T G.774.3 (02/2001)
-- See also the index of all ASN.1 assignments needed in this document
SDHProtASN1 {itu-t(0) recommendation(0) g(7) g774(774) hyphen(127) prot(3)
informationModel(0) asn1Module(2) sdhmsp(0)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- EXPORTS everything
IMPORTS
NameType
FROM ASN1DefinedTypesModule {itu-t(0) recommendation m gnm(3100)
informationModel(0) asn1Modules(2) asn1DefinedTypesModule(0)}
RelativeDistinguishedName, ObjectInstance
FROM CMIP-1 {joint-iso-itu-t ms(9) cmip(1) modules(0) protocol(3)}
AdditionalInformation, ManagementExtension
FROM Attribute-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2)
asn1Module(2) 1};
sdhProt OBJECT IDENTIFIER ::=
{itu-t(0) recommendation(0) g(7) g774(774) hyphen(127) prot(3)
informationModel(0)}
g774-03MObjectClass OBJECT IDENTIFIER ::= {sdhProt managedObjectClass(3)}
g774-03Attribute OBJECT IDENTIFIER ::= {sdhProt attribute(7)}
g774-03NameBinding OBJECT IDENTIFIER ::= {sdhProt nameBinding(6)}
g774-03Action OBJECT IDENTIFIER ::= {sdhProt action(9)}
g774-03Notification OBJECT IDENTIFIER ::= {sdhProt notification(10)}
g774-03Parameter OBJECT IDENTIFIER ::= {sdhProt parameter(5)}
g774-03Package OBJECT IDENTIFIER ::= {sdhProt package(4)}
-- default value definitions
booleanTrueDefault Boolean ::= TRUE
-- supporting productions
AutoSwitchReason ::= CHOICE {
waitToRestore [0] NULL,
signalDegrade [1] NULL,
signalFail [2] NULL
}
Boolean ::= BOOLEAN
FromAndToProtectionUnit ::= CHOICE {
fromProtectionUnitNumber [0] RelativeDistinguishedName,
toProtectionUnitNumber [1] RelativeDistinguishedName
}
--The fromProtectionUnitNumber is used for protecting protection unit in order to
--hold the name of the protected protection unit which has been protected by that
--protecting protection unit. The toProtectionUnitNumber is used for protected
--protection unit in order to hold the number of the protecting protection unit
--to which it has been switched to. In case of a MSP 1+1 system these parameters
--are not mandatory.
Integer ::= INTEGER
InvokeExerciseArg ::= SEQUENCE {
protectionEntity ProtectionEntity OPTIONAL, -- if absent, all PUs
otherInfo SET OF ManagementExtension OPTIONAL
}
InvokeExerciseReply ::=
SET OF
SEQUENCE {protectionUnit RelativeDistinguishedName,
result LastAttemptResult}
InvokeProtectionArg ::= SEQUENCE {
switchType SwitchType,
protectionEntity ProtectionEntity OPTIONAL, -- if absent, all PUs
otherInfo SET OF ManagementExtension OPTIONAL
}
InvokeProtectionError ::= ENUMERATED {preempted(0), failure(1), timeout(2)}
LastAttemptResult ::= CHOICE {
success [0] NULL, -- default value
denied [1] NULL,
fail [2] RxTxAPS
}
ProtectionDirection ::= ENUMERATED {transmit(0), receive(1), bidirectional(2)}
ProtectionEntity ::= SEQUENCE {
protectedUnits [0] SEQUENCE OF RelativeDistinguishedName OPTIONAL,
protectingUnits [1] SEQUENCE OF RelativeDistinguishedName OPTIONAL
}
--In case of a 1+1 non-revertive MSP system for a manual switch from the
--protecting protection unit to the protected one, the protectingUnits field
--shall be used and shall indicate the protection unit which has the channel
--number 0. If both fields are present they should be compatible sequences
ProtectionGroupType ::= ENUMERATED {
plus(0), -- 1+1 (1 plus 1) or hot-standby
colon(1) -- M:N (M for N) --}
ProtectionMismatchStatus ::= SEQUENCE {
uniBi [0] BOOLEAN,
plusColon [1] BOOLEAN
}
ProtectionStatus ::=
SET OF
CHOICE {noRequest [0] NULL,
doNotRevert [1] NULL,
manualSwitch
[2] SEQUENCE {requestSource [0] RequestSource OPTIONAL,
switchStatus [1] SwitchStatus,
relatedChannel [2] FromAndToProtectionUnit
},
autoSwitch
[3] SEQUENCE {requestSource [0] RequestSource OPTIONAL,
switchStatus [1] SwitchStatus,
relatedChannel [2] FromAndToProtectionUnit,
autoSwitchReason [3] AutoSwitchReason},
forcedSwitch
[4] SEQUENCE {requestSource [0] RequestSource OPTIONAL,
switchStatus [1] SwitchStatus,
relatedChannel [2] FromAndToProtectionUnit
},
lockout
[5] SEQUENCE {requestSource [0] RequestSource OPTIONAL,
switchStatus [1] SwitchStatus},
releaseFailed [6] NULL,
protectionFailCondApsInvalid [7] BOOLEAN,
protectionFailCondChannelMismatch [8] BOOLEAN}
ProtectionStatusParameter ::= SEQUENCE {
oldProtectionStatus ProtectionStatus,
newProtectionStatus ProtectionStatus,
psDirection ProtectionDirection DEFAULT bidirectional
}
ProtectionSwitchMode ::= ENUMERATED {bidirectional(0), unidirectional(1)}
ProtectionSwitchReportingInfo ::= SEQUENCE {
protectingUnit RelativeDistinguishedName,
additionalInfo AdditionalInformation
}
ProtectionUnit ::= CHOICE {
protectingUnit [0] RelativeDistinguishedName,
protectedUnit [1] RelativeDistinguishedName
}
ReleaseProtectionArg ::= SEQUENCE {
switchType SwitchType,
protectionEntity ProtectionEntity,
otherInfo SET OF ManagementExtension OPTIONAL
}
ReleaseProtectionError ::= ENUMERATED {failure(0), timeout(1)}
RequestSource ::= ENUMERATED {local(0), remote(1)}
ResourcePointer ::= CHOICE {
null NULL,
objectInstances SEQUENCE OF ObjectInstance
}
RxTxAPS ::= SEQUENCE {rxAPSvalue [0] INTEGER,
txAPSvalue [1] INTEGER
} -- APS byte 1 in low order byte , byte 2
-- in high order byte
SDHMSPriority ::= Integer(1..2)
-- 1 = high priority, 2 = low priority
SDHMSResourcePointer ::=
ResourcePointer(WITH COMPONENTS {
...,
objectInstances (SIZE (1))
})
SwitchStatus ::= ENUMERATED {pending(0), completed(1), operateFailed(2)}
SwitchType ::= ENUMERATED {manual(0), forced(1), lockout(2)}
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D