aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/gnm
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-08-28 14:56:03 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-08-28 14:56:03 +0000
commit12c44d2d721b0321d4a9caeb28c98dc11c6d74a8 (patch)
tree1450742db023ab3dd2724a16e21b69dc119581c5 /asn1/gnm
parent374c3d0b7581648039cae9a16318619ad5340e29 (diff)
Add dissection of ITU M.3100 GNM (GENERIC NETWORK INFORMATION MODEL).
svn path=/trunk/; revision=15592
Diffstat (limited to 'asn1/gnm')
-rw-r--r--asn1/gnm/GNM.asn717
-rw-r--r--asn1/gnm/Makefile.nmake42
-rw-r--r--asn1/gnm/gnm.cnf29
-rw-r--r--asn1/gnm/packet-gnm-template.c331
-rw-r--r--asn1/gnm/packet-gnm-template.h34
5 files changed, 1153 insertions, 0 deletions
diff --git a/asn1/gnm/GNM.asn b/asn1/gnm/GNM.asn
new file mode 100644
index 0000000000..f4cf05a067
--- /dev/null
+++ b/asn1/gnm/GNM.asn
@@ -0,0 +1,717 @@
+-- Module ASN1DefinedTypesModule (M.3100:04/2005)
+-- 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, Attribute
+ 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};
+;
+-- Local imports
+-- Module Attribute-ASN1Module (X.721:02/1992)
+-- Attribute-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2) asn1Module(2) 1}
+
+ProbableCause ::= CHOICE {globalValue OBJECT IDENTIFIER,
+ localValue INTEGER
+}
+
+AdministrativeState ::= ENUMERATED {locked(0), unlocked(1), shuttingDown(2)}
+
+AvailabilityStatus ::=
+ SET OF
+ INTEGER {inTest(0), failed(1), powerOff(2), offLine(3), offDuty(4),
+ dependency(5), degraded(6), notInstalled(7), logFull(8)}
+
+-- logFull is defined in CCITT Rec X.735 | ISO/IEC 10164-6.
+
+AttributeList ::= SET OF Attribute
+
+AdditionalInformation ::= SET OF ManagementExtension
+
+ControlStatus ::=
+ SET OF
+ INTEGER {subjectToTest(0), partOfServicesLocked(1), reservedForTest(2),
+ suspended(3)}
+
+ManagementExtension ::= SEQUENCE {
+ identifier OBJECT IDENTIFIER,
+ significance [1] BOOLEAN DEFAULT FALSE,
+ information [2] ANY
+}
+-- MappingList, SignalRate
+-- FROM M3100ASN1TypeModule2 {itu-t recommendation m gnm(3100)
+-- informationModel(0) asn1Modules(2) asn1Module2(1)}
+
+MappingList ::= SEQUENCE OF PayloadLevel
+
+PayloadLevel ::= CharacteristicInformation
+
+Packages ::= SET OF OBJECT IDENTIFIER
+
+SignalRate ::= CHOICE {
+ objectClass [0] OBJECT IDENTIFIER,
+ characteristicInformation [1] CharacteristicInformation
+}
+-- X.745
+SupportedTOClasses ::= SET OF OBJECT IDENTIFIER
+
+-- END Local imports
+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.
+
+
+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
+
+EquipmentHolderAddress ::= SEQUENCE OF PrintableString
+
+EquipmentHolderType ::= GraphicString
+
+Failed ::= CHOICE {
+ logicalProblem LogicalProblem,
+ resourceProblem ResourceProblem
+}
+
+GeneralError ::=
+ 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.
+
+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
+
diff --git a/asn1/gnm/Makefile.nmake b/asn1/gnm/Makefile.nmake
new file mode 100644
index 0000000000..d13d63c48c
--- /dev/null
+++ b/asn1/gnm/Makefile.nmake
@@ -0,0 +1,42 @@
+## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
+#
+# $Id$
+
+include ../../config.nmake
+
+UNIX2DOS=$(PERL) ../../tools/unix2dos.pl
+
+PROTOCOL_NAME=gnm
+DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).h
+
+all: generate_dissector
+
+generate_dissector: $(DISSECTOR_FILES)
+
+$(DISSECTOR_FILES): ../../tools/asn2eth.py GNM.asn packet-gnm-template.c packet-gnm-template.h gnm.cnf
+!IFDEF PYTHON
+ $(PYTHON) ../../tools/asn2eth.py -X -b -e -p $(PROTOCOL_NAME) -c gnm.cnf -s packet-gnm-template GNM.asn
+!ELSE
+ @echo Error: You need Python to use asn2eth.py
+ @exit 1
+!ENDIF
+
+clean:
+ rm -f parsetab.py $(DISSECTOR_FILES)
+
+# Fix EOL in generated dissectors. Cygwin's python generates files with
+# mixed EOL styles, which can't be commited to the SVN repository.
+# Stuff included from template and "cnf" files has "\r\n" on windows, while
+# the generated stuff has "\n".
+
+fix_eol: generate_dissector
+ move packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).c.tmp
+ move packet-$(PROTOCOL_NAME).h packet-$(PROTOCOL_NAME).h.tmp
+ $(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c
+ $(UNIX2DOS) < packet-$(PROTOCOL_NAME).h.tmp > packet-$(PROTOCOL_NAME).h
+ del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
+
+copy_files: generate_dissector fix_eol
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
+
diff --git a/asn1/gnm/gnm.cnf b/asn1/gnm/gnm.cnf
new file mode 100644
index 0000000000..646fc59d8a
--- /dev/null
+++ b/asn1/gnm/gnm.cnf
@@ -0,0 +1,29 @@
+# gnm.cnf
+
+# gnm conformation file
+
+
+# $Id$
+
+
+#.MODULE_IMPORT
+CMIP-1 cmip
+
+#.INCLUDE ../cmip/cmip-exp.cnf
+#.EXPORTS
+
+
+#.PDU
+
+
+#.NO_EMIT
+
+
+#.TYPE_RENAME
+
+
+#.FIELD_RENAME
+
+#.FN_BODY ManagementExtension/information
+/* FIX ME */
+#.END
diff --git a/asn1/gnm/packet-gnm-template.c b/asn1/gnm/packet-gnm-template.c
new file mode 100644
index 0000000000..c32f98dea1
--- /dev/null
+++ b/asn1/gnm/packet-gnm-template.c
@@ -0,0 +1,331 @@
+/* packet-gnm.c
+ * Routines for GENERIC NETWORK INFORMATION MODEL Data dissection
+ *
+ * Copyright 2005 , Anders Broman <anders.broman [AT] ericsson.com>
+ * $Id$
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ *
+ * References:
+ * ITU-T recommendatiom M.3100
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glib.h>
+#include <epan/packet.h>
+#include <epan/conversation.h>
+
+#include <stdio.h>
+#include <string.h>
+#include "packet-cmip.h"
+#include "packet-ber.h"
+#include "packet-gnm.h"
+
+#define PNAME "ITU M.3100 Generic Network Information Model"
+#define PSNAME "GNM"
+#define PFNAME "gnm"
+
+/* Initialize the protocol and registered fields */
+int proto_gnm = -1;
+
+static int hf_gnm_AdministrativeState = -1;
+#include "packet-gnm-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-gnm-ett.c"
+
+#include "packet-gnm-fn.c"
+
+
+
+static void
+dissect_gnm_attribute_1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_RelatedObjectInstance(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+
+static void
+dissect_gnm_attribute_ObjectList(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_ObjectList(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+
+static void
+dissect_gnm_attribute_3(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_AlarmSeverityAssignmentList(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+
+static void
+dissect_gnm_attribute_6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_AlarmStatus(FALSE, tvb, 0, pinfo, parent_tree, hf_gnm_alarmStatus);
+
+}
+
+static void
+dissect_gnm_attribute_7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_ChannelNumber(FALSE, tvb, 0, pinfo, parent_tree, hf_gnm_alarmStatus);
+
+}
+static void
+dissect_gnm_attribute_8(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_CharacteristicInformation(FALSE, tvb, 0, pinfo, parent_tree, hf_gnm_alarmStatus);
+
+}
+static void
+dissect_gnm_attribute_15(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_CrossConnectionName(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_gnm_attribute_16(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_CrossConnectionObjectPointer(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_gnm_attribute_17(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_CurrentProblemList(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_gnm_attribute_18(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_Directionality(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_gnm_attribute_19(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_DownstreamConnectivityPointer(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_gnm_attribute_21(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_ExternalTime(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+
+static void
+dissect_gnm_attribute_26(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_ListOfCharacteristicInformation(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_gnm_attribute_27(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_LocationName(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_gnm_attribute_34(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_Replaceable(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_gnm_attribute_SequenceOfObjectInstance(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_SequenceOfObjectInstance(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_gnm_attribute_PointerOrNull(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_PointerOrNull(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+
+static void
+dissect_gnm_attribute_NameType(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_NameType(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+
+static void
+dissect_gnm_attribute_ObjectInstance(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_cmip_ObjectInstance(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_gnm_attribute_Count(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_Count(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_gnm_attribute_Boolean(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_Boolean(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+static void
+dissect_smi_attribute_31(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_AdministrativeState(FALSE, tvb, 0, pinfo, parent_tree, hf_gnm_AdministrativeState);
+
+}
+
+static void
+dissect_smi_attribute_34(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_ControlStatus(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+
+static void
+dissect_smi_attribute_66(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_Packages(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+
+static void
+dissect_part12AttributeId_7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+
+ dissect_gnm_SupportedTOClasses(FALSE, tvb, 0, pinfo, parent_tree, -1);
+
+}
+
+
+void
+dissect_gnm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
+{
+ /* Dymmy function */
+}
+
+/*--- proto_register_gnm -------------------------------------------*/
+void proto_register_gnm(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+ { &hf_gnm_AdministrativeState,
+ { "AdministrativeState", "gnm.AdministrativeState",
+ FT_UINT32, BASE_DEC, VALS(gnm_AdministrativeState_vals), 0,
+ "", HFILL }},
+
+#include "packet-gnm-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-gnm-ettarr.c"
+ };
+
+ /* Register protocol */
+ proto_gnm = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("gnm", dissect_gnm, proto_gnm);
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_gnm, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+}
+
+
+/*--- proto_reg_handoff_gnm ---------------------------------------*/
+void proto_reg_handoff_gnm(void) {
+ register_ber_oid_dissector("0.0.13.3100.0.7.1", dissect_gnm_attribute_1, proto_gnm, "a-TPInstance(1)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.2", dissect_gnm_attribute_ObjectList, proto_gnm, "affectedObjectList(2)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.3", dissect_gnm_attribute_3, proto_gnm, "alarmSeverityAssignmentList(3)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.4", dissect_gnm_attribute_NameType, proto_gnm, "alarmSeverityAssignmentProfileId(4)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.5", dissect_gnm_attribute_PointerOrNull, proto_gnm, "alarmSeverityAssignmentProfilePointer(5)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.6", dissect_gnm_attribute_6, proto_gnm, "alarmStatus(6)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.7", dissect_gnm_attribute_7, proto_gnm, "channelNumber(7)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.8", dissect_gnm_attribute_8, proto_gnm, "characteristicInformation(8)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.9", dissect_gnm_attribute_ObjectInstance, proto_gnm, "clientConnection(9)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.10", dissect_gnm_attribute_ObjectInstance, proto_gnm, "clientTrail(10)");
+
+ register_ber_oid_dissector("0.0.13.3100.0.7.11", dissect_gnm_attribute_Count, proto_gnm, "connectedTpCount(11)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.12", dissect_gnm_attribute_NameType, proto_gnm, "connectionId(12)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.13", dissect_gnm_attribute_NameType, proto_gnm, "cTPId(13)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.14", dissect_gnm_attribute_NameType, proto_gnm, "crossConnectionId(14)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.15", dissect_gnm_attribute_15, proto_gnm, "crossConnectionName(15)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.16", dissect_gnm_attribute_16, proto_gnm, "crossConnectionObjectPointer(16)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.17", dissect_gnm_attribute_17, proto_gnm, "currentProblemList(17)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.18", dissect_gnm_attribute_18, proto_gnm, "directionality(18)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.19", dissect_gnm_attribute_19, proto_gnm, "downstreamConnectivityPointer(19)");
+
+ register_ber_oid_dissector("0.0.13.3100.0.7.20", dissect_gnm_attribute_NameType, proto_gnm, "equipmentId(20)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.21", dissect_gnm_attribute_19, proto_gnm, "externalTime(21)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.22", dissect_gnm_attribute_NameType, proto_gnm, "fabricId(22)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.23", dissect_gnm_attribute_PointerOrNull, proto_gnm, "fromTermination(23)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.24", dissect_gnm_attribute_NameType, proto_gnm, "gtpId(24)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.25", dissect_gnm_attribute_Count, proto_gnm, "idleTpCount(25)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.26", dissect_gnm_attribute_26, proto_gnm, "listOfCharacteristicInfo(26)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.27", dissect_gnm_attribute_27, proto_gnm, "locationName(27)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.28", dissect_gnm_attribute_NameType, proto_gnm, "managedElementId(28)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.29", dissect_gnm_attribute_NameType, proto_gnm, "mpCrossConnectionId(29)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.30", dissect_gnm_attribute_NameType, proto_gnm, "networkId(30)");
+
+ register_ber_oid_dissector("0.0.13.3100.0.7.31", dissect_gnm_attribute_ObjectInstance, proto_gnm, "networkLevelPointer(31)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.32", dissect_gnm_attribute_Boolean, proto_gnm, "protected(32)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.33", dissect_gnm_attribute_Boolean, proto_gnm, "redline(33)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.34", dissect_gnm_attribute_34, proto_gnm, "replaceable(34)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.35", dissect_gnm_attribute_SequenceOfObjectInstance, proto_gnm, "serverConnectionList(35)");
+ register_ber_oid_dissector("0.0.13.3100.0.7.36", dissect_gnm_attribute_ObjectList, proto_gnm, "serverTrailList(36)");
+
+ register_ber_oid_dissector("2.9.3.2.7.31", dissect_smi_attribute_31, proto_gnm, "smi2AttributeID (7) administrativeState(31)");
+ register_ber_oid_dissector("2.9.3.2.7.34", dissect_smi_attribute_34, proto_gnm, "smi2AttributeID (7) controlStatus(34)");
+ register_ber_oid_dissector("2.9.3.2.7.66", dissect_smi_attribute_66, proto_gnm, "smi2AttributeID (7) packages(66)");
+
+ register_ber_oid_dissector("2.9.2.12.7.7", dissect_part12AttributeId_7, proto_gnm, "part12AttributeId (7) supportedTOClasses(7)");
+
+
+}
diff --git a/asn1/gnm/packet-gnm-template.h b/asn1/gnm/packet-gnm-template.h
new file mode 100644
index 0000000000..5688725eae
--- /dev/null
+++ b/asn1/gnm/packet-gnm-template.h
@@ -0,0 +1,34 @@
+/* packet-gnm.c
+ * Routines for GENERIC NETWORK INFORMATION MODEL Data dissection
+ *
+ * Copyright 2005 , Anders Broman <anders.broman [AT] ericsson.com>
+ * $Id$
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ *
+ * References:
+ * ITU-T recommendatiom M.3100
+ */
+#ifndef PACKET_GNM_H
+#define PACKET_GNM_H
+
+/*#include "packet-gni-exp.h"*/
+
+#endif /* PACKET_GNM_H */