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

-- 8 ASN.1 modules
--<GDMO.Document "ITU-T Recommendation M.3100">
-- 8.1 ASN1DefinedTypesModule
ASN1DefinedTypesModule {itu-t recommendation m gnm(3100) informationModel(0)
  asn1Modules(2) asn1DefinedTypesModule(0)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN

-- EXPORTS everything
IMPORTS
  -- Note: RDNSequence, formerly imported
  -- from X.501 InformationFramework, is imported from X.711 CMIP.
  RDNSequence, ObjectInstance, ObjectClass
    FROM CMIP-1 {joint-iso-itu-t ms(9) cmip(1) modules(0) protocol(3)}
  MappingList, SignalRate
    FROM M3100ASN1TypeModule2 {itu-t recommendation m gnm(3100)
      informationModel(0) asn1Modules(2) asn1Module2(1)}
  ProbableCause, AdministrativeState, AvailabilityStatus, AttributeList,
    AdditionalInformation
    FROM Attribute-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2)
      asn1Module(2) 1};

m3100InformationModel OBJECT IDENTIFIER ::=
  {itu-t recommendation m gnm(3100) informationModel(0)}

m3100standardSpecificExtension OBJECT IDENTIFIER ::=
  {m3100InformationModel standardSpecificExtension(0)}

m3100ObjectClass OBJECT IDENTIFIER ::=
  {m3100InformationModel managedObjectClass(3)}

m3100Package OBJECT IDENTIFIER ::= {m3100InformationModel package(4)}

m3100Parameter OBJECT IDENTIFIER ::= {m3100InformationModel parameter(5)}

m3100Attribute OBJECT IDENTIFIER ::= {m3100InformationModel attribute(7)}

m3100NameBinding OBJECT IDENTIFIER ::= {m3100InformationModel nameBinding(6)}

m3100Action OBJECT IDENTIFIER ::= {m3100InformationModel action(9)}

m3100Notification OBJECT IDENTIFIER ::=
  {m3100InformationModel notification(10)}

-- Reserved arcs below m3100InformationModel are (8) for attribute groups
characteristicInfo OBJECT IDENTIFIER ::=
  {m3100standardSpecificExtension 0}

opticalSTM1SPICI CharacteristicInformation ::= {characteristicInfo  1}

-- opticalSPITTP* object instances with stmLevel attribute = 1
opticalSTM4SPICI CharacteristicInformation ::=
  {characteristicInfo  2}

-- opticalSPITTP* object instances with stmLevel attribute = 4
opticalSTM16SPICI CharacteristicInformation ::=
  {characteristicInfo  3}

-- opticalSPITTP* object instances with stmLevel attribute = 16
electricalSTM1SPICI CharacteristicInformation ::=
  {characteristicInfo  4}

-- electricalSPITTP* object instances with stmLevel attribute = 1
rsSTM1SPICI CharacteristicInformation ::=
  {characteristicInfo  5}

-- rsCTP* object instances with stmLevel attribute = 1
rsSTM4SPICI CharacteristicInformation ::=
  {characteristicInfo  6}

-- rsCTP* object instances with stmLevel attribute = 4
rsSTM16SPICI CharacteristicInformation ::=
  {characteristicInfo  7}

-- rsCTP* object instances with stmLevel attribute = 16
msSTM1SPICI CharacteristicInformation ::=
  {characteristicInfo  8}

-- msCTP* object instances with stmLevel attribute = 1
msSTM4SPICI CharacteristicInformation ::=
  {characteristicInfo  9}

-- msCTP* object instances with stmLevel attribute = 4
msSTM16SPICI CharacteristicInformation ::=
  {characteristicInfo  10}

-- msCTP* object instances with stmLevel attribute = 16
au3TU3VC3CI CharacteristicInformation ::=
  {characteristicInfo  11}

au4VC4CI CharacteristicInformation ::= {characteristicInfo  12}

tu11VC11CI CharacteristicInformation ::= {characteristicInfo  13}

tu12VC12CI CharacteristicInformation ::= {characteristicInfo  14}

tu2VC2CI CharacteristicInformation ::= {characteristicInfo  15}

tu12VC11CI CharacteristicInformation ::= {characteristicInfo  16}

vpCI CharacteristicInformation ::= {characteristicInfo  17}

vcCI CharacteristicInformation ::= {characteristicInfo  18}

e0CI CharacteristicInformation ::= {characteristicInfo  19}

e1CI CharacteristicInformation ::= {characteristicInfo  20}

e2CI CharacteristicInformation ::= {characteristicInfo  21}

e3CI CharacteristicInformation ::= {characteristicInfo  22}

e4CI CharacteristicInformation ::= {characteristicInfo  23}

e5-565M CharacteristicInformation ::= {characteristicInfo  24}

sts3c-and-VC4-1c CharacteristicInformation ::= {characteristicInfo  25}

sts12c-and-VC4-4c CharacteristicInformation ::= {characteristicInfo  26}

sts48c-and-VC4-16c CharacteristicInformation ::= {characteristicInfo  27}

sts192c-and-VC4-64c CharacteristicInformation ::= {characteristicInfo  28}

section-OC1-STS1-and-RS-STM0 CharacteristicInformation ::=
  {characteristicInfo  29}

section-OC192-STS192-and-RS-STM64 CharacteristicInformation ::=
  {characteristicInfo  30}

line-OC1-STS1-and-MS-STM0 CharacteristicInformation ::=
  {characteristicInfo  31}

line-OC192-STS192-and-MS-STM64 CharacteristicInformation ::=
  {characteristicInfo  32}

fc-12-133M CharacteristicInformation ::= {characteristicInfo  33}

-- Fiber Channel protocol
fc-25-266M CharacteristicInformation ::=
  {characteristicInfo  34}

-- Fiber Channel protocol
fc-50-531M CharacteristicInformation ::=
  {characteristicInfo  35}

-- Fiber Channel protocol
fc-100-1063M CharacteristicInformation ::=
  {characteristicInfo  36}

-- Fiber Channel protocol
fddi CharacteristicInformation ::=
  {characteristicInfo  37}

fast-Ethernet CharacteristicInformation ::= {characteristicInfo  38}

gigabit-Ethernet CharacteristicInformation ::= {characteristicInfo  39}

isdn-BRI CharacteristicInformation ::= {characteristicInfo  40}

-- ISDN Basic Rate Interface PTP layer rate
dsr-OC192-and-STM64 CharacteristicInformation ::=
  {characteristicInfo  41}

dsr-OC768-and-STM256 CharacteristicInformation ::= {characteristicInfo  42}

section-OC24-STS24-and-RS-STM8 CharacteristicInformation ::=
  {characteristicInfo  43}

line-OC24-STS24-and-MS-STM8 CharacteristicInformation ::=
  {characteristicInfo  44}

section-OC768-STS768-and-RS-STM256 CharacteristicInformation ::=
  {characteristicInfo  45}

line-OC768-STS768-and-MS-STM256 CharacteristicInformation ::=
  {characteristicInfo  46}

tenGigabit-Ethernet CharacteristicInformation ::= {characteristicInfo  47}

-- The following value assignments are for the Probable Cause when Integer Choice is used within the 
-- TMN application context.  These values shall always be assigned by this Recommendation in the context 
-- of TMN.
indeterminate ProbableCause ::=
  localValue:0

-- The following are used with communications alarm.
aIS ProbableCause ::=
  localValue:1

callSetUpFailure ProbableCause ::= localValue:2

degradedSignal ProbableCause ::= localValue:3

farEndReceiverFailure ProbableCause ::= localValue:4

framingError ProbableCause ::= localValue:5

lossOfFrame ProbableCause ::= localValue:6

lossOfPointer ProbableCause ::= localValue:7

lossOfSignal ProbableCause ::= localValue:8

payloadTypeMismatch ProbableCause ::= localValue:9

transmissionError ProbableCause ::= localValue:10

remoteAlarmInterface ProbableCause ::= localValue:11

excessiveBER ProbableCause ::= localValue:12

pathTraceMismatch ProbableCause ::= localValue:13

unavailable ProbableCause ::= localValue:14

signalLabelMismatch ProbableCause ::= localValue:15

lossOfMultiFrame ProbableCause ::= localValue:16

receiveFailure ProbableCause ::= localValue:17

transmitFailure ProbableCause ::= localValue:18

modulationFailure ProbableCause ::= localValue:19

demodulationFailure ProbableCause ::= localValue:20

broadcastChannelFailure ProbableCause ::= localValue:21

connectionEstablishmentError ProbableCause ::= localValue:22

invalidMessageReceived ProbableCause ::= localValue:23

localNodeTransmissionError ProbableCause ::= localValue:24

remoteNodeTransmissionError ProbableCause ::= localValue:25

routingFailure ProbableCause ::= localValue:26

-- Values 27-50 are reserved for communications alarm related probable causes
-- The following are used with equipment alarm.
backplaneFailure ProbableCause ::=
  localValue:51

dataSetProblem ProbableCause ::= localValue:52

equipmentIdentifierDuplication ProbableCause ::= localValue:53

externalIFDeviceProblem ProbableCause ::= localValue:54

lineCardProblem ProbableCause ::= localValue:55

multiplexerProblem ProbableCause ::= localValue:56

nEIdentifierDuplication ProbableCause ::= localValue:57

powerProblem ProbableCause ::= localValue:58

processorProblem ProbableCause ::= localValue:59

protectionPathFailure ProbableCause ::= localValue:60

receiverFailure ProbableCause ::= localValue:61

replaceableUnitMissing ProbableCause ::= localValue:62

replaceableUnitTypeMismatch ProbableCause ::= localValue:63

synchronizationSourceMismatch ProbableCause ::= localValue:64

terminalProblem ProbableCause ::= localValue:65

timingProblem ProbableCause ::= localValue:66

transmitterFailure ProbableCause ::= localValue:67

trunkCardProblem ProbableCause ::= localValue:68

replaceableUnitProblem ProbableCause ::= localValue:69

realTimeClockFailure ProbableCause ::= localValue:70

-- An equipment alarm to be issued if the system detects that the real time clock has failed.
antennaFailure ProbableCause ::=
  localValue:71

batteryChargingFailure ProbableCause ::= localValue:72

diskFailure ProbableCause ::= localValue:73

frequencyHoppingFailure ProbableCause ::= localValue:74

iODeviceError ProbableCause ::= localValue:75

lossOfSynchronisation ProbableCause ::= localValue:76

lossOfRedundancy ProbableCause ::= localValue:77

powerSupplyFailure ProbableCause ::= localValue:78

signalQualityEvaluationFailure ProbableCause ::= localValue:79

tranceiverFailure ProbableCause ::= localValue:80

protectionMechanismFailure ProbableCause ::= localValue:81

protectingResourceFailure ProbableCause ::= localValue:82

-- Values 83-100 are reserved for equipment alarm related probable causes
-- The following are used with environmental alarm.
airCompressorFailure ProbableCause ::=
  localValue:101

airConditioningFailure ProbableCause ::= localValue:102

airDryerFailure ProbableCause ::= localValue:103

batteryDischarging ProbableCause ::= localValue:104

batteryFailure ProbableCause ::= localValue:105

commercialPowerFailure ProbableCause ::= localValue:106

coolingFanFailure ProbableCause ::= localValue:107

engineFailure ProbableCause ::= localValue:108

fireDetectorFailure ProbableCause ::= localValue:109

fuseFailure ProbableCause ::= localValue:110

generatorFailure ProbableCause ::= localValue:111

lowBatteryThreshold ProbableCause ::= localValue:112

pumpFailure ProbableCause ::= localValue:113

rectifierFailure ProbableCause ::= localValue:114

rectifierHighVoltage ProbableCause ::= localValue:115

rectifierLowFVoltage ProbableCause ::= localValue:116

ventilationsSystemFailure ProbableCause ::= localValue:117

enclosureDoorOpen ProbableCause ::= localValue:118

explosiveGas ProbableCause ::= localValue:119

fire ProbableCause ::= localValue:120

flood ProbableCause ::= localValue:121

highHumidity ProbableCause ::= localValue:122

highTemperature ProbableCause ::= localValue:123

highWind ProbableCause ::= localValue:124

iceBuildUp ProbableCause ::= localValue:125

intrusionDetection ProbableCause ::= localValue:126

lowFuel ProbableCause ::= localValue:127

lowHumidity ProbableCause ::= localValue:128

lowCablePressure ProbableCause ::= localValue:129

lowTemperature ProbableCause ::= localValue:130

lowWater ProbableCause ::= localValue:131

smoke ProbableCause ::= localValue:132

toxicGas ProbableCause ::= localValue:133

coolingSystemFailure ProbableCause ::= localValue:134

externalEquipmentFailure ProbableCause ::= localValue:135

externalPointFailure ProbableCause ::= localValue:136

-- Values 137-150 are reserved for environmental alarm related probable causes
-- The following are used with Processing error alarm.
storageCapacityProblem ProbableCause ::=
  localValue:151

memoryMismatch ProbableCause ::= localValue:152

corruptData ProbableCause ::= localValue:153

outOfCPUCycles ProbableCause ::= localValue:154

sfwrEnvironmentProblem ProbableCause ::= localValue:155

sfwrDownloadFailure ProbableCause ::= localValue:156

lossOfRealTime ProbableCause ::= localValue:157

-- A processing error alarm to be issued if the system detects that it has lost the time in
-- the real time clock but  the clock itself is working. This could happen e.g. during a power 
-- cut in a small NE which does not have battery backup for the real time clock.
reinitialized ProbableCause ::=
  localValue:158

-- A processing error alarm to be issued after the system has reinitialised. This will indicate 
-- to the management systems that the view they have of the managed system may no longer 
-- be valid. Usage example: The managed 
-- system issues this alarm after a reinitialization with severity warning to inform the
-- management system about the event. No clearing notification will be sent.
applicationSubsystemFailure ProbableCause ::=
  localValue:159

configurationOrCustomisationError ProbableCause ::= localValue:160

databaseInconsistency ProbableCause ::= localValue:161

fileError ProbableCause ::= localValue:162

outOfMemory ProbableCause ::= localValue:163

softwareError ProbableCause ::= localValue:164

timeoutExpired ProbableCause ::= localValue:165

underlayingResourceUnavailable ProbableCause ::= localValue:166

versionMismatch ProbableCause ::= localValue:167

-- Values 168-200 are reserved for processing error alarm related probable causes. 
bandwidthReduced ProbableCause ::=
  localValue:201

congestion ProbableCause ::= localValue:202

excessiveErrorRate ProbableCause ::= localValue:203

excessiveResponseTime ProbableCause ::= localValue:204

excessiveRetransmissionRate ProbableCause ::= localValue:205

reducedLoggingCapability ProbableCause ::= localValue:206

systemResourcesOverload ProbableCause ::= localValue:207

AcceptableCircuitPackTypeList ::= SET OF PrintableString

AddedTps ::= SEQUENCE {
  gtp       ObjectInstance,
  tpsAdded  SEQUENCE OF ObjectInstance
}

AddLeg ::= SEQUENCE {
  mpCrossConnection  ObjectInstance,
  legs               SET OF ToTermSpecifier
}

AddTpsToGtpInformation ::=
  SEQUENCE OF
    SEQUENCE {tpsAdded  SEQUENCE OF TerminationPointInformation,
              gtp       ObjectInstance OPTIONAL}

AddTpsToGtpResult ::=
  SEQUENCE OF CHOICE {failed    [0]  Failed,
                      addedTps  [1]  AddedTps}

-- the n-th  element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "AddTpsToGtpInformation" type.
AddTpsToTpPoolInformation ::=
  SEQUENCE OF
    SEQUENCE {tps       SET OF TerminationPointInformation,
              toTpPool  ObjectInstance OPTIONAL}

AddTpsToTpPoolResult ::=
  SEQUENCE OF
    CHOICE {failed            [0]  Failed,
            tpsAddedToTpPool  [1]  TpsAddedToTpPool}

-- the n-th  element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "AddTPsToTpPoolInformation" type.
AlarmEffectOnServiceParameter ::= BOOLEAN -- TRUE implies service is affected

AlarmSeverityAssignment ::= SEQUENCE {
  problem                              ProbableCause,
  severityAssignedServiceAffecting     [0]  AlarmSeverityCode OPTIONAL,
  severityAssignedNonServiceAffecting  [1]  AlarmSeverityCode OPTIONAL,
  severityAssignedServiceIndependent   [2]  AlarmSeverityCode OPTIONAL
}

AlarmSeverityAssignmentList ::= SET OF AlarmSeverityAssignment

AlarmSeverityCode ::= ENUMERATED {
  non-alarmed(0), minor(1), major(2), critical(3), warning(4)}

AlarmStatus ::= ENUMERATED {
  cleared(0), activeReportable-Indeterminate(1), activeReportable-Warning(2),
  activeReportable-Minor(3), activeReportable-Major(4),
  activeReportable-Critical(5), activePending(6)}

Boolean ::= BOOLEAN

Bundle ::= SEQUENCE {
  characteristicInfoType  CharacteristicInformation,
  bundlingFactor          INTEGER
}

ChannelNumber ::= INTEGER

CharacteristicInformation ::= OBJECT IDENTIFIER

CircuitDirectionality ::= ENUMERATED {onewayOut(0), onewayIn(1), twoway(2)}

CircuitPackAvailabilityStatus ::=
  AvailabilityStatus(WITH COMPONENT (notInstalled))

CircuitPackType ::= PrintableString

Connected ::= CHOICE {
  pointToPoint       [0]  PointToPoint,
  pointToMultipoint  [1]  PointToMultipoint
}

ConnectInformation ::=
  SEQUENCE OF
    SEQUENCE {itemType
                CHOICE {unidirectional  [0]  ConnectionType,
                        bidirectional   [1]  ConnectionTypeBi,
                        addleg          [2]  AddLeg},
              administrativeState   AdministrativeState OPTIONAL,
              namedCrossConnection  [3]  NamedCrossConnection OPTIONAL,
              ...,
              userLabel             [4]  UserLabel OPTIONAL,
              redline               [5]  Boolean OPTIONAL,
              ...,
              additionalInfo        [6]  AdditionalInformation OPTIONAL
    }

ConnectorType ::= INTEGER

-- currently defined values for ConnectorType are
fcConnectorType ConnectorType ::=
  1 -- Fibre Connector

lcConnectorType ConnectorType ::= 2 -- Lucent connector

scConnectorType ConnectorType ::= 3 -- Subscriber Connector

ConnectivityPointer ::= CHOICE {
  none          NULL,
  single        ObjectInstance,
  concatenated  SEQUENCE OF ObjectInstance
}

ConnectResult ::= SEQUENCE OF CHOICE {failed     Failed,
                                      connected  Connected}

-- the n-th  element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "ConnectInformation" type.
ConnectionType ::= CHOICE {
  explicitPToP   [0]  ExplicitPtoP,
  ptoTpPool      [1]  PtoTPPool,
  explicitPtoMP  [2]  ExplicitPtoMP,
  ptoMPools      [3]  PtoMPools
}

ConnectionTypeBi ::= CHOICE {
  explicitPToP  [0]  ExplicitPtoP,
  ptoTpPool     [1]  PtoTPPool
}

Count ::= INTEGER

CreateError ::= INTEGER

CrossConnectionName ::= GraphicString

CrossConnectionObjectPointer ::= CHOICE {
  notConnected         [0]  ObjectInstance, -- Fabric object 
  connected            [1]  ObjectInstance, -- Cross-connection object 
  multipleConnections  MultipleConnections
}

CTPUpstreamPointer ::=
  ConnectivityPointer
    (WITH COMPONENTS {
       ...,
       
       -- the other two choices are present
       concatenated  ABSENT
     })

CTPDownstreamPointer ::=
  DownstreamConnectivityPointer
    (WITH COMPONENTS {
       ...,
       concatenated           ABSENT,
       broadcastConcatenated  ABSENT
     
     -- other choices are present
     })

CurrentProblem ::= SEQUENCE {
  problem      [0]  ProbableCause,
  alarmStatus  [1]  AlarmStatus
}

CurrentProblemList ::= SET OF CurrentProblem

Directionality ::= ENUMERATED {unidirectional(0), bidirectional(1)}

DisconnectInformation ::= SEQUENCE OF ObjectInstance -- tps

DisconnectResult ::=
  SEQUENCE OF CHOICE {failed        Failed,
                      disconnected  ObjectInstance} -- tp

-- the n-th  element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "DisconnectInformation" type.
DownstreamConnectivityPointer ::= CHOICE {
  none                   NULL,
  single                 ObjectInstance,
  concatenated           SEQUENCE OF ObjectInstance,
  broadcast              SET OF ObjectInstance,
  broadcastConcatenated  [1]  SET OF SEQUENCE OF ObjectInstance
}

ExplicitPtoMP ::= SEQUENCE {fromTp  ExplicitTP,
                            toTPs   SET OF ExplicitTP
}

ExplicitPtoP ::= SEQUENCE {fromTp  ExplicitTP,
                           toTp    ExplicitTP
}

ExplicitTP ::= CHOICE {
  oneTPorGTP  ObjectInstance,
  listofTPs   SEQUENCE OF ObjectInstance
}

ExternalTime ::= GeneralizedTime

EquipmentHoldONT COLOR=#B8860B>SEQUENCE OF
    SEQUENCE {cause           GeneralErrorCause,
              details         GraphicString OPTIONAL,
              relatedObjects  [0]  SET OF ObjectInstance OPTIONAL,
              attributeList   [1]  AttributeList OPTIONAL}

GeneralErrorCause ::= CHOICE {
  globalValue  OBJECT IDENTIFIER,
  localValue   INTEGER
}

objectInIncompatibleState GeneralErrorCause ::= localValue:1

noValidRelatedObject GeneralErrorCause ::= localValue:2

involvedInOffering GeneralErrorCause ::= localValue:3

serviceNotSupported GeneralErrorCause ::= localValue:4

provisioningOrderConflict GeneralErrorCause ::= localValue:5

equipmentFailure GeneralErrorCause ::= localValue:6

maxNumberExceeded GeneralErrorCause ::= localValue:7

containedObjects GeneralErrorCause ::= localValue:8

-- ObjectInIncompatibleState is used to specify that the object is in a state
-- that does not allow the operation. Details of the state should be 
-- provided.
-- NoValidRelatedObject is used to specify related objects that do not
-- exist in the MIB.
-- InvolvedInOffering is used to identify object(s) that are already
-- involved in a conflicting service offering.
-- ServiceNotSupported is used to indicate that the operation is 
-- attempting to initiate a service that is not supported by the 
-- equipment.
-- ProvisioningOrderConflict is used to identify that a service is 
-- being provisioned in an order that is not supported by the equipment. 
-- EquipmentFailure is used to indicate that an equipment failure as 
-- occured during the operation.
-- MaxNumberExceeded is used to indicate that requested create operation
-- cannot be completed as the maximum number of instances are reached.
-- ContainedObjects is used to indicate that requested delete operation
-- cannot be completed as there are contained instances.
HolderStatus ::= CHOICE {
  holderEmpty             [0]  NULL,
  inTheAcceptableList     [1]  CircuitPackType,
  notInTheAcceptableList  [2]  CircuitPackType,
  unknownType             [3]  NULL
}

IndividualSwitchOver ::= SEQUENCE {
  connection   ObjectInstance,
  -- crossConnection of connectionProtection (defined in Recommendation G.774.04)
  unchangedTP  ObjectInstance,
  newTP        ObjectInstance
  -- designates the newTP to which the unchanged TP has to be connected with
}

IndividualResult ::= CHOICE {failed  [0]  Failed,
                             pass    [1]  Connected
}

InformationTransferCapabilities ::= ENUMERATED {
  speech(0), audio3pt1(1), audio7(2), audioComb(3), digitalRestricted56(4),
  digitalUnrestricted64(5)
  
-- "..." these ellipses defined in ASN.1 amendment are used here to indicate that this is 
-- an  extensible type and additional enumerations may be added in future --}

ListOfCharacteristicInformation ::= SET OF CharacteristicInformation

ListOfTPs ::= SET OF ObjectInstance

LocationName ::= GraphicString

LogicalProblem ::= SEQUENCE {
  problemCause        ProblemCause,
  incorrectInstances  SET OF ObjectInstance OPTIONAL
}

MultipleConnections ::=
  SET OF
    CHOICE {downstreamNotConnected  [0]  ObjectInstance,
            downstreamConnected     [1]  ObjectInstance,
            upstreamNotConnected    [2]  ObjectInstance,
            upstreamConnected       [3]  ObjectInstance}

NamedCrossConnection ::= SEQUENCE {
  redline  BOOLEAN,
  name     CrossConnectionName
}

NameType ::= CHOICE {numericName  INTEGER,
                     pString      GraphicString
}

NumberOfCircuits ::= INTEGER

ObjectList ::= SET OF ObjectInstance

PhysicalPortSignalRateAndMappingList ::= CHOICE {
  diverse
    SEQUENCE {downstream  SignalRateAndMappingList,
              upStream    SignalRateAndMappingList},
  uniform  SignalRateAndMappingList
}

Pointer ::= ObjectInstance

PointerOrNull ::= CHOICE {pointer  ObjectInstance,
                          null     NULL
}

PointToPoint ::= SEQUENCE {
  fromTp  ObjectInstance,
  toTp    ObjectInstance,
  xCon    ObjectInstance
}

PointToMultipoint ::= SEQUENCE {
  fromTp  ObjectInstance,
  toTps
    SET OF SEQUENCE {tp           ObjectInstance,
                     xConnection  ObjectInstance},
  mpXCon  ObjectInstance
}

PortNumber ::= INTEGER

ProblemCause ::= CHOICE {unknown       NULL,
                         integerValue  INTEGER
}

-- The values of integer value for ProblemCause and integerValue for ResourceProblem shall always be
-- assigned by this Recommendation.  No values of integerValue for ResourceProblem have been assigned. 
-- The following values are used for integerValue of ProblemCause.
noSuchTpInstance ProblemCause ::=
  integerValue:0

noSuchGtpInstance ProblemCause ::= integerValue:1

noSuchTpPoolInstance ProblemCause ::= integerValue:2

mismatchingTpInstance ProblemCause ::= integerValue:3

mismatchingGtpInstance ProblemCause ::= integerValue:4

partOfGtp ProblemCause ::= integerValue:5

involvedInCrossConnection ProblemCause ::= integerValue:6

memberOfTpPool ProblemCause ::= integerValue:7

alreadyMemberOfGtp ProblemCause ::= integerValue:8

noTpInTpPool ProblemCause ::= integerValue:9

noMoreThanOneTpIsAllowed ProblemCause ::= integerValue:10

noMoreThanTwoTpsAreAllowed ProblemCause ::= integerValue:11

alreadyConnected ProblemCause ::= integerValue:12

-- alreadyConnected is used to indicate the two termination points requested to be cross-connected are already 
-- cross-connected versus involvedInCrossConnection is used to indicate one or more termination points are
-- cross-connected but not to each other.
notAlreadyConnected ProblemCause ::=
  integerValue:13

notMulticastWithOnlyOneSubordinateLeg ProblemCause ::= integerValue:14

endpointsNotTheSame ProblemCause ::= integerValue:15

notUnidirectional ProblemCause ::= integerValue:16

notBidirectional ProblemCause ::= integerValue:17

-- notMulticastWithOnlyOneSubordinateLeg is used with the convertMulticastToPtoP action
-- endpointsNotTheSame is used in the joinXC action
-- notUnidirectional is used in the convertPtoPtoMulticast action
-- notBidirectional is used in the splitXC action
PtoMPools ::= SEQUENCE {fromTp     ExplicitTP,
                        toTPPools  ToTPPools
}

PtoTPPool ::= SEQUENCE {fromTp    ExplicitTP,
                        toTpPool  ObjectInstance
}

Reach ::= INTEGER

RelatedObjectInstance ::= CHOICE {
  notAvailable   NULL,
  relatedObject  ObjectInstance
}

RemoveTpsFromGtpInformation ::=
  SEQUENCE OF SEQUENCE {fromGtp  ObjectInstance,
                        tps      SET OF ObjectInstance}

RemoveTpsFromGtpResult ::=
  SEQUENCE OF
    CHOICE {failed   [0]  Failed,
            removed  [1]  RemoveTpsResultInformation}

-- the n-th  element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "RemoveTPsFromGtpInformation" type.
RemoveTpsFromTpPoolInformation ::=
  SEQUENCE OF
    SEQUENCE {fromTpPool  ObjectInstance,
              tps         SET OF ObjectInstance}

RemoveTpsFromTpPoolResult ::=
  SEQUENCE OF
    CHOICE {failed   [0]  Failed,
            removed  [1]  RemoveTpsResultInformation}

-- the n-th  element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "RemoveTPsFromTpPoolInformation" type.
RemoveTpsResultInformation ::= SEQUENCE {
  deletedTpPoolOrGTP  ObjectInstance OPTIONAL,
  tps                 SET OF ObjectInstance
}

-- If the TP Pool or GTP is deleted, the deleted TP Pool or GTP should be provided in the 
-- RemoveTpsResultInformation 
Replaceable ::= ENUMERATED {yes(0), no(1), notapplicable(2)}

ResourceProblem ::= CHOICE {unknown       NULL,
                            integerValue  INTEGER
}

SequenceOfObjectInstance ::= SEQUENCE OF ObjectInstance

SerialNumber ::= GraphicString

SignallingCapabilities ::= ENUMERATED {
  isup(0), isup92(1), itu-tNo5(2), r2(3), itu-tNo6(4), tup(5)
                                                       
-- "..." these ellipses defined in ASN.1 amendment are used here to indicate that this is 
-- an  extensible type and additional enumerations may be added in future --}

SignalRateAndMappingList ::=
  SET OF
    SEQUENCE {-- only one member in the case of TDM
              signalRate   SignalRate,
              mappingList  MappingList OPTIONAL,
              wavelength   WaveLength OPTIONAL} -- used for WDM

-- the SignalRateAndMappingList is a SET OF to accommodate 
-- multiple wavelengths on a single TTP
SignalType ::= CHOICE {
  simple   CharacteristicInformation,
  bundle   Bundle,
  complex  [0]  SEQUENCE OF Bundle
}

SubordinateCircuitPackSoftwareLoad ::= CHOICE {
  notApplicable        NULL,
  softwareInstances    [0]  SEQUENCE OF ObjectInstance,
  softwareIdentifiers  [1]  SEQUENCE OF PrintableString
}

SupportableClientList ::= SET OF ObjectClass

SystemTiming ::= SEQUENCE {
  sourceType
    ENUMERATED {internalTimingSource(0), remoteTimingSource(1),
                slavedTimingTerminationSignal(2)},
  sourceID    ObjectInstance OPTIONAL
} -- not needed for internal source

SystemTimingSource ::= SEQUENCE {
  primaryTimingSource    SystemTiming,
  secondaryTimingSource  SystemTiming OPTIONAL
}

SwitchOverInformation ::= SEQUENCE OF IndividualSwitchOver

SwitchOverResult ::= SEQUENCE OF IndividualResult

TerminationPointInformation ::= CHOICE {
  tPOrGTP   [0]  ObjectInstance,
  sourceTP  [1]  ObjectInstance,
  sinkTP    [2]  ObjectInstance
}

ToTermSpecifier ::= CHOICE {
  toTpOrGTP  [0]  ExplicitTP,
  toPool     [1]  ObjectInstance
}

ToTPPools ::=
  SET OF SEQUENCE {tpPoolId     ObjectInstance,
                   numberOfTPs  INTEGER}

TpsAddedToTpPool ::= SEQUENCE {
  tpPool  ObjectInstance,
  tps     SET OF ObjectInstance
}

TpsInGtpList ::= SEQUENCE OF ObjectInstance

TransmissionCharacteristics ::= BIT STRING {
  satellite(0), dCME(1), echoControl(2)}

TypeText ::= GraphicString

UserLabel ::= GraphicString

VendorName ::= GraphicString

Version ::= GraphicString

WaveLength ::= INTEGER

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