| 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 |
| } |
| |
| Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..20)) |
| ExtensionContainer ::= OCTET STRING |
| |
| END |