summaryrefslogtreecommitdiff
path: root/asn1/rrlp
diff options
context:
space:
mode:
authorTomas Kukosa <tomas.kukosa@siemens.com>2007-05-18 12:53:55 +0000
committerTomas Kukosa <tomas.kukosa@siemens.com>2007-05-18 12:53:55 +0000
commit16c10108948a362fab61513c2d54ad182b7aa119 (patch)
treedb96ac560e428fd266cb024e226051d956dbcda3 /asn1/rrlp
parent16c4aa8e387ade8dd72213b879206b858e6d1ca5 (diff)
downloadwireshark-16c10108948a362fab61513c2d54ad182b7aa119.tar.gz
RRLP updated to 3GPP TS 44.031 V7.4.0 (2007-03)
svn path=/trunk/; revision=21825
Diffstat (limited to 'asn1/rrlp')
-rw-r--r--asn1/rrlp/Makefile7
-rw-r--r--asn1/rrlp/Makefile.nmake12
-rw-r--r--asn1/rrlp/RRLP-Components.asn1487
-rw-r--r--asn1/rrlp/RRLP-Messages.asn38
-rw-r--r--asn1/rrlp/packet-rrlp-template.c2
-rw-r--r--asn1/rrlp/packet-rrlp-template.h35
-rw-r--r--asn1/rrlp/rrlp.asn1052
-rw-r--r--asn1/rrlp/rrlp.cnf25
8 files changed, 1554 insertions, 1104 deletions
diff --git a/asn1/rrlp/Makefile b/asn1/rrlp/Makefile
index 7ec094eaeb..71d5c00715 100644
--- a/asn1/rrlp/Makefile
+++ b/asn1/rrlp/Makefile
@@ -1,13 +1,14 @@
# $Id$
-DISSECTOR_FILES=packet-rrlp.c packet-rrlp.h
+DISSECTOR_FILES=packet-rrlp.c
+RRLP_ASN=RRLP-Messages.asn RRLP-Components.asn ../gsmmap/MAP-ExtensionDataTypes.asn ../gsmmap/MAP-LCS-DataTypes.asn
all: generate_dissector
generate_dissector: $(DISSECTOR_FILES)
-$(DISSECTOR_FILES): ../../tools/asn2wrs.py rrlp.asn packet-rrlp-template.c packet-rrlp-template.h rrlp.cnf
- python ../../tools/asn2wrs.py -e -p rrlp -c rrlp.cnf -s packet-rrlp-template rrlp.asn
+$(DISSECTOR_FILES): ../../tools/asn2wrs.py $(RRLP_ASN) packet-rrlp-template.c rrlp.cnf
+ python ../../tools/asn2wrs.py -p rrlp -c rrlp.cnf -s packet-rrlp-template $(RRLP_ASN)
clean:
rm -f parsetab.py parsetab.pyc $(DISSECTOR_FILES)
diff --git a/asn1/rrlp/Makefile.nmake b/asn1/rrlp/Makefile.nmake
index 4b880bbf1a..5c4c1ac200 100644
--- a/asn1/rrlp/Makefile.nmake
+++ b/asn1/rrlp/Makefile.nmake
@@ -7,15 +7,16 @@ include ../../config.nmake
UNIX2DOS=$(PERL) ../../tools/unix2dos.pl
PROTOCOL_NAME=rrlp
-DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).h
+DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c
+RRLP_ASN=RRLP-Messages.asn RRLP-Components.asn ../gsmmap/MAP-ExtensionDataTypes.asn ../gsmmap/MAP-LCS-DataTypes.asn
all: generate_dissector
generate_dissector: $(DISSECTOR_FILES)
-$(DISSECTOR_FILES): ../../tools/asn2wrs.py rrlp.asn packet-rrlp-template.c packet-rrlp-template.h rrlp.cnf
+$(DISSECTOR_FILES): ../../tools/asn2wrs.py $(RRLP_ASN) packet-rrlp-template.c rrlp.cnf
!IFDEF PYTHON
- $(PYTHON) "../../tools/asn2wrs.py" -u -e -p $(PROTOCOL_NAME) -c rrlp.cnf -s packet-rrlp-template rrlp.asn
+ $(PYTHON) "../../tools/asn2wrs.py" -p $(PROTOCOL_NAME) -c rrlp.cnf -s packet-rrlp-template $(RRLP_ASN)
!ELSE
@echo Error: You need Python to use asn2wrs.py
@exit 1
@@ -31,12 +32,9 @@ clean:
fix_eol: generate_dissector
move packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).c.tmp
- move packet-$(PROTOCOL_NAME).h packet-$(PROTOCOL_NAME).h.tmp
$(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c
- $(UNIX2DOS) < packet-$(PROTOCOL_NAME).h.tmp > packet-$(PROTOCOL_NAME).h
- del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
+ del /f packet-$(PROTOCOL_NAME).c.tmp
copy_files: generate_dissector fix_eol
xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/rrlp/RRLP-Components.asn b/asn1/rrlp/RRLP-Components.asn
new file mode 100644
index 0000000000..83f7ff47f7
--- /dev/null
+++ b/asn1/rrlp/RRLP-Components.asn
@@ -0,0 +1,1487 @@
+-- RRLP-Components.asn
+--
+-- Taken from 3GPP TS 44.031 V7.4.0 (2007-03)
+-- http://www.3gpp.org/ftp/Specs/archive/44_series/44.031/44031-740.zip/44031-740.doc
+--
+-- 4 Components
+-- 5 Elements of Components
+--
+
+RRLP-Components
+-- { RRLP-Components }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ Ext-GeographicalInformation, VelocityEstimate
+FROM
+ MAP-LCS-DataTypes {
+ ccitt identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-LCS-DataTypes (25) version5 (5)}
+
+ ExtensionContainer
+FROM MAP-ExtensionDataTypes {
+ ccitt identified-organization (4) etsi (0) mobileDomain (0)
+ gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version4 (4)}
+;
+
+-- Add here other ASN.1 definitions presented below
+-- in chapters 4 and 5.
+
+-- Measurement Position request component
+MsrPosition-Req ::= SEQUENCE {
+ positionInstruct PositionInstruct,
+ referenceAssistData ReferenceAssistData OPTIONAL,
+ msrAssistData MsrAssistData OPTIONAL,
+ systemInfoAssistData SystemInfoAssistData OPTIONAL,
+ gps-AssistData GPS-AssistData OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ -- Release 98 extension element
+rel98-MsrPosition-Req-extension Rel98-MsrPosition-Req-Extension OPTIONAL,
+ -- Release 5 extension element
+rel5-MsrPosition-Req-extension Rel5-MsrPosition-Req-Extension OPTIONAL,
+ -- Release 7 extension element
+rel7-MsrPosition-Req-extension Rel7-MsrPosition-Req-Extension OPTIONAL
+}
+
+-- Measurement Position response component
+MsrPosition-Rsp ::= SEQUENCE {
+ multipleSets MultipleSets OPTIONAL,
+ referenceIdentity ReferenceIdentity OPTIONAL,
+ otd-MeasureInfo OTD-MeasureInfo OPTIONAL,
+ locationInfo LocationInfo OPTIONAL,
+ gps-MeasureInfo GPS-MeasureInfo OPTIONAL,
+ locationError LocationError OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ -- Release extension here
+ rel-98-MsrPosition-Rsp-Extension
+ Rel-98-MsrPosition-Rsp-Extension OPTIONAL,
+ rel-5-MsrPosition-Rsp-Extension
+ Rel-5-MsrPosition-Rsp-Extension OPTIONAL,
+ -- rel-5-MsrPosition-Rsp-Extension and other possible future extensions
+ -- are the only information elements that may be included in the 2nd
+ -- MsrPosition-Rsp component when RRLP pseudo-segmentation is used
+ rel-7-MsrPosition-Rsp-Extension
+ Rel-7-MsrPosition-Rsp-Extension OPTIONAL
+}
+
+-- Assistance Data component
+AssistanceData ::= SEQUENCE {
+ referenceAssistData ReferenceAssistData OPTIONAL,
+ msrAssistData MsrAssistData OPTIONAL,
+ systemInfoAssistData SystemInfoAssistData OPTIONAL,
+ gps-AssistData GPS-AssistData OPTIONAL,
+ moreAssDataToBeSent MoreAssDataToBeSent OPTIONAL, -- If not present, interpret as only
+ -- Assistance Data component used to
+ -- deliver entire set of assistance
+ -- data.
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ -- Release extension here
+ rel98-AssistanceData-Extension Rel98-AssistanceData-Extension OPTIONAL,
+ rel5-AssistanceData-Extension Rel5-AssistanceData-Extension OPTIONAL,
+ rel7-AssistanceData-Extension Rel7-AssistanceData-Extension OPTIONAL
+}
+
+-- Protocol Error component
+ProtocolError ::= SEQUENCE {
+ errorCause ErrorCodes,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ -- Release extensions here
+ rel-5-ProtocolError-Extension Rel-5-ProtocolError-Extension OPTIONAL
+}
+
+-- Position instructions
+PositionInstruct ::= SEQUENCE {
+ -- Method type
+ methodType MethodType,
+ positionMethod PositionMethod,
+ measureResponseTime MeasureResponseTime,
+ useMultipleSets UseMultipleSets,
+ environmentCharacter EnvironmentCharacter OPTIONAL
+}
+
+--
+MethodType ::= CHOICE {
+ msAssisted AccuracyOpt, -- accuracy is optional
+ msBased Accuracy, -- accuracy is mandatory
+ msBasedPref Accuracy, -- accuracy is mandatory
+ msAssistedPref Accuracy -- accuracy is mandatory
+}
+
+-- Accuracy of the location estimation
+AccuracyOpt ::= SEQUENCE {
+ accuracy Accuracy OPTIONAL
+}
+
+-- The values of this field are defined in 3GPP TS 23.032 (Uncertainty code)
+Accuracy ::= INTEGER (0..127)
+
+
+-- Position Method
+PositionMethod ::= ENUMERATED {
+ eotd (0),
+ gps (1),
+ gpsOrEOTD (2)
+}
+
+-- Measurement request response time
+MeasureResponseTime ::= INTEGER (0..7)
+
+-- useMultiple Sets, FFS!
+UseMultipleSets ::= ENUMERATED {
+ multipleSets (0), -- multiple sets are allowed
+ oneSet (1) -- sending of multiple is not allowed
+}
+
+-- Environment characterization
+EnvironmentCharacter ::= ENUMERATED {
+ badArea (0), -- bad urban or suburban, heavy multipath and NLOS
+ notBadArea (1), -- light multipath and NLOS
+ mixedArea (2), -- not defined or mixed environment
+ ...
+}
+
+-- E-OTD reference BTS for Assitance data IE
+ReferenceAssistData ::= SEQUENCE {
+ bcchCarrier BCCHCarrier, -- BCCH carrier
+ bsic BSIC, -- BSIC
+ timeSlotScheme TimeSlotScheme, -- Timeslot scheme
+ btsPosition BTSPosition OPTIONAL
+}
+
+-- ellipsoid point and
+-- ellipsoid point with altitude and uncertainty ellipsoid shapes are supported
+BTSPosition ::= Ext-GeographicalInformation
+
+-- RF channel number of BCCH
+BCCHCarrier ::= INTEGER (0..1023)
+
+-- Base station Identity Code
+BSIC ::= INTEGER (0..63)
+
+-- Timeslot scheme
+TimeSlotScheme ::= ENUMERATED {
+ equalLength (0),
+ variousLength (1)
+}
+
+-- Time slot (modulo)
+ModuloTimeSlot ::= INTEGER (0..3)
+
+-- E-OTD measurement assistance data IE
+-- The total number of neighbors in this element (MsrAssistData)
+-- and in SystemInfoAssistData element (presented neighbors
+-- can be at a maximum 15!)
+MsrAssistData ::= SEQUENCE {
+ msrAssistList SeqOfMsrAssistBTS
+}
+SeqOfMsrAssistBTS ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS
+
+MsrAssistBTS ::= SEQUENCE {
+ bcchCarrier BCCHCarrier, -- BCCH carrier
+ bsic BSIC, -- BSIC
+ multiFrameOffset MultiFrameOffset, -- multiframe offset
+ timeSlotScheme TimeSlotScheme, -- Timeslot scheme
+ roughRTD RoughRTD, -- rough RTD value
+
+ -- Location Calculation Assistance data is moved here
+ calcAssistanceBTS CalcAssistanceBTS OPTIONAL
+}
+
+-- Multiframe offset
+MultiFrameOffset ::= INTEGER (0..51)
+-- The Multiframe Offset value 51 shall not be encoded by the transmitting entity and
+-- shall be treated by the receiving entity as 0.
+
+-- Rough RTD value between one base station and reference BTS
+RoughRTD ::= INTEGER (0..1250)
+-- The RoughRTD value 1250 shall not be encoded by the transmitting entity and shall
+-- be treated by the receiving entity as 0.
+
+-- E-OTD Measurement assistance data for system information List IE
+-- The total number of base stations in this element (SystemInfoAssistData
+-- presented neighbors) and in MsrAssistData element can be at a maximum 15.
+SystemInfoAssistData ::= SEQUENCE {
+ systemInfoAssistList SeqOfSystemInfoAssistBTS
+}
+SeqOfSystemInfoAssistBTS::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS
+
+-- whether n.th is present or not ?
+SystemInfoAssistBTS ::= CHOICE {
+ notPresent NULL,
+ present AssistBTSData
+}
+
+-- Actual assistance data for system information base station
+AssistBTSData ::= SEQUENCE {
+ bsic BSIC, -- BSIC
+ multiFrameOffset MultiFrameOffset, -- multiframe offset
+ timeSlotScheme TimeSlotScheme, -- Timeslot scheme
+ roughRTD RoughRTD, -- rough RTD value
+
+ -- Location Calculation Assistance data
+ calcAssistanceBTS CalcAssistanceBTS OPTIONAL
+}
+
+-- E-OTD Location calculation assistance data,
+-- CalcAssistanceBTS element is optional not subfields
+CalcAssistanceBTS ::= SEQUENCE {
+ fineRTD FineRTD, -- fine RTD value between base stations
+ referenceWGS84 ReferenceWGS84 -- reference coordinates
+}
+
+-- Coordinates of neighbour BTS, WGS-84 ellipsoid
+ReferenceWGS84 ::= SEQUENCE {
+ relativeNorth RelDistance, -- relative distance (south negative)
+ relativeEast RelDistance, -- relative distance (west negative)
+ -- Relative Altitude is not always known
+ relativeAlt RelativeAlt OPTIONAL -- relative altitude
+}
+
+-- Fine RTD value between this BTS and the reference BTS
+FineRTD ::= INTEGER (0..255)
+
+-- Relative north/east distance
+RelDistance ::= INTEGER (-200000..200000)
+
+-- Relative altitude
+RelativeAlt ::= INTEGER (-4000..4000)
+
+-- Measure position response IEs
+-- Reference Identity
+-- Multiple sets
+MultipleSets ::= SEQUENCE {
+ -- number of reference sets
+ nbrOfSets INTEGER (2..3),
+
+ -- This field actually tells the number of reference BTSs
+ nbrOfReferenceBTSs INTEGER (1..3),
+
+ -- This field is conditional and included optionally only if
+ -- nbrOfSets is 3 and number of reference BTSs is 2.
+ referenceRelation ReferenceRelation OPTIONAL
+}
+
+-- Relation between refence BTSs and sets
+ReferenceRelation ::= ENUMERATED {
+ secondBTSThirdSet (0), -- 1st BTS related to 1st and 2nd sets
+ secondBTSSecondSet (1), -- 1st BTS related to 1st and 3rd sets
+ firstBTSFirstSet (2) -- 1st BTS related to 1st set
+}
+
+-- Reference BTS Identity, this element contains number of
+-- BTSs told nbrOfReferenceBTSs field in Multiple sets element)
+ReferenceIdentity ::= SEQUENCE {
+ -- Reference BTS list
+ refBTSList SeqOfReferenceIdentityType
+}
+SeqOfReferenceIdentityType ::= SEQUENCE (SIZE(1..3)) OF ReferenceIdentityType
+
+-- Cell identity
+ReferenceIdentityType ::= CHOICE {
+ bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier
+ ci CellID, -- Cell ID, LAC not needed
+ requestIndex RequestIndex, -- Index to Requested Neighbor List
+ systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of ref. identity
+ -- shall not be used by the MS unless it has received
+ -- the SystemInfoAssistData from the SMLC for this cell.
+ ciAndLAC CellIDAndLAC -- CI and LAC
+}
+
+BSICAndCarrier ::= SEQUENCE {
+ carrier BCCHCarrier,
+ bsic BSIC
+}
+
+RequestIndex ::= INTEGER (1..16)
+
+SystemInfoIndex ::= INTEGER (1..32)
+
+CellIDAndLAC ::= SEQUENCE {
+ referenceLAC LAC, -- Location area code
+ referenceCI CellID -- Cell identity
+}
+CellID ::= INTEGER (0..65535)
+LAC ::= INTEGER (0..65535)
+
+-- OTD-MeasureInfo
+OTD-MeasureInfo ::= SEQUENCE {
+ -- Measurement info elements, OTD-MsrElement is repeated number of times
+ -- told in nbrOfReferenceBTSs in MultipleSets, default value is 1
+ otdMsrFirstSets OTD-MsrElementFirst,
+
+ -- if more than one sets are present this element is repeated
+ -- NumberOfSets - 1 (-1 = first set)
+ otdMsrRestSets SeqOfOTD-MsrElementRest OPTIONAL
+}
+
+SeqOfOTD-MsrElementRest ::= SEQUENCE (SIZE(1..2)) OF OTD-MsrElementRest
+
+-- OTD measurent information for 1 set
+OTD-MsrElementFirst ::= SEQUENCE {
+ refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432
+ referenceTimeSlot ModuloTimeSlot,
+ toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL,
+ stdResolution StdResolution,
+ taCorrection INTEGER (0..960) OPTIONAL, -- TA correction
+
+ -- measured neighbors in OTD measurements
+ otd-FirstSetMsrs SeqOfOTD-FirstSetMsrs OPTIONAL
+}
+SeqOfOTD-FirstSetMsrs ::= SEQUENCE (SIZE(1..10)) OF OTD-FirstSetMsrs
+
+-- OTD measurent information 2 and 3 sets if exist
+OTD-MsrElementRest ::= SEQUENCE {
+ refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432
+ referenceTimeSlot ModuloTimeSlot,
+ toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL,
+ stdResolution StdResolution,
+ taCorrection INTEGER (0..960) OPTIONAL, -- TA correction
+
+ -- measured neighbors in OTD measurements
+ otd-MsrsOfOtherSets SeqOfOTD-MsrsOfOtherSets OPTIONAL
+}
+SeqOfOTD-MsrsOfOtherSets ::= SEQUENCE (SIZE(1..10)) OF OTD-MsrsOfOtherSets
+
+-- Standard deviation of the TOA measurements from the reference BTS
+TOA-MeasurementsOfRef ::= SEQUENCE {
+ refQuality RefQuality,
+ numOfMeasurements NumOfMeasurements
+}
+
+RefQuality ::= INTEGER (0..31) -- St Dev of TOA of reference as defined in annex
+NumOfMeasurements ::= INTEGER (0..7) -- No. of measurements for RefQuality as defined in annex
+StdResolution ::= INTEGER (0..3) -- Values of resolution are defined in annex
+
+OTD-FirstSetMsrs ::= OTD-MeasurementWithID
+
+-- Neighbour info in OTD measurements 0-10 times in TD measurement info
+OTD-MsrsOfOtherSets ::= CHOICE {
+ identityNotPresent OTD-Measurement,
+ identityPresent OTD-MeasurementWithID
+}
+
+-- For this OTD measurement identity is same as the identity of BTS
+-- in the first set with same sequence number
+OTD-Measurement ::= SEQUENCE {
+ nborTimeSlot ModuloTimeSlot,
+ eotdQuality EOTDQuality,
+ otdValue OTDValue
+}
+
+-- This measurement contains the BTS identity and measurement
+OTD-MeasurementWithID ::=SEQUENCE {
+ neighborIdentity NeighborIdentity,
+ nborTimeSlot ModuloTimeSlot,
+ eotdQuality EOTDQuality,
+ otdValue OTDValue
+}
+
+EOTDQuality ::= SEQUENCE {
+ nbrOfMeasurements INTEGER (0..7),
+ stdOfEOTD INTEGER (0..31)
+}
+
+NeighborIdentity ::= CHOICE {
+ bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier
+ ci CellID, -- Cell ID, LAC not needed
+ multiFrameCarrier MultiFrameCarrier, -- MultiFrameOffest and BSIC
+ requestIndex RequestIndex, -- Index to Requested Neighbor List
+ systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of neighbour
+ -- identity shall not be used by the MS unless it has
+ -- received the SystemInfoAssistData from the SMLC for
+ -- this cell.
+ ciAndLAC CellIDAndLAC -- CI and LAC
+}
+
+-- Multiframe and carrier
+MultiFrameCarrier ::= SEQUENCE {
+ bcchCarrier BCCHCarrier,
+ multiFrameOffset MultiFrameOffset
+}
+
+-- OTD measurement value for neighbour
+OTDValue ::= INTEGER (0..39999)
+
+-- Location information IE
+LocationInfo ::= SEQUENCE {
+ refFrame INTEGER (0..65535), -- Reference Frame number
+ -- If refFrame is within (42432..65535), it shall be ignored by the receiver
+ -- in that case the MS should provide GPS TOW if available
+ gpsTOW INTEGER (0..14399999) OPTIONAL, -- GPS TOW
+ fixType FixType,
+ -- Note that applicable range for refFrame is 0 - 42431
+ -- Possible shapes carried in posEstimate are
+ -- ellipsoid point,
+ -- ellipsoid point with uncertainty circle
+ -- ellipsoid point with uncertainty ellipse
+ -- ellipsoid point with altitude and uncertainty ellipsoid
+ posEstimate Ext-GeographicalInformation
+}
+
+FixType ::= INTEGER {
+ twoDFix (0),
+ threeDFix (1)
+} (0..1)
+
+-- GPS-Measurement information
+GPS-MeasureInfo ::= SEQUENCE {
+ -- Measurement info elements
+ -- user has to make sure that in this element is number of elements
+ -- defined in reference BTS identity
+ gpsMsrSetList SeqOfGPS-MsrSetElement
+}
+SeqOfGPS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GPS-MsrSetElement
+
+-- OTD measurent information 1-3 times in message
+GPS-MsrSetElement ::= SEQUENCE {
+ refFrame INTEGER (0..65535) OPTIONAL, -- Reference Frame number
+ gpsTOW GPSTOW24b, -- GPS TOW
+ -- Note that applicable range for refFrame is 0 - 42431
+
+--N_SAT can be read from number of elements of gps-msrList
+
+ gps-msrList SeqOfGPS-MsrElement
+}
+
+-- 24 bit presentation for GPSTOW
+GPSTOW24b ::= INTEGER (0..14399999)
+
+-- measured elements in measurement parameters field
+SeqOfGPS-MsrElement ::= SEQUENCE (SIZE(1..16)) OF GPS-MsrElement
+
+GPS-MsrElement ::= SEQUENCE {
+ satelliteID SatelliteID, -- Satellite identifier
+ cNo INTEGER (0..63), -- carrier noise ratio
+ doppler INTEGER (-32768..32767), -- doppler, mulltiply by 0.2
+ wholeChips INTEGER (0..1022), -- whole value of the code phase measurement
+ fracChips INTEGER (0..1024), -- fractional value of the code phase measurement
+ -- a value of 1024 shall not be encoded by the sender
+ -- the receiver shall consider a value of 1024 to be
+ -- invalid data
+ mpathIndic MpathIndic, -- multipath indicator
+ pseuRangeRMSErr INTEGER (0..63) -- index
+}
+
+-- Multipath indicator
+MpathIndic ::= ENUMERATED {
+ notMeasured (0),
+ low (1),
+ medium (2),
+ high (3)
+}
+
+-- Location error IE
+LocationError ::= SEQUENCE {
+ locErrorReason LocErrorReason,
+ additionalAssistanceData AdditionalAssistanceData OPTIONAL,
+ ...
+}
+
+LocErrorReason ::= ENUMERATED {
+ unDefined (0),
+ notEnoughBTSs (1),
+ notEnoughSats (2),
+ eotdLocCalAssDataMissing (3),
+ eotdAssDataMissing (4),
+ gpsLocCalAssDataMissing (5),
+ gpsAssDataMissing (6),
+ methodNotSupported (7),
+ notProcessed (8),
+ refBTSForGPSNotServingBTS (9),
+ refBTSForEOTDNotServingBTS (10),
+ ...,
+ notEnoughGANSSSats (11),
+ ganssAssDataMissing (12),
+ refBTSForGANSSNotServingBTS (13)
+}
+
+-- exception handling:
+-- an unrecognized value shall be treated the same as value 0
+
+
+-- defines additional assistance data needed for any new location attempt
+-- MS shall retain any assistance data already received
+AdditionalAssistanceData ::= SEQUENCE {
+ gpsAssistanceData GPSAssistanceData OPTIONAL,
+ extensionContainer ExtensionContainer OPTIONAL,
+ ...,
+ ganssAssistanceData GANSSAssistanceData OPTIONAL
+}
+
+GPSAssistanceData ::= OCTET STRING (SIZE (1..maxGPSAssistanceData))
+-- GPSAssistanceData has identical structure and encoding to octets 3 to n of the
+-- GPS Assistance Data IE in 3GPP TS 49.031
+
+maxGPSAssistanceData INTEGER ::= 40
+
+GANSSAssistanceData ::= OCTET STRING (SIZE (1..maxGANSSAssistanceData))
+-- GANSSAssistanceData has identical structure and encoding to octets 3 to n of the
+-- GANSS Assistance Data IE in 3GPP TS 49.031
+
+maxGANSSAssistanceData INTEGER ::= 40
+
+
+-- Protocol Error Causes
+ErrorCodes ::= ENUMERATED {
+ unDefined (0),
+missingComponet (1),
+incorrectData (2),
+missingIEorComponentElement (3),
+messageTooShort (4),
+unknowReferenceNumber (5),
+...
+}
+
+-- exception handling:
+-- an unrecognized value shall be treated the same as value 0
+
+-- GPS assistance data IE
+GPS-AssistData ::= SEQUENCE {
+ controlHeader ControlHeader
+}
+
+-- More Assistance Data To Be Sent IE
+-- More Assistance Data Components On the Way indication for delivery of an entire set of assistance
+-- data in multiple Assistance Data components.
+
+MoreAssDataToBeSent ::= ENUMERATED {
+ noMoreMessages (0), -- This is the only or last Assistance Data message used to deliver
+ -- the entire set of assistance data.
+ moreMessagesOnTheWay (1) -- The SMLC will send more Assistance Data messages or a final RRLP
+ -- Measure Position Request message to deliver the
+ -- the entire set of assistance data.
+}
+
+-- Control header of the GPS assistance data
+ControlHeader ::= SEQUENCE {
+
+ -- Field type Present information
+ referenceTime ReferenceTime OPTIONAL,
+ refLocation RefLocation OPTIONAL,
+ dgpsCorrections DGPSCorrections OPTIONAL,
+ navigationModel NavigationModel OPTIONAL,
+ ionosphericModel IonosphericModel OPTIONAL,
+ utcModel UTCModel OPTIONAL,
+ almanac Almanac OPTIONAL,
+ acquisAssist AcquisAssist OPTIONAL,
+ realTimeIntegrity SeqOf-BadSatelliteSet OPTIONAL
+}
+
+ReferenceTime ::= SEQUENCE {
+ gpsTime GPSTime,
+ gsmTime GSMTime OPTIONAL,
+ gpsTowAssist GPSTOWAssist OPTIONAL
+}
+
+-- GPS Time includes week number and time-of-week (TOW)
+GPSTime ::= SEQUENCE {
+ gpsTOW23b GPSTOW23b,
+ gpsWeek GPSWeek
+}
+
+-- GPSTOW, range 0-604799.92, resolution 0.08 sec, 23-bit presentation
+GPSTOW23b ::= INTEGER (0..7559999)
+
+-- GPS week number
+GPSWeek ::= INTEGER (0..1023)
+
+-- GPSTOWAssist consists of TLM message, Anti-spoof flag, Alert flag, and 2 reserved bits in TLM Word
+-- for each visible satellite.
+-- N_SAT can be read from number of elements in GPSTOWAssist
+GPSTOWAssist ::= SEQUENCE (SIZE(1..12)) OF GPSTOWAssistElement
+
+GPSTOWAssistElement ::= SEQUENCE {
+ satelliteID SatelliteID,
+ tlmWord TLMWord,
+ antiSpoof AntiSpoofFlag,
+ alert AlertFlag,
+ tlmRsvdBits TLMReservedBits
+}
+
+-- TLM Word, 14 bits
+TLMWord ::= INTEGER (0..16383)
+
+-- Anti-Spoof flag
+AntiSpoofFlag ::= INTEGER (0..1)
+
+-- Alert flag
+AlertFlag ::= INTEGER (0..1)
+
+-- Reserved bits in TLM word, MSB occurs earlier in TLM Word transmitted by satellite
+TLMReservedBits ::= INTEGER (0..3)
+
+GSMTime ::= SEQUENCE {
+ bcchCarrier BCCHCarrier, -- BCCH carrier
+ bsic BSIC, -- BSIC
+ frameNumber FrameNumber,
+ timeSlot TimeSlot,
+ bitNumber BitNumber
+}
+
+-- Frame number
+FrameNumber ::= INTEGER (0..2097151)
+
+-- Time slot number
+TimeSlot ::= INTEGER (0..7)
+
+-- Bit number
+BitNumber ::= INTEGER (0..156)
+
+
+-- Reference Location IE
+RefLocation ::= SEQUENCE {
+ threeDLocation Ext-GeographicalInformation
+}
+
+-- DGPS Corrections IE
+DGPSCorrections ::= SEQUENCE {
+
+ gpsTOW INTEGER (0..604799), -- DGPS reference time
+ status INTEGER (0..7),
+ -- N_SAT can be read from number of elements of satList
+ satList SeqOfSatElement
+}
+SeqOfSatElement ::= SEQUENCE (SIZE (1..16)) OF SatElement
+
+-- number of correction for satellites
+SatElement ::= SEQUENCE {
+ satelliteID SatelliteID,
+
+
+--- Sequence number for ephemeris
+ iode INTEGER (0..239),
+ -- User Differential Range Error
+ udre INTEGER (0..3),
+
+ -- Pseudo Range Correction, range is
+ -- -655.04 - +655.04,
+ pseudoRangeCor INTEGER (-2047..2047),
+
+ -- Pseudo Range Rate Correction, range is
+ -- -4.064 - +4.064,
+ rangeRateCor INTEGER (-127..127),
+
+-- Delta Pseudo Range Correction 2
+ deltaPseudoRangeCor2 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
+ -- set to zero by the sender
+ -- Delta Pseudo Range Correction 2
+ deltaRangeRateCor2 INTEGER (-7..7), -- This IE shall be ignored by the receiver and
+ -- set to zero by the sender
+ -- Delta Pseudo Range Correction 3
+ deltaPseudoRangeCor3 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
+ -- set to zero by the sender
+ -- Delta Pseudo Range Correction 3
+ deltaRangeRateCor3 INTEGER (-7..7) -- This IE shall be ignored by the receiver and
+ -- set to zero by the sender
+}
+
+SatelliteID ::= INTEGER (0..63) -- identifies satellite
+
+-- Navigation Model IE
+NavigationModel ::= SEQUENCE {
+ navModelList SeqOfNavModelElement
+}
+
+-- navigation model satellite list
+SeqOfNavModelElement ::= SEQUENCE (SIZE(1..16)) OF NavModelElement
+
+NavModelElement ::= SEQUENCE {
+ satelliteID SatelliteID,
+ satStatus SatStatus -- satellite status
+}
+
+-- the Status of the navigation model
+SatStatus ::= CHOICE {
+ -- New satellite, new Navigation Model
+ newSatelliteAndModelUC UncompressedEphemeris,
+
+ -- Existing satellite, Existing Navigation Model
+ oldSatelliteAndModel NULL,
+
+ -- Existing satellite, new Navigation Model
+ newNaviModelUC UncompressedEphemeris,
+ ...
+}
+
+-- Uncompressed satellite emhemeris and clock corrections
+UncompressedEphemeris ::= SEQUENCE {
+ ephemCodeOnL2 INTEGER (0..3),
+ ephemURA INTEGER (0..15),
+ ephemSVhealth INTEGER (0..63),
+ ephemIODC INTEGER (0..1023),
+ ephemL2Pflag INTEGER (0..1),
+ ephemSF1Rsvd EphemerisSubframe1Reserved,
+ ephemTgd INTEGER (-128..127),
+ ephemToc INTEGER (0..37799),
+ ephemAF2 INTEGER (-128..127),
+ ephemAF1 INTEGER (-32768..32767),
+ ephemAF0 INTEGER (-2097152..2097151),
+ ephemCrs INTEGER (-32768..32767),
+ ephemDeltaN INTEGER (-32768..32767),
+ ephemM0 INTEGER (-2147483648..2147483647),
+ ephemCuc INTEGER (-32768..32767),
+ ephemE INTEGER (0..4294967295),
+ ephemCus INTEGER (-32768..32767),
+ ephemAPowerHalf INTEGER (0..4294967295),
+ ephemToe INTEGER (0..37799),
+ ephemFitFlag INTEGER (0..1),
+ ephemAODA INTEGER (0..31),
+ ephemCic INTEGER (-32768..32767),
+ ephemOmegaA0 INTEGER (-2147483648..2147483647),
+ ephemCis INTEGER (-32768..32767),
+ ephemI0 INTEGER (-2147483648..2147483647),
+ ephemCrc INTEGER (-32768..32767),
+ ephemW INTEGER (-2147483648..2147483647),
+ ephemOmegaADot INTEGER (-8388608..8388607),
+ ephemIDot INTEGER (-8192..8191)
+}
+
+-- Reserved bits in subframe 1 of navigation message
+EphemerisSubframe1Reserved ::= SEQUENCE {
+ reserved1 INTEGER (0..8388607), -- 23-bit field
+ reserved2 INTEGER (0..16777215), -- 24-bit field
+ reserved3 INTEGER (0..16777215), -- 24-bit field
+ reserved4 INTEGER (0..65535) -- 16-bit field
+}
+
+-- Ionospheric Model IE
+IonosphericModel ::= SEQUENCE {
+ alfa0 INTEGER (-128..127),
+ alfa1 INTEGER (-128..127),
+ alfa2 INTEGER (-128..127),
+ alfa3 INTEGER (-128..127),
+ beta0 INTEGER (-128..127),
+ beta1 INTEGER (-128..127),
+ beta2 INTEGER (-128..127),
+ beta3 INTEGER (-128..127)
+}
+
+-- Universal Time Coordinate Model
+UTCModel ::= SEQUENCE {
+ utcA1 INTEGER (-8388608..8388607),
+ utcA0 INTEGER (-2147483648..2147483647),
+ utcTot INTEGER (0..255),
+ utcWNt INTEGER (0..255),
+ utcDeltaTls INTEGER (-128..127),
+ utcWNlsf INTEGER (0..255),
+ utcDN INTEGER (-128..127),
+ utcDeltaTlsf INTEGER (-128..127)
+}
+
+-- Almanac, Long term model
+-- NOTE: These are parameters are subset of the ephemeris
+-- NOTE: But with reduced resolution and accuracy
+Almanac ::= SEQUENCE {
+ alamanacWNa INTEGER (0..255), -- Once per message
+
+ -- navigation model satellite list.
+ -- The size of almanacList is actually Nums_Sats_Total field
+ almanacList SeqOfAlmanacElement
+}
+SeqOfAlmanacElement ::= SEQUENCE (SIZE(1..64)) OF AlmanacElement
+
+-- Almanac info once per satellite
+AlmanacElement ::= SEQUENCE {
+ satelliteID SatelliteID,
+ almanacE INTEGER (0..65535),
+ alamanacToa INTEGER (0..255),
+ almanacKsii INTEGER (-32768..32767),
+ almanacOmegaDot INTEGER (-32768..32767),
+ almanacSVhealth INTEGER (0..255),
+ almanacAPowerHalf INTEGER (0..16777215),
+ almanacOmega0 INTEGER (-8388608..8388607),
+ almanacW INTEGER (-8388608..8388607),
+ almanacM0 INTEGER (-8388608..8388607),
+ almanacAF0 INTEGER (-1024..1023),
+ almanacAF1 INTEGER (-1024..1023)
+}
+
+-- Acquisition Assistance
+AcquisAssist ::= SEQUENCE {
+
+ -- Number of Satellites can be read from acquistList
+ timeRelation TimeRelation,
+
+ -- Acquisition assistance list
+ -- The size of Number of Satellites is actually Number of Satellites field
+ acquisList SeqOfAcquisElement
+}
+SeqOfAcquisElement ::= SEQUENCE (SIZE(1..16)) OF AcquisElement
+
+-- the relationship between GPS time and air-interface timing
+TimeRelation ::= SEQUENCE {
+ --
+ gpsTOW GPSTOW23b, -- 23b presentation
+ gsmTime GSMTime OPTIONAL
+}
+
+-- data occuring per number of satellites
+AcquisElement ::= SEQUENCE {
+ svid SatelliteID,
+
+ -- Doppler 0th order term,
+ -- -5120.0 - 5117.5 Hz (= -2048 - 2047 with 2.5 Hz resolution)
+ doppler0 INTEGER (-2048..2047),
+ addionalDoppler AddionalDopplerFields OPTIONAL,
+ codePhase INTEGER (0..1022), -- Code Phase
+ intCodePhase INTEGER (0..19), -- Integer Code Phase
+ gpsBitNumber INTEGER (0..3), -- GPS bit number
+ codePhaseSearchWindow INTEGER (0..15), -- Code Phase Search Window
+ addionalAngle AddionalAngleFields OPTIONAL
+}
+
+AddionalDopplerFields ::= SEQUENCE {
+ -- Doppler 1st order term, -1.0 - +0.5 Hz/sec
+ -- (= -42 + (0 to 63) with 1/42 Hz/sec. resolution)
+ doppler1 INTEGER (0..63),
+ dopplerUncertainty INTEGER (0..7)
+ -- a sender shall not encode any DopplerUncertainty value in the range 5 to 7
+ -- a receiver shall ignore any value between 5 and 7.
+}
+
+AddionalAngleFields ::= SEQUENCE {
+ -- azimuth angle, 0 - 348.75 deg (= 0 - 31 with 11.25 deg resolution)
+ azimuth INTEGER (0..31),
+ -- elevation angle, 0 - 78.75 deg (= 0 - 7 with 11.25 deg resolution)
+ elevation INTEGER (0..7)
+}
+
+-- Real-Time Integrity
+-- number of bad satellites can be read from this element
+SeqOf-BadSatelliteSet ::= SEQUENCE (SIZE(1..16)) OF SatelliteID
+
+-- Extension Elements
+
+-- Release 98 Extensions here
+Rel98-MsrPosition-Req-Extension ::= SEQUENCE {
+ rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
+ ...,
+ gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
+ gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
+
+-- Further R98 extensions here
+}
+Rel98-AssistanceData-Extension ::= SEQUENCE {
+ rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
+ ...,
+ gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
+ gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
+
+-- Further R98 extensions here
+}
+
+-- Release 98 ExpOTD extension
+Rel98-Ext-ExpOTD ::= SEQUENCE {
+-- If MsrAssistBTS is included in message, msrAssistData-R98-ExpOTD shall be included.
+ msrAssistData-R98-ExpOTD MsrAssistData-R98-ExpOTD OPTIONAL,
+
+-- If SystemInfoAssistaData is included in message, systemInfoAssistData-R98-ExpOTD shall be
+-- included.
+ systemInfoAssistData-R98-ExpOTD SystemInfoAssistData-R98-ExpOTD OPTIONAL
+}
+
+-- MsrAssistData R98 extension
+MsrAssistData-R98-ExpOTD ::= SEQUENCE {
+ msrAssistList-R98-ExpOTD SeqOfMsrAssistBTS-R98-ExpOTD
+}
+
+-- Indexes in SeqOfMsrAssistBTS-R98-ExpOTD refer to SeqOfMsrAssistBTS
+-- If the index exceeds the SegOfMsrAssistBTS range or if there is other
+-- inconsistencies between the BTS indices, the MS shall apply protocol
+-- error cause incorrectData
+SeqOfMsrAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS-R98-ExpOTD
+
+-- This element completes MsrAssistBTS IE
+MsrAssistBTS-R98-ExpOTD ::= SEQUENCE {
+ expectedOTD ExpectedOTD,
+ expOTDUncertainty ExpOTDUncertainty
+}
+
+-- SystemInfoAssistData R98 extension
+SystemInfoAssistData-R98-ExpOTD ::= SEQUENCE {
+ systemInfoAssistListR98-ExpOTD SeqOfSystemInfoAssistBTS-R98-ExpOTD
+}
+
+-- SeqOfSystemInfoAssistBTS-R98-ExpOTD index refer to SeqOfSystemInfoAssistBTS
+-- If the index exceeds the SegOfSystemInfoAssistBTS range or if there is other
+-- inconsistencies between the BTS indices, the MS shall apply protocol
+-- error cause incorrectData
+SeqOfSystemInfoAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS-R98-ExpOTD
+
+-- whether n.th is present or not ?
+SystemInfoAssistBTS-R98-ExpOTD ::= CHOICE {
+ notPresent NULL,
+ present AssistBTSData-R98-ExpOTD
+}
+
+-- This element completes AssistBTSData IE
+AssistBTSData-R98-ExpOTD ::= SEQUENCE {
+ expectedOTD ExpectedOTD,
+ expOTDuncertainty ExpOTDUncertainty -- Uncertainty of expected OTD
+}
+
+-- Expected OTD value between nbor base station and reference BTS
+-- at MS's current estimated location.
+ExpectedOTD ::= INTEGER (0..1250)
+-- The ExpectedOTD value 1250 shall not be encoded by the transmitting entity and
+-- shall be treated by the receiving entity as 0.
+-- Uncertainty of Exptected OTD in bits
+ExpOTDUncertainty ::= INTEGER(0..7)
+
+-- Release 98 extensions
+
+GPSReferenceTimeUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex
+
+GPSTimeAssistanceMeasurements ::= SEQUENCE {
+ referenceFrameMSB INTEGER (0 .. 63), -- MSB of frame number
+ gpsTowSubms INTEGER (0 .. 9999) OPTIONAL, -- in units of 100ns, for MS based AGPS
+ deltaTow INTEGER (0 .. 127) OPTIONAL, -- for MS assisted AGPS
+ gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
+}
+
+Rel-98-MsrPosition-Rsp-Extension ::= SEQUENCE {
+
+ -- First extension to Release 98
+ rel-98-Ext-MeasureInfo SEQUENCE {
+ otd-MeasureInfo-R98-Ext OTD-MeasureInfo-R98-Ext OPTIONAL
+ },
+ ...,
+ timeAssistanceMeasurements GPSTimeAssistanceMeasurements OPTIONAL
+ -- Further R98 extensions here
+}
+
+-- This is an addition to OTD-MeasureInfo element defined in original message,
+-- If OTD-MeasureInfo is absent, or if one or more OTD-MsrElementRest are present
+-- OTD-MeasureInfo-R98-Ext shall be absent.
+-- OTD-MeasureInfo-R98-Ext
+OTD-MeasureInfo-R98-Ext ::= SEQUENCE {
+ -- Measurement info elements
+ otdMsrFirstSets-R98-Ext OTD-MsrElementFirst-R98-Ext
+}
+
+-- OTD measurement information Ext for the first set only
+OTD-MsrElementFirst-R98-Ext ::= SEQUENCE {
+ -- additional measured neighbors in OTD measurements
+ otd-FirstSetMsrs-R98-Ext SeqOfOTD-FirstSetMsrs-R98-Ext OPTIONAL
+}
+SeqOfOTD-FirstSetMsrs-R98-Ext ::= SEQUENCE (SIZE(1..5)) OF OTD-FirstSetMsrs
+
+Rel-5-MsrPosition-Rsp-Extension ::= SEQUENCE {
+
+ extended-reference Extended-reference OPTIONAL,
+ -- The extended-reference shall be included by the MS if and only if previously
+ -- received from the SMLC in a Measure Position Request. When included, the value sent
+ -- by the MS shall equal the value received from the SMLC.
+
+ -- extension to Release 5, for RRLP pseudo-segmentation here
+ otd-MeasureInfo-5-Ext OTD-MeasureInfo-5-Ext OPTIONAL,
+ ulPseudoSegInd UlPseudoSegInd OPTIONAL, -- Included when uplink RRLP
+ -- Pseudo-segmentation is used, not included when no uplink pseudo-segmentation is used
+ ...
+ -- Possibly more extensions for Release 5 here later
+}
+
+Extended-reference ::= SEQUENCE {
+ smlc-code INTEGER (0..63),
+ transaction-ID INTEGER (0..262143)
+}
+
+OTD-MeasureInfo-5-Ext ::= SeqOfOTD-MsrElementRest
+ -- if more than one measurement sets are present this element is repeated
+ -- NumberOfSets - 1 (-1 = first set) combined in OTD-MeasureInfo-5-Ext and
+ -- OTD-MeasureInfo (e.g. if NumberOfSets is 3, then one otdMsrRestSets may
+ -- be sent in OTD-MeasureInfo-5-Ext and one in OTD-MeasureInfo)
+
+-- First part of Uplink RRLP Pseudo-segmentation indication, possibly more may be defined
+-- in the future for segmentation with more than two segments.
+UlPseudoSegInd ::= ENUMERATED {
+ firstOfMany (0),
+ secondOfMany(1)
+}
+
+Rel5-MsrPosition-Req-Extension ::= SEQUENCE {
+ extended-reference Extended-reference,
+ ...
+ -- Possibly more extensions for Release 5 here later
+}
+
+Rel5-AssistanceData-Extension ::= SEQUENCE {
+ extended-reference Extended-reference,
+ ...
+
+-- Possibly more extensions for Release 5 here later
+}
+
+Rel-5-ProtocolError-Extension::= SEQUENCE {
+ extended-reference Extended-reference OPTIONAL,
+ -- The extended-reference shall be included by the MS if and only if previously
+ -- received from the SMLC.
+ -- When included, the value sent by the MS shall equal the value received from the SMLC.
+ ...
+
+ -- Possibly more extensions for Release 5 here later
+}
+
+-- Release 7 Extensions here
+
+Rel7-MsrPosition-Req-Extension ::= SEQUENCE {
+velocityRequested NULL OPTIONAL,
+ ganssPositionMethod GANSSPositioningMethod OPTIONAL,
+ ganss-AssistData GANSS-AssistData OPTIONAL,
+ ganssCarrierPhaseMeasurementRequest NULL OPTIONAL,
+ ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL,
+requiredResponseTime RequiredResponseTime OPTIONAL,
+ ...
+ -- Further Release 7 extentions here
+}
+
+-- additional satellite systems may be added in future versions of the protocol
+GANSSPositioningMethod ::= BIT STRING {
+ gps (0),
+ galileo (1)} (SIZE (2..16))
+
+GANSS-AssistData ::= SEQUENCE {
+ ganss-controlHeader GANSS-ControlHeader
+}
+
+GANSS-ControlHeader ::= SEQUENCE {
+ ganssCommonAssistData GANSSCommonAssistData OPTIONAL,
+ ganssGenericAssistDataList SeqOfGANSSGenericAssistDataElement OPTIONAL
+}
+
+-- GANSS Common Assistance Data Elements
+GANSSCommonAssistData ::= SEQUENCE {
+ ganssReferenceTime GANSSReferenceTime OPTIONAL,
+ ganssRefLocation GANSSRefLocation OPTIONAL,
+ ganssIonosphericModel GANSSIonosphericModel OPTIONAL,
+ ...
+}
+
+-- List of GANSS Generic Assistance Data Elements, up to 8 GANSS
+SeqOfGANSSGenericAssistDataElement ::= SEQUENCE (SIZE (1..8)) OF GANSSGenericAssistDataElement
+
+-- GANSS Generic Assistance Data Elements
+GANSSGenericAssistDataElement ::= SEQUENCE {
+ ganssID INTEGER (0..7) OPTIONAL, -- Coding according to Annex
+ ganssTimeModel SeqOfGANSSTimeModel OPTIONAL,
+ ganssDiffCorrections GANSSDiffCorrections OPTIONAL,
+ ganssNavigationModel GANSSNavModel OPTIONAL,
+ ganssRealTimeIntegrity GANSSRealTimeIntegrity OPTIONAL,
+ ganssDataBitAssist GANSSDataBitAssist OPTIONAL,
+ ganssRefMeasurementAssist GANSSRefMeasurementAssist OPTIONAL,
+ ganssAlmanacModel GANSSAlmanacModel OPTIONAL,
+ ganssUTCModel GANSSUTCModel OPTIONAL,
+ ...
+}
+
+-- GANSS COMMON ASSISTANCE DATA ELEMENTS
+
+-- GANSS Reference Time IE
+GANSSReferenceTime ::= SEQUENCE {
+ ganssRefTimeInfo GANSSRefTimeInfo,
+ ganssTOD-GSMTimeAssociation GANSSTOD-GSMTimeAssociation OPTIONAL
+}
+
+-- GANSS Reference Time includes GANSS TOD, GANSS Day, uncertainty
+GANSSRefTimeInfo ::= SEQUENCE {
+ ganssDay INTEGER(0 .. 8191) OPTIONAL,
+ ganssTOD GANSSTOD,
+ ganssTODUncertainty GANSSTODUncertainty OPTIONAL,
+ ganssTimeID INTEGER (0 .. 7) OPTIONAL
+}
+
+-- GANSS TOD integer seconds
+GANSSTOD ::= INTEGER (0 .. 86399)
+
+-- GANSS TOD uncertainty
+GANSSTODUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex
+
+-- GANSS TOD-GSM Time association
+GANSSTOD-GSMTimeAssociation ::= SEQUENCE {
+ bcchCarrier BCCHCarrier, -- BCCH carrier
+ bsic BSIC, -- BSIC
+ frameNumber FrameNumber,
+ timeSlot TimeSlot,
+ bitNumber BitNumber,
+ frameDrift FrameDrift OPTIONAL
+}
+
+-- Frame drift
+FrameDrift ::= INTEGER(-64 .. 63)
+
+-- GANSS Reference Location IE
+GANSSRefLocation ::= SEQUENCE {
+ threeDLocation Ext-GeographicalInformation
+}
+
+-- GANSS Ionospheric Model IE
+-- GANSS Ionospheric Model consists of NeQuick model parameters and storm flags
+
+GANSSIonosphericModel ::= SEQUENCE {
+ ganssIonoModel GANSSIonosphereModel,
+ ganssIonoStormFlags GANSSIonoStormFlags OPTIONAL,
+ ...
+}
+
+-- GANSS ionosphere model. Coding according to Annex
+GANSSIonosphereModel ::= SEQUENCE {
+ ai0 INTEGER (0 .. 4095),
+ ai1 INTEGER (0 .. 4095),
+ ai2 INTEGER (0 .. 4095)
+}
+
+-- GANSS ionosphere storm flags
+GANSSIonoStormFlags ::= SEQUENCE {
+ ionoStormFlag1 INTEGER (0 .. 1),
+ ionoStormFlag2 INTEGER (0 .. 1),
+ ionoStormFlag3 INTEGER (0 .. 1),
+ ionoStormFlag4 INTEGER (0 .. 1),
+ ionoStormFlag5 INTEGER (0 .. 1)
+}
+
+-- GANSS GENERIC ASSISTANCE DATA ELEMENTS
+
+-- GANSS Time Model IE consists of time offset and first and second order parameters to relate GNSS
+-- specific system time to selected time reference
+SeqOfGANSSTimeModel ::= SEQUENCE (SIZE(1..7)) OF GANSSTimeModelElement
+
+GANSSTimeModelElement ::= SEQUENCE {
+ ganssTimeModelRefTime INTEGER(0 .. 65535),
+ tA0 TA0,
+ tA1 TA1 OPTIONAL,
+ tA2 TA2 OPTIONAL,
+ gnssTOID INTEGER (0 .. 7),
+ weekNumber INTEGER (0 .. 8191) OPTIONAL
+}
+
+-- GANSS time model parameter A0
+TA0 ::= INTEGER (-2147483648 .. 2147483647)
+
+-- GANSS time model parameter A1
+TA1 ::= INTEGER (-8388608 .. 8388607)
+
+-- GANSS time model parameter A2
+TA2 ::= INTEGER (-64 .. 63)
+
+-- DGANSS Corrections IE
+GANSSDiffCorrections ::= SEQUENCE {
+ dganssRefTime INTEGER (0 .. 119), -- DGANSS reference time
+
+ -- N_SGN_TYPE can be read from number of elements of sgnTypeList
+ sgnTypeList SeqOfSgnTypeElement
+}
+
+SeqOfSgnTypeElement ::= SEQUENCE (SIZE (1..3)) OF SgnTypeElement -- max three signals per GNSS
+
+-- DGANSS signal type element, once per GNSS signal type included in DGANSS
+SgnTypeElement ::= SEQUENCE {
+ ganssSignalID GANSSSignalID OPTIONAL, -- signal type identity
+ ganssStatusHealth INTEGER (0 .. 7),
+ -- N_SGN can be read from number of elements of dganssSgnList
+ dganssSgnList SeqOfDGANSSSgnElement
+}
+
+GANSSSignalID ::= INTEGER (0 .. 3) -- Coding according to Annex
+SeqOfDGANSSSgnElement ::= SEQUENCE (SIZE (1..16)) OF DGANSSSgnElement
+
+-- number of correction for signals
+DGANSSSgnElement ::= SEQUENCE {
+ svID SVID, -- Satellite identity
+
+--- Sequence number for GANSS Navigation Model that matches the DGANSS correction set
+ iod INTEGER (0 .. 1023),
+
+ -- User Differential Range Error
+ udre INTEGER (0..3),
+
+ -- Pseudo Range Correction, range is
+ -- -655.04 - +655.04,
+ pseudoRangeCor INTEGER (-2047..2047),
+
+ -- Pseudo Range Rate Correction, range is
+ -- -4.064 - +4.064,
+ rangeRateCor INTEGER (-127..127)
+}
+
+SVID ::= INTEGER (0 .. 63) -- Coding according to Annex
+
+-- GANSS Navigation Model IE
+GANSSNavModel ::= SEQUENCE {
+ nonBroadcastIndFlag INTEGER (0 .. 1),
+ toeMSB INTEGER (0 .. 31) OPTIONAL, -- 5 MSB of toe and toc
+ eMSB INTEGER (0 .. 127) OPTIONAL,
+ sqrtAMBS INTEGER (0 .. 63) OPTIONAL,
+ ganssSatelliteList SeqOfGANSSSatelliteElement
+}
+
+SeqOfGANSSSatelliteElement ::= SEQUENCE (SIZE(1..32)) OF GANSSSatelliteElement
+
+GANSSSatelliteElement ::= SEQUENCE {
+ svID SVID,
+ svHealth INTEGER (-7 .. 13), -- Coding according to Annex
+ iod INTEGER (0 .. 1023), -- Coding according to Annex
+ ganssClockModel GANSSClockModel,
+ ganssOrbitModel GANSSOrbitModel,
+ ...
+}
+
+-- GANSS orbit model for the GNSS satellite according to the choice
+GANSSOrbitModel ::= CHOICE {
+ keplerianSet NavModel-KeplerianSet,
+ ...
+}
+
+-- Navigation model in Keplerian parameters
+NavModel-KeplerianSet ::= SEQUENCE {
+ keplerToeLSB INTEGER (0 .. 511), -- 9LSB are given in GANSSNavigationModel
+ keplerW INTEGER (-2147483648..2147483647),
+ keplerDeltaN INTEGER (-32768..32767),
+ keplerM0 INTEGER (-2147483648..2147483647),
+ keplerOmegaDot INTEGER (-8388608..8388607),
+ keplerELSB INTEGER (0..33554431),
+ keplerIDot INTEGER (-8192..8191),
+ keplerAPowerHalfLSB INTEGER (0.. 67108863),
+ keplerI0 INTEGER (-2147483648..2147483647),
+ keplerOmega0 INTEGER (-2147483648..2147483647),
+ keplerCrs INTEGER (-32768..32767),
+ keplerCis INTEGER (-32768..32767),
+ keplerCus INTEGER (-32768..32767),
+ keplerCrc INTEGER (-32768..32767),
+ keplerCic INTEGER (-32768..32767),
+ keplerCuc INTEGER (-32768..32767)
+}
+
+-- GANSS clock model for the GNSS satellite according to the choice
+GANSSClockModel ::= CHOICE {
+ standardClockModelList SeqOfStandardClockModelElement,
+ ...
+}
+
+SeqOfStandardClockModelElement ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelElement
+
+StandardClockModelElement ::= SEQUENCE {
+ stanClockTocLSB INTEGER (0 .. 511), -- 9LSB of time of clock
+ stanClockAF2 INTEGER (-2048 .. 2047),
+ stanClockAF1 INTEGER (-131072 .. 131071),
+ stanClockAF0 INTEGER (-134217728 .. 134217727),
+ stanClockTgd INTEGER (-512 .. 511) OPTIONAL,
+ stanModelID INTEGER (0 .. 1) OPTIONAL,
+ ...
+}
+
+-- GANSS Real-Time Integrity IE
+GANSSRealTimeIntegrity ::= SEQUENCE {
+ -- list of bad signals
+ -- NBS can be read from number of elements in SeqOf-BadSignalSet
+ ganssBadSignalList SeqOfBadSignalElement
+}
+
+SeqOfBadSignalElement ::= SEQUENCE (SIZE(1..16)) OF BadSignalElement
+
+BadSignalElement ::= SEQUENCE {
+ badSVID SVID, -- Coding according to Annex
+ badSignalID INTEGER (0 .. 3) OPTIONAL -- Coding according to Annex
+}
+
+
+-- GANSS Data Bit Assistance IE
+GANSSDataBitAssist ::= SEQUENCE {
+ ganssTOD INTEGER (0 .. 59),
+ svID SVID,
+ ganssDataTypeID INTEGER (0 .. 2), -- Coding according to Annex
+ -- list of navigation data bits
+ -- N_BIT can be read from number of elements in SeqOf-DataBits
+ ganssDataBits SeqOf-GANSSDataBits
+}
+
+SeqOf-GANSSDataBits ::= SEQUENCE (SIZE(1 .. 1024)) OF GANSSDataBit
+GANSSDataBit ::= INTEGER(0 .. 1)
+
+-- GANSS Reference Measurement Assistance IE
+-- Code and Doppler assistance from the network.
+GANSSRefMeasurementAssist ::= SEQUENCE {
+ ganssSignalID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
+ ganssRefMeasAssitList SeqOfGANSSRefMeasurementElement
+}
+
+SeqOfGANSSRefMeasurementElement ::= SEQUENCE (SIZE(1 .. 16)) OF GANSSRefMeasurementElement
+
+GANSSRefMeasurementElement ::= SEQUENCE {
+ svID SVID,
+ -- Doppler 0th order term,
+ -- -1024 m/s to 1023.5 m/s with 0.5 m/s resolution)
+ doppler0 INTEGER (-2048 .. 2047), -- Coding according to Annex
+ additionalDoppler AdditionalDopplerFields OPTIONAL,
+ codePhase INTEGER (0 .. 1022), -- Code Phase in ms
+ intCodePhase INTEGER (0 .. 127), -- Integer Code Phase in ms
+ codePhaseSearchWindow INTEGER (0 .. 31), -- Code Phase Search Window, see Annex
+ additionalAngle AddionalAngleFields OPTIONAL,
+ ...
+}
+
+AdditionalDopplerFields ::= SEQUENCE {
+ -- Doppler 1st order term, -0.2 - +0.1 m/s2
+ doppler1 INTEGER (0..63),
+ dopplerUncertainty INTEGER (0..4)
+}
+
+-- GANSS Almanac Model IE
+GANSSAlmanacModel ::= SEQUENCE {
+ weekNumber INTEGER (0 .. 255),
+ svIDMask SVIDMASK,
+ toa INTEGER (0 .. 255) OPTIONAL,
+ ioda INTEGER (0 .. 3) OPTIONAL,
+ ganssAlmanacList SeqOfGANSSAlmanacElement
+}
+
+-- SV ID Mask, LSB for ID 1 and MSB for ID 36
+SVIDMASK ::= BIT STRING (SIZE (1..36))
+
+SeqOfGANSSAlmanacElement ::= SEQUENCE (SIZE(1 .. 36)) OF GANSSAlmanacElement
+
+-- GANSS Almanac Model
+GANSSAlmanacElement ::= CHOICE {
+ keplerianAlmanacSet Almanac-KeplerianSet,
+ ...
+}
+
+-- Almanac parameters according to Keplerian parameters
+Almanac-KeplerianSet ::= SEQUENCE {
+ kepAlmanacE INTEGER (0 .. 2047),
+ kepAlmanacDeltaI INTEGER (-1024 .. 1023),
+ kepAlmanacOmegaDot INTEGER (-1024 .. 1023),
+ kepSVHealth INTEGER (0 .. 15), -- Coding according to Annex
+ kepAlmanacAPowerHalf INTEGER (-65536 .. 65535),
+ kepAlmanacOmega0 INTEGER (-32768 .. 32767),
+ kepAlmanacW INTEGER (-32768 .. 32767),
+ kepAlmanacM0 INTEGER (-32768 .. 32767),
+ kepAlmanacAF0 INTEGER (-8192 .. 8191),
+ kepAlmanacAF1 INTEGER (-1024..1023)
+}
+
+-- GANSS Universal Time Coordinate Model
+GANSSUTCModel ::= SEQUENCE {
+ ganssUtcA1 INTEGER (-8388608..8388607),
+ ganssUtcA0 INTEGER (-2147483648..2147483647),
+ ganssUtcTot INTEGER (0..255),
+ ganssUtcWNt INTEGER (0..255),
+ ganssUtcDeltaTls INTEGER (-128..127),
+ ganssUtcWNlsf INTEGER (0..255),
+ ganssUtcDN INTEGER (-128..127),
+ ganssUtcDeltaTlsf INTEGER (-128..127)
+}
+
+--Required Measurement Request Response Time, range is 1 to 128 seconds.
+RequiredResponseTime ::= INTEGER (1..128)
+
+Rel-7-MsrPosition-Rsp-Extension ::= SEQUENCE {
+
+ velEstimate VelocityEstimate OPTIONAL,
+ -- Horizontal Velocity
+ -- Horizontal with Vertical Velocity
+ -- Horizontal Velocity with Uncertainty
+ -- Horizontal with Vertical Velocity and Uncertainty
+ ganssLocationInfo GANSSLocationInfo OPTIONAL,
+ ganssMeasureInfo GANSSMeasureInfo OPTIONAL,
+ ...
+-- Further Release 7 extensions here
+}
+
+-- GANSS Location Information contains location estimate, time stamp with uncertainty
+-- and optionally Reference Frame field
+GANSSLocationInfo ::= SEQUENCE {
+ referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
+ ganssTODm GANSSTODm OPTIONAL, -- GNSS TOD modulo
+ ganssTODFrac INTEGER (0 .. 16384) OPTIONAL, -- Coding according to Annex
+ ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding according to Annex
+ ganssTimeID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
+ fixType FixType,
+ posData PositionData,
+ stationaryIndication INTEGER(0 .. 1) OPTIONAL, -- '0' if moving or motion not known
+ -- Possible shapes carried in posEstimate are
+ -- ellipsoid point,
+ -- ellipsoid point with uncertainty circle
+ -- ellipsoid point with uncertainty ellipse
+ -- ellipsoid point with altitude and uncertainty ellipsoid
+ posEstimate Ext-GeographicalInformation,
+ ...
+}
+
+PositionData ::= BIT STRING {
+ e-otd(0),
+ gps (1),
+ galileo (2) } (SIZE (3..16))
+
+
+-- GANSS TOD modulo 1 hour
+GANSSTODm ::= INTEGER (0 .. 3599999)
+
+ReferenceFrame ::= SEQUENCE {
+ referenceFN INTEGER (0 .. 65535),
+ -- Note that applicable range for referenceFN is 0 - 42431
+ referenceFNMSB INTEGER (0 .. 63) OPTIONAL -- MSB of Reference Frame Number
+}
+
+
+
+-- GANSS Measurement Information
+GANSSMeasureInfo ::= SEQUENCE {
+ -- Measurement info elements
+ -- user has to make sure that in this element is number of elements
+ -- defined in reference BTS identity
+ ganssMsrSetList SeqOfGANSS-MsrSetElement
+}
+SeqOfGANSS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GANSS-MsrSetElement
+
+-- GANSS measurement information 1-3 times in a message
+GANSS-MsrSetElement ::= SEQUENCE {
+ referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
+ ganssTODm GANSSTODm OPTIONAL, -- GANSS TOD modulo
+ deltaGNASSTOD INTEGER (0 .. 127) OPTIONAL,
+ ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding accoring to Annex
+
+ --N_SGN_TYPE can be read from number of elements of SeqOfGANSS-SgnTypeElement
+ ganss-SgnTypeList SeqOfGANSS-SgnTypeElement
+}
+
+-- Measurements can be returned up to 6 different signal types
+SeqOfGANSS-SgnTypeElement ::= SEQUENCE (SIZE(1..6)) OF GANSS-SgnTypeElement
+
+GANSS-SgnTypeElement ::= SEQUENCE {
+ ganssSignalID INTEGER (0 .. 15), -- Coding accroding to Annex
+ --N_SGN can be read from number of elements of SeqOfGANSS-SgnElement
+ ganss-SgnList SeqOfGANSS-SgnElement
+}
+
+-- Measurements can be returned up to 16 per signal types
+SeqOfGANSS-SgnElement ::= SEQUENCE (SIZE(1..16)) OF GANSS-SgnElement
+
+
+GANSS-SgnElement ::= SEQUENCE {
+ svID SVID,
+ cNo INTEGER (0 .. 63),
+ mpathDet MpathIndic, -- Coding according to Annex
+ carrierQualityInd INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
+ codePhase INTEGER (0 .. 2097151),
+ integerCodePhase INTEGER (0 .. 63) OPTIONAL,
+ codePhaseRMSError INTEGER (0..63), -- Coding accoring to Annex
+ doppler INTEGER (-32768 .. 32767) OPTIONAL,
+ adr INTEGER (0 .. 33554431) OPTIONAL
+}
+
+Rel7-AssistanceData-Extension ::= SEQUENCE {
+ ganss-AssistData GANSS-AssistData OPTIONAL,
+ ganssCarrierPhaseMeasurementRequest NULL OPTIONAL,
+ ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL,
+ ...
+-- Possibly more extensions for Release 7 here
+}
+
+END
diff --git a/asn1/rrlp/RRLP-Messages.asn b/asn1/rrlp/RRLP-Messages.asn
new file mode 100644
index 0000000000..c68a357488
--- /dev/null
+++ b/asn1/rrlp/RRLP-Messages.asn
@@ -0,0 +1,38 @@
+-- RRLP-Messages.asn
+--
+-- Taken from 3GPP TS 44.031 V7.4.0 (2007-03)
+-- http://www.3gpp.org/ftp/Specs/archive/44_series/44.031/44031-740.zip/44031-740.doc
+--
+-- 3.1 General Format of RRLP Message
+--
+
+RRLP-Messages
+-- { RRLP-messages }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ MsrPosition-Req, MsrPosition-Rsp, AssistanceData,
+ ProtocolError
+FROM
+ RRLP-Components -- { RRLP-Components }
+;
+
+PDU ::= SEQUENCE {
+ referenceNumber INTEGER (0..7),
+ component RRLP-Component
+}
+
+RRLP-Component ::= CHOICE {
+ msrPositionReq MsrPosition-Req,
+ msrPositionRsp MsrPosition-Rsp,
+ assistanceData AssistanceData,
+ assistanceDataAck NULL,
+ protocolError ProtocolError,
+ ...
+
+}
+
+END
diff --git a/asn1/rrlp/packet-rrlp-template.c b/asn1/rrlp/packet-rrlp-template.c
index 48e1d40b47..bccbf703fa 100644
--- a/asn1/rrlp/packet-rrlp-template.c
+++ b/asn1/rrlp/packet-rrlp-template.c
@@ -38,8 +38,6 @@
#include <stdio.h>
#include <string.h>
-#include "packet-rrlp.h"
-
#include "packet-ber.h"
#include "packet-per.h"
#include "packet-gsm_map.h"
diff --git a/asn1/rrlp/packet-rrlp-template.h b/asn1/rrlp/packet-rrlp-template.h
deleted file mode 100644
index 5c34608fca..0000000000
--- a/asn1/rrlp/packet-rrlp-template.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* packet-rrlp.h
- * Routines for 3GPP Radio Resource LCS Protocol (RRLP) packet dissection
- * Copyright 2006, Anders Broman <anders.broman@ericsson.com>
- *
- * $Id$
- *
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef PACKET_RRLP_H
-#define PACKET_RRLP_H
-
-
-
-/* #include "packet-rrlp-exp.h" */
-
-#endif /* PACKET_RRLP_H */
-
-
diff --git a/asn1/rrlp/rrlp.asn b/asn1/rrlp/rrlp.asn
deleted file mode 100644
index 0379f80ce4..0000000000
--- a/asn1/rrlp/rrlp.asn
+++ /dev/null
@@ -1,1052 +0,0 @@
-RRLP-Messages
--- { RRLP-messages }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
---IMPORTS
-
--- MsrPosition-Req, MsrPosition-Rsp, AssistanceData,
--- ProtocolError
-
---FROM
--- RRLP-Components
--- { RRLP-Components }
---;
-
-IMPORTS
--- Ext-GeographicalInformation
---FROM
--- MAP-LCS-DataTypes {
--- ccitt identified-organization (4) etsi (0) mobileDomain (0)
--- gsm-Network (1) modules (3) map-LCS-DataTypes (25) version5 (5)}
-
--- ExtensionContainer
---FROM MAP-ExtensionDataTypes {
--- ccitt identified-organization (4) etsi (0) mobileDomain (0)
--- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version4 (4)}
- ;
--- local import
--- maxExt-GeographicalInformation INTEGER ::= 20
-Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..20))
-ExtensionContainer ::= OCTET STRING
-
---ExtensionContainer ::= SEQUENCE {
--- privateExtensionList [0] IMPLICIT PrivateExtensionList OPTIONAL,
--- pcsExtensions [1] IMPLICIT PcsExtensions OPTIONAL,
--- ... }
-
---PrivateExtensionList ::= SEQUENCE OF PrivateExtension
-
---PrivateExtension ::= SEQUENCE {
--- extId OBJECT IDENTIFIER, MAP-EXTENSION .&extensionId
--- extType ANY OPTIONAL { @extId }
---}
-
---PcsExtensions ::= SEQUENCE {
--- ...
--- }
-
-
-PDU ::= SEQUENCE {
- referenceNumber INTEGER (0..7),
- component RRLP-Component
-}
-
-RRLP-Component ::= CHOICE {
- msrPositionReq MsrPosition-Req,
- msrPositionRsp MsrPosition-Rsp,
- assistanceData AssistanceData,
- assistanceDataAck NULL,
- protocolError ProtocolError,
- ...
-}
-
---RRLP-Components
--- { RRLP-Components }
--- ETSI TS 144 031 V6.8.0
---DEFINITIONS AUTOMATIC TAGS ::=
-
---BEGIN
-
---IMPORTS
-
--- Ext-GeographicalInformation
---FROM
--- MAP-LCS-DataTypes {
--- ccitt identified-organization (4) etsi (0) mobileDomain (0)
--- gsm-Network (1) modules (3) map-LCS-DataTypes (25) version5 (5)}
-
--- ExtensionContainer
---FROM MAP-ExtensionDataTypes {
--- ccitt identified-organization (4) etsi (0) mobileDomain (0)
--- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version4 (4)}
--- ;
--- Add here other ASN.1 definitions presented below
--- in chapters 4 and 5.
-
--- add this definition to RRLP-Components module
--- Measurement Position request component
-
-MsrPosition-Req ::= SEQUENCE {
- positionInstruct PositionInstruct,
- referenceAssistData ReferenceAssistData OPTIONAL,
- msrAssistData MsrAssistData OPTIONAL,
- systemInfoAssistData SystemInfoAssistData OPTIONAL,
- gps-AssistData GPS-AssistData OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
--- Release 98 extension element
- rel98-MsrPosition-Req-extension Rel98-MsrPosition-Req-Extension OPTIONAL,
--- Release 5 extension element
- rel5-MsrPosition-Req-extension Rel5-MsrPosition-Req-Extension OPTIONAL
-}
-
--- add this defintion to RRLP-Components module
--- Measurement Position response component
-
-MsrPosition-Rsp ::= SEQUENCE {
- multipleSets MultipleSets OPTIONAL,
- referenceIdentity ReferenceIdentity OPTIONAL,
- otd-MeasureInfo OTD-MeasureInfo OPTIONAL,
- locationInfo LocationInfo OPTIONAL,
- gps-MeasureInfo GPS-MeasureInfo OPTIONAL,
- locationError LocationError OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
--- Release extension here
- rel-98-MsrPosition-Rsp-Extension Rel-98-MsrPosition-Rsp-Extension OPTIONAL,
- rel-5-MsrPosition-Rsp-Extension Rel-5-MsrPosition-Rsp-Extension OPTIONAL
--- rel-5-MsrPosition-Rsp-Extension and other possible future extensions
--- are the only information elements that may be included in the 2nd
--- MsrPosition-Rsp component when RRLP pseudo-segmentation is used
-}
-
--- add this defintion to RRLP-Components module
--- Assistance Data component
-
-AssistanceData ::= SEQUENCE {
- referenceAssistData ReferenceAssistData OPTIONAL,
- msrAssistData MsrAssistData OPTIONAL,
- systemInfoAssistData SystemInfoAssistData OPTIONAL,
- gps-AssistData GPS-AssistData OPTIONAL,
- moreAssDataToBeSent MoreAssDataToBeSent OPTIONAL, -- If not present, interpret as only
--- Assistance Data component used to
--- deliver entire set of assistance
--- data.
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
--- Release extension here
- rel98-AssistanceData-Extension Rel98-AssistanceData-Extension OPTIONAL,
- rel5-AssistanceData-Extension Rel5-AssistanceData-Extension OPTIONAL
-}
-
--- add this defintion to RRLP-Components module
--- Protocol Error component
- ProtocolError ::= SEQUENCE {
- errorCause ErrorCodes,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
--- Release extensions here
- rel-5-ProtocolError-Extension Rel-5-ProtocolError-Extension OPTIONAL
-}
-
-PositionInstruct ::= SEQUENCE {
--- Method type
- methodType MethodType,
- positionMethod PositionMethod,
- measureResponseTime MeasureResponseTime,
- useMultipleSets UseMultipleSets,
- environmentCharacter EnvironmentCharacter OPTIONAL
-}
-
---
-MethodType ::= CHOICE {
- msAssisted AccuracyOpt, -- accuracy is optional
- msBased Accuracy, -- accuracy is mandatory
- msBasedPref Accuracy, -- accuracy is mandatory
- msAssistedPref Accuracy -- accuracy is mandatory
-}
-
--- Accuracy of the location estimation
-AccuracyOpt ::= SEQUENCE {
- accuracy Accuracy OPTIONAL
-}
-
--- The values of this field are defined in 3GPP TS 23.032 (Uncertainty code)
-Accuracy ::= INTEGER (0..127)
-
--- Position Method
-PositionMethod ::= ENUMERATED {
- eotd (0),
- gps (1),
- gpsOrEOTD (2)
-}
-
--- Measurement request response time
-MeasureResponseTime ::= INTEGER (0..7)
-
--- useMultiple Sets, FFS!
-UseMultipleSets ::= ENUMERATED {
- multipleSets (0), -- multiple sets are allowed
- oneSet (1) -- sending of multiple is not allowed
-}
-
--- Environment characterization
-EnvironmentCharacter ::= ENUMERATED {
- badArea (0), -- bad urban or suburban, heavy multipath and NLOS
- notBadArea (1), -- light multipath and NLOS
- mixedArea (2), -- not defined or mixed environment
- ...
-}
--- E-OTD reference BTS for Assitance data IE
-ReferenceAssistData ::= SEQUENCE {
- bcchCarrier BCCHCarrier, -- BCCH carrier
- bsic BSIC, -- BSIC
- timeSlotScheme TimeSlotScheme, -- Timeslot scheme
- btsPosition BTSPosition OPTIONAL
-}
-
--- ellipsoid point and
--- ellipsoid point with altitude and uncertainty ellipsoid shapes are supported
-BTSPosition ::= Ext-GeographicalInformation
-
--- RF channel number of BCCH
-BCCHCarrier ::= INTEGER (0..1023)
-
--- Base station Identity Code
-BSIC ::= INTEGER (0..63)
-
--- Timeslot scheme
-TimeSlotScheme ::= ENUMERATED {
- equalLength (0),
- variousLength (1)
-}
-
--- Time slot (modulo)
-ModuloTimeSlot ::= INTEGER (0..3)
-
--- E-OTD measurement assistance data IE
--- The total number of neighbors in this element (MsrAssistData)
--- and in SystemInfoAssistData element (presented neighbors
--- can be at a maximum 15!)
-MsrAssistData ::= SEQUENCE {
- msrAssistList SeqOfMsrAssistBTS
-}
-
-SeqOfMsrAssistBTS ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS
-
-MsrAssistBTS ::= SEQUENCE {
- bcchCarrier BCCHCarrier, -- BCCH carrier
- bsic BSIC, -- BSIC
- multiFrameOffset MultiFrameOffset, -- multiframe offset
- timeSlotScheme TimeSlotScheme, -- Timeslot scheme
- roughRTD RoughRTD, -- rough RTD value
--- Location Calculation Assistance data is moved here
- calcAssistanceBTS CalcAssistanceBTS OPTIONAL
-}
--- Multiframe offset
-MultiFrameOffset ::= INTEGER (0..51)
--- The Multiframe Offset value 51 shall not be encoded by the transmitting entity and
--- shall be treated by the receiving entity as 0.
--- Rough RTD value between one base station and reference BTS
-
-RoughRTD ::= INTEGER (0..1250)
--- The RoughRTD value 1250 shall not be encoded by the transmitting entity and shall
--- be treated by the receiving entity as 0.
--- E-OTD Measurement assistance data for system information List IE
--- The total number of base stations in this element (SystemInfoAssistData
--- presented neighbors) and in MsrAssistData element can be at a maximum 15.
-
-SystemInfoAssistData ::= SEQUENCE {
- systemInfoAssistList SeqOfSystemInfoAssistBTS
-}
-
-SeqOfSystemInfoAssistBTS::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS
--- whether n.th is present or not ?
-
-SystemInfoAssistBTS ::= CHOICE {
- notPresent NULL,
- present AssistBTSData
-}
-
--- Actual assistance data for system information base station
-AssistBTSData ::= SEQUENCE {
- bsic BSIC, -- BSIC
- multiFrameOffset MultiFrameOffset, -- multiframe offset
- timeSlotScheme TimeSlotScheme, -- Timeslot scheme
- roughRTD RoughRTD, -- rough RTD value
--- Location Calculation Assistance data
- calcAssistanceBTS CalcAssistanceBTS OPTIONAL
-}
-
--- E-OTD Location calculation assistance data,
--- CalcAssistanceBTS element is optional not subfields
-CalcAssistanceBTS ::= SEQUENCE {
- fineRTD FineRTD, -- fine RTD value between base stations
- referenceWGS84 ReferenceWGS84 -- reference coordinates
-}
-
--- Coordinates of neighbour BTS, WGS-84 ellipsoid
-ReferenceWGS84 ::= SEQUENCE {
- relativeNorth RelDistance, -- relative distance (south negative)
- relativeEast RelDistance, -- relative distance (west negative)
--- Relative Altitude is not always known
- relativeAlt RelativeAlt OPTIONAL -- relative altitude
-}
-
--- Fine RTD value between this BTS and the reference BTS
-FineRTD ::= INTEGER (0..255)
-
--- Relative north/east distance
-RelDistance ::= INTEGER (-200000..200000)
-
--- Relative altitude
-
-RelativeAlt ::= INTEGER (-4000..4000)
--- Measure position response IEs
--- Reference Identity
--- Multiple sets
-
-MultipleSets ::= SEQUENCE {
- -- number of reference sets
- nbrOfSets INTEGER (2..3),
- -- This field actually tells the number of reference BTSs
- nbrOfReferenceBTSs INTEGER (1..3),
- -- This field is conditional and included optionally only if
- -- nbrOfSets is 3 and number of reference BTSs is 2.
- referenceRelation ReferenceRelation OPTIONAL
-}
-
--- Relation between refence BTSs and sets
-ReferenceRelation ::= ENUMERATED {
- secondBTSThirdSet (0), -- 1st BTS related to 1st and 2nd sets
- secondBTSSecondSet (1), -- 1st BTS related to 1st and 3rd sets
- firstBTSFirstSet (2) -- 1st BTS related to 1st set
-}
-
--- Reference BTS Identity, this element contains number of
--- BTSs told nbrOfReferenceBTSs field in Multiple sets element)
-
-ReferenceIdentity ::= SEQUENCE {
- -- Reference BTS list
- refBTSList SeqOfReferenceIdentityType
-}
-SeqOfReferenceIdentityType ::= SEQUENCE (SIZE(1..3)) OF ReferenceIdentityType
-
--- Cell identity
-ReferenceIdentityType ::= CHOICE {
- bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier
- ci CellID, -- Cell ID, LAC not needed
- requestIndex RequestIndex, -- Index to Requested Neighbor List
- systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of ref. identity
- -- shall not be used by the MS unless it has received
- -- the SystemInfoAssistData from the SMLC for this cell.
- ciAndLAC CellIDAndLAC -- CI and LAC
-}
-
-BSICAndCarrier ::= SEQUENCE {
- carrier BCCHCarrier,
- bsic BSIC
-}
-
-RequestIndex ::= INTEGER (1..16)
-
-SystemInfoIndex ::= INTEGER (1..32)
-
-CellIDAndLAC ::= SEQUENCE {
- referenceLAC LAC, -- Location area code
- referenceCI CellID -- Cell identity
-}
-
-CellID ::= INTEGER (0..65535)
-
-LAC ::= INTEGER (0..65535)
-
--- OTD-MeasureInfo
-
-OTD-MeasureInfo ::= SEQUENCE {
- -- Measurement info elements, OTD-MsrElement is repeated number of times
- -- told in nbrOfReferenceBTSs in MultipleSets, default value is 1
- otdMsrFirstSets OTD-MsrElementFirst,
- -- if more than one sets are present this element is repeated
- -- NumberOfSets - 1 (-1 = first set)
- otdMsrRestSets SeqOfOTD-MsrElementRest OPTIONAL
-}
-
-SeqOfOTD-MsrElementRest ::= SEQUENCE (SIZE(1..2)) OF OTD-MsrElementRest
-
--- OTD measurent information for 1 set
-OTD-MsrElementFirst ::= SEQUENCE {
- refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432
- referenceTimeSlot ModuloTimeSlot,
- toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL,
- stdResolution StdResolution,
- taCorrection INTEGER (0..960) OPTIONAL, -- TA correction
--- measured neighbors in OTD measurements
- otd-FirstSetMsrs SeqOfOTD-FirstSetMsrs OPTIONAL
-}
-
-SeqOfOTD-FirstSetMsrs ::= SEQUENCE (SIZE(1..10)) OF OTD-FirstSetMsrs
-
--- OTD measurent information 2 and 3 sets if exist
-OTD-MsrElementRest ::= SEQUENCE {
- refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432
- referenceTimeSlot ModuloTimeSlot,
- toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL,
- stdResolution StdResolution,
- taCorrection INTEGER (0..960) OPTIONAL, -- TA correction
- -- measured neighbors in OTD measurements
- otd-MsrsOfOtherSets SeqOfOTD-MsrsOfOtherSets OPTIONAL
-}
-
-SeqOfOTD-MsrsOfOtherSets ::= SEQUENCE (SIZE(1..10)) OF OTD-MsrsOfOtherSets
-
--- Standard deviation of the TOA measurements from the reference BTS
-TOA-MeasurementsOfRef ::= SEQUENCE {
- refQuality RefQuality,
- numOfMeasurements NumOfMeasurements
-}
-
-RefQuality ::= INTEGER (0..31) -- St Dev of TOA of reference as defined in annex
-
-NumOfMeasurements ::= INTEGER (0..7) -- No. of measurements for RefQuality as defined in annex
-
-StdResolution ::= INTEGER (0..3) -- Values of resolution are defined in annex
-
-OTD-FirstSetMsrs ::= OTD-MeasurementWithID
-
--- Neighbour info in OTD measurements 0-10 times in TD measurement info
-OTD-MsrsOfOtherSets ::= CHOICE {
- identityNotPresent OTD-Measurement,
- identityPresent OTD-MeasurementWithID
-}
-
--- For this OTD measurement identity is same as the identity of BTS
--- in the first set with same sequence number
-OTD-Measurement ::= SEQUENCE {
- nborTimeSlot ModuloTimeSlot,
- eotdQuality EOTDQuality,
- otdValue OTDValue
-}
-
--- This measurement contains the BTS identity and measurement
-OTD-MeasurementWithID ::=SEQUENCE {
- neighborIdentity NeighborIdentity,
- nborTimeSlot ModuloTimeSlot,
- eotdQuality EOTDQuality,
- otdValue OTDValue
-}
-
-EOTDQuality ::= SEQUENCE {
- nbrOfMeasurements INTEGER (0..7),
- stdOfEOTD INTEGER (0..31)
-}
-
-NeighborIdentity ::= CHOICE {
- bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier
- ci CellID, -- Cell ID, LAC not needed
- multiFrameCarrier MultiFrameCarrier, -- MultiFrameOffest and BSIC
- requestIndex RequestIndex, -- Index to Requested Neighbor List
- systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of neighbour
- -- identity shall not be used by the MS unless it has
- -- received the SystemInfoAssistData from the SMLC for
- -- this cell.
- ciAndLAC CellIDAndLAC -- CI and LAC
-}
-
--- Multiframe and carrier
-MultiFrameCarrier ::= SEQUENCE {
- bcchCarrier BCCHCarrier,
- multiFrameOffset MultiFrameOffset
-}
-
--- OTD measurement value for neighbour
-OTDValue ::= INTEGER (0..39999)
-
--- Location information IE
-LocationInfo ::= SEQUENCE {
- refFrame INTEGER (0..65535), -- Reference Frame number
- -- If refFrame is within (42432..65535), it shall be ignored by the receiver
- -- in that case the MS should provide GPS TOW if available
- gpsTOW INTEGER (0..14399999) OPTIONAL, -- GPS TOW
- fixType FixType,
- -- Note that applicable range for refFrame is 0 - 42431
- -- Possible shapes carried in posEstimate are
- -- ellipsoid point,
- -- ellipsoid point with uncertainty circle
- -- ellipsoid point with uncertainty ellipse
- -- ellipsoid point with altitude and uncertainty ellipsoid
- posEstimate Ext-GeographicalInformation
-}
-
-FixType ::= INTEGER {
- twoDFix (0),
- threeDFix (1)
-} (0..1)
-
--- GPS-Measurement information
-GPS-MeasureInfo ::= SEQUENCE {
- -- Measurement info elements
- -- user has to make sure that in this element is number of elements
- -- defined in reference BTS identity
- gpsMsrSetList SeqOfGPS-MsrSetElement
-}
-
-SeqOfGPS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GPS-MsrSetElement
-
--- OTD measurent information 1-3 times in message
-GPS-MsrSetElement ::= SEQUENCE {
- refFrame INTEGER (0..65535) OPTIONAL, -- Reference Frame number
- gpsTOW GPSTOW24b,
- -- GPS TOW
- -- Note that applicable range for refFrame is 0 - 42431
- --N_SAT can be read from number of elements of gps-msrList
- gps-msrList SeqOfGPS-MsrElement
-}
-
--- 24 bit presentation for GPSTOW
-GPSTOW24b ::= INTEGER (0..14399999)
-
--- measured elements in measurement parameters field
-SeqOfGPS-MsrElement ::= SEQUENCE (SIZE(1..16)) OF GPS-MsrElement
-
-GPS-MsrElement ::= SEQUENCE {
- satelliteID SatelliteID, -- Satellite identifier
- cNo INTEGER (0..63), -- carrier noise ratio
- doppler INTEGER (-32768..32767), -- doppler, mulltiply by 0.2
- wholeChips INTEGER (0..1022), -- whole value of the code phase measurement
- fracChips INTEGER (0..1024), -- fractional value of the code phase measurement
- -- a value of 1024 shall not be encoded by the sender
- -- the receiver shall consider a value of 1024 to be
- -- invalid data
- mpathIndic MpathIndic, -- multipath indicator
- pseuRangeRMSErr INTEGER (0..63) -- index
-}
-
--- Multipath indicator
-MpathIndic ::= ENUMERATED {
- notMeasured (0),
- low (1),
- medium (2),
- high (3)
-}
-
--- Location error IE
-LocationError ::= SEQUENCE {
- locErrorReason LocErrorReason,
- additionalAssistanceData AdditionalAssistanceData OPTIONAL,
- ...
-}
-
-LocErrorReason ::= ENUMERATED {
- unDefined (0),
- notEnoughBTSs (1),
- notEnoughSats (2),
- eotdLocCalAssDataMissing (3),
- eotdAssDataMissing (4),
- gpsLocCalAssDataMissing (5),
- gpsAssDataMissing (6),
- methodNotSupported (7),
- notProcessed (8),
- refBTSForGPSNotServingBTS (9),
- refBTSForEOTDNotServingBTS (10),
- ...
-}
-
--- exception handling:
--- an unrecognized value shall be treated the same as value 0
--- defines additional assistance data needed for any new location attempt
--- MS shall retain any assistance data already received
-AdditionalAssistanceData ::= SEQUENCE {
- gpsAssistanceData GPSAssistanceData OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
-...
-}
-
-GPSAssistanceData ::= OCTET STRING (SIZE (1..maxGPSAssistanceData))
--- GPSAssistanceData has identical structure and encoding to octets 3 to n of the
--- GPS Assistance Data IE in 3GPP TS 49.031
-maxGPSAssistanceData INTEGER ::= 40
--- Protocol Error Causes
-ErrorCodes ::= ENUMERATED {
- unDefined (0),
- missingComponet (1),
- incorrectData (2),
- missingIEorComponentElement (3),
- messageTooShort (4),
- unknowReferenceNumber (5),
- ...
-}
-
--- exception handling:
--- an unrecognized value shall be treated the same as value 0
--- GPS assistance data IE
-GPS-AssistData ::= SEQUENCE {
- controlHeader ControlHeader
-}
-
--- More Assistance Data To Be Sent IE
--- More Assistance Data Components On the Way indication for delivery of an entire set of assistance
--- data in multiple Assistance Data components.
-MoreAssDataToBeSent ::= ENUMERATED {
- noMoreMessages (0), -- This is the only or last Assistance Data message used to deliver
- -- the entire set of assistance data.
- moreMessagesOnTheWay (1) -- The SMLC will send more Assistance Data messages or a final RRLP
- -- Measure Position Request message to deliver the
- -- the entire set of assistance data.
-}
-
--- Control header of the GPS assistance data
-ControlHeader ::= SEQUENCE {
- -- Field type Present information
- referenceTime ReferenceTime OPTIONAL,
- refLocation RefLocation OPTIONAL,
- dgpsCorrections DGPSCorrections OPTIONAL,
- navigationModel NavigationModel OPTIONAL,
- ionosphericModel IonosphericModel OPTIONAL,
- utcModel UTCModel OPTIONAL,
- almanac Almanac OPTIONAL,
- acquisAssist AcquisAssist OPTIONAL,
- realTimeIntegrity SeqOf-BadSatelliteSet OPTIONAL
-}
-
-ReferenceTime ::= SEQUENCE {
- gpsTime GPSTime,
- gsmTime GSMTime OPTIONAL,
- gpsTowAssist GPSTOWAssist OPTIONAL
-}
-
--- GPS Time includes week number and time-of-week (TOW)
-GPSTime ::= SEQUENCE {
- gpsTOW23b GPSTOW23b,
- gpsWeek GPSWeek
-}
-
--- GPSTOW, range 0-604799.92, resolution 0.08 sec, 23-bit presentation
-GPSTOW23b ::= INTEGER (0..7559999)
-
--- GPS week number
-GPSWeek ::= INTEGER (0..1023)
--- GPSTOWAssist consists of TLM message, Anti-spoof flag, Alert flag, and 2 reserved bits in TLM Word
--- for each visible satellite.
--- N_SAT can be read from number of elements in GPSTOWAssist
-
-GPSTOWAssist ::= SEQUENCE (SIZE(1..12)) OF GPSTOWAssistElement
-
-GPSTOWAssistElement ::= SEQUENCE {
- satelliteID SatelliteID,
- tlmWord TLMWord,
- antiSpoof AntiSpoofFlag,
- alert AlertFlag,
- tlmRsvdBits TLMReservedBits
-}
-
--- TLM Word, 14 bits
-TLMWord ::= INTEGER (0..16383)
-
--- Anti-Spoof flag
-AntiSpoofFlag ::= INTEGER (0..1)
-
--- Alert flag
-AlertFlag ::= INTEGER (0..1)
-
--- Reserved bits in TLM word, MSB occurs earlier in TLM Word transmitted by satellite
-TLMReservedBits ::= INTEGER (0..3)
-
-GSMTime ::= SEQUENCE {
- bcchCarrier BCCHCarrier, -- BCCH carrier
- bsic BSIC, -- BSIC
- frameNumber FrameNumber,
- timeSlot TimeSlot,
- bitNumber BitNumber
-}
-
--- Frame number
-FrameNumber ::= INTEGER (0..2097151)
-
--- Time slot number
-TimeSlot ::= INTEGER (0..7)
-
--- Bit number
-BitNumber ::= INTEGER (0..156)
-
--- Reference Location IE
-RefLocation ::= SEQUENCE {
- threeDLocation Ext-GeographicalInformation
-}
-
--- DGPS Corrections IE
-DGPSCorrections ::= SEQUENCE {
- gpsTOW INTEGER (0..604799), -- DGPS reference time
- status INTEGER (0..7),
--- N_SAT can be read from number of elements of satList
- satList SeqOfSatElement
-}
-SeqOfSatElement ::= SEQUENCE (SIZE (1..16)) OF SatElement
-
--- number of correction for satellites
-SatElement ::= SEQUENCE {
- satelliteID SatelliteID,
---- Sequence number for ephemeris
- iode INTEGER (0..239),
--- User Differential Range Error
- udre INTEGER (0..3),
--- Pseudo Range Correction, range is
--- -655.04 - +655.04,
- pseudoRangeCor INTEGER (-2047..2047),
--- Pseudo Range Rate Correction, range is
--- -4.064 - +4.064,
- rangeRateCor INTEGER (-127..127),
--- Delta Pseudo Range Correction 2
- deltaPseudoRangeCor2 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
--- set to zero by the sender
--- Delta Pseudo Range Correction 2
- deltaRangeRateCor2 INTEGER (-7..7), -- This IE shall be ignored by the receiver and
--- set to zero by the sender
--- Delta Pseudo Range Correction 3
- deltaPseudoRangeCor3 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
--- set to zero by the sender
--- Delta Pseudo Range Correction 3
- deltaRangeRateCor3 INTEGER (-7..7) -- This IE shall be ignored by the receiver and
--- set to zero by the sender
-}
-
-SatelliteID ::= INTEGER (0..63) -- identifies satellite
-
--- Navigation Model IE
-NavigationModel ::= SEQUENCE {
- navModelList SeqOfNavModelElement
-}
-
--- navigation model satellite list
-SeqOfNavModelElement ::= SEQUENCE (SIZE(1..16)) OF NavModelElement
-
-NavModelElement ::= SEQUENCE {
- satelliteID SatelliteID,
- satStatus SatStatus -- satellite status
-}
-
--- the Status of the navigation model
-SatStatus ::= CHOICE {
--- New satellite, new Navigation Model
- newSatelliteAndModelUC UncompressedEphemeris,
--- Existing satellite, Existing Navigation Model
- oldSatelliteAndModel NULL,
--- Existing satellite, new Navigation Model
- newNaviModelUC UncompressedEphemeris,
- ...
-}
-
--- Uncompressed satellite emhemeris and clock corrections
-UncompressedEphemeris ::= SEQUENCE {
- ephemCodeOnL2 INTEGER (0..3),
- ephemURA INTEGER (0..15),
- ephemSVhealth INTEGER (0..63),
- ephemIODC INTEGER (0..1023),
- ephemL2Pflag INTEGER (0..1),
- ephemSF1Rsvd EphemerisSubframe1Reserved,
- ephemTgd INTEGER (-128..127),
- ephemToc INTEGER (0..37799),
- ephemAF2 INTEGER (-128..127),
- ephemAF1 INTEGER (-32768..32767),
- ephemAF0 INTEGER (-2097152..2097151),
- ephemCrs INTEGER (-32768..32767),
- ephemDeltaN INTEGER (-32768..32767),
- ephemM0 INTEGER (-2147483648..2147483647),
- ephemCuc INTEGER (-32768..32767),
- ephemE INTEGER (0..4294967295),
- ephemCus INTEGER (-32768..32767),
- ephemAPowerHalf INTEGER (0..4294967295),
- ephemToe INTEGER (0..37799),
- ephemFitFlag INTEGER (0..1),
- ephemAODA INTEGER (0..31),
- ephemCic INTEGER (-32768..32767),
- ephemOmegaA0 INTEGER (-2147483648..2147483647),
- ephemCis INTEGER (-32768..32767),
- ephemI0 INTEGER (-2147483648..2147483647),
- ephemCrc INTEGER (-32768..32767),
- ephemW INTEGER (-2147483648..2147483647),
- ephemOmegaADot INTEGER (-8388608..8388607),
- ephemIDot INTEGER (-8192..8191)
-}
-
--- Reserved bits in subframe 1 of navigation message
-EphemerisSubframe1Reserved ::= SEQUENCE {
- reserved1 INTEGER (0..8388607), -- 23-bit field
- reserved2 INTEGER (0..16777215), -- 24-bit field
- reserved3 INTEGER (0..16777215), -- 24-bit field
- reserved4 INTEGER (0..65535) -- 16-bit field
-}
-
--- Ionospheric Model IE
-IonosphericModel ::= SEQUENCE {
- alfa0 INTEGER (-128..127),
- alfa1 INTEGER (-128..127),
- alfa2 INTEGER (-128..127),
- alfa3 INTEGER (-128..127),
- beta0 INTEGER (-128..127),
- beta1 INTEGER (-128..127),
- beta2 INTEGER (-128..127),
- beta3 INTEGER (-128..127)
-}
-
--- Universal Time Coordinate Model
-UTCModel ::= SEQUENCE {
- utcA1 INTEGER (-8388608..8388607),
- utcA0 INTEGER (-2147483648..2147483647),
- utcTot INTEGER (0..255),
- utcWNt INTEGER (0..255),
- utcDeltaTls INTEGER (-128..127),
- utcWNlsf INTEGER (0..255),
- utcDN INTEGER (-128..127),
- utcDeltaTlsf INTEGER (-128..127)
-}
-
--- Almanac, Long term model
--- NOTE: These are parameters are subset of the ephemeris
--- NOTE: But with reduced resolution and accuracy
-Almanac ::= SEQUENCE {
- alamanacWNa INTEGER (0..255), -- Once per message
--- navigation model satellite list.
--- The size of almanacList is actually Nums_Sats_Total field
- almanacList SeqOfAlmanacElement
-}
-
-SeqOfAlmanacElement ::= SEQUENCE (SIZE(1..64)) OF AlmanacElement
-
--- Almanac info once per satellite
-AlmanacElement ::= SEQUENCE {
- satelliteID SatelliteID,
- almanacE INTEGER (0..65535),
- alamanacToa INTEGER (0..255),
- almanacKsii INTEGER (-32768..32767),
- almanacOmegaDot INTEGER (-32768..32767),
- almanacSVhealth INTEGER (0..255),
- almanacAPowerHalf INTEGER (0..16777215),
- almanacOmega0 INTEGER (-8388608..8388607),
- almanacW INTEGER (-8388608..8388607),
- almanacM0 INTEGER (-8388608..8388607),
- almanacAF0 INTEGER (-1024..1023),
- almanacAF1 INTEGER (-1024..1023)
-}
-
--- Acquisition Assistance
-AcquisAssist ::= SEQUENCE {
--- Number of Satellites can be read from acquistList
- timeRelation TimeRelation,
--- Acquisition assistance list
--- The size of Number of Satellites is actually Number of Satellites field
- acquisList SeqOfAcquisElement
-}
-
-SeqOfAcquisElement ::= SEQUENCE (SIZE(1..16)) OF AcquisElement
-
--- the relationship between GPS time and air-interface timing
-TimeRelation ::= SEQUENCE {
---
- gpsTOW GPSTOW23b, -- 23b presentation
- gsmTime GSMTime OPTIONAL
-}
-
--- data occuring per number of satellites
-AcquisElement ::= SEQUENCE {
- svid SatelliteID,
--- Doppler 0th order term,
--- -5120.0 - 5117.5 Hz (= -2048 - 2047 with 2.5 Hz resolution)
- doppler0 INTEGER (-2048..2047),
- addionalDoppler AddionalDopplerFields OPTIONAL,
- codePhase INTEGER (0..1022), -- Code Phase
- intCodePhase INTEGER (0..19), -- Integer Code Phase
- gpsBitNumber INTEGER (0..3), -- GPS bit number
- codePhaseSearchWindow INTEGER (0..15), -- Code Phase Search Window
- addionalAngle AddionalAngleFields OPTIONAL
-}
-
-AddionalDopplerFields ::= SEQUENCE {
--- Doppler 1st order term, -1.0 - +0.5 Hz/sec
--- (= -42 + (0 to 63) with 1/42 Hz/sec. resolution)
- doppler1 INTEGER (0..63),
- dopplerUncertainty INTEGER (0..7)
--- a sender shall not encode any DopplerUncertainty value in the range 5 to 7
--- a receiver shall ignore any value between 5 and 7.
-}
-
-AddionalAngleFields ::= SEQUENCE {
--- azimuth angle, 0 - 348.75 deg (= 0 - 31 with 11.25 deg resolution)
- azimuth INTEGER (0..31),
--- elevation angle, 0 - 78.75 deg (= 0 - 7 with 11.25 deg resolution)
- elevation INTEGER (0..7)
-}
-
--- Real-Time Integrity
--- number of bad satellites can be read from this element
-SeqOf-BadSatelliteSet ::= SEQUENCE (SIZE(1..16)) OF SatelliteID
-
--- Extension Elements
--- Release 98 Extensions here
-Rel98-MsrPosition-Req-Extension ::= SEQUENCE {
- rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
- ...,
- gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
- gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
--- Further R98 extensions here
-}
-
-Rel98-AssistanceData-Extension ::= SEQUENCE {
- rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
- ...,
- gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
- gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
--- Further R98 extensions here
-
-}
--- Release 98 ExpOTD extension
-Rel98-Ext-ExpOTD ::= SEQUENCE {
--- If MsrAssistBTS is included in message, msrAssistData-R98-ExpOTD shall be included.
- msrAssistData-R98-ExpOTD MsrAssistData-R98-ExpOTD OPTIONAL,
--- If SystemInfoAssistaData is included in message, systemInfoAssistData-R98-ExpOTD shall be
--- included.
- systemInfoAssistData-R98-ExpOTD SystemInfoAssistData-R98-ExpOTD OPTIONAL
-}
-
--- MsrAssistData R98 extension
-MsrAssistData-R98-ExpOTD ::= SEQUENCE {
- msrAssistList-R98-ExpOTD SeqOfMsrAssistBTS-R98-ExpOTD
-}
-
--- Indexes in SeqOfMsrAssistBTS-R98-ExpOTD refer to SeqOfMsrAssistBTS
--- If the index exceeds the SegOfMsrAssistBTS range or if there is other
--- inconsistencies between the BTS indices, the MS shall apply protocol
--- error cause incorrectData
-SeqOfMsrAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS-R98-ExpOTD
-
--- This element completes MsrAssistBTS IE
-MsrAssistBTS-R98-ExpOTD ::= SEQUENCE {
- expectedOTD ExpectedOTD,
- expOTDUncertainty ExpOTDUncertainty
-}
-
--- SystemInfoAssistData R98 extension
-SystemInfoAssistData-R98-ExpOTD ::= SEQUENCE {
- systemInfoAssistListR98-ExpOTD SeqOfSystemInfoAssistBTS-R98-ExpOTD
-}
-
--- SeqOfSystemInfoAssistBTS-R98-ExpOTD index refer to SeqOfSystemInfoAssistBTS
--- If the index exceeds the SegOfSystemInfoAssistBTS range or if there is other
--- inconsistencies between the BTS indices, the MS shall apply protocol
--- error cause incorrectData
-
-SeqOfSystemInfoAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS-R98-ExpOTD
-
--- whether n.th is present or not ?
-SystemInfoAssistBTS-R98-ExpOTD ::= CHOICE {
- notPresent NULL,
- present AssistBTSData-R98-ExpOTD
-}
-
--- This element completes AssistBTSData IE
-AssistBTSData-R98-ExpOTD ::= SEQUENCE {
- expectedOTD ExpectedOTD,
- expOTDuncertainty ExpOTDUncertainty -- Uncertainty of expected OTD
-}
-
--- Expected OTD value between nbor base station and reference BTS
--- at MS's current estimated location.
-ExpectedOTD ::= INTEGER (0..1250)
-
--- The ExpectedOTD value 1250 shall not be encoded by the transmitting entity and
--- shall be treated by the receiving entity as 0.
--- Uncertainty of Exptected OTD in bits
-ExpOTDUncertainty ::= INTEGER(0..7)
-
--- Release 98 extensions
-GPSReferenceTimeUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex
-
-GPSTimeAssistanceMeasurements ::= SEQUENCE {
- referenceFrameMSB INTEGER (0 .. 63), -- MSB of frame number
- gpsTowSubms INTEGER (0 .. 9999) OPTIONAL, -- in units of 100ns, for MS based AGPS
- deltaTow INTEGER (0 .. 127) OPTIONAL, -- for MS assisted AGPS
- gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
-}
-
-Rel-98-MsrPosition-Rsp-Extension ::= SEQUENCE {
--- First extension to Release 98
- rel-98-Ext-MeasureInfo SEQUENCE {
- otd-MeasureInfo-R98-Ext OTD-MeasureInfo-R98-Ext OPTIONAL
- },
- ...,
- timeAssistanceMeasurements GPSTimeAssistanceMeasurements OPTIONAL
--- Further R98 extensions here
-}
-
--- This is an addition to OTD-MeasureInfo element defined in original message,
--- If OTD-MeasureInfo is absent, or if one or more OTD-MsrElementRest are present
--- OTD-MeasureInfo-R98-Ext shall be absent.
--- OTD-MeasureInfo-R98-Ext
-OTD-MeasureInfo-R98-Ext ::= SEQUENCE {
--- Measurement info elements
- otdMsrFirstSets-R98-Ext OTD-MsrElementFirst-R98-Ext
-}
-
--- OTD measurement information Ext for the first set only
-OTD-MsrElementFirst-R98-Ext ::= SEQUENCE {
--- additional measured neighbors in OTD measurements
- otd-FirstSetMsrs-R98-Ext SeqOfOTD-FirstSetMsrs-R98-Ext OPTIONAL
-}
-
-SeqOfOTD-FirstSetMsrs-R98-Ext ::= SEQUENCE (SIZE(1..5)) OF OTD-FirstSetMsrs
-
-Rel-5-MsrPosition-Rsp-Extension ::= SEQUENCE {
- extended-reference Extended-reference OPTIONAL,
--- The extended-reference shall be included by the MS if and only if previously
--- received from the SMLC in a Measure Position Request. When included, the value sent
--- by the MS shall equal the value received from the SMLC.
--- extension to Release 5, for RRLP pseudo-segmentation here
- otd-MeasureInfo-5-Ext OTD-MeasureInfo-5-Ext OPTIONAL,
- ulPseudoSegInd UlPseudoSegInd OPTIONAL, -- Included when uplink RRLP
--- Pseudo-segmentation is used, not included when no uplink pseudo-segmentation is used
- ...
--- Possibly more extensions for Release 5 here later
-}
-
-Extended-reference ::= SEQUENCE {
- smlc-code INTEGER (0..63),
- transaction-ID INTEGER (0..262143)
-}
-
-OTD-MeasureInfo-5-Ext ::= SeqOfOTD-MsrElementRest
--- if more than one measurement sets are present this element is repeated
--- NumberOfSets - 1 (-1 = first set) combined in OTD-MeasureInfo-5-Ext and
--- OTD-MeasureInfo (e.g. if NumberOfSets is 3, then one otdMsrRestSets may
--- be sent in OTD-MeasureInfo-5-Ext and one in OTD-MeasureInfo)
--- First part of Uplink RRLP Pseudo-segmentation indication, possibly more may be defined
--- in the future for segmentation with more than two segments.
-UlPseudoSegInd ::= ENUMERATED {
- firstOfMany (0),
- secondOfMany(1)
-}
-
-Rel5-MsrPosition-Req-Extension ::= SEQUENCE {
- extended-reference Extended-reference,
- ...
--- Possibly more extensions for Release 5 here later
-}
-
-Rel5-AssistanceData-Extension ::= SEQUENCE {
- extended-reference Extended-reference,
- ...
--- Possibly more extensions for Release 5 here later
-}
-
-Rel-5-ProtocolError-Extension::= SEQUENCE {
- extended-reference Extended-reference OPTIONAL,
--- The extended-reference shall be included by the MS if and only if previously
--- received from the SMLC.
--- When included, the value sent by the MS shall equal the value received from the SMLC.
- ...
--- Possibly more extensions for Release 5 here later
-}
-
-END \ No newline at end of file
diff --git a/asn1/rrlp/rrlp.cnf b/asn1/rrlp/rrlp.cnf
index 94c0a9fc21..e63cadde86 100644
--- a/asn1/rrlp/rrlp.cnf
+++ b/asn1/rrlp/rrlp.cnf
@@ -3,17 +3,31 @@
# Copyright 2006 Anders Broman
# $Id$
+#.OPT
+PER
+UNALIGNED
+#.END
+
#.PDU
PDU
-#.FN_BODY PDU
+#.OMIT_ASSIGNMENTS_EXCEPT MAP-LCS-DataTypes
+Ext-GeographicalInformation
+maxExt-GeographicalInformation
+VelocityEstimate
+#.END
+
+#.CLASS MAP-EXTENSION
+ExtensionType
+extensionId ObjectIdentifierType
+#.END
+
+#.FN_HDR PDU
proto_tree_add_item(tree, proto_rrlp, tvb, 0, -1, FALSE);
- if (check_col(%(ACTX)s->pinfo->cinfo, COL_PROTOCOL))
- col_append_str(%(ACTX)s->pinfo->cinfo, COL_PROTOCOL, "/RRLP");
-
- %(DEFAULT_BODY)s
+ if (check_col(actx->pinfo->cinfo, COL_PROTOCOL))
+ col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/RRLP");
#.END
@@ -25,3 +39,4 @@ tvbuff_t *parameter_tvb = NULL;
if(parameter_tvb)
dissect_geographical_description(parameter_tvb, %(ACTX)s->pinfo, tree);
+#.END