diff options
-rw-r--r-- | asn1/lpp/LPP.asn | 166 | ||||
-rw-r--r-- | asn1/lpp/lpp.cnf | 2 | ||||
-rw-r--r-- | asn1/lpp/packet-lpp-template.c | 4 | ||||
-rw-r--r-- | asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn | 2 | ||||
-rw-r--r-- | asn1/lte-rrc/EUTRA-RRC-Definitions.asn | 2 | ||||
-rw-r--r-- | asn1/lte-rrc/EUTRA-UE-Variables.asn | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-lpp.c | 4 | ||||
-rwxr-xr-x | tools/extract_asn1_from_spec.pl | 23 |
8 files changed, 184 insertions, 21 deletions
diff --git a/asn1/lpp/LPP.asn b/asn1/lpp/LPP.asn index c9629ac679..9fbe55b70e 100644 --- a/asn1/lpp/LPP.asn +++ b/asn1/lpp/LPP.asn @@ -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 diff --git a/asn1/lpp/lpp.cnf b/asn1/lpp/lpp.cnf index 07ec540135..77fb32d926 100644 --- a/asn1/lpp/lpp.cnf +++ b/asn1/lpp/lpp.cnf @@ -1,6 +1,6 @@ # lpp.cnf # llp conformation file -# Copyright 2011 Pascal Quantin +# Copyright 2011-2013 Pascal Quantin # $Id$ #.OPT diff --git a/asn1/lpp/packet-lpp-template.c b/asn1/lpp/packet-lpp-template.c index 16bb3d5abf..d940242952 100644 --- a/asn1/lpp/packet-lpp-template.c +++ b/asn1/lpp/packet-lpp-template.c @@ -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 */ diff --git a/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn b/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn index fddfcfb1f8..fc1b5fc27f 100644 --- a/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn +++ b/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn @@ -203,5 +203,3 @@ maxReestabInfo INTEGER ::= 32 -- Maximum number of KeNB* and shortMAC-I forwa END - - diff --git a/asn1/lte-rrc/EUTRA-RRC-Definitions.asn b/asn1/lte-rrc/EUTRA-RRC-Definitions.asn index 465d001d46..4d29cd9c16 100644 --- a/asn1/lte-rrc/EUTRA-RRC-Definitions.asn +++ b/asn1/lte-rrc/EUTRA-RRC-Definitions.asn @@ -5111,5 +5111,3 @@ maxUTRA-TDD-Carrier INTEGER ::= 16 -- Maximum number of UTRA TDD carrier frequ END - - diff --git a/asn1/lte-rrc/EUTRA-UE-Variables.asn b/asn1/lte-rrc/EUTRA-UE-Variables.asn index 17281ad657..f1225e12ca 100644 --- a/asn1/lte-rrc/EUTRA-UE-Variables.asn +++ b/asn1/lte-rrc/EUTRA-UE-Variables.asn @@ -145,5 +145,3 @@ maxLogMeas-r10 INTEGER ::= 4060-- Maximum number of logged measurement entrie END - - diff --git a/epan/dissectors/packet-lpp.c b/epan/dissectors/packet-lpp.c index 822559f26c..415c54f0de 100644 --- a/epan/dissectors/packet-lpp.c +++ b/epan/dissectors/packet-lpp.c @@ -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 */ diff --git a/tools/extract_asn1_from_spec.pl b/tools/extract_asn1_from_spec.pl index 52d0f83c13..0c2875ccec 100755 --- a/tools/extract_asn1_from_spec.pl +++ b/tools/extract_asn1_from_spec.pl @@ -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/– 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; } |