-- RRLP-Components.asn -- $Id$ -- 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 { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-LCS-DataTypes (25) version11 (11)} ExtensionContainer FROM MAP-ExtensionDataTypes { itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version11 (11)} ; -- 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 LACID, -- Location area code referenceCI CellID -- Cell identity } CellID ::= INTEGER (0..65535) LACID ::= 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