osmocom-lcs/asn1/RRLP-Components.asn

1489 lines
46 KiB
Groff

-- 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