-- ILP.asn -- -- Taken from OMA Internal Location Protocol -- http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-TS-ILP-V2_0_4-20181213-A.zip -- -- 13.3 Common Elements -- ILP-Components DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS Version, SessionID2, LocationId, PosTechnology, Position, StatusCode, QoP, PosMethod, Velocity, PosPayLoad, SETCapabilities, SPCStatusCode, SPCSETKey, SPCTID, SPCSETKeylifetime, maxPosSize, UTRAN-GPSReferenceTimeResult, UTRAN-GANSSReferenceTimeResult, GNSSPosTechnology, UTRAN-GPSReferenceTimeAssistance, UTRAN-GANSSReferenceTimeAssistance, MultipleLocationIds, GANSSSignals; -- protocol version expressed as x.y.z (e.g., 5.1.0) Version ::= SEQUENCE { maj INTEGER(0..255), min INTEGER(0..255), servind INTEGER(0..255)} SessionID2 ::= SEQUENCE { slcSessionID SlcSessionID, setSessionID SetSessionID OPTIONAL, spcSessionID SpcSessionID OPTIONAL -- the semantics of OPTIONAL applies to the encoding only. -- The parameter itself is MANDATORY. Since the spcSessionID is allocated by the SPC, -- there is no spcSessionID to be transmitted in the ILP PREQ message. } SetSessionID ::= SEQUENCE { sessionId INTEGER(0..65535), setId SETId } SETId ::= CHOICE { msisdn OCTET STRING(SIZE (8)), mdn OCTET STRING(SIZE (8)), min BIT STRING(SIZE (34)), -- coded according to TIA-553 imsi OCTET STRING(SIZE (8)), nai IA5String(SIZE (1..1000)), iPAddress IPAddress, ..., imei OCTET STRING(SIZE (8))} -- msisdn, mnd, imsi and imei are a BCD (Binary Coded Decimal) string -- represent digits from 0 through 9, -- two digits per octet, each digit encoded 0000 to 1001 (0 to 9) -- bits 8765 of octet n encoding digit 2n -- bits 4321 of octet n encoding digit 2(n-1) +1 -- not used digits in the string shall be filled with 1111 -- imei SHALL NOT be used unless the SLP indicates support for SUPL ver 2.0.3 -- or greater SlcSessionID ::= SEQUENCE { sessionID OCTET STRING(SIZE (4)), slcId NodeAddress } SpcSessionID ::= SEQUENCE { sessionID OCTET STRING(SIZE (4)), spcId NodeAddress } IPAddress ::= CHOICE { ipv4Address OCTET STRING(SIZE (4)), ipv6Address OCTET STRING(SIZE (16)) } NodeAddress ::= CHOICE { iPAddress IPAddress, fqdn FQDN, ...} FQDN ::= VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" |".-"))(SIZE (1..255)) LocationId ::= SEQUENCE { cellInfo CellInfo, status Status, ...} Status ::= ENUMERATED {stale(0), current(1), unknown(2), ...} MultipleLocationIds ::= SEQUENCE SIZE (1..maxLidSize) OF LocationIdData LocationIdData ::= SEQUENCE { locationId LocationId, relativetimestamp RelativeTime OPTIONAL, -- if relativetimestamp is present, then data represents historical measurement, if absent, data represents current measurements servingFlag BOOLEAN, -- if "true" measurements represent serving cell ...} -- status in locationId indicates whether cellInfo is current or stale relative to timestamp RelativeTime ::= INTEGER (0..65535) -- relative time to "current" Location Id in multiples of 0.01sec maxLidSize INTEGER ::= 64 SETCapabilities ::= SEQUENCE { posTechnology PosTechnology, prefMethod PrefMethod, posProtocol PosProtocol, supportedBearers SupportedBearers OPTIONAL, ...} PosTechnology ::= SEQUENCE { agpsSETassisted BOOLEAN, agpsSETBased BOOLEAN, autonomousGPS BOOLEAN, aflt BOOLEAN, ecid BOOLEAN, eotd BOOLEAN, otdoa BOOLEAN, gANSSPositionMethods GANSSPositionMethods OPTIONAL, ..., additionalPositioningMethods AdditionalPositioningMethods OPTIONAL} GANSSPositionMethods ::= SEQUENCE (SIZE(1..16)) OF GANSSPositionMethod GANSSPositionMethod ::= SEQUENCE { ganssId INTEGER(0..15), -- coding according to parameter definition in Section 12.14 ganssSBASid BIT STRING(SIZE(3)) OPTIONAL, --coding according to parameter definition in section 12.14 gANSSPositioningMethodTypes GANSSPositioningMethodTypes, gANSSSignals GANSSSignals, ...} GANSSPositioningMethodTypes ::= SEQUENCE { setAssisted BOOLEAN, setBased BOOLEAN, autonomous BOOLEAN, ...} -- indicates MS support for particular GANSS signals and frequencies -- coding according to parameter definition in Section 12.14 GANSSSignals ::= BIT STRING { signal1 (0), signal2 (1), signal3 (2), signal4 (3), signal5 (4), signal6 (5), signal7 (6), signal8 (7)} (SIZE (1..8)) AdditionalPositioningMethods ::= SEQUENCE (SIZE(1..8)) OF AddPosSupport-Element AddPosSupport-Element ::= SEQUENCE { addPosID ENUMERATED { mBS, ... }, addPosMode BIT STRING { standalone (0), setBased (1), setAssisted (2)} (SIZE (1..8)) OPTIONAL, ...} PrefMethod ::= ENUMERATED { agnssSETAssistedPreferred, agnssSETBasedPreferred, noPreference, ...} -- Note: In ULP V2.0, the names of the enumerations are -- kept the same as in ULP V1.0. ie. Agps in the TS ULP actually shall be -- interpreted as agnss. This means that agpsSETassistedPreferred and -- agpsSETBasedPreferred in ULP V2.0 map to agnssSETAssistedPreferred and -- agnssSETBasedPreferred in ILP. PosProtocol ::= SEQUENCE { tia801 BOOLEAN, rrlp BOOLEAN, rrc BOOLEAN, lpp BOOLEAN, posProtocolVersionRRLP PosProtocolVersion3GPP OPTIONAL, posProtocolVersionRRC PosProtocolVersion3GPP OPTIONAL, posProtocolVersionTIA801 PosProtocolVersion3GPP2 OPTIONAL, posProtocolVersionLPP PosProtocolVersion3GPP OPTIONAL, ..., lppe BOOLEAN OPTIONAL, posProtocolVersionLPPe PosProtocolVersionOMA OPTIONAL} PosProtocolVersion3GPP ::= SEQUENCE { majorVersionField INTEGER(0..255), technicalVersionField INTEGER(0..255), editorialVersionField INTEGER(0..255), ...} PosProtocolVersion3GPP2 ::= SEQUENCE (SIZE(1..8)) OF Supported3GPP2PosProtocolVersion Supported3GPP2PosProtocolVersion ::= SEQUENCE { revisionNumber BIT STRING(SIZE (6)), -- the location standard revision number the SET supports coded according to 3GPP2 C.S0022 pointReleaseNumber INTEGER(0..255), internalEditLevel INTEGER(0..255), ...} PosProtocolVersionOMA ::= SEQUENCE { majorVersionField INTEGER(0..255), minorVersionField INTEGER(0..255), ...} SupportedBearers ::= SEQUENCE { gsm BOOLEAN, wcdma BOOLEAN, lte BOOLEAN, cdma BOOLEAN, hprd BOOLEAN, umb BOOLEAN, wlan BOOLEAN, wiMAX BOOLEAN, ..., nr BOOLEAN } CellInfo ::= CHOICE { gsmCell GsmCellInformation, wcdmaCell WcdmaCellInformation, --WCDMA Cell Information/TD-SCDMA Cell Information cdmaCell CdmaCellInformation, hrpdCell HrpdCellInformation, umbCell UmbCellInformation, lteCell LteCellInformation, wlanAP WlanAPInformation, wimaxBS WimaxBSInformation, ..., nrCell NRCellInformation } UTRAN-GPSReferenceTimeResult ::= SEQUENCE { -- For ue-GPSTimingOfCell values above 37158911999999 are not -- used in this version of the specification -- Actual value utran-GPSTimingOfCell = (ms-part * 4294967296) + ls-part -- used on the uplink i.e. reported by the SET to the SLP set-GPSTimingOfCell SEQUENCE { ms-part INTEGER (0.. 16383), ls-part INTEGER (0..4294967295)}, modeSpecificInfo CHOICE { fdd SEQUENCE { referenceIdentity PrimaryCPICH-Info}, tdd SEQUENCE { referenceIdentity CellParametersID} }, sfn INTEGER (0..4095), gpsReferenceTimeUncertainty INTEGER (0..127) OPTIONAL, ...} UTRAN-GANSSReferenceTimeResult ::= SEQUENCE { ganssTimeID INTEGER (0..15), set-GANSSReferenceTime SET-GANSSReferenceTime, ...} SET-GANSSReferenceTime ::= SEQUENCE { -- Actual value [ns] = (ms-Part * 4294967296 + ls-Part) * 250 -- Actual values [ns] > 86399999999750 are reserved and are considered a -- protocol error set-GANSSTimingOfCell SEQUENCE { ms-part INTEGER (0..80), ls-part INTEGER (0..4294967295)} OPTIONAL, modeSpecificInfo CHOICE { fdd SEQUENCE { referenceIdentity PrimaryCPICH-Info}, tdd SEQUENCE { referenceIdentity CellParametersID}} OPTIONAL, sfn INTEGER (0..4095), ganss-TODUncertainty INTEGER (0..127) OPTIONAL, ...} GNSSPosTechnology ::= SEQUENCE { gps BOOLEAN, galileo BOOLEAN, sbas BOOLEAN, modernized-gps BOOLEAN, qzss BOOLEAN, glonass BOOLEAN, ..., bds BOOLEAN OPTIONAL} Position ::= SEQUENCE { timestamp UTCTime, -- shall include seconds and shall use UTC time. positionEstimate PositionEstimate, velocity Velocity OPTIONAL, ...} PositionEstimate ::= SEQUENCE { latitudeSign ENUMERATED {north, south}, latitude INTEGER(0..8388607), longitude INTEGER(-8388608..8388607), uncertainty SEQUENCE {uncertaintySemiMajor INTEGER(0..127), uncertaintySemiMinor INTEGER(0..127), orientationMajorAxis INTEGER(0..180)} OPTIONAL, -- angle in degree between major axis and North confidence INTEGER(0..100) OPTIONAL, altitudeInfo AltitudeInfo OPTIONAL, ...} -- Coding as in [3GPP GAD] AltitudeInfo ::= SEQUENCE { altitudeDirection ENUMERATED {height, depth}, altitude INTEGER(0..32767), altUncertainty INTEGER(0..127), ...} -- based on 3GPP TS 23.032 CdmaCellInformation ::= SEQUENCE { refNID INTEGER(0..65535), -- Network Id refSID INTEGER(0..32767), -- System Id refBASEID INTEGER(0..65535), -- Base Station Id refBASELAT INTEGER(0..4194303), -- Base Station Latitude reBASELONG INTEGER(0..8388607), -- Base Station Longitude refREFPN INTEGER(0..511), -- Base Station PN Code refWeekNumber INTEGER(0..65535), -- GPS Week Number refSeconds INTEGER(0..4194303), -- GPS Seconds ...} GsmCellInformation ::= SEQUENCE { refMCC INTEGER(0..999), -- Mobile Country Code refMNC INTEGER(0..999), -- Mobile Network Code refLAC INTEGER(0..65535), -- Location area code refCI INTEGER(0..65535), -- Cell identity nmr NMR OPTIONAL, ta INTEGER(0..255) OPTIONAL, --Timing Advance ...} WcdmaCellInformation ::= SEQUENCE { refMCC INTEGER(0..999), -- Mobile Country Code refMNC INTEGER(0..999), -- Mobile Network Code refUC INTEGER(0..268435455), -- Cell identity frequencyInfo FrequencyInfo OPTIONAL, primaryScramblingCode INTEGER(0..511) OPTIONAL, -- Not applicable for TDD measuredResultsList MeasuredResultsList OPTIONAL, cellParametersId INTEGER(0..127) OPTIONAL, -- Not applicable for FDD timingAdvance TimingAdvance OPTIONAL, -- Not applicable for FDD ...} TimingAdvance ::= SEQUENCE { ta INTEGER (0..8191), tAResolution TAResolution OPTIONAL, --If missing, resolution is 0.125 chips chipRate ChipRate OPTIONAL, --If missing, chip rate is 1.28 Mchip/s ...} TAResolution ::= ENUMERATED {res10chip(0),res05chip(1),res0125chip(2), ...} -- Corresponding to 1.0-chip, 0.5-chip and 0.125-chip resolutions, respectively ChipRate ::= ENUMERATED {tdd128(0),tdd384(1), tdd768(2), ...} -- Corresponding to 1.28-Mchips/s, 3.84-Mchips/s and 7.68-Mchips/s chip rates, respectively HrpdCellInformation ::= SEQUENCE { refSECTORID BIT STRING(SIZE (128)) OPTIONAL, -- HRPD Sector Id refBASELAT INTEGER(0..4194303), -- Base Station Latitude reBASELONG INTEGER(0..8388607), -- Base Station Longitude refWeekNumber INTEGER(0..65535), -- GPS Week Number refSeconds INTEGER(0..4194303), -- GPS Seconds ...} UmbCellInformation ::= SEQUENCE { refSECTORID BIT STRING(SIZE (128)), -- UMB Sector Id refMCC INTEGER(0..999), -- Mobile Country Code refMNC INTEGER(0..999), -- Mobile Network Code refBASELAT INTEGER(0..4194303), -- Base Station Latitude reBASELONG INTEGER(0..8388607), -- Base Station Longitude refWeekNumber INTEGER(0..65535), -- GPS Week Number refSeconds INTEGER(0..4194303), -- GPS Seconds ...} -- LTE Cell info per 3GPP TS 36.331. -- If not otherwise stated info is related to serving cell LteCellInformation ::= SEQUENCE { cellGlobalIdEUTRA CellGlobalIdEUTRA, physCellId PhysCellId, trackingAreaCode TrackingAreaCode, rsrpResult RSRP-Range OPTIONAL, rsrqResult RSRQ-Range OPTIONAL, ta INTEGER(0..1282) OPTIONAL, -- Currently used Timing Advance value (N_TA/16 as per [3GPP 36.213]) measResultListEUTRA MeasResultListEUTRA OPTIONAL, -- Neighbour measurements ..., earfcn INTEGER(0..65535) OPTIONAL, -- see Table 24 earfcn-ext INTEGER (65536..262143) OPTIONAL, -- see Table 24 rsrpResult-ext RSRP-Range-Ext OPTIONAL, rsrqResult-ext RSRQ-Range-Ext OPTIONAL, rs-sinrResult RS-SINR-Range OPTIONAL, servingInformation5G ServingInformation5G OPTIONAL } -- If rsrpResult-ext is included, rsrpResult shall be excluded or set to 0 -- If rsrqResult-ext is included and in the range 0 to 34, rsrqResult shall -- be included and set equal to rsrqResult-ext -- If rsrqResult-ext is included and outside the range 0 to 34, rsrqResult shall -- be excluded or set to 0 when rsrqResult-ext is negative or to 34 when -- rsrqResult-ext is positive -- servingInformation5G shall be included for a serving cell connected to 5GCN -- Measured results of neighbours cells per 3GPP TS 36.331 MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA MeasResultEUTRA ::= SEQUENCE { physCellId PhysCellId, cgi-Info SEQUENCE { cellGlobalId CellGlobalIdEUTRA, trackingAreaCode TrackingAreaCode } OPTIONAL, measResult SEQUENCE { rsrpResult RSRP-Range OPTIONAL, -- Mapping to measured values rsrqResult RSRQ-Range OPTIONAL, -- in 3GPP TS 36.133 ..., earfcn INTEGER(0..65535) OPTIONAL, -- see Table 24 earfcn-ext INTEGER (65536..262143) OPTIONAL, -- see Table 24 rsrpResult-ext RSRP-Range-Ext OPTIONAL, rsrqResult-ext RSRQ-Range-Ext OPTIONAL, rs-sinrResult RS-SINR-Range OPTIONAL, neighbourInformation5G NeighbourInformation5G OPTIONAL } } -- If rsrpResult-ext is included, rsrpResult shall be excluded or set to 0 -- If rsrqResult-ext is included and in the range 0 to 34, rsrqResult shall -- be included and set equal to rsrqResult-ext -- If rsrqResult-ext is included and outside the range 0 to 34, rsrqResult shall -- be excluded or set to 0 when rsrqResult-ext is negative or to 34 when -- rsrqResult-ext is positive -- neighbourInformation5G may only be included for a cell connected to 5GCN PhysCellId ::= INTEGER (0..503) TrackingAreaCode ::= BIT STRING (SIZE (16)) CellGlobalIdEUTRA ::= SEQUENCE { plmn-Identity PLMN-Identity, cellIdentity CellIdentity, ... } PLMN-Identity ::= SEQUENCE { mcc MCC OPTIONAL, mnc MNC } CellIdentity ::= BIT STRING (SIZE (28)) MCC ::= SEQUENCE (SIZE (3)) OF MCC-MNC-Digit MNC ::= SEQUENCE (SIZE (2..3)) OF MCC-MNC-Digit MCC-MNC-Digit ::= INTEGER (0..9) RSRP-Range ::= INTEGER(0..97) RSRQ-Range ::= INTEGER(0..34) RSRP-Range-Ext ::= INTEGER(-17..-1) RSRQ-Range-Ext ::= INTEGER(-30..46) RS-SINR-Range ::= INTEGER(0..127) ServingInformation5G ::= SEQUENCE { trackingAreaCode TrackingAreaCodeNR, ... } NeighbourInformation5G ::= SEQUENCE { trackingAreaCode TrackingAreaCodeNR OPTIONAL, ... } maxCellReport INTEGER ::= 8 WlanAPInformation ::= SEQUENCE { -- as per [IEEE 802.11] apMACAddress BIT STRING(SIZE (48)), -- AP MAC Address apTransmitPower INTEGER(-127..128) OPTIONAL, -- AP transmit power in dbm apAntennaGain INTEGER(-127..128) OPTIONAL, -- AP antenna gain in dBi apSignaltoNoise INTEGER(-127..128) OPTIONAL, -- AP S/N received at SET apDeviceType ENUMERATED {wlan802-11a(0), wlan802-11b(1), wlan802-11g(2), ..., wlan802-11n(3), wlan802-11ac(4), wlan802-11ad(5)} OPTIONAL, apSignalStrength INTEGER(-127..128) OPTIONAL, -- AP signal strength at SET apChannelFrequency INTEGER(0..256) OPTIONAL, -- AP channel/frequency of Tx/Rx apRoundTripDelay RTD OPTIONAL, -- Round Trip Delay between SET and AP setTransmitPower INTEGER(-127..128) OPTIONAL, -- SET transmit power in dBm setAntennaGain INTEGER (-127..128) OPTIONAL, -- SET antenna gain in dBi setSignaltoNoise INTEGER (-127..128) OPTIONAL, -- SET S/N received at AP setSignalStrength INTEGER(-127..128) OPTIONAL, -- SET signal strength at AP apReportedLocation ReportedLocation OPTIONAL, -- AP Location reported by AP (legacy encoding) ..., apRepLocation RepLocation OPTIONAL, -- AP Location reported by AP apSignalStrengthDelta INTEGER (0..1) OPTIONAL, -- see Table 28 apSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- see Table 28 setSignalStrengthDelta INTEGER (0..1) OPTIONAL, -- see Table 28 setSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- see Table 28 operatingClass INTEGER (0..255) OPTIONAL, apSSID OCTET STRING (SIZE (1..32)) OPTIONAL, apPHYType ENUMERATED {unknown(0), any(1), fhss(2), dsss(3), irbaseband(4), ofdm(5), hrdsss(6), erp(7), ht(8), ihv(9), ...} OPTIONAL, setMACAddress BIT STRING(SIZE (48)) OPTIONAL -- MAC Address used by SET to connect to AP } RTD ::= SEQUENCE { -- as per [IEEE 802.11] rTDValue INTEGER(0..16777216), -- measured RTD value corresponding to about 500km in units of 1/10 of nanoseconds rTDUnits RTDUnits, -- units of RTD rTDAccuracy INTEGER(0..255) OPTIONAL, -- RTD accuracy ...} RTDUnits ::= ENUMERATED { microseconds(0), hundredsofnanoseconds(1), tensofnanoseconds(2), nanoseconds(3), tenthsofnanoseconds(4), ...} ReportedLocation ::= SEQUENCE { -- as per 802.11v locationEncodingDescriptor LocationEncodingDescriptor, locationData LocationData, -- location data field ...} LocationEncodingDescriptor ::= ENUMERATED { lci(0),asn1(1), ...} LocationData ::= SEQUENCE { locationAccuracy INTEGER(0..4294967295) OPTIONAL, locationValue OCTET STRING (SIZE(1..128)), ...} RepLocation ::= CHOICE { lciLocData LciLocData, -- location data field as per [IEEE 802.11] and [RFC 3825] ... -- future formats may be added here } LciLocData ::= SEQUENCE { locationDataLCI LocationDataLCI OPTIONAL, ...} LocationDataLCI ::= SEQUENCE { latitudeResolution BIT STRING (SIZE (6)), latitude BIT STRING (SIZE (34)), longitudeResolution BIT STRING (SIZE (6)), longitude BIT STRING (SIZE (34)), altitudeType BIT STRING (SIZE (4)), altitudeResolution BIT STRING (SIZE (6)), altitude BIT STRING (SIZE (30)), datum BIT STRING (SIZE (8)), ...} WimaxBSInformation ::= SEQUENCE { wimaxBsID WimaxBsID, -- WiMax serving base station ID wimaxRTD WimaxRTD OPTIONAL, -- Round Trip Delay measurements wimaxNMRList WimaxNMRList OPTIONAL, -- Network measurements ...} WimaxBsID ::= SEQUENCE { bsID-MSB BIT STRING (SIZE(24)) OPTIONAL, bsID-LSB BIT STRING (SIZE(24)), ...} -- if only LSB is present, MSB is assumed to be identical to the current serving BS or clamped on network value WimaxRTD ::= SEQUENCE { rtd INTEGER (0..65535), -- Round trip delay of serving BS in units of 10 ns rTDstd INTEGER (0..1023) OPTIONAL, -- Standard deviation of round trip delay in units of 10 ns ...} WimaxNMRList ::= SEQUENCE (SIZE (1..maxWimaxBSMeas)) OF WimaxNMR WimaxNMR ::= SEQUENCE { wimaxBsID WimaxBsID, -- WiMax BS ID for the measurement relDelay INTEGER (-32768..32767) OPTIONAL, -- Relative delay for this neighbouring BSs to the serving cell in units of 10 ns relDelaystd INTEGER (0..1023) OPTIONAL, -- Standard deviation of Relative delay in units of 10 ns rssi INTEGER (0..255) OPTIONAL, -- RSSI in 0.25 dBm steps, starting from -103.75 dBm rSSIstd INTEGER (0..63) OPTIONAL, -- Standard deviation of RSSI in dB bSTxPower INTEGER (0..255) OPTIONAL, -- BS transmit power in 0.25 dBm steps, starting from -103.75 dBm cinr INTEGER (0..255) OPTIONAL, -- in dB cINRstd INTEGER (0..63) OPTIONAL, -- Standard deviation of CINR in dB bSLocation ReportedLocation OPTIONAL, -- Reported location of the BS ...} maxWimaxBSMeas INTEGER ::= 32 NRCellInformation ::= SEQUENCE { servingCellInformation ServingCellInformationNR, --Serving cell information measuredResultsListNR MeasResultListNR OPTIONAL, --Neighbour measurements ... } -- Information for serving cells per 3GPP TS 38.331 ServingCellInformationNR ::= SEQUENCE (SIZE (1..maxNRServingCell)) OF ServCellNR -- The first listed serving cell shall be the primary cell ServCellNR ::= SEQUENCE { physCellId PhysCellIdNR, arfcn-NR ARFCN-NR, cellGlobalId CellGlobalIdNR, trackingAreaCode TrackingAreaCodeNR, ssb-Measurements NR-Measurements OPTIONAL, csi-rs-Measurements NR-Measurements OPTIONAL, ta INTEGER(0..3846) OPTIONAL, --Timing Advance value ... } -- Measured results of neighbours cells per 3GPP TS 38.331 MeasResultListNR ::= SEQUENCE (SIZE (1..maxCellReportNR)) OF MeasResultNR MeasResultNR ::= SEQUENCE { physCellId PhysCellIdNR, arfcn-NR ARFCN-NR, cellGlobalId CellGlobalIdNR OPTIONAL, trackingAreaCode TrackingAreaCodeNR OPTIONAL, ssb-Measurements NR-Measurements OPTIONAL, csi-rs-Measurements NR-Measurements OPTIONAL, ... } PhysCellIdNR ::= INTEGER (0..1007) ARFCN-NR ::= INTEGER (0.. 3279165) TrackingAreaCodeNR ::= BIT STRING (SIZE (24)) CellGlobalIdNR ::= SEQUENCE { plmn-Identity PLMN-Identity, cellIdentityNR CellIdentityNR, ... } CellIdentityNR ::= BIT STRING (SIZE (36)) NR-Measurements ::= SEQUENCE { rsrp-Range INTEGER (0..127) OPTIONAL, rsrq-Range INTEGER (0..127) OPTIONAL, sinr-Range INTEGER (0..127) OPTIONAL, ... } maxNRServingCell INTEGER ::= 32 maxCellReportNR INTEGER ::= 32 FrequencyInfo ::= SEQUENCE { modeSpecificInfo CHOICE {fdd FrequencyInfoFDD, tdd FrequencyInfoTDD, ...}, ...} FrequencyInfoFDD ::= SEQUENCE { uarfcn-UL UARFCN OPTIONAL, uarfcn-DL UARFCN, ...} FrequencyInfoTDD ::= SEQUENCE {uarfcn-Nt UARFCN, ...} UARFCN ::= INTEGER(0..16383) NMR ::= SEQUENCE (SIZE (1..15)) OF NMRelement NMRelement ::= SEQUENCE { arfcn INTEGER(0..1023), bsic INTEGER(0..63), rxLev INTEGER(0..63), ...} MeasuredResultsList ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasuredResults MeasuredResults ::= SEQUENCE { frequencyInfo FrequencyInfo OPTIONAL, utra-CarrierRSSI UTRA-CarrierRSSI OPTIONAL, cellMeasuredResultsList CellMeasuredResultsList OPTIONAL} CellMeasuredResultsList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellMeasuredResults -- SPARE: UTRA-CarrierRSSI, Max = 76 -- Values above Max are spare UTRA-CarrierRSSI ::= INTEGER(0..127) CellMeasuredResults ::= SEQUENCE { cellIdentity INTEGER(0..268435455) OPTIONAL, modeSpecificInfo CHOICE {fdd SEQUENCE {primaryCPICH-Info PrimaryCPICH-Info, cpich-Ec-N0 CPICH-Ec-N0 OPTIONAL, cpich-RSCP CPICH-RSCP OPTIONAL, pathloss Pathloss OPTIONAL}, tdd SEQUENCE {cellParametersID CellParametersID, proposedTGSN TGSN OPTIONAL, primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL, pathloss Pathloss OPTIONAL, timeslotISCP-List TimeslotISCP-List OPTIONAL -- NOTE: TimeSlotISCP measurement list cannot be interpreted without the knowledge of Cell Info as defined in [3GPP RRC]. }}} CellParametersID ::= INTEGER(0..127) TGSN ::= INTEGER(0..14) PrimaryCCPCH-RSCP ::= INTEGER(0..127) -- SPARE: TimeslotISCP, Max = 91 -- Values above Max are spare TimeslotISCP ::= INTEGER(0..127) TimeslotISCP-List ::= SEQUENCE (SIZE (1..maxTS)) OF TimeslotISCP PrimaryCPICH-Info ::= SEQUENCE {primaryScramblingCode INTEGER(0..511)} -- SPARE: CPICH-Ec-No, Max = 49 -- Values above Max are spare CPICH-Ec-N0 ::= INTEGER(0..63) -- SPARE: CPICH- RSCP, data range from 0 to 91 and from 123 to 127. -- Values from 92 to 122 are spare -- the encoding of cpich-RSCP is (as per 25.331 V5.11.0) -- cpich-RSCP = 123 CPICH RSCP <-120 dBm -- cpich-RSCP = 124 -120 ? CPICH RSCP < -119 dBm -- cpich-RSCP = 125 -119 ? CPICH RSCP < -118 dBm -- cpich-RSCP = 126 -118 ? CPICH RSCP < -117 dBm -- cpich-RSCP = 127 -117 ? CPICH RSCP < -116 dBm -- cpich-RSCP = 0 -116 ? CPICH RSCP < -115 dBm -- cpich-RSCP = 1 -115 ? CPICH RSCP < -114 dBm -- ... ... ... -- cpich-RSCP = 89 -27 ? CPICH RSCP < -26 dBm -- cpich-RSCP = 90 -26 ? CPICH RSCP < -25 dBm -- cpich-RSCP = 91 -25 ? CPICH RSCP dBm CPICH-RSCP ::= INTEGER(0..127) -- SPARE: Pathloss, Max = 158 -- Values above Max are spare Pathloss ::= INTEGER(46..173) maxCellMeas INTEGER ::= 32 maxFreq INTEGER ::= 8 maxTS INTEGER ::= 14 UTRAN-GPSReferenceTimeAssistance ::= SEQUENCE { utran-GPSReferenceTime UTRAN-GPSReferenceTime, gpsReferenceTimeUncertainty INTEGER (0..127) OPTIONAL, utranGPSDriftRate UTRANGPSDriftRate OPTIONAL} UTRAN-GPSReferenceTime ::= SEQUENCE { -- For utran-GPSTimingOfCell values above 2322431999999 are not -- used in this version of the specification -- Actual value utran-GPSTimingOfCell = (ms-part * 4294967296) + ls-part -- used on the downlink i.e. sent from the SLP to the SET utran-GPSTimingOfCell SEQUENCE { ms-part INTEGER (0..1023), ls-part INTEGER (0..4294967295) }, modeSpecificInfo CHOICE { fdd SEQUENCE { referenceIdentity PrimaryCPICH-Info}, tdd SEQUENCE { referenceIdentity CellParametersID}} OPTIONAL, sfn INTEGER (0..4095) } UTRANGPSDriftRate ::= ENUMERATED { utran-GPSDrift0, utran-GPSDrift1, utran-GPSDrift2, utran-GPSDrift5, utran-GPSDrift10, utran-GPSDrift15, utran-GPSDrift25, utran-GPSDrift50, utran-GPSDrift-1, utran-GPSDrift-2, utran-GPSDrift-5, utran-GPSDrift-10, utran-GPSDrift-15, utran-GPSDrift-25, utran-GPSDrift-50 } UTRAN-GANSSReferenceTimeAssistance ::= SEQUENCE { ganssTimeID INTEGER (0..15), utran-GANSSReferenceTime UTRAN-GANSSReferenceTime, ganssDay INTEGER (0..8191) OPTIONAL, utranGANSSDriftRate UTRANGANSSDriftRate OPTIONAL } UTRAN-GANSSReferenceTime ::= SEQUENCE { ganssTOD INTEGER (0..86399), utran-GANSSTimingOfCell INTEGER (0..3999999) OPTIONAL, modeSpecificInfo CHOICE { fdd SEQUENCE { referenceIdentity PrimaryCPICH-Info}, tdd SEQUENCE { referenceIdentity CellParametersID}} OPTIONAL, sfn INTEGER (0..4095), ganss-TODUncertainty INTEGER (0..127) OPTIONAL, ...} UTRANGANSSDriftRate ::= ENUMERATED { utran-GANSSDrift0, utran-GANSSDrift1, utran-GANSSDrift2, utran-GANSSDrift5, utran-GANSSDrift10, utran-GANSSDrift15, utran-GANSSDrift25, utran-GANSSDrift50, utran-GANSSDrift-1, utran-GANSSDrift-2, utran-GANSSDrift-5, utran-GANSSDrift-10, utran-GANSSDrift-15, utran-GANSSDrift-25, utran-GANSSDrift-50} StatusCode ::= ENUMERATED { unspecified(0), systemFailure(1), unexpectedMessage(2), protocolError(3), dataMissing(4), unexpectedDataValue(5), posMethodFailure(6), posMethodMismatch(7), posProtocolMismatch(8), targetSETnotReachable(9), versionNotSupported(10), resourceShortage(11), invalidSessionId(12), nonProxyModeNotSupported(13), proxyModeNotSupported(14), positioningNotPermitted(15), iLPTimeout(16), ...} QoP ::= SEQUENCE { horacc INTEGER(0..127), veracc INTEGER(0..127) OPTIONAL, -- as defined in 3GPP TS 23.032 "uncertainty altitude" maxLocAge INTEGER(0..65535) OPTIONAL, delay INTEGER(0..7) OPTIONAL, -- as defined in 3GPP TS 44.031 ..., ver2-responseTime INTEGER (1..128) OPTIONAL} Velocity ::= CHOICE { -- velocity definition as per 23.032 horvel Horvel, horandvervel Horandvervel, horveluncert Horveluncert, horandveruncert Horandveruncert, ...} Horvel ::= SEQUENCE { bearing BIT STRING(SIZE (9)), horspeed BIT STRING(SIZE (16)), ...} Horandvervel ::= SEQUENCE { verdirect BIT STRING(SIZE (1)), bearing BIT STRING(SIZE (9)), horspeed BIT STRING(SIZE (16)), verspeed BIT STRING(SIZE (8)), ...} Horveluncert ::= SEQUENCE { bearing BIT STRING(SIZE (9)), horspeed BIT STRING(SIZE (16)), uncertspeed BIT STRING(SIZE (8)), ...} Horandveruncert ::= SEQUENCE { verdirect BIT STRING(SIZE (1)), bearing BIT STRING(SIZE (9)), horspeed BIT STRING(SIZE (16)), verspeed BIT STRING(SIZE (8)), horuncertspeed BIT STRING(SIZE (8)), veruncertspeed BIT STRING(SIZE (8)), ...} PosMethod ::= ENUMERATED { agpsSETassisted(0), agpsSETbased(1), agpsSETassistedpref(2), agpsSETbasedpref(3), autonomousGPS(4), aflt(5), ecid(6), eotd(7), otdoa(8), agnssSETassisted(9), agnssSETbased(10), agnssSETassistedpref(11), agnssSETbasedpref(12), autonomousGNSS(13), ..., ver2-mbs(14)} SPCSETKey ::= BIT STRING(SIZE (128)) SPCTID ::= SEQUENCE { rand BIT STRING(SIZE (128)), slpFQDN FQDN, ...} SPCSETKeylifetime ::= INTEGER (1..24) -- units in hours PosPayLoad ::= CHOICE { rrcPayload OCTET STRING(SIZE (1..8192)), rrlpPayload OCTET STRING(SIZE (1..8192)), multiPosPayload MultiPosPayLoad, ...} MultiPosPayLoad ::= SEQUENCE { lPPPayload SEQUENCE (SIZE (1..3)) OF OCTET STRING(SIZE (1..60000)) OPTIONAL, tia801Payload SEQUENCE (SIZE (1..3)) OF OCTET STRING(SIZE (1..60000)) OPTIONAL, ...} SPCStatusCode ::= ENUMERATED {operational(0), notOperational(1), reducedAvailability(2), ...} maxPosSize INTEGER ::= 1024 END