From e.yimjia via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9289 :
[metze/wireshark/wip.git] / asn1 / ilp / ILP-Components.asn
1 -- ILP-Components.asn
2 -- $Id$
3 -- From OMA Internal Location Protocol Candidate Version 2.0.1 05 Dec 2012
4 -- OMA-TS-ILP-V2_0_1-20121205-A
5 --
6 -- 13.3 COMMON ELEMENTS
7 --
8
9 ILP-Components DEFINITIONS AUTOMATIC TAGS ::=
10 BEGIN
11
12 EXPORTS
13   Version, SessionID2, LocationId, PosTechnology, Position, StatusCode,
14     QoP, PosMethod, Velocity, PosPayLoad, SETCapabilities, SPCStatusCode, SPCSETKey, SPCTID, SPCSETKeylifetime, maxPosSize, UTRAN-GPSReferenceTimeResult, UTRAN-GANSSReferenceTimeResult, GNSSPosTechnology, UTRAN-GPSReferenceTimeAssistance, UTRAN-GANSSReferenceTimeAssistance, MultipleLocationIds, GANSSSignals;
15
16 -- protocol version expressed as x.y.z (e.g., 5.1.0)
17 Version ::= SEQUENCE {
18   maj      INTEGER(0..255),
19   min      INTEGER(0..255),
20   servind  INTEGER(0..255)}
21
22 SessionID2 ::= SEQUENCE {
23   slcSessionID          SlcSessionID,
24   setSessionID          SetSessionID OPTIONAL,
25   spcSessionID          SpcSessionID OPTIONAL 
26   -- the semantics of OPTIONAL applies to the encoding only. 
27   -- The parameter itself is MANDATORY. Since the spcSessionID is allocated by the SPC, 
28   -- there is no spcSessionID to be transmitted in the ILP PREQ message.
29 }
30
31 SetSessionID ::= SEQUENCE {
32   sessionId  INTEGER(0..65535),
33   setId      SETId
34 }
35
36 SETId ::= CHOICE {
37   msisdn     OCTET STRING(SIZE (8)),
38   mdn        OCTET STRING(SIZE (8)),
39   min        BIT STRING(SIZE (34)), -- coded according to TIA-553
40   imsi       OCTET STRING(SIZE (8)),
41   nai        IA5String(SIZE (1..1000)),
42   iPAddress  IPAddress,
43 ...}
44 -- msisdn, mnd and imsi are a BCD (Binary Coded Decimal) string 
45 -- represent digits from 0 through 9, 
46 -- two digits per octet, each digit encoded 0000 to 1001 (0 to 9)
47 -- bits 8765 of octet n encoding digit 2n
48 -- bits 4321 of octet n encoding digit 2(n-1) +1
49 -- not used digits in the string shall be filled with 1111   
50
51 SlcSessionID ::= SEQUENCE {
52   sessionID  OCTET STRING(SIZE (4)),
53   slcId      NodeAddress
54 }
55
56 SpcSessionID ::= SEQUENCE {
57   sessionID  OCTET STRING(SIZE (4)),
58   spcId      NodeAddress
59 }
60
61 IPAddress ::= CHOICE {
62   ipv4Address  OCTET STRING(SIZE (4)),
63   ipv6Address  OCTET STRING(SIZE (16))
64 }
65
66 NodeAddress ::= CHOICE {
67   iPAddress  IPAddress,
68   fqdn       FQDN,
69 ...}
70
71 FQDN ::= VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" |".-"))(SIZE (1..255))
72
73 LocationId ::= SEQUENCE {
74   cellInfo  CellInfo,
75   status    Status,
76 ...}
77
78 Status ::= ENUMERATED {stale(0), current(1), unknown(2), ...}
79
80 MultipleLocationIds ::= SEQUENCE SIZE (1..maxLidSize) OF LocationIdData
81
82 LocationIdData ::= SEQUENCE {
83   locationId    LocationId,
84   relativetimestamp   RelativeTime OPTIONAL, -- if relativetimestamp is present,
85         -- then data represents historical measurement, if absent, data represents
86         -- current measurements
87   servingFlag  BOOLEAN, -- if "true" measurements represent serving cell
88 ...}
89 -- status in locationId indicates whether cellInfo is current or stale relative to timestamp
90
91 RelativeTime ::= INTEGER (0..65535) -- relative time to "current" Location Id in multiples of 0.01sec 
92
93 maxLidSize      INTEGER ::= 64
94
95
96 SETCapabilities ::= SEQUENCE {
97   posTechnology  PosTechnology,
98   prefMethod     PrefMethod,
99   posProtocol    PosProtocol,
100   supportedBearers SupportedBearers OPTIONAL, 
101 ...}
102
103 PosTechnology ::= SEQUENCE {
104   agpsSETassisted  BOOLEAN,
105   agpsSETBased     BOOLEAN,
106   autonomousGPS    BOOLEAN,
107   aFLT             BOOLEAN,
108   eCID             BOOLEAN,
109   eOTD             BOOLEAN,
110   oTDOA            BOOLEAN,
111   gANSSPositionMethods  GANSSPositionMethods OPTIONAL,
112 ...}
113
114 GANSSPositionMethods ::= SEQUENCE (SIZE(1..16)) OF GANSSPositionMethod
115
116 GANSSPositionMethod ::= SEQUENCE {
117   ganssId  INTEGER(0..15), -- coding according to parameter definition in Section 12.14 
118   ganssSBASid           BIT STRING(SIZE(3)) OPTIONAL, --coding according to parameter definition in section 12.14
119   gANSSPositioningMethodTypes   GANSSPositioningMethodTypes,
120   gANSSSignals          GANSSSignals,
121 ...}
122
123 GANSSPositioningMethodTypes ::= SEQUENCE {
124   setAssisted   BOOLEAN,
125   setBased      BOOLEAN,
126   autonomous    BOOLEAN,
127 ...}
128
129 -- indicates MS support for particular GANSS signals and frequencies
130 -- coding according to parameter definition in Section 12.14
131 GANSSSignals ::= BIT STRING {
132         signal1 (0),
133         signal2 (1),
134         signal3 (2),
135         signal4 (3),
136         signal5 (4),
137         signal6 (5),
138         signal7 (6),
139         signal8 (7)} (SIZE (1..8))
140
141
142 PrefMethod ::= ENUMERATED {
143   agnssSETAssistedPreferred, agnssSETBasedPreferred, noPreference, 
144 ...}
145 -- Note: In ULP V2.0, the names of the enumerations are
146 -- kept the same as in ULP V1.0. ie. Agps in the TS ULP actually shall be
147 -- interpreted as agnss. This means that agpsSETassistedPreferred and
148 -- agpsSETBasedPreferred in ULP V2.0 map to agnssSETAssistedPreferred and
149 -- agnssSETBasedPreferred in ILP.
150
151 PosProtocol ::= SEQUENCE {
152   tia801  BOOLEAN,
153   rrlp    BOOLEAN,
154   rrc     BOOLEAN,
155   lpp     BOOLEAN,
156   posProtocolVersionRRLP        PosProtocolVersion3GPP OPTIONAL,
157   posProtocolVersionRRC         PosProtocolVersion3GPP OPTIONAL,
158   posProtocolVersionTIA801      PosProtocolVersion3GPP2 OPTIONAL,
159   posProtocolVersionLPP  PosProtocolVersion3GPP OPTIONAL,
160   ...}
161
162 PosProtocolVersion3GPP ::= SEQUENCE {
163   majorVersionField   INTEGER(0..255),
164   technicalVersionField  INTEGER(0..255),
165   editorialVersionField  INTEGER(0..255),
166 ...}
167
168 PosProtocolVersion3GPP2 ::= SEQUENCE (SIZE(1..8)) OF Supported3GPP2PosProtocolVersion
169
170 Supported3GPP2PosProtocolVersion ::= SEQUENCE {
171   revisionNumber        BIT STRING(SIZE (6)), -- the location standard revision number the SET supports coded according to 3GPP2 C.S0022
172   pointReleaseNumber    INTEGER(0..255),
173   internalEditLevel     INTEGER(0..255),
174 ...}
175
176 SupportedBearers ::= SEQUENCE {
177   gsm           BOOLEAN,
178   wcdma         BOOLEAN,
179   lte           BOOLEAN,
180   cdma          BOOLEAN,
181   hprd          BOOLEAN,
182   umb           BOOLEAN,
183   wlan          BOOLEAN,
184   wiMAX         BOOLEAN,
185 ...}
186
187 CellInfo ::= CHOICE {
188   gsmCell    GsmCellInformation,
189   wcdmaCell  WcdmaCellInformation, --WCDMA Cell Information/TD-SCDMA Cell Information
190   cdmaCell   CdmaCellInformation,
191   hrpdCell   HrpdCellInformation,
192   umbCell    UmbCellInformation,
193   lteCell    LteCellInformation,
194   wlanAP     WlanAPInformation,
195   wimaxBS    WimaxBSInformation,
196 ...}
197
198 UTRAN-GPSReferenceTimeResult ::= SEQUENCE {
199 -- For ue-GPSTimingOfCell values above 37158911999999 are not 
200 -- used in this version of the specification
201 -- Actual value utran-GPSTimingOfCell = (ms-part * 4294967296) + ls-part
202 -- used on the uplink i.e. reported by the SET to the SLP 
203   set-GPSTimingOfCell   SEQUENCE {
204     ms-part     INTEGER (0.. 16383),
205     ls-part     INTEGER (0..4294967295)},
206   modeSpecificInfo      CHOICE {
207     fdd SEQUENCE {
208       referenceIdentity PrimaryCPICH-Info},
209       tdd       SEQUENCE {
210         referenceIdentity       CellParametersID}
211   },
212   sfn           INTEGER (0..4095),
213   gpsReferenceTimeUncertainty   INTEGER (0..127) OPTIONAL,
214 ...}
215
216 UTRAN-GANSSReferenceTimeResult ::= SEQUENCE {
217   ganssTimeID   INTEGER (0..15),
218   set-GANSSReferenceTime        SET-GANSSReferenceTime,
219 ...}
220
221 SET-GANSSReferenceTime ::= SEQUENCE {
222
223 -- Actual value [ns] = (ms-Part * 4294967296 + ls-Part) * 250
224 -- Actual values [ns] > 86399999999750 are reserved and are considered a
225 -- protocol error
226   set-GANSSTimingOfCell SEQUENCE {
227     ms-part             INTEGER (0..80),
228     ls-part             INTEGER (0..4294967295)} OPTIONAL,
229   modeSpecificInfo      CHOICE {
230     fdd SEQUENCE {
231       referenceIdentity PrimaryCPICH-Info},
232     tdd SEQUENCE {
233       referenceIdentity CellParametersID}} OPTIONAL,
234   sfn           INTEGER (0..4095),
235   ganss-TODUncertainty INTEGER (0..127) OPTIONAL,
236 ...}
237
238 GNSSPosTechnology ::= SEQUENCE {
239   gps   BOOLEAN,
240   galileo       BOOLEAN, 
241   sbas  BOOLEAN,
242   modernized-gps        BOOLEAN,
243   qzss  BOOLEAN,
244   glonass       BOOLEAN,  
245 ...}
246
247 Position ::= SEQUENCE {
248   timestamp         UTCTime, -- shall include seconds and shall use UTC time. 
249   positionEstimate  PositionEstimate,
250   velocity          Velocity OPTIONAL,
251 ...}
252
253 PositionEstimate ::= SEQUENCE {
254   latitudeSign  ENUMERATED {north, south},
255   latitude      INTEGER(0..8388607),
256   longitude     INTEGER(-8388608..8388607),
257   uncertainty
258     SEQUENCE {uncertaintySemiMajor  INTEGER(0..127),
259               uncertaintySemiMinor  INTEGER(0..127),
260               orientationMajorAxis  INTEGER(0..180)} OPTIONAL, -- angle in degree between major axis and North
261   confidence    INTEGER(0..100) OPTIONAL,
262   altitudeInfo  AltitudeInfo OPTIONAL, 
263 ...} -- Coding as in [3GPP GAD]
264
265 AltitudeInfo ::= SEQUENCE {
266   altitudeDirection  ENUMERATED {height, depth},
267   altitude           INTEGER(0..32767),
268   altUncertainty     INTEGER(0..127),
269 ...} -- based on 3GPP TS 23.032
270
271 CdmaCellInformation ::= SEQUENCE {
272   refNID         INTEGER(0..65535), -- Network Id
273   refSID         INTEGER(0..32767), -- System Id
274   refBASEID      INTEGER(0..65535), -- Base Station Id  
275   refBASELAT     INTEGER(0..4194303), -- Base Station Latitude
276   reBASELONG     INTEGER(0..8388607), -- Base Station Longitude
277   refREFPN       INTEGER(0..511), -- Base Station PN Code
278   refWeekNumber  INTEGER(0..65535), -- GPS Week Number
279   refSeconds     INTEGER(0..4194303), -- GPS Seconds --
280 ...}
281
282 GsmCellInformation ::= SEQUENCE {
283   refMCC  INTEGER(0..999), -- Mobile Country Code
284   refMNC  INTEGER(0..999), -- Mobile Network Code
285   refLAC  INTEGER(0..65535), -- Location area code
286   refCI   INTEGER(0..65535), -- Cell identity
287   nMR     NMR OPTIONAL,
288   tA      INTEGER(0..255) OPTIONAL, --Timing Advance
289 ...}
290
291 WcdmaCellInformation ::= SEQUENCE {
292   refMCC                 INTEGER(0..999), -- Mobile Country Code
293   refMNC                 INTEGER(0..999), -- Mobile Network Code
294   refUC                  INTEGER(0..268435455), -- Cell identity
295   frequencyInfo          FrequencyInfo OPTIONAL,
296   primaryScramblingCode  INTEGER(0..511) OPTIONAL,  -- Not applicable for TDD
297   measuredResultsList    MeasuredResultsList OPTIONAL, 
298   cellParametersId       INTEGER(0..127) OPTIONAL, -- Not applicable for FDD
299   timingAdvance          TimingAdvance OPTIONAL, -- Not applicable for FDD  
300 ...}
301
302 TimingAdvance ::= SEQUENCE {
303   tA       INTEGER (0..8191),
304   tAResolution    TAResolution OPTIONAL, --If missing, resolution is 0.125 chips
305   chipRate             ChipRate OPTIONAL, ---If missing, chip rate is 1.28 Mchip/s
306 ...}
307
308 TAResolution ::= ENUMERATED {res10chip(0),res05chip(1),res0125chip(2), ...} -- Corresponding to 1.0-chip, 0.5-chip and 0.125-chip resolutions, respectively 
309
310 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
311
312 HrpdCellInformation ::= SEQUENCE {
313   refSECTORID    BIT STRING(SIZE (128)) OPTIONAL, -- HRPD Sector Id
314   refBASELAT     INTEGER(0..4194303), -- Base Station Latitude
315   reBASELONG     INTEGER(0..8388607), -- Base Station Longitude
316   refWeekNumber  INTEGER(0..65535), -- GPS Week Number
317   refSeconds     INTEGER(0..4194303), -- GPS Seconds -- 
318   ...}
319
320 UmbCellInformation ::= SEQUENCE {
321   refSECTORID           BIT STRING(SIZE (128)), -- UMB Sector Id
322   refMCC        INTEGER(0..999), -- Mobile Country Code
323   refMNC        INTEGER(0..999), -- Mobile Network Code
324   refBASELAT            INTEGER(0..4194303), -- Base Station Latitude
325   reBASELONG            INTEGER(0..8388607), -- Base Station Longitude
326   refWeekNumber         INTEGER(0..65535), -- GPS Week Number
327   refSeconds            INTEGER(0..4194303), -- GPS Seconds -- 
328   ...}
329
330 -- LTE Cell info per 3GPP TS 36.331. --
331 -- If not otherwise stated info is related to serving cell --
332
333 LteCellInformation ::= SEQUENCE {
334   cellGlobalIdEUTRA             CellGlobalIdEUTRA,
335   physCellId                    PhysCellId,
336   trackingAreaCode              TrackingAreaCode,
337   rsrpResult                    RSRP-Range      OPTIONAL,
338   rsrqResult                    RSRQ-Range      OPTIONAL,
339   tA      INTEGER(0..1282) OPTIONAL, -- Currently used Timing Advance value (NTA/16 as per [3GPP 36.213])
340   measResultListEUTRA   MeasResultListEUTRA OPTIONAL, -- Neighbour measurements
341   ...,
342   earfcn        INTEGER(0..65535) OPTIONAL
343 }
344
345 -- Measured results of neighbours cells per 3GPP TS 36.331 --
346
347 MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA 
348
349 MeasResultEUTRA ::=     SEQUENCE {
350    physCellId           PhysCellId,
351    cgi-Info     SEQUENCE {
352       cellGlobalId      CellGlobalIdEUTRA,
353       trackingAreaCode  TrackingAreaCode
354    }    OPTIONAL,
355    measResult           SEQUENCE {
356       rsrpResult        RSRP-Range      OPTIONAL,  -- Mapping to measured values
357       rsrqResult        RSRQ-Range      OPTIONAL,  -- in 3GPP TS 36.133
358       ...,
359       earfcn            INTEGER(0..65535) OPTIONAL
360    }
361 }
362
363 PhysCellId ::= INTEGER (0..503)
364
365 TrackingAreaCode ::= BIT STRING (SIZE (16))
366
367 CellGlobalIdEUTRA ::= SEQUENCE {
368         plmn-Identity   PLMN-Identity,
369         cellIdentity    CellIdentity,
370         ...
371 }
372
373 PLMN-Identity ::= SEQUENCE {
374    mcc          MCC     OPTIONAL,
375    mnc  MNC
376 }
377
378 CellIdentity ::= BIT STRING (SIZE (28))
379
380 MCC ::= SEQUENCE (SIZE (3)) OF
381 MCC-MNC-Digit
382
383 MNC ::= SEQUENCE (SIZE (2..3)) OF
384         MCC-MNC-Digit
385
386 MCC-MNC-Digit ::= INTEGER (0..9)
387
388 RSRP-Range ::= INTEGER(0..97)
389 RSRQ-Range ::= INTEGER(0..34)
390 maxCellReport INTEGER ::= 8
391
392 WlanAPInformation ::= SEQUENCE { -- as per 802.11v
393   apMACAddress       BIT STRING(SIZE (48)), -- AP MAC Address
394   apTransmitPower    INTEGER(-127..128) OPTIONAL, -- AP transmit power in dbm
395   apAntennaGain      INTEGER(-127..128) OPTIONAL, -- AP antenna gain in dBi
396   apSignaltoNoise    INTEGER(-127..128) OPTIONAL, -- AP S/N received at SET
397   apDeviceType       ENUMERATED {wlan802-11a(0), wlan802-11b(1), wlan802-11g(2), ...} OPTIONAL,
398   apSignalStrength   INTEGER(-127..128) OPTIONAL, -- AP signal strength at SET
399   apChannelFrequency INTEGER(0..256) OPTIONAL, -- AP channel/frequency of Tx/Rx
400   apRoundTripDelay   RTD OPTIONAL, -- Round Trip Delay between SET and AP
401   setTransmitPower   INTEGER(-127..128) OPTIONAL, -- SET transmit power in dBm
402   setAntennaGain     INTEGER (-127..128) OPTIONAL, -- SET antenna gain in dBi
403   setSignaltoNoise   INTEGER (-127..128) OPTIONAL, -- SET S/N received at AP
404   setSignalStrength  INTEGER(-127..128) OPTIONAL, -- SET signal strength at AP
405   apReportedLocation ReportedLocation OPTIONAL, -- AP Location reported by AP
406   ...}
407
408 RTD ::= SEQUENCE { -- as per 802.11v
409   rTDValue     INTEGER(0..16777216), -- measured RTD value corresponding to
410   -- about 500km in units of 1/10 of nanoseconds
411   rTDUnits     RTDUnits, -- units of RTD
412   rTDAccuracy  INTEGER(0..255) OPTIONAL, -- RTD accuracy
413   ...}
414
415 RTDUnits ::= ENUMERATED {
416   microseconds(0), hundredsofnanoseconds(1), tensofnanoseconds(2), nanoseconds(3), tenthsofnanoseconds(4), ...}
417
418 ReportedLocation ::= SEQUENCE { -- as per 802.11v
419   locationEncodingDescriptor  LocationEncodingDescriptor,
420   locationData        LocationData, -- location data field
421   ...}
422
423 LocationEncodingDescriptor ::= ENUMERATED {
424   lCI(0),aSN1(1), ...}
425
426 LocationData ::= SEQUENCE {
427   locationAccuracy   INTEGER(0..4294967295) OPTIONAL,
428   locationValue      OCTET STRING (SIZE(1..128)),
429   ...}
430
431 WimaxBSInformation ::= SEQUENCE {  
432   wimaxBsID     WimaxBsID,      -- WiMax serving base station ID
433   wimaxRTD      WimaxRTD        OPTIONAL, -- Round Trip Delay measurements
434   wimaxNMRList  WimaxNMRList    OPTIONAL, -- Network measurements
435   ...}  
436
437 WimaxBsID ::= SEQUENCE {
438   bsID-MSB      BIT STRING (SIZE(24)) OPTIONAL,
439   bsID-LSB      BIT STRING (SIZE(24)),
440 ...}
441 -- if only LSB is present, MSB is assumed to be identical to the current serving BS or clamped on network value
442
443 WimaxRTD ::= SEQUENCE {
444   rTD   INTEGER (0..65535), -- Round trip delay of serving BS in units of 10 ns
445   rTDstd        INTEGER (0..1023) OPTIONAL, -- Standard deviation of round trip delay in units of 10 ns
446 ...}
447
448 WimaxNMRList ::= SEQUENCE  (SIZE (1..maxWimaxBSMeas)) OF WimaxNMR
449
450 WimaxNMR ::= SEQUENCE {
451   wimaxBsID   WimaxBsID,        -- WiMax BS ID for the measurement
452   relDelay    INTEGER (-32768..32767) OPTIONAL, -- Relative delay for this neighbouring BSs to the serving cell in units of 10 ns
453   relDelaystd  INTEGER (0..1023) OPTIONAL, -- Standard deviation of Relative delay in units of 10 ns
454   rSSI        INTEGER (0..255) OPTIONAL, -- RSSI in 0.25 dBm steps, starting from -103.75 dBm
455   rSSIstd     INTEGER (0..63) OPTIONAL, -- Standard deviation of RSSI in Db
456   bSTxPower   INTEGER (0..255) OPTIONAL, -- BS transmit power in 0.25 dBm steps, starting from -103.75 dBm
457   cINR        INTEGER (0..255) OPTIONAL, -- in Db
458   cINRstd     INTEGER (0..63) OPTIONAL, -- Standard deviation of CINR in Db
459   bSLocation  ReportedLocation OPTIONAL, -- Reported location of the BS
460 ...}
461
462 maxWimaxBSMeas INTEGER ::= 32
463
464
465 FrequencyInfo ::= SEQUENCE {
466   modeSpecificInfo  CHOICE {fdd  FrequencyInfoFDD,
467                             tdd  FrequencyInfoTDD,
468                             ...},
469   ...}
470
471 FrequencyInfoFDD ::= SEQUENCE {
472   uarfcn-UL  UARFCN OPTIONAL,
473   uarfcn-DL  UARFCN,
474   ...}
475
476 FrequencyInfoTDD ::= SEQUENCE {uarfcn-Nt  UARFCN,
477                                ...}
478
479 UARFCN ::= INTEGER(0..16383)
480
481 NMR ::= SEQUENCE (SIZE (1..15)) OF NMRelement
482
483 NMRelement ::= SEQUENCE {
484   aRFCN  INTEGER(0..1023),
485   bSIC   INTEGER(0..63),
486   rxLev  INTEGER(0..63),
487 ...}
488
489 MeasuredResultsList ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasuredResults
490
491 MeasuredResults ::= SEQUENCE {
492   frequencyInfo            FrequencyInfo OPTIONAL,
493   utra-CarrierRSSI         UTRA-CarrierRSSI OPTIONAL,
494   cellMeasuredResultsList  CellMeasuredResultsList OPTIONAL}
495
496 CellMeasuredResultsList ::=
497   SEQUENCE (SIZE (1..maxCellMeas)) OF CellMeasuredResults
498
499 -- SPARE: UTRA-CarrierRSSI, Max = 76
500 -- Values above Max are spare
501 UTRA-CarrierRSSI ::= INTEGER(0..127)
502
503 CellMeasuredResults ::= SEQUENCE {
504   cellIdentity      INTEGER(0..268435455) OPTIONAL,
505   modeSpecificInfo
506     CHOICE {fdd
507               SEQUENCE {primaryCPICH-Info  PrimaryCPICH-Info,
508                         cpich-Ec-N0        CPICH-Ec-N0 OPTIONAL,
509                         cpich-RSCP         CPICH-RSCP OPTIONAL,
510                         pathloss           Pathloss OPTIONAL},
511             tdd
512               SEQUENCE {cellParametersID   CellParametersID,
513                         proposedTGSN       TGSN OPTIONAL,
514                         primaryCCPCH-RSCP  PrimaryCCPCH-RSCP OPTIONAL,
515                         pathloss           Pathloss OPTIONAL,
516                         timeslotISCP-List  TimeslotISCP-List OPTIONAL  
517            --- NOTE: TimeSlotISCP measurement list cannot be
518            -- interpreted without the knowledge of Cell Info 
519            -- as defined in [3GPP RRC]. 
520 }}}
521
522 CellParametersID ::= INTEGER(0..127)
523
524 TGSN ::= INTEGER(0..14)
525
526 PrimaryCCPCH-RSCP ::= INTEGER(0..127)
527
528 -- SPARE: TimeslotISCP, Max = 91
529 -- Values above Max are spare
530 TimeslotISCP ::= INTEGER(0..127)
531
532 TimeslotISCP-List ::= SEQUENCE (SIZE (1..maxTS)) OF TimeslotISCP
533
534 PrimaryCPICH-Info ::= SEQUENCE {primaryScramblingCode  INTEGER(0..511)}
535
536 -- SPARE: CPICH-Ec-No, Max = 49
537 -- Values above Max are spare
538 CPICH-Ec-N0 ::= INTEGER(0..63)
539
540 -- SPARE: CPICH- RSCP, data range from 0 to 91 and from 123 to 127.
541 -- Values from 92 to 122 are spare
542 -- the encoding of cpich-RSCP is (as per 25.331 V5.11.0)
543 -- cpich-RSCP = 123    CPICH RSCP <-120 dBm    
544 -- cpich-RSCP = 124    -120 ¡Ü CPICH RSCP < -119 dBm    
545 -- cpich-RSCP = 125    -119 ¡Ü CPICH RSCP < -118 dBm   
546 -- cpich-RSCP = 126    -118 ¡Ü CPICH RSCP < -117 dBm   
547 -- cpich-RSCP = 127    -117 ¡Ü CPICH RSCP < -116 dBm
548 -- cpich-RSCP = 0      -116 ¡Ü CPICH RSCP < -115 dBm   
549 -- cpich-RSCP = 1      -115 ¡Ü CPICH RSCP < -114 dBm   
550 -- ...       ...      ...      
551 -- cpich-RSCP = 89     -27 ¡Ü CPICH RSCP < -26 dBm    
552 -- cpich-RSCP = 90     -26 ¡Ü CPICH RSCP < -25 dBm    
553 -- cpich-RSCP = 91     -25 ¡Ü CPICH RSCP       dBm
554
555 CPICH-RSCP ::= INTEGER(0..127)
556
557 -- SPARE: Pathloss, Max = 158
558 -- Values above Max are spare
559 Pathloss ::= INTEGER(46..173)
560
561 maxCellMeas INTEGER ::= 32
562
563 maxFreq INTEGER ::= 8
564
565 maxTS INTEGER ::= 14
566
567 UTRAN-GPSReferenceTimeAssistance ::= SEQUENCE {
568   utran-GPSReferenceTime                UTRAN-GPSReferenceTime,
569   gpsReferenceTimeUncertainty   INTEGER (0..127) OPTIONAL,
570   utranGPSDriftRate             UTRANGPSDriftRate       OPTIONAL}
571
572 UTRAN-GPSReferenceTime ::= SEQUENCE {
573         -- For utran-GPSTimingOfCell values above 2322431999999 are not 
574         -- used in this version of the specification
575         -- Actual value utran-GPSTimingOfCell = (ms-part * 4294967296) + ls-part
576         -- used on the downlink i.e. sent from the SLP to the SET
577   utran-GPSTimingOfCell SEQUENCE {
578     ms-part     INTEGER (0..1023),
579     ls-part     INTEGER (0..4294967295)
580   },
581   modeSpecificInfo      CHOICE {
582     fdd SEQUENCE {
583       referenceIdentity PrimaryCPICH-Info},
584     tdd SEQUENCE {
585       referenceIdentity CellParametersID}} OPTIONAL,
586   sfn   INTEGER (0..4095)
587 }
588
589 UTRANGPSDriftRate ::= ENUMERATED {
590   utran-GPSDrift0, utran-GPSDrift1, utran-GPSDrift2,
591   utran-GPSDrift5, utran-GPSDrift10, utran-GPSDrift15,
592   utran-GPSDrift25, utran-GPSDrift50, utran-GPSDrift-1,
593   utran-GPSDrift-2, utran-GPSDrift-5, utran-GPSDrift-10,
594   utran-GPSDrift-15, utran-GPSDrift-25, utran-GPSDrift-50
595 }
596
597 UTRAN-GANSSReferenceTimeAssistance ::= SEQUENCE {       
598   ganssTimeID   INTEGER (0..15),
599   utran-GANSSReferenceTime      UTRAN-GANSSReferenceTime,
600   ganssDay INTEGER (0..8191) OPTIONAL,
601   utranGANSSDriftRate   UTRANGANSSDriftRate     OPTIONAL
602 }
603
604 UTRAN-GANSSReferenceTime ::= SEQUENCE {
605   ganssTOD INTEGER (0..86399),
606   utran-GANSSTimingOfCell       INTEGER (0..3999999)    OPTIONAL,
607   modeSpecificInfo      CHOICE {
608     fdd SEQUENCE {
609       referenceIdentity PrimaryCPICH-Info},
610     tdd SEQUENCE {
611       referenceIdentity CellParametersID}} OPTIONAL,
612     sfn INTEGER (0..4095),
613     ganss-TODUncertainty INTEGER (0..127) OPTIONAL,
614 ...}
615
616 UTRANGANSSDriftRate ::= ENUMERATED {
617   utran-GANSSDrift0, utran-GANSSDrift1, utran-GANSSDrift2,
618   utran-GANSSDrift5, utran-GANSSDrift10, utran-GANSSDrift15,
619   utran-GANSSDrift25, utran-GANSSDrift50, utran-GANSSDrift-1,
620   utran-GANSSDrift-2, utran-GANSSDrift-5, utran-GANSSDrift-10,
621   utran-GANSSDrift-15, utran-GANSSDrift-25, utran-GANSSDrift-50}
622
623 StatusCode ::= ENUMERATED {
624   unspecified(0), systemFailure(1), unexpectedMessage(2), protocolError(3),
625   dataMissing(4), unexpectedDataValue(5), posMethodFailure(6),
626   posMethodMismatch(7), posProtocolMismatch(8), targetSETnotReachable(9),
627   versionNotSupported(10), resourceShortage(11), invalidSessionId(12),
628   nonProxyModeNotSupported(13), proxyModeNotSupported(14),
629   positioningNotPermitted(15), iLPTimeout(16),
630  ...}
631
632 QoP ::= SEQUENCE {
633   horacc     INTEGER(0..127),
634   veracc     INTEGER(0..127) OPTIONAL, -- as defined in 3GPP TS 23.032 "uncertainty altitude"¡ª
635   maxLocAge  INTEGER(0..65535) OPTIONAL,
636   delay      INTEGER(0..7) OPTIONAL, -- as defined in 3GPP TS 44.031
637 ...}
638
639 Velocity ::= CHOICE { -- velocity definition as per 23.032
640   horvel           Horvel,
641   horandvervel     Horandvervel,
642   horveluncert     Horveluncert,
643   horandveruncert  Horandveruncert,
644 ...}
645
646 Horvel ::= SEQUENCE {
647   bearing   BIT STRING(SIZE (9)),
648   horspeed  BIT STRING(SIZE (16)),
649 ...}
650
651 Horandvervel ::= SEQUENCE {
652   verdirect  BIT STRING(SIZE (1)),
653   bearing    BIT STRING(SIZE (9)),
654   horspeed   BIT STRING(SIZE (16)),
655   verspeed   BIT STRING(SIZE (8)),
656 ...}
657
658 Horveluncert ::= SEQUENCE {
659   bearing      BIT STRING(SIZE (9)),
660   horspeed     BIT STRING(SIZE (16)),
661   uncertspeed  BIT STRING(SIZE (8)),
662 ...}
663
664 Horandveruncert ::= SEQUENCE {
665   verdirect       BIT STRING(SIZE (1)),
666   bearing         BIT STRING(SIZE (9)),
667   horspeed        BIT STRING(SIZE (16)),
668   verspeed        BIT STRING(SIZE (8)),
669   horuncertspeed  BIT STRING(SIZE (8)),
670   veruncertspeed  BIT STRING(SIZE (8)),
671 ...}
672
673 PosMethod ::= ENUMERATED {
674   agpsSETassisted(0), agpsSETbased(1), agpsSETassistedpref(2),
675   agpsSETbasedpref(3), autonomousGPS(4), aFLT(5), eCID(6), eOTD(7), oTDOA(8), agnssSETassisted(9), agnssSETbased(10), agnssSETassistedpref(11), agnssSETbasedpref(12), autonomousGNSS(13),
676 ...}
677
678 SPCSETKey ::= BIT STRING(SIZE (128))
679
680 SPCTID ::= SEQUENCE {
681   rAND          BIT STRING(SIZE (128)),
682   slpFQDN       FQDN,
683 ...}
684
685 SPCSETKeylifetime ::= INTEGER (1..24) -- units in hours
686
687
688 PosPayLoad ::= CHOICE {
689   rrcPayload     OCTET STRING(SIZE (1..8192)),
690   rrlpPayload    OCTET STRING(SIZE (1..8192)),
691   multiPosPayload     MultiPosPayLoad,
692 ...}
693
694 MultiPosPayLoad ::= SEQUENCE {
695    lPPPayload    SEQUENCE (SIZE (1..3)) OF OCTET STRING(SIZE (1..60000)) OPTIONAL,
696    tia801Payload SEQUENCE (SIZE (1..3)) OF OCTET STRING(SIZE (1..60000)) OPTIONAL,
697 ...}
698
699 SPCStatusCode ::= ENUMERATED {operational(0), notOperational(1), reducedAvailability(2),
700  ...}
701
702 maxPosSize INTEGER ::= 1024
703
704 END