-- ULP-Components.asn -- Taken from OMA UserPlane Location Protocol -- http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-TS-ULP-V2_0_5-20191028-A.zip -- -- 11.5 Common elements (SUPL Version 1) -- ULP-Components DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS Version, SessionID, IPAddress, SLPAddress, LocationId, Position, StatusCode, Velocity, QoP, PosMethod, Ver, SETId, PrimaryCPICH-Info, CellParametersID, FQDN; IMPORTS Ver2-CellInfo-extension FROM Ver2-ULP-Components; -- 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)} SessionID ::= SEQUENCE { setSessionID SetSessionID OPTIONAL, -- the semantics of OPTIONAL applies to the encoding only. The parameter itself is MANDATORY. This is introduced only to minimize bandwidth for the SUPL INIT message. Since the setSessionID is allocated by the SET, there is no setSessionID to be transmitted in the SUPL INIT message. slpSessionID SlpSessionID OPTIONAL -- the semantics of OPTIONAL applies to the encoding only. The parameter itself is MANDATORY. This is introduced only to minimize bandwidth for the SUPL START, SUPL TRIGGERED START and SUPL SET INIT messages. Since the slpSessionID is allocated by the SLP, there is no slpSessionID to be transmitted in these messages (with the exception described in section 10.14). } 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, ..., ver2-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 SlpSessionID ::= SEQUENCE { sessionID OCTET STRING(SIZE (4)), slpId SLPAddress} IPAddress ::= CHOICE { ipv4Address OCTET STRING(SIZE (4)), ipv6Address OCTET STRING(SIZE (16))} SLPAddress ::= CHOICE {iPAddress IPAddress, fqdn FQDN, ...} FQDN ::= VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" |".-"))(SIZE (1..255)) Ver ::= BIT STRING(SIZE (64)) LocationId ::= SEQUENCE {cellInfo CellInfo, status Status, ...} Status ::= ENUMERATED {stale(0), current(1), unknown(2), ...} CellInfo ::= CHOICE { gsmCell GsmCellInformation, wcdmaCell WcdmaCellInformation, --WCDMA Cell Information/TD-SCDMA Cell Information cdmaCell CdmaCellInformation, ..., ver2-CellInfo-extension Ver2-CellInfo-extension} 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 GAD] 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 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 [3GPP RRC] 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 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), authNetFailure(16), authSuplinitFailure(17), consentDeniedByUser(100), consentGrantedByUser(101), ..., ver2-incompatibleProtectionLevel(18), ver2-serviceNotSupported(19), ver2-insufficientInterval(20), ver2-noSUPLCoverage(21), ver2-sessionStopped(102), ver2-appIdDenied(103)} QoP ::= SEQUENCE { horacc INTEGER(0..127), veracc INTEGER(0..127) OPTIONAL, -- as defined in [3GPP GAD] "uncertainty altitude" maxLocAge INTEGER(0..65535) OPTIONAL, delay INTEGER(0..7) OPTIONAL, -- as defined in [3GPP RRLP] ..., ver2-responseTime INTEGER (1..128) OPTIONAL} Velocity ::= CHOICE { -- velocity definition as per [3GPP GAD] 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), noPosition(9), ..., ver2-historicalDataRetrieval(10), ver2-agnssSETassisted(11), ver2-agnssSETbased(12), ver2-agnssSETassistedpref(13), ver2-agnssSETbasedpref(14), ver2-autonomousGNSS(15), ver2-sessioninfoquery(16), ver2-mbs(17)} END -- -- 11.6 Common elements (SUPL Version 2) -- Ver2-ULP-Components DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS Ver2-CellInfo-extension, MultipleLocationIds, SupportedNetworkInformation, CauseCode, UTRAN-GPSReferenceTimeAssistance, UTRAN-GPSReferenceTimeResult, SPCSETKey, SPCTID, SPCSETKeylifetime, UTRAN-GANSSReferenceTimeAssistance, UTRAN-GANSSReferenceTimeResult, GNSSPosTechnology, GANSSSignals, ThirdParty, ApplicationID, ReportingCap, Coordinate, CircularArea, EllipticalArea, PolygonArea, Ver2-HighAccuracyPosition; IMPORTS LocationId, PrimaryCPICH-Info, CellParametersID, FQDN, Velocity FROM ULP-Components; 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 ...} RelativeTime ::= INTEGER (0..65535) -- relative time to "current" Location Id in multiples of 0.01sec maxLidSize INTEGER ::= 64 SupportedNetworkInformation ::= SEQUENCE { wlan BOOLEAN, supportedWLANInfo SupportedWLANInfo OPTIONAL, supportedWLANApsList SupportedWLANApsList OPTIONAL, gsm BOOLEAN, wcdma BOOLEAN, supportedWCDMAInfo SupportedWCDMAInfo OPTIONAL, cdma BOOLEAN, hrdp BOOLEAN, umb BOOLEAN, lte BOOLEAN, wimax BOOLEAN, historic BOOLEAN, nonServing BOOLEAN, uTRANGPSReferenceTime BOOLEAN, uTRANGANSSReferenceTime BOOLEAN, ..., nr BOOLEAN OPTIONAL} SupportedWLANInfo ::= SEQUENCE { apTP BOOLEAN, -- AP transmit power apAG BOOLEAN, -- AP antenna gain apSN BOOLEAN, -- AP S/N received at SET apDevType BOOLEAN, -- Device type apRSSI BOOLEAN, -- AP signal strength at SET apChanFreq BOOLEAN, -- AP channel/frequency of Tx/Rx apRTD BOOLEAN, -- Round Trip Delay between SET and AP setTP BOOLEAN, -- SET transmit power setAG BOOLEAN, -- SET antenna gain setSN BOOLEAN, -- SET S/N received at AP setRSSI BOOLEAN, -- SET signal strength at AP apRepLoc BOOLEAN, -- AP Location as reported by AP (legacy encoding) ..., apRL BOOLEAN OPTIONAL, -- AP Location as reported by AP (as per IEEE802.11) opClass BOOLEAN OPTIONAL, -- operating class as defined in IEEE 802.11 apSSID BOOLEAN OPTIONAL, -- SSID of the wireless network served by AP apPHYType BOOLEAN OPTIONAL, -- AP PHY Type as defined in IEEE 802.11 setMACAddress BOOLEAN OPTIONAL -- SET MAC Address as known to the WLAN AP } maxWLANApDataSize INTEGER ::= 128 SupportedWLANApsList ::= SEQUENCE { supportedWLANApDataList SEQUENCE (SIZE (1..maxWLANApDataSize)) OF SupportedWLANApData, supportedWLANapsChannel11a SupportedWLANApsChannel11a OPTIONAL, supportedWLANapsChannel11bg SupportedWLANApsChannel11bg OPTIONAL, ... } SupportedWLANApsChannel11a ::= SEQUENCE { ch34 BOOLEAN, ch36 BOOLEAN, ch38 BOOLEAN, ch40 BOOLEAN, ch42 BOOLEAN, ch44 BOOLEAN, ch46 BOOLEAN, ch48 BOOLEAN, ch52 BOOLEAN, ch56 BOOLEAN, ch60 BOOLEAN, ch64 BOOLEAN, ch149 BOOLEAN, ch153 BOOLEAN, ch157 BOOLEAN, ch161 BOOLEAN } SupportedWLANApsChannel11bg ::= SEQUENCE { ch1 BOOLEAN, ch2 BOOLEAN, ch3 BOOLEAN, ch4 BOOLEAN, ch5 BOOLEAN, ch6 BOOLEAN, ch7 BOOLEAN, ch8 BOOLEAN, ch9 BOOLEAN, ch10 BOOLEAN, ch11 BOOLEAN, ch12 BOOLEAN, ch13 BOOLEAN, ch14 BOOLEAN } SupportedWLANApData ::= SEQUENCE { apMACAddress BIT STRING (SIZE (48)), apDevType ENUMERATED {wlan802-11a(0), wlan802-11b(1), wlan802-11g(2), ...}, ...} SupportedWCDMAInfo ::= SEQUENCE { mrl BOOLEAN, -- Measured Results List ...} Ver2-CellInfo-extension ::= CHOICE { hrpdCell HrpdCellInformation, umbCell UmbCellInformation, lteCell LteCellInformation, wlanAP WlanAPInformation, wimaxBS WimaxBSInformation, ..., nrCell NRCellInformation} 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 37 earfcn-ext INTEGER (65536..262143) OPTIONAL, -- see Table 37 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 37 earfcn-ext INTEGER (65536..262143) OPTIONAL, -- see Table 37 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 41 apSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- see Table 41 setSignalStrengthDelta INTEGER (0..1) OPTIONAL, -- see Table 41 setSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- see Table 41 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 [IEEE 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 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-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}} OPTIONAL, sfn INTEGER (0..4095), gpsReferenceTimeUncertainty INTEGER (0..127) OPTIONAL, ...} UTRAN-GANSSReferenceTimeAssistance ::= SEQUENCE { ganssDay INTEGER (0..8191) OPTIONAL, ganssTimeID INTEGER (0..15), utran-GANSSReferenceTime UTRAN-GANSSReferenceTime, 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} 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, rtk-osr BOOLEAN OPTIONAL} -- indicates MS support for particular GANSS signals and frequencies coding according to parameter definition in section 10.9 GANSSSignals ::= BIT STRING { signal1 (0), signal2 (1), signal3 (2), signal4 (3), signal5 (4), signal6 (5), signal7 (6), signal8 (7)} (SIZE (1..8)) SPCSETKey ::= BIT STRING(SIZE (128)) SPCTID ::= SEQUENCE { rand BIT STRING(SIZE (128)), slpFQDN FQDN, ...} SPCSETKeylifetime ::= INTEGER (1..24) -- units in hours CauseCode ::= ENUMERATED { servingNetWorkNotInAreaIdList(0), sETCapabilitiesChanged(1), noSUPLCoverage(2), ...} ThirdParty ::= SEQUENCE (SIZE (1..64)) OF ThirdPartyID ThirdPartyID ::= CHOICE { logicalName IA5String(SIZE (1..1000)), msisdn OCTET STRING(SIZE (8)), emailaddr IA5String(SIZE (1..1000)), -- sip-uri VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~%#@?")) (SIZE (1..255)), -- ims-public-identity VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~%#@?")) (SIZE (1..255)), -- # asn2wrs does not handle '%' in the restricted string sip-uri VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~#@?")) (SIZE (1..255)), ims-public-identity VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~#@?")) (SIZE (1..255)), min BIT STRING(SIZE (34)), -- coded according to TIA-553 mdn OCTET STRING(SIZE (8)), -- uri VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | "./-_~%#")) (SIZE (1..255)), uri VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | "./-_~#")) (SIZE (1..255)), ...} ApplicationID ::= SEQUENCE { appProvider IA5String(SIZE (1..24)), -- The application provider appName IA5String(SIZE (1..32)), -- The application name appVersion IA5String(SIZE (1..8)) OPTIONAL, -- The application version ...} ReportingCap ::= SEQUENCE { minInt INTEGER (1..3600), -- units in seconds maxInt INTEGER (1..1440) OPTIONAL, -- units in minutes repMode RepMode, batchRepCap BatchRepCap OPTIONAL, -- only used for batch and quasi real time reporting ...} RepMode ::= SEQUENCE { realtime BOOLEAN, quasirealtime BOOLEAN, batch BOOLEAN, ...} BatchRepCap ::= SEQUENCE { report-position BOOLEAN, -- set to "true" if reporting of position is supported report-measurements BOOLEAN, -- set to "true" if reporting of measurements is supported max-num-positions INTEGER (1..1024) OPTIONAL, max-num-measurements INTEGER (1..1024) OPTIONAL, ...} Coordinate::= SEQUENCE { latitudeSign ENUMERATED {north(0), south(1)}, latitude INTEGER(0..8388607), longitude INTEGER(-8388608..8388607)} -- Coding as in [3GPP GAD] CircularArea ::= SEQUENCE { coordinate Coordinate, radius INTEGER(1..1000000), -- radius in meters radius-min INTEGER(1..1000000) OPTIONAL, -- hysteresis minimum radius radius-max INTEGER(1..1500000) OPTIONAL} -- hysteresis maximum radius EllipticalArea ::= SEQUENCE { coordinate Coordinate, semiMajor INTEGER(1..1000000), -- units in meters semiMajor-min INTEGER(1..1000000) OPTIONAL, -- hysteresis minimum semiMajor semiMajor-max INTEGER(1..1500000) OPTIONAL, -- hysteresis maximum semiMajor semiMinor INTEGER(1..1000000), -- units in meters semiMinor-min INTEGER(1..1000000) OPTIONAL, -- hysteresis minimum semiMinor semiMinor-max INTEGER(1..1500000) OPTIONAL, -- hysteresis maximum semiMinor angle INTEGER(0.. 179)} -- units in degrees. The angle is defined as the angle between the semi-major axis and North, increasing in a clockwise direction. An angle of 0 represents an ellipse with the semi-major axis pointing North/South while an angle of 90 represents an ellipse with the semi-major axis pointing East/West. PolygonArea ::= SEQUENCE { polygonDescription PolygonDescription, polygonHysteresis INTEGER(1..100000) OPTIONAL} --units in meters PolygonDescription ::= SEQUENCE (SIZE (3..15)) OF Coordinate Ver2-HighAccuracyPosition ::= SEQUENCE { timestamp UTCTime, -- shall include seconds and shall use UTC time. highAccuracyPositionEstimate HighAccuracyPositionEstimate, velocity Velocity OPTIONAL, ...} HighAccuracyPositionEstimate ::= SEQUENCE { degreesLatitude INTEGER(-2147483648..2147483647), degreesLongitude INTEGER(-2147483648..2147483647), uncertaintySemiMajor INTEGER (0..255), uncertaintySemiMinor INTEGER (0..255), orientationMajorAxis INTEGER (0..179), horizontalConfidence INTEGER (0..100), highAccuracyAltitudeInfo HighAccuracyAltitudeInfo OPTIONAL, ...} -- Coding as in [3GPP GAD] HighAccuracyAltitudeInfo ::= SEQUENCE { altitude INTEGER(64000..1280000), uncertaintyAltitude INTEGER (0..255), verticalConfidence INTEGER (0..100), ...} -- Coding as in [3GPP GAD] END