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

SDHRadioProtASN1 {itu-t(0) recommendation(0) g(7) g774(774) hyphen(127)
  sdhRadioIM(8) informationModel(0) asn1Module(2) sdhRadioProtASN1(1)}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN

-- EXPORTS everything
IMPORTS
  -- Note: RelativeDistinguishedName, formerly imported from X.501 InformationFramework,
  --       is imported from X.711 CMIP.
  RelativeDistinguishedName
    FROM CMIP-1 {joint-iso-itu-t ms(9) cmip(1) modules(0) protocol(3)}
  NameType
    FROM ASN1DefinedTypesModule {itu-t(0) recommendation(0) m(13) gnm(3100)
      informationModel(0) asn1Modules(2) asn1DefinedTypesModule(0)}
  ProtectionEntity, ResourcePointer, RequestSource, InvokeExerciseArg
    FROM SDHProtASN1 {itu-t(0) recommendation(0) g(7) g774(774) hyphen(127)
      sdhProt(3) informationModel(0) asn1Module(2) sdhmsp(0)};

-- supporting productions
Boolean ::= BOOLEAN

Integer ::= INTEGER

InvokeRadioExerciseArg ::= InvokeExerciseArg

InvokeRadioExerciseReply ::=
  SET OF
    SEQUENCE {exercisedPU     RelativeDistinguishedName,
              exerciseResult  SEQUENCE OF SingleExerciseResult}

SingleExerciseResult ::= SEQUENCE {
  protectionUnit  RelativeDistinguishedName,
  result          Result
}

Result ::= ENUMERATED {success(0), denied(1), failed(2)}

Privileged ::= CHOICE {
  noBridge        [0]  NULL,
  privilegedUnit  [1]  RelativeDistinguishedName
}

RadioProtectionStatusParameter ::= RPSSummaryStatus

SDHRadioResourcePointer ::=
  ResourcePointer(WITH COMPONENTS {
                    ...,
                    objectInstances  (SIZE (1))
                  })

RPSSummaryStatus ::= SEQUENCE {
  statusOfRxProtectionSwitches  StatusOfRxProtectionSwitches,
  channelStatus                 ChannelStatus
}

StatusOfRxProtectionSwitches ::=
  SET OF
    SEQUENCE {protectingSectionId      RelativeDistinguishedName,
              protectingSectionStatus  ProtectingSectionStatus}

ProtectingSectionStatus ::= CHOICE {
  extraTraffic   [0]  NULL,
  protectedUnit  [1]  RelativeDistinguishedName
}

ChannelStatus ::=
  SET OF
    SEQUENCE {protUnitId      RelativeDistinguishedName,
              protUnitStatus  ProtUnitStatus}

ProtUnitStatus ::= SEQUENCE {
  channelASRequest   ChannelASRequest,
  radioSwitchStatus  RadioSwitchStatus
}

ChannelASRequest ::= ENUMERATED {
  noOne(0), waitToRestore(1), earlyWarning(2), lowBER(3), highBER(4),
  signalFail(5)}

RadioSwitchStatus ::= ENUMERATED {
  noRequest(0), manualSwitch(1), forcedSwitch(2), lockout(3), hwForcing(4)
}

RadioProtectionStatus ::= SEQUENCE {
  protectionUnitStatus  [0]  ProtUnitStatus,
  associatedChannel     [1]  AssociatedChannel,
  requestSource         [2]  RequestSource OPTIONAL
}

AssociatedChannel ::= CHOICE {
  itself  [0]  NULL,
  fromPU  [1]  RelativeDistinguishedName,
  toPU    [2]  RelativeDistinguishedName
}

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