Upgrade LPP dissector to v11.1.0 and modify extract_asn1_from_spec.pl to automaticall...
authorPascal Quantin <pascal.quantin@gmail.com>
Fri, 11 Jan 2013 19:31:15 +0000 (19:31 -0000)
committerPascal Quantin <pascal.quantin@gmail.com>
Fri, 11 Jan 2013 19:31:15 +0000 (19:31 -0000)
svn path=/trunk/; revision=47034

asn1/lpp/LPP.asn
asn1/lpp/lpp.cnf
asn1/lpp/packet-lpp-template.c
asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn
asn1/lte-rrc/EUTRA-RRC-Definitions.asn
asn1/lte-rrc/EUTRA-UE-Variables.asn
epan/dissectors/packet-lpp.c
tools/extract_asn1_from_spec.pl

index c9629ac679e06885271af6915d1f83650c68dadc..9fbe55b70ecdedba2920c987fa896b30567d36c0 100644 (file)
@@ -1,4 +1,4 @@
--- 3GPP TS 36.355 V11.0.0 (2012-09)
+-- 3GPP TS 36.355 V11.1.0 (2012-12)
 -- $Id$
 --
 
@@ -10,6 +10,7 @@ DEFINITIONS AUTOMATIC TAGS ::=
 
 BEGIN
 
+
 LPP-Message ::= SEQUENCE {
        transactionID                   LPP-TransactionID       OPTIONAL,       -- Need ON
        endTransaction                  BOOLEAN,
@@ -25,6 +26,7 @@ Acknowledgement ::= SEQUENCE {
        ackIndicator    SequenceNumber          OPTIONAL
 }
 
+
 LPP-MessageBody ::= CHOICE {
        c1                                              CHOICE {
                requestCapabilities                     RequestCapabilities,
@@ -41,6 +43,7 @@ LPP-MessageBody ::= CHOICE {
        messageClassExtension   SEQUENCE {}
 }
 
+
 LPP-TransactionID ::= SEQUENCE {
        initiator                               Initiator,
        transactionNumber               TransactionNumber,
@@ -55,6 +58,7 @@ Initiator ::= ENUMERATED {
 
 TransactionNumber ::= INTEGER (0..255)
 
+
 RequestCapabilities ::= SEQUENCE {
        criticalExtensions              CHOICE {
                c1                                              CHOICE {
@@ -74,6 +78,7 @@ RequestCapabilities-r9-IEs ::= SEQUENCE {
        ...
 }
 
+
 ProvideCapabilities ::= SEQUENCE {
        criticalExtensions              CHOICE {
                c1                                              CHOICE {
@@ -93,6 +98,7 @@ ProvideCapabilities-r9-IEs ::= SEQUENCE {
        ...
 }
 
+
 RequestAssistanceData ::= SEQUENCE {
        criticalExtensions              CHOICE {
                c1                                              CHOICE {
@@ -111,6 +117,7 @@ RequestAssistanceData-r9-IEs ::= SEQUENCE {
        ...
 }
 
+
 ProvideAssistanceData ::= SEQUENCE {
        criticalExtensions              CHOICE {
                c1                                              CHOICE {
@@ -129,6 +136,7 @@ ProvideAssistanceData-r9-IEs ::= SEQUENCE {
        ...
 }
 
+
 RequestLocationInformation ::= SEQUENCE {
        criticalExtensions              CHOICE {
                c1                                              CHOICE {
@@ -149,6 +157,7 @@ RequestLocationInformation-r9-IEs ::= SEQUENCE {
        ...
 }
 
+
 ProvideLocationInformation ::= SEQUENCE {
        criticalExtensions              CHOICE {
                c1                                              CHOICE {
@@ -169,6 +178,7 @@ ProvideLocationInformation-r9-IEs ::= SEQUENCE {
        ...
 }
 
+
 Abort ::= SEQUENCE {
        criticalExtensions              CHOICE {
                c1                                              CHOICE {
@@ -185,6 +195,7 @@ Abort-r9-IEs ::= SEQUENCE {
        epdu-Abort                      EPDU-Sequence                   OPTIONAL        -- Need ON
 }
 
+
 Error ::= CHOICE {
        error-r9                                        Error-r9-IEs,
        criticalExtensionsFuture        SEQUENCE {}
@@ -196,6 +207,7 @@ Error-r9-IEs ::= SEQUENCE {
        epdu-Error                      EPDU-Sequence                   OPTIONAL        -- Need ON
 }
 
+
 AccessTypes ::= SEQUENCE {
        accessTypes             BIT STRING {    eutra           (0),
                                                                        utra            (1),
@@ -203,10 +215,13 @@ AccessTypes ::= SEQUENCE {
        ...
 }
 
-ARFCN-ValueEUTRA ::= INTEGER (0.. 65535)
+
+ARFCN-ValueEUTRA ::= INTEGER (0.. 65535) 
+
 
 ARFCN-ValueUTRA ::=    INTEGER (0..16383)
 
+
 CellGlobalIdEUTRA-AndUTRA ::= SEQUENCE {
        plmn-Identity           SEQUENCE {
                                                        mcc             SEQUENCE (SIZE (3))     OF INTEGER (0..9),
@@ -219,6 +234,7 @@ CellGlobalIdEUTRA-AndUTRA ::= SEQUENCE {
        ...
 }
 
+
 CellGlobalIdGERAN ::= SEQUENCE {
        plmn-Identity           SEQUENCE {
                                                        mcc             SEQUENCE (SIZE (3))     OF INTEGER (0..9),
@@ -229,18 +245,21 @@ CellGlobalIdGERAN ::= SEQUENCE {
        ...
 }
 
+
 ECGI ::= SEQUENCE {
        mcc                             SEQUENCE (SIZE (3))     OF INTEGER (0..9),
        mnc                             SEQUENCE (SIZE (2..3))  OF INTEGER (0..9),
        cellidentity    BIT STRING (SIZE (28))
 }
 
+
 Ellipsoid-Point ::= SEQUENCE {
        latitudeSign                            ENUMERATED {north, south},
        degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
        degreesLongitude                        INTEGER (-8388608..8388607)             -- 24 bit field
 }
 
+
 Ellipsoid-PointWithUncertaintyCircle ::= SEQUENCE {
        latitudeSign                            ENUMERATED {north, south},
        degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
@@ -248,6 +267,7 @@ Ellipsoid-PointWithUncertaintyCircle ::= SEQUENCE {
        uncertainty                                     INTEGER (0..127)
 }
 
+
 EllipsoidPointWithUncertaintyEllipse ::= SEQUENCE {
        latitudeSign                            ENUMERATED {north, south},
        degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
@@ -258,6 +278,7 @@ EllipsoidPointWithUncertaintyEllipse ::= SEQUENCE {
        confidence                                      INTEGER (0..100)
 }
 
+
 EllipsoidPointWithAltitude ::= SEQUENCE {
        latitudeSign                            ENUMERATED {north, south},
        degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
@@ -266,6 +287,7 @@ EllipsoidPointWithAltitude ::= SEQUENCE {
        altitude                                        INTEGER (0..32767)                              -- 15 bit field
 }
 
+
 EllipsoidPointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
        latitudeSign                            ENUMERATED {north, south},
        degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
@@ -279,6 +301,7 @@ EllipsoidPointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
        confidence                                      INTEGER (0..100)
 }
 
+
 EllipsoidArc ::= SEQUENCE {
        latitudeSign                            ENUMERATED {north, south},
        degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
@@ -290,6 +313,7 @@ EllipsoidArc ::= SEQUENCE {
        confidence                                      INTEGER (0..100)
 }
 
+
 EPDU-Sequence ::= SEQUENCE (SIZE (1..maxEPDU)) OF EPDU
 
 maxEPDU INTEGER ::= 16
@@ -311,11 +335,13 @@ EPDU-Name ::= VisibleString (SIZE (1..32))
 
 EPDU-Body ::= OCTET STRING 
 
+
 HorizontalVelocity ::= SEQUENCE {
        bearing                                         INTEGER(0..359),
        horizontalSpeed                         INTEGER(0..2047)
 }
 
+
 HorizontalWithVerticalVelocity ::= SEQUENCE {
        bearing                                         INTEGER(0..359),
        horizontalSpeed                         INTEGER(0..2047),
@@ -323,12 +349,14 @@ HorizontalWithVerticalVelocity ::= SEQUENCE {
        verticalSpeed                           INTEGER(0..255)
 }
 
+
 HorizontalVelocityWithUncertainty ::= SEQUENCE {
        bearing                                         INTEGER(0..359),
        horizontalSpeed                         INTEGER(0..2047),
        uncertaintySpeed                        INTEGER(0..255)
 }
 
+
 HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE {
        bearing                                         INTEGER(0..359),
        horizontalSpeed                         INTEGER(0..2047),
@@ -338,6 +366,7 @@ HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE {
        verticalUncertaintySpeed        INTEGER(0..255)
 }
 
+
 LocationCoordinateTypes ::= SEQUENCE {
        ellipsoidPoint                                                                                  BOOLEAN,
        ellipsoidPointWithUncertaintyCircle                                     BOOLEAN,
@@ -349,6 +378,7 @@ LocationCoordinateTypes ::= SEQUENCE {
        ...
 }
 
+
 Polygon ::= SEQUENCE (SIZE (3..15)) OF PolygonPoints
 
 PolygonPoints ::= SEQUENCE {
@@ -357,6 +387,7 @@ PolygonPoints ::= SEQUENCE {
        degreesLongitude                        INTEGER (-8388608..8388607)             -- 24 bit field
 }
 
+
 PositioningModes ::= SEQUENCE {
        posModes                BIT STRING {    standalone      (0),
                                                                        ue-based        (1),
@@ -364,6 +395,7 @@ PositioningModes ::= SEQUENCE {
        ...
 }
 
+
 VelocityTypes ::= SEQUENCE {
        horizontalVelocity                                                                              BOOLEAN,
        horizontalWithVerticalVelocity                                                  BOOLEAN,
@@ -372,23 +404,28 @@ VelocityTypes ::= SEQUENCE {
        ...
 }
 
+
 CommonIEsRequestCapabilities ::= SEQUENCE {
        ...
 }
 
+
 CommonIEsProvideCapabilities ::= SEQUENCE {
        ...
 }
 
+
 CommonIEsRequestAssistanceData ::= SEQUENCE {
        primaryCellID           ECGI            OPTIONAL,       -- Cond EUTRA
        ...
 }
 
+
 CommonIEsProvideAssistanceData ::= SEQUENCE {
        ...
 }
 
+
 CommonIEsRequestLocationInformation ::= SEQUENCE {
        locationInformationType         LocationInformationType,
        triggeredReporting                      TriggeredReportingCriteria      OPTIONAL,       -- Cond ECID
@@ -467,6 +504,7 @@ Environment ::= ENUMERATED {
        ...
 }
 
+
 CommonIEsProvideLocationInformation ::= SEQUENCE {
        locationEstimate                        LocationCoordinates             OPTIONAL,
        velocityEstimate                        Velocity                                OPTIONAL,
@@ -508,6 +546,7 @@ LocationFailureCause ::= ENUMERATED {
        ...
 }
 
+
 CommonIEsAbort ::= SEQUENCE {
        abortCause                      ENUMERATED {
                undefined,
@@ -518,6 +557,7 @@ CommonIEsAbort ::= SEQUENCE {
        }
 }
 
+
 CommonIEsError ::= SEQUENCE {
        errorCause              ENUMERATED {
                undefined,
@@ -529,6 +569,7 @@ CommonIEsError ::= SEQUENCE {
        }
 }
 
+
 OTDOA-ProvideAssistanceData ::= SEQUENCE {
        otdoa-ReferenceCellInfo                 OTDOA-ReferenceCellInfo                         OPTIONAL,       -- Need ON
        otdoa-NeighbourCellInfo                 OTDOA-NeighbourCellInfoList                     OPTIONAL,       -- Need ON
@@ -536,6 +577,7 @@ OTDOA-ProvideAssistanceData ::= SEQUENCE {
        ...
 }
 
+
 OTDOA-ReferenceCellInfo ::= SEQUENCE {
        physCellId                                      INTEGER (0..503),
        cellGlobalId                            ECGI                                            OPTIONAL,               -- Need ON
@@ -547,6 +589,7 @@ OTDOA-ReferenceCellInfo ::= SEQUENCE {
        ...     
 }
 
+
 PRS-Info ::= SEQUENCE {
        prs-Bandwidth                   ENUMERATED { n6, n15, n25, n50, n75, n100, ... },
        prs-ConfigurationIndex  INTEGER (0..4095),
@@ -561,6 +604,7 @@ PRS-Info ::= SEQUENCE {
        }                                                                                                               OPTIONAL                                -- Need OP
 }
 
+
 OTDOA-NeighbourCellInfoList ::= SEQUENCE (SIZE (1..maxFreqLayers)) OF OTDOA-NeighbourFreqInfo
 OTDOA-NeighbourFreqInfo ::= SEQUENCE (SIZE (1..24)) OF OTDOA-NeighbourCellInfoElement
 
@@ -582,17 +626,20 @@ OTDOA-NeighbourCellInfoElement ::= SEQUENCE {
 
 maxFreqLayers  INTEGER ::= 3
 
+
 OTDOA-RequestAssistanceData ::= SEQUENCE {
        physCellId              INTEGER (0..503),
        ...
 }
 
+
 OTDOA-ProvideLocationInformation ::= SEQUENCE {
        otdoaSignalMeasurementInformation       OTDOA-SignalMeasurementInformation      OPTIONAL,
        otdoa-Error                                                     OTDOA-Error                                                     OPTIONAL,
        ...
 }
 
+
 OTDOA-SignalMeasurementInformation ::= SEQUENCE {
        systemFrameNumber               BIT STRING (SIZE (10)),
        physCellIdRef                   INTEGER (0..503),
@@ -614,6 +661,7 @@ NeighbourMeasurementElement ::= SEQUENCE {
        ...
 }
 
+
 OTDOA-MeasQuality ::= SEQUENCE {
        error-Resolution                BIT STRING (SIZE (2)),
        error-Value                             BIT STRING (SIZE (5)),
@@ -621,11 +669,13 @@ OTDOA-MeasQuality ::= SEQUENCE {
        ...
 }
 
+
 OTDOA-RequestLocationInformation ::= SEQUENCE {
        assistanceAvailability          BOOLEAN,
        ...
 }
 
+
 OTDOA-ProvideCapabilities ::= SEQUENCE {
        otdoa-Mode              BIT STRING {    ue-assisted (0) } (SIZE (1..8)),
        ...,
@@ -638,16 +688,19 @@ SupportedBandEUTRA ::= SEQUENCE {
        bandEUTRA                                                       INTEGER (1..64)
 }
 
+
 OTDOA-RequestCapabilities ::= SEQUENCE {
        ...
 }
 
+
 OTDOA-Error ::= CHOICE {
        locationServerErrorCauses               OTDOA-LocationServerErrorCauses,
        targetDeviceErrorCauses                 OTDOA-TargetDeviceErrorCauses,
        ...
 }
 
+
 OTDOA-LocationServerErrorCauses ::= SEQUENCE {
        cause           ENUMERATED      {       undefined,
                                                                assistanceDataNotSupportedByServer,
@@ -657,6 +710,7 @@ OTDOA-LocationServerErrorCauses ::= SEQUENCE {
        ...
 }
 
+
 OTDOA-TargetDeviceErrorCauses ::= SEQUENCE {
        cause           ENUMERATED {    undefined,
                                                                assistance-data-missing,
@@ -668,6 +722,7 @@ OTDOA-TargetDeviceErrorCauses ::= SEQUENCE {
        ...
 }
 
+
 A-GNSS-ProvideAssistanceData ::= SEQUENCE {
        gnss-CommonAssistData                   GNSS-CommonAssistData                           OPTIONAL,       -- Need ON
        gnss-GenericAssistData                  GNSS-GenericAssistData                          OPTIONAL,       -- Need ON
@@ -675,6 +730,7 @@ A-GNSS-ProvideAssistanceData ::= SEQUENCE {
        ...
 }
 
+
 GNSS-CommonAssistData ::= SEQUENCE {
        gnss-ReferenceTime                              GNSS-ReferenceTime                                      OPTIONAL,       -- Need ON
        gnss-ReferenceLocation                  GNSS-ReferenceLocation                          OPTIONAL,       -- Need ON
@@ -683,6 +739,7 @@ GNSS-CommonAssistData ::= SEQUENCE {
        ...
 }
 
+
 GNSS-GenericAssistData ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataElement
 
 GNSS-GenericAssistDataElement ::= SEQUENCE {
@@ -700,6 +757,7 @@ GNSS-GenericAssistDataElement ::= SEQUENCE {
        ...
 }
 
+
 GNSS-ReferenceTime ::= SEQUENCE  {
        gnss-SystemTime                         GNSS-SystemTime,
        referenceTimeUnc                        INTEGER (0..127)                                        OPTIONAL,       -- Cond noFTA
@@ -715,6 +773,7 @@ GNSS-ReferenceTimeForOneCell  ::= SEQUENCE {
        ...
 }
 
+
 GNSS-SystemTime ::= SEQUENCE {
        gnss-TimeID                                             GNSS-ID,
        gnss-DayNumber                                  INTEGER (0..32767),
@@ -725,6 +784,7 @@ GNSS-SystemTime ::= SEQUENCE {
        ...
 }
 
+
 GPS-TOW-Assist ::= SEQUENCE (SIZE(1..64)) OF GPS-TOW-AssistElement
 
 GPS-TOW-AssistElement ::= SEQUENCE {
@@ -736,6 +796,7 @@ GPS-TOW-AssistElement ::= SEQUENCE {
        ...
 }
 
+
 NetworkTime ::= SEQUENCE {
        secondsFromFrameStructureStart                          INTEGER(0..12533),
        fractionalSecondsFromFrameStructureStart        INTEGER(0..3999999),
@@ -773,17 +834,20 @@ NetworkTime ::= SEQUENCE {
        ...
 }
 
+
 GNSS-ReferenceLocation ::= SEQUENCE {
                threeDlocation                  EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
                ...
 }
 
+
 GNSS-IonosphericModel ::= SEQUENCE {
        klobucharModel                  KlobucharModelParameter         OPTIONAL,       -- Need ON
        neQuickModel                    NeQuickModelParameter           OPTIONAL,       -- Need ON
        ...
 }
 
+
 KlobucharModelParameter ::= SEQUENCE {
        dataID                  BIT STRING (SIZE (2)),
        alfa0                   INTEGER (-128..127),
@@ -797,6 +861,7 @@ KlobucharModelParameter ::= SEQUENCE {
        ...
 }
 
+
 NeQuickModelParameter ::= SEQUENCE {
        ai0                     INTEGER (0..4095),
        ai1                     INTEGER (0..4095),
@@ -809,6 +874,7 @@ NeQuickModelParameter ::= SEQUENCE {
        ...
 }
 
+
 GNSS-EarthOrientationParameters ::= SEQUENCE {
        teop                            INTEGER (0..65535),
        pmX                                     INTEGER (-1048576..1048575),
@@ -820,6 +886,7 @@ GNSS-EarthOrientationParameters ::= SEQUENCE {
        ...
 }
 
+
 GNSS-TimeModelList ::= SEQUENCE (SIZE (1..15)) OF GNSS-TimeModelElement
 
 GNSS-TimeModelElement ::= SEQUENCE {
@@ -833,6 +900,7 @@ GNSS-TimeModelElement ::= SEQUENCE {
        ...
 }
 
+
 GNSS-DifferentialCorrections ::= SEQUENCE {
        dgnss-RefTime           INTEGER (0..3599),
        dgnss-SgnTypeList       DGNSS-SgnTypeList,
@@ -861,6 +929,7 @@ DGNSS-CorrectionsElement ::= SEQUENCE {
        ...
 }
 
+
 GNSS-NavigationModel ::= SEQUENCE {
        nonBroadcastIndFlag     INTEGER (0..1), 
        gnss-SatelliteList              GNSS-NavModelSatelliteList,
@@ -896,6 +965,7 @@ GNSS-OrbitModel ::= CHOICE {
        ...
 }
 
+
 StandardClockModelList ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelElement
 
 StandardClockModelElement ::= SEQUENCE {
@@ -906,7 +976,8 @@ StandardClockModelElement ::= SEQUENCE {
        stanClockTgd    INTEGER (-512..511)                             OPTIONAL,       -- Need ON
        stanModelID     INTEGER (0..1)                                          OPTIONAL,       -- Need ON
        ...
-}
+} 
+
 
 NAV-ClockModel ::= SEQUENCE {
        navToc                  INTEGER (0..37799),
@@ -917,6 +988,7 @@ NAV-ClockModel ::= SEQUENCE {
        ...
 }
 
+
 CNAV-ClockModel ::= SEQUENCE {
        cnavToc                 INTEGER (0..2015),
        cnavTop                 INTEGER (0..2015),
@@ -936,6 +1008,7 @@ CNAV-ClockModel ::= SEQUENCE {
        ...
 }
 
+
 GLONASS-ClockModel ::= SEQUENCE {
        gloTau                  INTEGER (-2097152..2097151),
        gloGamma                INTEGER (-1024..1023),
@@ -943,6 +1016,7 @@ GLONASS-ClockModel ::= SEQUENCE {
        ...
 }
 
+
 SBAS-ClockModel ::= SEQUENCE {
        sbasTo                  INTEGER (0..5399),
        sbasAgfo                INTEGER (-2048..2047),
@@ -950,6 +1024,7 @@ SBAS-ClockModel ::= SEQUENCE {
        ...
 }
 
+
 NavModelKeplerianSet ::= SEQUENCE {
        keplerToe                INTEGER (0 .. 16383), 
        keplerW                  INTEGER (-2147483648..2147483647),
@@ -970,6 +1045,7 @@ NavModelKeplerianSet ::= SEQUENCE {
        ...
 }
 
+
 NavModelNAV-KeplerianSet ::= SEQUENCE {
        navURA                  INTEGER (0..15),
        navFitFlag              INTEGER (0..1),
@@ -1003,6 +1079,7 @@ NavModelNAV-KeplerianSet ::= SEQUENCE {
        ...
 }
 
+
 NavModelCNAV-KeplerianSet ::= SEQUENCE {
        cnavTop                         INTEGER (0..2015),
        cnavURAindex            INTEGER (-16..15),
@@ -1026,6 +1103,7 @@ NavModelCNAV-KeplerianSet ::= SEQUENCE {
        ...
 }
 
+
 NavModel-GLONASS-ECEF ::= SEQUENCE {
        gloEn                           INTEGER (0..31),
        gloP1                           BIT STRING (SIZE(2)),
@@ -1043,6 +1121,7 @@ NavModel-GLONASS-ECEF ::= SEQUENCE {
        ...
 }
 
+
 NavModel-SBAS-ECEF ::= SEQUENCE {
        sbasTo                          INTEGER (0..5399)                                       OPTIONAL,       -- Cond ClockModel
        sbasAccuracy            BIT STRING (SIZE(4)),
@@ -1058,6 +1137,7 @@ NavModel-SBAS-ECEF ::= SEQUENCE {
        ...
 }
 
+
 GNSS-RealTimeIntegrity ::= SEQUENCE { 
        gnss-BadSignalList      GNSS-BadSignalList,
        ...
@@ -1071,6 +1151,7 @@ BadSignalElement ::= SEQUENCE {
        ...
 }
 
+
 GNSS-DataBitAssistance ::= SEQUENCE {
        gnss-TOD                                INTEGER (0..3599),
        gnss-TODfrac                    INTEGER (0..999)                OPTIONAL,       -- Need ON
@@ -1094,6 +1175,7 @@ GNSS-DataBitsSgnElement ::= SEQUENCE {
        ...
 }
 
+
 GNSS-AcquisitionAssistance ::= SEQUENCE {
        gnss-SignalID                           GNSS-SignalID,
        gnss-AcquisitionAssistList      GNSS-AcquisitionAssistList,
@@ -1122,6 +1204,7 @@ GNSS-AcquisitionAssistElement  ::= SEQUENCE {
                                                                                                noInformation, ... }    OPTIONAL        -- Need ON
 }
 
+
 GNSS-Almanac ::= SEQUENCE {
        weekNumber                                      INTEGER (0..255)        OPTIONAL,       -- Need ON
        toa                                             INTEGER (0..255)        OPTIONAL,       -- Need ON
@@ -1143,6 +1226,7 @@ GNSS-AlmanacElement ::= CHOICE {
        ...
 }
 
+
 AlmanacKeplerianSet ::= SEQUENCE {
        svID                                    SV-ID,
        kepAlmanacE                             INTEGER (0..2047),
@@ -1158,6 +1242,7 @@ AlmanacKeplerianSet ::= SEQUENCE {
        ...
 }
 
+
 AlmanacNAV-KeplerianSet ::= SEQUENCE {
        svID                                    SV-ID,
        navAlmE                                 INTEGER (0..65535),
@@ -1173,6 +1258,7 @@ AlmanacNAV-KeplerianSet ::= SEQUENCE {
        ...
 }
 
+
 AlmanacReducedKeplerianSet ::= SEQUENCE {
        svID                                    SV-ID,
        redAlmDeltaA                    INTEGER (-128..127),
@@ -1184,6 +1270,7 @@ AlmanacReducedKeplerianSet ::= SEQUENCE {
        ...
 }
 
+
 AlmanacMidiAlmanacSet ::= SEQUENCE {
        svID                                    SV-ID,
        midiAlmE                                INTEGER (0..2047),
@@ -1201,6 +1288,7 @@ AlmanacMidiAlmanacSet ::= SEQUENCE {
        ...
 }
 
+
 AlmanacGLONASS-AlmanacSet ::= SEQUENCE {
        gloAlm-NA                               INTEGER (1..1461),
        gloAlmnA                                INTEGER (1..24),
@@ -1218,6 +1306,7 @@ AlmanacGLONASS-AlmanacSet ::= SEQUENCE {
        ...
 }
 
+
 AlmanacECEF-SBAS-AlmanacSet ::= SEQUENCE {
        sbasAlmDataID                   INTEGER (0..3),
        svID                                    SV-ID,
@@ -1232,6 +1321,7 @@ AlmanacECEF-SBAS-AlmanacSet ::= SEQUENCE {
        ...
 }
 
+
 GNSS-UTC-Model ::= CHOICE {
        utcModel1                       UTC-ModelSet1,  -- Model-1
        utcModel2                       UTC-ModelSet2,  -- Model-2
@@ -1240,6 +1330,7 @@ GNSS-UTC-Model ::= CHOICE {
        ...
 }
 
+
 UTC-ModelSet1 ::= SEQUENCE {
        gnss-Utc-A1                     INTEGER (-8388608..8388607),
        gnss-Utc-A0                     INTEGER (-2147483648..2147483647),
@@ -1252,6 +1343,7 @@ UTC-ModelSet1 ::= SEQUENCE {
        ...
 }
 
+
 UTC-ModelSet2 ::= SEQUENCE {
        utcA0                           INTEGER (-32768..32767),
        utcA1                           INTEGER (-4096..4095),
@@ -1265,6 +1357,7 @@ UTC-ModelSet2 ::= SEQUENCE {
        ...
 }
 
+
 UTC-ModelSet3 ::= SEQUENCE {
        nA                                      INTEGER (1..1461),
        tauC                            INTEGER (-2147483648..2147483647),
@@ -1274,6 +1367,7 @@ UTC-ModelSet3 ::= SEQUENCE {
        ...
 }
 
+
 UTC-ModelSet4 ::= SEQUENCE {
        utcA1wnt                        INTEGER (-8388608..8388607),
        utcA0wnt                        INTEGER (-2147483648..2147483647),
@@ -1287,6 +1381,7 @@ UTC-ModelSet4 ::= SEQUENCE {
        ...
 }
 
+
 GNSS-AuxiliaryInformation ::= CHOICE {
        gnss-ID-GPS             GNSS-ID-GPS,
        gnss-ID-GLONASS GNSS-ID-GLONASS,
@@ -1308,7 +1403,8 @@ GNSS-ID-GLONASS-SatElement ::= SEQUENCE {
        signalsAvailable        GNSS-SignalIDs,
        channelNumber           INTEGER (-7..13)                OPTIONAL,               -- Cond FDMA
        ...
-}
+}      
+
 
 A-GNSS-RequestAssistanceData ::= SEQUENCE {
        gnss-CommonAssistDataReq                GNSS-CommonAssistDataReq                OPTIONAL, -- Cond CommonADReq
@@ -1316,6 +1412,7 @@ A-GNSS-RequestAssistanceData ::= SEQUENCE {
        ...
 }
 
+
 GNSS-CommonAssistDataReq ::= SEQUENCE {
        gnss-ReferenceTimeReq                           GNSS-ReferenceTimeReq                           
                                                                                                                                OPTIONAL, -- Cond RefTimeReq
@@ -1328,6 +1425,7 @@ GNSS-CommonAssistDataReq ::= SEQUENCE {
        ...
 }
 
+
 GNSS-GenericAssistDataReq ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataReqElement
 
 GNSS-GenericAssistDataReqElement ::= SEQUENCE {
@@ -1345,6 +1443,7 @@ GNSS-GenericAssistDataReqElement ::= SEQUENCE {
        ...
 }
 
+
 GNSS-ReferenceTimeReq ::= SEQUENCE {
        gnss-TimeReqPrefList    SEQUENCE (SIZE (1..8)) OF GNSS-ID,                      
        gps-TOW-assistReq               BOOLEAN                                                         OPTIONAL, -- Cond gps
@@ -1352,20 +1451,24 @@ GNSS-ReferenceTimeReq ::= SEQUENCE {
        ...
 }
 
+
 GNSS-ReferenceLocationReq ::=  SEQUENCE {
        ...
 }
 
+
 GNSS-IonosphericModelReq ::=   SEQUENCE {
        klobucharModelReq               BIT STRING (SIZE(2))    OPTIONAL,       -- Cond klobuchar
        neQuickModelReq                 NULL                                    OPTIONAL,       -- Cond nequick
        ...
 }
 
+
 GNSS-EarthOrientationParametersReq ::=         SEQUENCE {
        ...
 }
 
+
 GNSS-TimeModelListReq ::= SEQUENCE (SIZE(1..15)) OF GNSS-TimeModelElementReq
 
 GNSS-TimeModelElementReq ::= SEQUENCE {
@@ -1374,12 +1477,14 @@ GNSS-TimeModelElementReq ::= SEQUENCE {
        ...
 }
 
+
 GNSS-DifferentialCorrectionsReq ::=    SEQUENCE {
        dgnss-SignalsReq                        GNSS-SignalIDs,
        dgnss-ValidityTimeReq           BOOLEAN,
        ...
 }
 
+
 GNSS-NavigationModelReq ::=    CHOICE {
        storedNavList           StoredNavListInfo,
        reqNavList                      ReqNavListInfo,
@@ -1413,10 +1518,13 @@ ReqNavListInfo ::=      SEQUENCE {
        ...
 }
 
+
+
 GNSS-RealTimeIntegrityReq ::=  SEQUENCE {
        ...
 }
 
+
 GNSS-DataBitAssistanceReq ::=  SEQUENCE {
        gnss-TOD-Req            INTEGER (0..3599),
        gnss-TOD-FracReq        INTEGER (0..999)                OPTIONAL,
@@ -1433,25 +1541,30 @@ GNSS-DataBitsReqSatElement ::= SEQUENCE {
        ...
 }
 
+
 GNSS-AcquisitionAssistanceReq ::=      SEQUENCE {
        gnss-SignalID-Req               GNSS-SignalID,
        ...
 }
 
+
 GNSS-AlmanacReq ::= SEQUENCE {
        modelID                         INTEGER(1..8)   OPTIONAL,
        ...
 }
 
+
 GNSS-UTC-ModelReq ::=  SEQUENCE {
        modelID                         INTEGER(1..8)   OPTIONAL,
        ...
 }
 
+
 GNSS-AuxiliaryInformationReq ::=       SEQUENCE {
        ...
 }
 
+
 A-GNSS-ProvideLocationInformation ::= SEQUENCE {
        gnss-SignalMeasurementInformation       GNSS-SignalMeasurementInformation               OPTIONAL,
        gnss-LocationInformation                        GNSS-LocationInformation                                OPTIONAL,
@@ -1459,12 +1572,14 @@ A-GNSS-ProvideLocationInformation ::= SEQUENCE {
        ...
 }
 
+
 GNSS-SignalMeasurementInformation ::= SEQUENCE {
        measurementReferenceTime                MeasurementReferenceTime,
        gnss-MeasurementList                    GNSS-MeasurementList,
        ...
 }
 
+
 MeasurementReferenceTime  ::= SEQUENCE {
        gnss-TOD-msec           INTEGER (0..3599999),
        gnss-TOD-frac           INTEGER (0..3999)                       OPTIONAL,               
@@ -1510,6 +1625,7 @@ MeasurementReferenceTime  ::= SEQUENCE {
        ...
 }
 
+
 GNSS-MeasurementList  ::= SEQUENCE (SIZE(1..16)) OF GNSS-MeasurementForOneGNSS
 
 GNSS-MeasurementForOneGNSS ::= SEQUENCE {
@@ -1542,17 +1658,20 @@ GNSS-SatMeasElement ::= SEQUENCE {
        ...
 }
 
+
 GNSS-LocationInformation ::= SEQUENCE {
        measurementReferenceTime                MeasurementReferenceTime,
        agnss-List                                              GNSS-ID-Bitmap,                                 
        ...
 }
 
+
 A-GNSS-RequestLocationInformation ::= SEQUENCE {
        gnss-PositioningInstructions            GNSS-PositioningInstructions,
        ...
 }
 
+
 GNSS-PositioningInstructions ::= SEQUENCE {
        gnss-Methods                            GNSS-ID-Bitmap, 
        fineTimeAssistanceMeasReq       BOOLEAN,
@@ -1562,6 +1681,7 @@ GNSS-PositioningInstructions ::= SEQUENCE {
        ...
 }
 
+
 A-GNSS-ProvideCapabilities ::= SEQUENCE {
        gnss-SupportList                        GNSS-SupportList                                OPTIONAL,
        assistanceDataSupportList       AssistanceDataSupportList               OPTIONAL,
@@ -1593,6 +1713,8 @@ AssistanceDataSupportList ::= SEQUENCE {
        ...
 }
 
+
+
 GNSS-CommonAssistanceDataSupport ::= SEQUENCE {
        gnss-ReferenceTimeSupport                               GNSS-ReferenceTimeSupport                               
                                                                                                                                OPTIONAL, -- Cond RefTimeSup
@@ -1605,32 +1727,37 @@ GNSS-CommonAssistanceDataSupport ::= SEQUENCE {
        ...
 }
 
+
 GNSS-ReferenceTimeSupport ::=  SEQUENCE {
        gnss-SystemTime         GNSS-ID-Bitmap,
        fta-Support                     AccessTypes                                                                             OPTIONAL, -- Cond fta
        ...
 }
 
+
 GNSS-ReferenceLocationSupport ::=      SEQUENCE {
        ...
 }
 
+
 GNSS-IonosphericModelSupport ::=       SEQUENCE {
        ionoModel               BIT STRING {    klobuchar       (0),
                                                                        neQuick         (1) } (SIZE (1..8)),
        ...
 }
 
+
 GNSS-EarthOrientationParametersSupport ::=     SEQUENCE {
        ...
 }
 
+
 GNSS-GenericAssistanceDataSupport ::= 
                                                                SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataSupportElement
 
 GNSS-GenericAssistDataSupportElement ::= SEQUENCE {
        gnss-ID                                                         GNSS-ID,
-       sbas-ID                                                         SBAS-ID                                         OPTIONAL, -- Cond GNSS ID SBAS
+       sbas-ID                                                         SBAS-ID                                         OPTIONAL, -- Cond GNSS-ID-SBAS
        gnss-TimeModelsSupport                          GNSS-TimeModelListSupport
                                                                                                                                        OPTIONAL, -- Cond TimeModSup
        gnss-DifferentialCorrectionsSupport     GNSS-DifferentialCorrectionsSupport
@@ -1652,16 +1779,19 @@ GNSS-GenericAssistDataSupportElement ::= SEQUENCE {
        ...
 }
 
+
 GNSS-TimeModelListSupport ::=  SEQUENCE {
        ...
 }
 
+
 GNSS-DifferentialCorrectionsSupport ::=        SEQUENCE {
        gnssSignalIDs                   GNSS-SignalIDs,
        dgnss-ValidityTimeSup   BOOLEAN,
        ...
 }
 
+
 GNSS-NavigationModelSupport ::= SEQUENCE {
        clockModel              BIT STRING {    model-1         (0),
                                                                        model-2         (1),
@@ -1676,20 +1806,24 @@ GNSS-NavigationModelSupport ::= SEQUENCE {
        ...
 }
 
+
 GNSS-RealTimeIntegritySupport ::=      SEQUENCE {
        ...
 }
 
+
 GNSS-DataBitAssistanceSupport ::=      SEQUENCE {
        ...
 }
 
+
 GNSS-AcquisitionAssistanceSupport ::=  SEQUENCE {
        ...,
        confidenceSupport-r10                                   ENUMERATED { true }             OPTIONAL,
        dopplerUncertaintyExtSupport-r10                ENUMERATED { true }             OPTIONAL
 }
 
+
 GNSS-AlmanacSupport ::=        SEQUENCE {
        almanacModel            BIT STRING {    model-1         (0),
                                                                                model-2         (1),
@@ -1700,6 +1834,7 @@ GNSS-AlmanacSupport ::=   SEQUENCE {
        ...
 }
 
+
 GNSS-UTC-ModelSupport ::=      SEQUENCE {
        utc-Model               BIT STRING {    model-1         (0),
                                                                        model-2         (1),
@@ -1708,10 +1843,12 @@ GNSS-UTC-ModelSupport ::=       SEQUENCE {
        ...
 }
 
+
 GNSS-AuxiliaryInformationSupport ::=   SEQUENCE {
        ...
 }
 
+
 A-GNSS-RequestCapabilities ::= SEQUENCE {
        gnss-SupportListReq                             BOOLEAN,
        assistanceDataSupportListReq    BOOLEAN,
@@ -1719,12 +1856,14 @@ A-GNSS-RequestCapabilities ::= SEQUENCE {
        ...
 }
 
+
 A-GNSS-Error ::= CHOICE {
        locationServerErrorCauses               GNSS-LocationServerErrorCauses,
        targetDeviceErrorCauses                 GNSS-TargetDeviceErrorCauses,
        ...
 }
 
+
 GNSS-LocationServerErrorCauses ::= SEQUENCE {
        cause           ENUMERATED      {       
                                        undefined,
@@ -1735,6 +1874,7 @@ GNSS-LocationServerErrorCauses ::= SEQUENCE {
        ...
 }
 
+
 GNSS-TargetDeviceErrorCauses ::= SEQUENCE {
        cause           ENUMERATED {    undefined,
                                                                thereWereNotEnoughSatellitesReceived, 
@@ -1748,11 +1888,13 @@ GNSS-TargetDeviceErrorCauses ::= SEQUENCE {
        ...
 }
 
+
 GNSS-ID ::= SEQUENCE {
        gnss-id                         ENUMERATED{ gps, sbas, qzss, galileo, glonass, ...},
        ...
 }
 
+
 GNSS-ID-Bitmap ::= SEQUENCE {
        gnss-ids                        BIT STRING {    gps             (0),    
                                                                                sbas            (1),
@@ -1762,21 +1904,25 @@ GNSS-ID-Bitmap ::= SEQUENCE {
        ...
 }
 
+
 GNSS-SignalID  ::= SEQUENCE { 
        gnss-SignalID           INTEGER (0 .. 7),
        ...
 }
 
+
 GNSS-SignalIDs ::= SEQUENCE { 
        gnss-SignalIDs          BIT STRING (SIZE(8)),
        ...
 }
 
+
 SBAS-ID ::= SEQUENCE { 
        sbas-id                         ENUMERATED { waas, egnos, msas, gagan, ...},
        ...
 }
 
+
 SBAS-IDs ::= SEQUENCE { 
        sbas-IDs                BIT STRING {    waas            (0),    
                                                                        egnos           (1),
@@ -1785,17 +1931,20 @@ SBAS-IDs ::= SEQUENCE {
        ...
 }
 
+
 SV-ID ::= SEQUENCE { 
        satellite-id            INTEGER(0..63),
        ...
 }
 
+
 ECID-ProvideLocationInformation ::= SEQUENCE {
        ecid-SignalMeasurementInformation       ECID-SignalMeasurementInformation               OPTIONAL,
        ecid-Error                                                      ECID-Error                                                              OPTIONAL,
        ...
 }
 
+
 ECID-SignalMeasurementInformation ::= SEQUENCE {
        primaryCellMeasuredResults      MeasuredResultsElement  OPTIONAL,
        measuredResultsList                     MeasuredResultsList,
@@ -1816,6 +1965,7 @@ MeasuredResultsElement ::= SEQUENCE {
        ...
 }
 
+
 ECID-RequestLocationInformation ::= SEQUENCE {
        requestedMeasurements           BIT STRING {    rsrpReq         (0),
                                                                                                rsrqReq         (1),
@@ -1823,6 +1973,7 @@ ECID-RequestLocationInformation ::= SEQUENCE {
        ...
 }
 
+
 ECID-ProvideCapabilities ::= SEQUENCE {
        ecid-MeasSupported      BIT STRING {    rsrpSup         (0),
                                                                                rsrqSup         (1),
@@ -1830,16 +1981,19 @@ ECID-ProvideCapabilities ::= SEQUENCE {
        ...
 }
 
+
 ECID-RequestCapabilities ::= SEQUENCE {
        ...
 }
 
+
 ECID-Error ::= CHOICE {
        locationServerErrorCauses               ECID-LocationServerErrorCauses,
        targetDeviceErrorCauses                 ECID-TargetDeviceErrorCauses,
        ...
 }
 
+
 ECID-LocationServerErrorCauses ::= SEQUENCE {
        cause           ENUMERATED      {       undefined,                                                              
                                                                ...
@@ -1847,6 +2001,7 @@ ECID-LocationServerErrorCauses ::= SEQUENCE {
        ...
 }
 
+
 ECID-TargetDeviceErrorCauses ::= SEQUENCE {
        cause           ENUMERATED {    undefined,
                                                                requestedMeasurementNotAvailable,
@@ -1859,4 +2014,5 @@ ECID-TargetDeviceErrorCauses ::= SEQUENCE {
        ...
 }
 
+
 END
index 07ec5401352353fa695bfbd8b6ca6f6b6e3f2d4c..77fb32d926adf16f26167f88162c0bc41426657b 100644 (file)
@@ -1,6 +1,6 @@
 # lpp.cnf
 # llp conformation file
-# Copyright 2011 Pascal Quantin 
+# Copyright 2011-2013 Pascal Quantin 
 # $Id$
 
 #.OPT
index 16bb3d5abffa8a1cc4e23f5a64e0d6970fbda4cd..d9402429529099851fa89162624217bc480b6ee4 100644 (file)
@@ -1,6 +1,6 @@
 /* packet-lpp.c
  * Routines for 3GPP LTE Positioning Protocol (LLP) packet dissection
- * Copyright 2011, Pascal Quantin <pascal.quantin@gmail.com>
+ * Copyright 2011-2013 Pascal Quantin <pascal.quantin@gmail.com>
  *
  * $Id$
  *
@@ -22,7 +22,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  *
- * Ref 3GPP TS 36.355 version 11.0.0 Release 11
+ * Ref 3GPP TS 36.355 version 11.1.0 Release 11
  * http://www.3gpp.org
  */
 
index fddfcfb1f80c11e1594cd6e25c504e58d83a741d..fc1b5fc27f6ed6a21b4f01adf944c0dda981749e 100644 (file)
@@ -203,5 +203,3 @@ maxReestabInfo                              INTEGER ::= 32  -- Maximum number of KeNB* and shortMAC-I forwa
 
 
 END
-
-
index 465d001d466cd22432ccce06fada695d11c186e6..4d29cd9c165374d540aef169b11857c6b5833491 100644 (file)
@@ -5111,5 +5111,3 @@ maxUTRA-TDD-Carrier                       INTEGER ::= 16  -- Maximum number of UTRA TDD carrier frequ
 
 
 END
-
-
index 17281ad6572a7633e4110f7cf35681d11dfc6bf8..f1225e12ca8092ae5f696d738a8e5334868a1a9f 100644 (file)
@@ -145,5 +145,3 @@ maxLogMeas-r10                              INTEGER ::= 4060-- Maximum number of logged measurement entrie
 
 
 END
-
-
index 822559f26c5b55d29b86e1741f4cb681c13a4097..415c54f0de35bfab4728385ca865cd76ef1aa605 100644 (file)
@@ -8,7 +8,7 @@
 #line 1 "../../asn1/lpp/packet-lpp-template.c"
 /* packet-lpp.c
  * Routines for 3GPP LTE Positioning Protocol (LLP) packet dissection
- * Copyright 2011, Pascal Quantin <pascal.quantin@gmail.com>
+ * Copyright 2011-2013 Pascal Quantin <pascal.quantin@gmail.com>
  *
  * $Id$
  *
@@ -30,7 +30,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  *
- * Ref 3GPP TS 36.355 version 11.0.0 Release 11
+ * Ref 3GPP TS 36.355 version 11.1.0 Release 11
  * http://www.3gpp.org
  */
 
index 52d0f83c130d048facac5fc7fb55f597cdeee531..0c2875ccecc2db019a90a8f7338af6470cfcc7ea 100755 (executable)
@@ -1,7 +1,8 @@
 #$Id$
 #!/usr/bin/perl
 # 2011 Vincent Helfre and Erwan Yvin
-# This script extracts the ASN1 definition from and TS 36.331/25.331 and generates asn files that can be processed by asn2wrs
+# This script extracts the ASN1 definition from and TS 36.331/36.355/25.331
+# and generates asn files that can be processed by asn2wrs
 # First download the specification from 3gpp.org as a word document and open it
 # Then in "view" menu, select normal, draft or web layout (any kind that removes page header and footers)
 # Finally save the document as a text file
@@ -26,7 +27,7 @@ close(INPUT_FILE);
 sub extract_spec_version {
   my $line;
   while($line = <INPUT_FILE>){
-    if($line =~ m/3GPP TS (25|36)\.331 V/){
+    if($line =~ m/3GPP TS ((25|36)\.331|36\.355) V/){
       $version = $line;
       return;
     }
@@ -41,30 +42,42 @@ sub extract_asn1 {
   my $line;
   my $is_asn1 = 0;
   my $output_file_name = 0;
+  my $file_name_found = 0;
 
   while($line = <INPUT_FILE>){
     if ($line =~ m/-- ASN1STOP/) {
       $is_asn1 = 0;
     }
 
-    if($line =~ m/DEFINITIONS AUTOMATIC TAGS ::=/){
+    if($line =~ m/\96    LPP-PDU-Definitions/){
+      $output_file_name = "LPP.asn";
+      print  "generating $output_file_name\n";
+      open(OUTPUT_FILE, "> $output_file_name") or die "Can not open file $output_file_name";
+      syswrite OUTPUT_FILE,"-- $version-- \$Id\$\n--\n";
+      $file_name_found = 1;
+    }
+
+    if(($file_name_found == 0) && ($line =~ m/DEFINITIONS AUTOMATIC TAGS ::=/)){
       ($output_file_name) = ($line =~ m/^([a-zA-Z\-]+)\s+DEFINITIONS AUTOMATIC TAGS ::=/);
       $output_file_name = "$output_file_name".".asn";
       print  "generating $output_file_name\n";
       open(OUTPUT_FILE, "> $output_file_name") or die "Can not open file $output_file_name";
-      syswrite OUTPUT_FILE,"-- $version-- \$Id$output_file_name 32781 2010-05-12 05:51:54Z etxrab \$\n--\n";
+      syswrite OUTPUT_FILE,"-- $version-- \$Id\$\n--\n";
       $is_asn1 = 1;
+      $file_name_found = 1;
     }
 
-    if (($line =~ /END$/) && (defined fileno OUTPUT_FILE)){
+    if (($line =~ /END/) && (defined fileno OUTPUT_FILE)){
       syswrite OUTPUT_FILE,"$line";
       close(OUTPUT_FILE);
       $is_asn1 = 0;
+      $file_name_found = 0;
     }
 
     if (($is_asn1 == 1) && (defined fileno OUTPUT_FILE)){
       syswrite OUTPUT_FILE,"$line";
     }
+
     if ($line =~ m/-- ASN1START/) {
       $is_asn1 = 1;
     }