aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2013-01-11 19:31:15 +0000
committerPascal Quantin <pascal.quantin@gmail.com>2013-01-11 19:31:15 +0000
commit1ca9d5c2b36957bf1b86b7734195eabfd367eead (patch)
treefce61cf9da6354e5032f7471d7def38e8d741bda
parent660e028212cc75397aaa78bf915e2556987e0430 (diff)
Upgrade LPP dissector to v11.1.0 and modify extract_asn1_from_spec.pl to automatically get ASN.1 from spec
svn path=/trunk/; revision=47034
-rw-r--r--asn1/lpp/LPP.asn166
-rw-r--r--asn1/lpp/lpp.cnf2
-rw-r--r--asn1/lpp/packet-lpp-template.c4
-rw-r--r--asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn2
-rw-r--r--asn1/lte-rrc/EUTRA-RRC-Definitions.asn2
-rw-r--r--asn1/lte-rrc/EUTRA-UE-Variables.asn2
-rw-r--r--epan/dissectors/packet-lpp.c4
-rwxr-xr-xtools/extract_asn1_from_spec.pl23
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;
}