summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/ilp/ILP-Components.asn
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/asn1/ilp/ILP-Components.asn')
-rw-r--r--epan/dissectors/asn1/ilp/ILP-Components.asn852
1 files changed, 852 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/ilp/ILP-Components.asn b/epan/dissectors/asn1/ilp/ILP-Components.asn
new file mode 100644
index 00000000..5fab2d0f
--- /dev/null
+++ b/epan/dissectors/asn1/ilp/ILP-Components.asn
@@ -0,0 +1,852 @@
+-- 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