eda4605c76a029da534ecc7f13c017e579c99002
[metze/wireshark/wip.git] / epan / dissectors / asn1 / lpp / LPP.asn
1 -- 3GPP TS 36.355 V13.2.0 (2016-09)
2 --
3
4 LPP-PDU-Definitions {
5 itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
6 eps-Access (21) modules (3) lpp (7) version1 (1) lpp-PDU-Definitions (1) }
7
8 DEFINITIONS AUTOMATIC TAGS ::=
9
10 BEGIN
11
12
13 LPP-Message ::= SEQUENCE {
14         transactionID                   LPP-TransactionID       OPTIONAL,       -- Need ON
15         endTransaction                  BOOLEAN,
16         sequenceNumber                  SequenceNumber          OPTIONAL,       -- Need ON
17         acknowledgement                 Acknowledgement         OPTIONAL,       -- Need ON
18         lpp-MessageBody                 LPP-MessageBody         OPTIONAL        -- Need ON
19 }
20
21 SequenceNumber ::= INTEGER (0..255)
22
23 Acknowledgement ::= SEQUENCE {
24         ackRequested    BOOLEAN,
25         ackIndicator    SequenceNumber          OPTIONAL
26 }
27
28
29 LPP-MessageBody ::= CHOICE {
30         c1                                              CHOICE {
31                 requestCapabilities                     RequestCapabilities,
32                 provideCapabilities                     ProvideCapabilities,
33                 requestAssistanceData           RequestAssistanceData,
34                 provideAssistanceData           ProvideAssistanceData,
35                 requestLocationInformation      RequestLocationInformation,
36                 provideLocationInformation      ProvideLocationInformation,
37                 abort                                           Abort,
38                 error                                           Error,
39                 spare7 NULL, spare6 NULL, spare5 NULL, spare4 NULL,
40                 spare3 NULL, spare2 NULL, spare1 NULL, spare0 NULL
41         },
42         messageClassExtension   SEQUENCE {}
43 }
44
45
46 LPP-TransactionID ::= SEQUENCE {
47         initiator                               Initiator,
48         transactionNumber               TransactionNumber,
49         ...
50 }
51
52 Initiator ::= ENUMERATED {
53         locationServer,
54         targetDevice,
55         ...
56 }
57
58 TransactionNumber ::= INTEGER (0..255)
59
60
61 RequestCapabilities ::= SEQUENCE {
62         criticalExtensions              CHOICE {
63                 c1                                              CHOICE {
64                         requestCapabilities-r9          RequestCapabilities-r9-IEs,
65                         spare3 NULL, spare2 NULL, spare1 NULL
66                 },
67                 criticalExtensionsFuture        SEQUENCE {}
68         }
69 }
70
71 RequestCapabilities-r9-IEs ::= SEQUENCE {
72         commonIEsRequestCapabilities            CommonIEsRequestCapabilities            OPTIONAL,       -- Need ON
73         a-gnss-RequestCapabilities                      A-GNSS-RequestCapabilities                      OPTIONAL,       -- Need ON
74         otdoa-RequestCapabilities                       OTDOA-RequestCapabilities                       OPTIONAL,       -- Need ON
75         ecid-RequestCapabilities                        ECID-RequestCapabilities                        OPTIONAL,       -- Need ON
76         epdu-RequestCapabilities                        EPDU-Sequence                                           OPTIONAL,       -- Need ON
77         ...,
78         [[      sensor-RequestCapabilities-r13  Sensor-RequestCapabilities-r13          OPTIONAL,       -- Need ON
79                 tbs-RequestCapabilities-r13             TBS-RequestCapabilities-r13                     OPTIONAL,       -- Need ON
80                 wlan-RequestCapabilities-r13    WLAN-RequestCapabilities-r13            OPTIONAL,       -- Need ON
81                 bt-RequestCapabilities-r13              BT-RequestCapabilities-r13                      OPTIONAL        -- Need ON
82         ]]
83
84 }
85
86
87 ProvideCapabilities ::= SEQUENCE {
88         criticalExtensions              CHOICE {
89                 c1                                              CHOICE {
90                         provideCapabilities-r9          ProvideCapabilities-r9-IEs,
91                         spare3 NULL, spare2 NULL, spare1 NULL
92                 },
93                 criticalExtensionsFuture        SEQUENCE {}
94         }
95 }
96
97 ProvideCapabilities-r9-IEs ::= SEQUENCE {
98         commonIEsProvideCapabilities            CommonIEsProvideCapabilities            OPTIONAL,
99         a-gnss-ProvideCapabilities                      A-GNSS-ProvideCapabilities                      OPTIONAL,
100         otdoa-ProvideCapabilities                       OTDOA-ProvideCapabilities                       OPTIONAL,
101         ecid-ProvideCapabilities                        ECID-ProvideCapabilities                        OPTIONAL,
102         epdu-ProvideCapabilities                        EPDU-Sequence                                           OPTIONAL,
103         ...,
104         [[      sensor-ProvideCapabilities-r13  Sensor-ProvideCapabilities-r13          OPTIONAL,
105                 tbs-ProvideCapabilities-r13             TBS-ProvideCapabilities-r13                     OPTIONAL,
106                 wlan-ProvideCapabilities-r13    WLAN-ProvideCapabilities-r13            OPTIONAL,
107                 bt-ProvideCapabilities-r13              BT-ProvideCapabilities-r13                      OPTIONAL
108         ]]
109 }
110
111
112 RequestAssistanceData ::= SEQUENCE {
113         criticalExtensions              CHOICE {
114                 c1                                              CHOICE {
115                         requestAssistanceData-r9        RequestAssistanceData-r9-IEs,
116                         spare3 NULL, spare2 NULL, spare1 NULL
117                 },
118                 criticalExtensionsFuture        SEQUENCE {}
119         }
120 }
121
122 RequestAssistanceData-r9-IEs ::= SEQUENCE {
123         commonIEsRequestAssistanceData          CommonIEsRequestAssistanceData          OPTIONAL,
124         a-gnss-RequestAssistanceData            A-GNSS-RequestAssistanceData            OPTIONAL,
125         otdoa-RequestAssistanceData                     OTDOA-RequestAssistanceData                     OPTIONAL,
126         epdu-RequestAssistanceData                      EPDU-Sequence                                           OPTIONAL,
127         ...
128 }
129
130
131 ProvideAssistanceData ::= SEQUENCE {
132         criticalExtensions              CHOICE {
133                 c1                                              CHOICE {
134                         provideAssistanceData-r9        ProvideAssistanceData-r9-IEs,
135                         spare3 NULL, spare2 NULL, spare1 NULL
136                 },
137                 criticalExtensionsFuture        SEQUENCE {}
138         }
139 }
140
141 ProvideAssistanceData-r9-IEs ::= SEQUENCE {
142         commonIEsProvideAssistanceData          CommonIEsProvideAssistanceData          OPTIONAL,       -- Need ON
143         a-gnss-ProvideAssistanceData            A-GNSS-ProvideAssistanceData            OPTIONAL,       -- Need ON
144         otdoa-ProvideAssistanceData                     OTDOA-ProvideAssistanceData                     OPTIONAL,       -- Need ON
145         epdu-Provide-Assistance-Data            EPDU-Sequence                                           OPTIONAL,       -- Need ON
146         ...
147 }
148
149
150 RequestLocationInformation ::= SEQUENCE {
151         criticalExtensions              CHOICE {
152                 c1                                              CHOICE {
153                         requestLocationInformation-r9   RequestLocationInformation-r9-IEs,
154                         spare3 NULL, spare2 NULL, spare1 NULL
155                 },
156                 criticalExtensionsFuture        SEQUENCE {}
157         }
158 }
159
160 RequestLocationInformation-r9-IEs ::= SEQUENCE {
161         commonIEsRequestLocationInformation
162                                                                         CommonIEsRequestLocationInformation             OPTIONAL,       -- Need ON
163         a-gnss-RequestLocationInformation       A-GNSS-RequestLocationInformation       OPTIONAL,       -- Need ON
164         otdoa-RequestLocationInformation        OTDOA-RequestLocationInformation        OPTIONAL,       -- Need ON
165         ecid-RequestLocationInformation         ECID-RequestLocationInformation         OPTIONAL,       -- Need ON
166         epdu-RequestLocationInformation         EPDU-Sequence                                           OPTIONAL,       -- Need ON
167         ...,
168         [[
169         sensor-RequestLocationInformation-r13
170                                                                                 Sensor-RequestLocationInformation-r13
171                                                                                                                                                         OPTIONAL,       -- Need ON
172         tbs-RequestLocationInformation-r13      TBS-RequestLocationInformation-r13      OPTIONAL,       -- Need ON
173         wlan-RequestLocationInformation-r13     WLAN-RequestLocationInformation-r13     OPTIONAL,       -- Need ON
174         bt-RequestLocationInformation-r13       BT-RequestLocationInformation-r13       OPTIONAL        -- Need ON
175         ]]
176
177 }
178
179
180 ProvideLocationInformation ::= SEQUENCE {
181         criticalExtensions              CHOICE {
182                 c1                                              CHOICE {
183                         provideLocationInformation-r9   ProvideLocationInformation-r9-IEs,
184                         spare3 NULL, spare2 NULL, spare1 NULL
185                 },
186                 criticalExtensionsFuture        SEQUENCE {}
187         }
188 }
189
190 ProvideLocationInformation-r9-IEs ::= SEQUENCE {
191         commonIEsProvideLocationInformation
192                                                                         CommonIEsProvideLocationInformation             OPTIONAL,
193         a-gnss-ProvideLocationInformation       A-GNSS-ProvideLocationInformation       OPTIONAL,
194         otdoa-ProvideLocationInformation        OTDOA-ProvideLocationInformation        OPTIONAL,
195         ecid-ProvideLocationInformation         ECID-ProvideLocationInformation         OPTIONAL,
196         epdu-ProvideLocationInformation         EPDU-Sequence                                           OPTIONAL,
197         ...,
198         [[
199         sensor-ProvideLocationInformation-r13
200                                                                                 Sensor-ProvideLocationInformation-r13
201                                                                                                                                                         OPTIONAL,
202         tbs-ProvideLocationInformation-r13      TBS-ProvideLocationInformation-r13      OPTIONAL,
203         wlan-ProvideLocationInformation-r13     WLAN-ProvideLocationInformation-r13     OPTIONAL,
204         bt-ProvideLocationInformation-r13       BT-ProvideLocationInformation-r13       OPTIONAL
205         ]]
206
207 }
208
209
210 Abort ::= SEQUENCE {
211         criticalExtensions              CHOICE {
212                 c1                                              CHOICE {
213                         abort-r9                Abort-r9-IEs,
214                         spare3 NULL, spare2 NULL, spare1 NULL
215                 },
216                 criticalExtensionsFuture        SEQUENCE {}
217         }
218 }
219
220 Abort-r9-IEs ::= SEQUENCE {
221         commonIEsAbort          CommonIEsAbort                  OPTIONAL,       -- Need ON
222         ...,
223         epdu-Abort                      EPDU-Sequence                   OPTIONAL        -- Need ON
224 }
225
226
227 Error ::= CHOICE {
228         error-r9                                        Error-r9-IEs,
229         criticalExtensionsFuture        SEQUENCE {}
230 }
231
232 Error-r9-IEs ::= SEQUENCE {
233         commonIEsError          CommonIEsError                  OPTIONAL,       -- Need ON
234         ...,
235         epdu-Error                      EPDU-Sequence                   OPTIONAL        -- Need ON
236 }
237
238
239 AccessTypes ::= SEQUENCE {
240         accessTypes             BIT STRING {    eutra           (0),
241                                                                         utra            (1),
242                                                                         gsm                     (2)      } (SIZE (1..8)),
243         ...
244 }
245
246
247 ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN)
248
249 ARFCN-ValueEUTRA-v9a0 ::=       INTEGER (maxEARFCN-Plus1..maxEARFCN2)
250
251 maxEARFCN                                       INTEGER ::= 65535       -- Maximum value of EUTRA carrier frequency
252
253 maxEARFCN-Plus1                         INTEGER ::= 65536       -- Lowest value extended EARFCN range
254
255 maxEARFCN2                                      INTEGER ::= 262143      -- Highest value extended EARFCN range
256
257
258 ARFCN-ValueUTRA ::=     INTEGER (0..16383)
259
260
261 CellGlobalIdEUTRA-AndUTRA ::= SEQUENCE {
262         plmn-Identity           SEQUENCE {
263                                                         mcc             SEQUENCE (SIZE (3))     OF INTEGER (0..9),
264                                                         mnc             SEQUENCE (SIZE (2..3))  OF INTEGER (0..9)
265                                                 },
266         cellIdentity            CHOICE {
267                 eutra   BIT STRING (SIZE (28)),
268                 utra    BIT STRING (SIZE (32))
269         },
270         ...
271 }
272
273
274 CellGlobalIdGERAN ::= SEQUENCE {
275         plmn-Identity           SEQUENCE {
276                                                         mcc             SEQUENCE (SIZE (3))     OF INTEGER (0..9),
277                                                         mnc             SEQUENCE (SIZE (2..3))  OF INTEGER (0..9)
278                                                         },
279         locationAreaCode                BIT STRING (SIZE (16)),
280         cellIdentity                    BIT STRING (SIZE (16)),
281         ...
282 }
283
284
285 ECGI ::= SEQUENCE {
286         mcc                             SEQUENCE (SIZE (3))     OF INTEGER (0..9),
287         mnc                             SEQUENCE (SIZE (2..3))  OF INTEGER (0..9),
288         cellidentity    BIT STRING (SIZE (28))
289 }
290
291
292 Ellipsoid-Point ::= SEQUENCE {
293         latitudeSign                            ENUMERATED {north, south},
294         degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
295         degreesLongitude                        INTEGER (-8388608..8388607)             -- 24 bit field
296 }
297
298
299 Ellipsoid-PointWithUncertaintyCircle ::= SEQUENCE {
300         latitudeSign                            ENUMERATED {north, south},
301         degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
302         degreesLongitude                        INTEGER (-8388608..8388607),    -- 24 bit field
303         uncertainty                                     INTEGER (0..127)
304 }
305
306
307 EllipsoidPointWithUncertaintyEllipse ::= SEQUENCE {
308         latitudeSign                            ENUMERATED {north, south},
309         degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
310         degreesLongitude                        INTEGER (-8388608..8388607),    -- 24 bit field
311         uncertaintySemiMajor            INTEGER (0..127),
312         uncertaintySemiMinor            INTEGER (0..127),
313         orientationMajorAxis            INTEGER (0..179),
314         confidence                                      INTEGER (0..100)
315 }
316
317
318 EllipsoidPointWithAltitude ::= SEQUENCE {
319         latitudeSign                            ENUMERATED {north, south},
320         degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
321         degreesLongitude                        INTEGER (-8388608..8388607),    -- 24 bit field
322         altitudeDirection                       ENUMERATED {height, depth},
323         altitude                                        INTEGER (0..32767)                              -- 15 bit field
324 }
325
326
327 EllipsoidPointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
328         latitudeSign                            ENUMERATED {north, south},
329         degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
330         degreesLongitude                        INTEGER (-8388608..8388607),    -- 24 bit field
331         altitudeDirection                       ENUMERATED {height, depth},
332         altitude                                        INTEGER (0..32767),                             -- 15 bit field
333         uncertaintySemiMajor            INTEGER (0..127),
334         uncertaintySemiMinor            INTEGER (0..127),
335         orientationMajorAxis            INTEGER (0..179),
336         uncertaintyAltitude                     INTEGER (0..127),
337         confidence                                      INTEGER (0..100)
338 }
339
340
341 EllipsoidArc ::= SEQUENCE {
342         latitudeSign                            ENUMERATED {north, south},
343         degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
344         degreesLongitude                        INTEGER (-8388608..8388607),    -- 24 bit field
345         innerRadius                                     INTEGER (0..65535),                             -- 16 bit field,
346         uncertaintyRadius                       INTEGER (0..127),
347         offsetAngle                                     INTEGER (0..179),
348         includedAngle                           INTEGER (0..179),
349         confidence                                      INTEGER (0..100)
350 }
351
352
353 EPDU-Sequence ::= SEQUENCE (SIZE (1..maxEPDU)) OF EPDU
354
355 maxEPDU INTEGER ::= 16
356
357 EPDU ::= SEQUENCE {
358         ePDU-Identifier                 EPDU-Identifier,
359         ePDU-Body                               EPDU-Body
360 }
361
362 EPDU-Identifier ::= SEQUENCE {
363         ePDU-ID                                 EPDU-ID,
364         ePDU-Name                               EPDU-Name               OPTIONAL,
365         ...
366 }
367
368 EPDU-ID ::= INTEGER (1..256)
369
370 EPDU-Name ::= VisibleString (SIZE (1..32))
371
372 EPDU-Body ::= OCTET STRING
373
374
375 HorizontalVelocity ::= SEQUENCE {
376         bearing                                         INTEGER(0..359),
377         horizontalSpeed                         INTEGER(0..2047)
378 }
379
380
381 HorizontalWithVerticalVelocity ::= SEQUENCE {
382         bearing                                         INTEGER(0..359),
383         horizontalSpeed                         INTEGER(0..2047),
384         verticalDirection                       ENUMERATED{upward, downward},
385         verticalSpeed                           INTEGER(0..255)
386 }
387
388
389 HorizontalVelocityWithUncertainty ::= SEQUENCE {
390         bearing                                         INTEGER(0..359),
391         horizontalSpeed                         INTEGER(0..2047),
392         uncertaintySpeed                        INTEGER(0..255)
393 }
394
395
396 HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE {
397         bearing                                         INTEGER(0..359),
398         horizontalSpeed                         INTEGER(0..2047),
399         verticalDirection                       ENUMERATED{upward, downward},
400         verticalSpeed                           INTEGER(0..255),
401         horizontalUncertaintySpeed      INTEGER(0..255),
402         verticalUncertaintySpeed        INTEGER(0..255)
403 }
404
405
406 LocationCoordinateTypes ::= SEQUENCE {
407         ellipsoidPoint                                                                                  BOOLEAN,
408         ellipsoidPointWithUncertaintyCircle                                     BOOLEAN,
409         ellipsoidPointWithUncertaintyEllipse                                    BOOLEAN,
410         polygon                                                                                                 BOOLEAN,
411         ellipsoidPointWithAltitude                                                              BOOLEAN,
412         ellipsoidPointWithAltitudeAndUncertaintyEllipsoid               BOOLEAN,
413         ellipsoidArc                                                                                    BOOLEAN,
414         ...
415 }
416
417
418 Polygon ::= SEQUENCE (SIZE (3..15)) OF PolygonPoints
419
420 PolygonPoints ::= SEQUENCE {
421         latitudeSign                            ENUMERATED {north, south},
422         degreesLatitude                         INTEGER (0..8388607),                   -- 23 bit field
423         degreesLongitude                        INTEGER (-8388608..8388607)             -- 24 bit field
424 }
425
426
427 PositioningModes ::= SEQUENCE {
428         posModes                BIT STRING {    standalone      (0),
429                                                                         ue-based        (1),
430                                                                         ue-assisted     (2)  } (SIZE (1..8)),
431         ...
432 }
433
434
435 VelocityTypes ::= SEQUENCE {
436         horizontalVelocity                                                                              BOOLEAN,
437         horizontalWithVerticalVelocity                                                  BOOLEAN,
438         horizontalVelocityWithUncertainty                                               BOOLEAN,
439         horizontalWithVerticalVelocityAndUncertainty                    BOOLEAN,
440         ...
441 }
442
443
444 CommonIEsRequestCapabilities ::= SEQUENCE {
445         ...
446 }
447
448
449 CommonIEsProvideCapabilities ::= SEQUENCE {
450         ...
451 }
452
453
454 CommonIEsRequestAssistanceData ::= SEQUENCE {
455         primaryCellID           ECGI            OPTIONAL,       -- Cond EUTRA
456         ...
457 }
458
459
460 CommonIEsProvideAssistanceData ::= SEQUENCE {
461         ...
462 }
463
464
465 CommonIEsRequestLocationInformation ::= SEQUENCE {
466         locationInformationType         LocationInformationType,
467         triggeredReporting                      TriggeredReportingCriteria      OPTIONAL,       -- Cond ECID
468     periodicalReporting         PeriodicalReportingCriteria OPTIONAL,   -- Need ON
469         additionalInformation           AdditionalInformation           OPTIONAL,       -- Need ON
470         qos                                                     QoS                                                     OPTIONAL,       -- Need ON
471         environment                                     Environment                                     OPTIONAL,       -- Need ON
472         locationCoordinateTypes         LocationCoordinateTypes         OPTIONAL,       -- Need ON
473         velocityTypes                           VelocityTypes                           OPTIONAL,       -- Need ON
474         ...
475 }
476
477 LocationInformationType ::= ENUMERATED {
478         locationEstimateRequired,
479         locationMeasurementsRequired,
480         locationEstimatePreferred,
481         locationMeasurementsPreferred,
482         ...
483 }
484
485 PeriodicalReportingCriteria ::=         SEQUENCE {
486         reportingAmount                                         ENUMERATED {
487                                                                                         ra1, ra2, ra4, ra8, ra16, ra32,
488                                                                                         ra64, ra-Infinity
489                                                                                 } DEFAULT ra-Infinity,
490         reportingInterval                                       ENUMERATED {
491                                                                                         noPeriodicalReporting, ri0-25,
492                                                                                         ri0-5, ri1, ri2, ri4, ri8, ri16, ri32, ri64
493                                                                                 }
494 }
495
496 TriggeredReportingCriteria ::=          SEQUENCE {
497         cellChange                                                      BOOLEAN,
498         reportingDuration                                       ReportingDuration,
499         ...
500 }
501
502 ReportingDuration ::=                           INTEGER (0..255)
503
504 AdditionalInformation ::= ENUMERATED {
505         onlyReturnInformationRequested,
506         mayReturnAditionalInformation,
507         ...
508 }
509
510 QoS ::= SEQUENCE {
511         horizontalAccuracy                      HorizontalAccuracy              OPTIONAL,       -- Need ON
512         verticalCoordinateRequest       BOOLEAN,
513         verticalAccuracy                        VerticalAccuracy                OPTIONAL,       -- Need ON
514         responseTime                            ResponseTime                    OPTIONAL,       -- Need ON
515         velocityRequest                         BOOLEAN,
516         ...
517 }
518
519 HorizontalAccuracy ::= SEQUENCE {
520         accuracy                INTEGER(0..127),
521         confidence              INTEGER(0..100),
522         ...
523 }
524
525 VerticalAccuracy ::= SEQUENCE {
526         accuracy                INTEGER(0..127),
527         confidence              INTEGER(0..100),
528         ...
529 }
530
531 ResponseTime ::= SEQUENCE {
532         time                                                            INTEGER (1..128),
533         ...,
534         [[      responseTimeEarlyFix-r12                INTEGER (1..128)                OPTIONAL                -- Need ON
535         ]]
536 }
537
538 Environment ::= ENUMERATED {
539         badArea,
540         notBadArea,
541         mixedArea,
542         ...
543 }
544
545
546 CommonIEsProvideLocationInformation ::= SEQUENCE {
547         locationEstimate                        LocationCoordinates             OPTIONAL,
548         velocityEstimate                        Velocity                                OPTIONAL,
549         locationError                           LocationError                   OPTIONAL,
550         ...,
551         [[      earlyFixReport-r12              EarlyFixReport-r12              OPTIONAL
552         ]],
553         [[      locationSource-r13              LocationSource-r13              OPTIONAL,
554                 locationTimestamp-r13   UTCTime                                 OPTIONAL
555         ]]
556 }
557
558 LocationCoordinates ::= CHOICE {
559         ellipsoidPoint                                                          Ellipsoid-Point,
560         ellipsoidPointWithUncertaintyCircle             Ellipsoid-PointWithUncertaintyCircle,
561         ellipsoidPointWithUncertaintyEllipse            EllipsoidPointWithUncertaintyEllipse,
562         polygon                                                                         Polygon,
563         ellipsoidPointWithAltitude                                      EllipsoidPointWithAltitude,
564         ellipsoidPointWithAltitudeAndUncertaintyEllipsoid
565                                                                                                 EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
566         ellipsoidArc                                                            EllipsoidArc,
567         ...
568 }
569
570 Velocity ::= CHOICE {
571         horizontalVelocity                                                      HorizontalVelocity,
572         horizontalWithVerticalVelocity                          HorizontalWithVerticalVelocity,
573         horizontalVelocityWithUncertainty                       HorizontalVelocityWithUncertainty,
574         horizontalWithVerticalVelocityAndUncertainty
575                                                                                                 HorizontalWithVerticalVelocityAndUncertainty,
576         ...
577 }
578
579 LocationError ::= SEQUENCE {
580         locationfailurecause                    LocationFailureCause,
581         ...
582 }
583
584 LocationFailureCause ::= ENUMERATED {
585         undefined,
586         requestedMethodNotSupported,
587         positionMethodFailure,
588         periodicLocationMeasurementsNotAvailable,
589         ...
590 }
591
592 EarlyFixReport-r12 ::= ENUMERATED {
593         noMoreMessages,
594         moreMessagesOnTheWay
595 }
596
597 LocationSource-r13 ::= BIT STRING {     a-gnss                          (0),
598                                                                         wlan                            (1),
599                                                                         bt                                      (2),
600                                                                         tbs                                     (3),
601                                                                         sensor                          (4) } (SIZE(1..16))
602
603
604 CommonIEsAbort ::= SEQUENCE {
605         abortCause                      ENUMERATED {
606                 undefined,
607                 stopPeriodicReporting,
608                 targetDeviceAbort,
609                 networkAbort,
610                 ...
611         }
612 }
613
614
615 CommonIEsError ::= SEQUENCE {
616         errorCause              ENUMERATED {
617                 undefined,
618                 lppMessageHeaderError,
619                 lppMessageBodyError,
620                 epduError,
621                 incorrectDataValue,
622                 ...
623         }
624 }
625
626
627 OTDOA-ProvideAssistanceData ::= SEQUENCE {
628         otdoa-ReferenceCellInfo                 OTDOA-ReferenceCellInfo                         OPTIONAL,       -- Need ON
629         otdoa-NeighbourCellInfo                 OTDOA-NeighbourCellInfoList                     OPTIONAL,       -- Need ON
630         otdoa-Error                                             OTDOA-Error                                                     OPTIONAL,       -- Need ON
631         ...
632 }
633
634
635 OTDOA-ReferenceCellInfo ::= SEQUENCE {
636         physCellId                                      INTEGER (0..503),
637         cellGlobalId                            ECGI                                            OPTIONAL,               -- Need ON
638         earfcnRef                                       ARFCN-ValueEUTRA                        OPTIONAL,               -- Cond NotSameAsServ0
639         antennaPortConfig                       ENUMERATED {ports1-or-2, ports4, ... }
640                                                                                                                         OPTIONAL,               -- Cond NotSameAsServ1
641         cpLength                                        ENUMERATED { normal, extended, ... },
642         prsInfo                                         PRS-Info                                        OPTIONAL,               -- Cond PRS
643         ...,
644         [[ earfcnRef-v9a0                       ARFCN-ValueEUTRA-v9a0           OPTIONAL                -- Cond NotSameAsServ2
645         ]]
646 }
647
648
649 PRS-Info ::= SEQUENCE {
650         prs-Bandwidth                   ENUMERATED { n6, n15, n25, n50, n75, n100, ... },
651         prs-ConfigurationIndex  INTEGER (0..4095),
652         numDL-Frames                    ENUMERATED {sf-1, sf-2, sf-4, sf-6, ...},
653         ...,
654         prs-MutingInfo-r9               CHOICE {
655                 po2-r9                                  BIT STRING (SIZE(2)),
656                 po4-r9                                  BIT STRING (SIZE(4)),
657                 po8-r9                                  BIT STRING (SIZE(8)),
658                 po16-r9                                 BIT STRING (SIZE(16)),
659                 ...
660         }                                                                                                               OPTIONAL                                -- Need OP
661 }
662
663
664 OTDOA-NeighbourCellInfoList ::= SEQUENCE (SIZE (1..maxFreqLayers)) OF OTDOA-NeighbourFreqInfo
665 OTDOA-NeighbourFreqInfo ::= SEQUENCE (SIZE (1..24)) OF OTDOA-NeighbourCellInfoElement
666
667 OTDOA-NeighbourCellInfoElement ::= SEQUENCE {
668         physCellId                                                      INTEGER (0..503),
669         cellGlobalId                                            ECGI                            OPTIONAL,               -- Need ON
670         earfcn                                                          ARFCN-ValueEUTRA        OPTIONAL,               -- Cond NotSameAsRef0
671         cpLength                                                        ENUMERATED {normal, extended, ...}
672                                                                                                                         OPTIONAL,               -- Cond NotSameAsRef1
673         prsInfo                                                         PRS-Info                        OPTIONAL,               -- Cond NotSameAsRef2
674         antennaPortConfig                                       ENUMERATED {ports-1-or-2, ports-4, ...}
675                                                                                                                         OPTIONAL,               -- Cond NotsameAsRef3
676         slotNumberOffset                                        INTEGER (0..19)         OPTIONAL,               -- Cond NotSameAsRef4
677         prs-SubframeOffset                                      INTEGER (0..1279)       OPTIONAL,               -- Cond InterFreq
678         expectedRSTD                                            INTEGER (0..16383),
679         expectedRSTD-Uncertainty                        INTEGER (0..1023),
680         ...,
681         [[ earfcn-v9a0                                  ARFCN-ValueEUTRA-v9a0   OPTIONAL                -- Cond NotSameAsRef5
682         ]]
683 }
684
685 maxFreqLayers   INTEGER ::= 3
686
687
688 OTDOA-RequestAssistanceData ::= SEQUENCE {
689         physCellId              INTEGER (0..503),
690         ...
691 }
692
693
694 OTDOA-ProvideLocationInformation ::= SEQUENCE {
695         otdoaSignalMeasurementInformation       OTDOA-SignalMeasurementInformation      OPTIONAL,
696         otdoa-Error                                                     OTDOA-Error                                                     OPTIONAL,
697         ...
698 }
699
700
701 OTDOA-SignalMeasurementInformation ::= SEQUENCE {
702         systemFrameNumber               BIT STRING (SIZE (10)),
703         physCellIdRef                   INTEGER (0..503),
704         cellGlobalIdRef                 ECGI                                    OPTIONAL,
705         earfcnRef                               ARFCN-ValueEUTRA                OPTIONAL,               -- Cond NotSameAsRef0
706         referenceQuality                OTDOA-MeasQuality               OPTIONAL,
707         neighbourMeasurementList        NeighbourMeasurementList,
708         ...,
709         [[ earfcnRef-v9a0               ARFCN-ValueEUTRA-v9a0   OPTIONAL                -- Cond NotSameAsRef1
710         ]]
711 }
712
713 NeighbourMeasurementList ::= SEQUENCE (SIZE(1..24)) OF NeighbourMeasurementElement
714
715 NeighbourMeasurementElement ::= SEQUENCE {
716         physCellIdNeighbour             INTEGER (0..503),
717         cellGlobalIdNeighbour   ECGI                                    OPTIONAL,
718         earfcnNeighbour                 ARFCN-ValueEUTRA                OPTIONAL,               -- Cond NotSameAsRef2
719         rstd                                    INTEGER (0..12711),
720         rstd-Quality                    OTDOA-MeasQuality,
721         ...,
722         [[ earfcnNeighbour-v9a0 ARFCN-ValueEUTRA-v9a0   OPTIONAL                -- Cond NotSameAsRef3
723         ]]
724 }
725
726
727 OTDOA-MeasQuality ::= SEQUENCE {
728         error-Resolution                BIT STRING (SIZE (2)),
729         error-Value                             BIT STRING (SIZE (5)),
730         error-NumSamples                BIT STRING (SIZE (3))                           OPTIONAL,
731         ...
732 }
733
734
735 OTDOA-RequestLocationInformation ::= SEQUENCE {
736         assistanceAvailability          BOOLEAN,
737         ...
738 }
739
740
741 OTDOA-ProvideCapabilities ::= SEQUENCE {
742         otdoa-Mode              BIT STRING {    ue-assisted (0) } (SIZE (1..8)),
743         ...,
744         supportedBandListEUTRA          SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA             OPTIONAL,
745         supportedBandListEUTRA-v9a0     SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v9a0
746                                                                                                                                                                                 OPTIONAL,
747         interFreqRSTDmeasurement-r10            ENUMERATED { supported }                                                OPTIONAL,
748         additionalNeighbourCellInfoList-r10     ENUMERATED { supported }                                                OPTIONAL
749 }
750
751 maxBands INTEGER ::= 64
752
753 SupportedBandEUTRA ::= SEQUENCE {
754         bandEUTRA                                                       INTEGER (1..maxFBI)
755 }
756
757 SupportedBandEUTRA-v9a0 ::=             SEQUENCE {
758         bandEUTRA-v9a0                                          INTEGER (maxFBI-Plus1..maxFBI2)         OPTIONAL
759 }
760
761 maxFBI                                                          INTEGER ::=     64      -- Maximum value of frequency band indicator
762 maxFBI-Plus1                                            INTEGER ::= 65  -- lowest value extended FBI range
763 maxFBI2                                                         INTEGER ::= 256 -- highest value extended FBI range
764
765
766 OTDOA-RequestCapabilities ::= SEQUENCE {
767         ...
768 }
769
770
771 OTDOA-Error ::= CHOICE {
772         locationServerErrorCauses               OTDOA-LocationServerErrorCauses,
773         targetDeviceErrorCauses                 OTDOA-TargetDeviceErrorCauses,
774         ...
775 }
776
777
778 OTDOA-LocationServerErrorCauses ::= SEQUENCE {
779         cause           ENUMERATED      {       undefined,
780                                                                 assistanceDataNotSupportedByServer,
781                                                                 assistanceDataSupportedButCurrentlyNotAvailableByServer,
782                                                                 ...
783                                                         },
784         ...
785 }
786
787
788 OTDOA-TargetDeviceErrorCauses ::= SEQUENCE {
789         cause           ENUMERATED {    undefined,
790                                                                 assistance-data-missing,
791                                                                 unableToMeasureReferenceCell,
792                                                                 unableToMeasureAnyNeighbourCell,
793                                                                 attemptedButUnableToMeasureSomeNeighbourCells,
794                                                                 ...
795                                                         },
796         ...
797 }
798
799
800 A-GNSS-ProvideAssistanceData ::= SEQUENCE {
801         gnss-CommonAssistData                   GNSS-CommonAssistData                           OPTIONAL,       -- Need ON
802         gnss-GenericAssistData                  GNSS-GenericAssistData                          OPTIONAL,       -- Need ON
803         gnss-Error                                              A-GNSS-Error                                            OPTIONAL,       -- Need ON
804         ...
805 }
806
807
808 GNSS-CommonAssistData ::= SEQUENCE {
809         gnss-ReferenceTime                              GNSS-ReferenceTime                                      OPTIONAL,       -- Need ON
810         gnss-ReferenceLocation                  GNSS-ReferenceLocation                          OPTIONAL,       -- Need ON
811         gnss-IonosphericModel                   GNSS-IonosphericModel                           OPTIONAL,       -- Need ON
812         gnss-EarthOrientationParameters GNSS-EarthOrientationParameters         OPTIONAL,       -- Need ON
813         ...
814 }
815
816
817 GNSS-GenericAssistData ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataElement
818
819 GNSS-GenericAssistDataElement ::= SEQUENCE {
820         gnss-ID                                                 GNSS-ID,
821         sbas-ID                                                 SBAS-ID                                                 OPTIONAL, -- Cond GNSS-ID-SBAS
822         gnss-TimeModels                                 GNSS-TimeModelList                              OPTIONAL,       -- Need ON
823         gnss-DifferentialCorrections    GNSS-DifferentialCorrections    OPTIONAL,       -- Need ON
824         gnss-NavigationModel                    GNSS-NavigationModel                    OPTIONAL,       -- Need ON
825         gnss-RealTimeIntegrity                  GNSS-RealTimeIntegrity                  OPTIONAL,       -- Need ON
826         gnss-DataBitAssistance                  GNSS-DataBitAssistance                  OPTIONAL,       -- Need ON
827         gnss-AcquisitionAssistance              GNSS-AcquisitionAssistance              OPTIONAL,       -- Need ON
828         gnss-Almanac                                    GNSS-Almanac                                    OPTIONAL,       -- Need ON
829         gnss-UTC-Model                                  GNSS-UTC-Model                                  OPTIONAL,       -- Need ON
830         gnss-AuxiliaryInformation               GNSS-AuxiliaryInformation               OPTIONAL,       -- Need ON
831         ...,
832         [[
833                 bds-DifferentialCorrections-r12
834                                                                         BDS-DifferentialCorrections-r12 OPTIONAL,       -- Cond GNSS-ID-BDS
835                 bds-GridModel-r12                       BDS-GridModelParameter-r12              OPTIONAL        -- Cond GNSS-ID-BDS
836         ]]
837 }
838
839
840 GNSS-ReferenceTime ::= SEQUENCE  {
841         gnss-SystemTime                         GNSS-SystemTime,
842         referenceTimeUnc                        INTEGER (0..127)                                        OPTIONAL,       -- Cond noFTA
843         gnss-ReferenceTimeForCells  SEQUENCE (SIZE (1..16)) OF
844                                                                         GNSS-ReferenceTimeForOneCell    OPTIONAL,       -- Need ON
845         ...
846 }
847
848 GNSS-ReferenceTimeForOneCell  ::= SEQUENCE {
849         networkTime                             NetworkTime,
850         referenceTimeUnc                        INTEGER (0..127),
851         bsAlign                                         ENUMERATED {true}       OPTIONAL,
852         ...
853 }
854
855
856 GNSS-SystemTime ::= SEQUENCE {
857         gnss-TimeID                                             GNSS-ID,
858         gnss-DayNumber                                  INTEGER (0..32767),
859         gnss-TimeOfDay                                  INTEGER (0..86399),
860         gnss-TimeOfDayFrac-msec                 INTEGER (0..999)                OPTIONAL,       -- Need ON
861         notificationOfLeapSecond                BIT STRING (SIZE(2))    OPTIONAL,       -- Cond gnss-TimeID-glonass
862         gps-TOW-Assist                                  GPS-TOW-Assist                  OPTIONAL,       -- Cond gnss-TimeID-gps
863         ...
864 }
865
866
867 GPS-TOW-Assist ::= SEQUENCE (SIZE(1..64)) OF GPS-TOW-AssistElement
868
869 GPS-TOW-AssistElement ::= SEQUENCE {
870         satelliteID             INTEGER (1..64),
871         tlmWord                 INTEGER (0..16383),
872         antiSpoof               INTEGER (0..1),
873         alert                   INTEGER (0..1),
874         tlmRsvdBits             INTEGER (0..3),
875         ...
876 }
877
878
879 NetworkTime ::= SEQUENCE {
880         secondsFromFrameStructureStart                          INTEGER(0..12533),
881         fractionalSecondsFromFrameStructureStart        INTEGER(0..3999999),
882         frameDrift                                                                      INTEGER (-64..63)       OPTIONAL,       -- Cond GNSSsynch
883         cellID          CHOICE {
884                                 eUTRA           SEQUENCE {
885                                                         physCellId                      INTEGER (0..503),
886                                                         cellGlobalIdEUTRA       CellGlobalIdEUTRA-AndUTRA       OPTIONAL,       -- Need ON
887                                                         earfcn                          ARFCN-ValueEUTRA,
888                                                         ...,
889                                                         [[ earfcn-v9a0          ARFCN-ValueEUTRA-v9a0 OPTIONAL  -- Cond EARFCN-max
890                                                         ]]
891                                                         },
892                                 uTRA            SEQUENCE {
893                                                         mode    CHOICE {
894                                                                         fdd             SEQUENCE {
895                                                                                         primary-CPICH-Info      INTEGER (0..511),
896                                                                                         ...
897                                                                                         },
898                                                                         tdd             SEQUENCE {
899                                                                                         cellParameters          INTEGER (0..127),
900                                                                                         ...
901                                                                                         }
902                                                                         },
903                                                         cellGlobalIdUTRA        CellGlobalIdEUTRA-AndUTRA       OPTIONAL,       -- Need ON
904                                                         uarfcn                          ARFCN-ValueUTRA,
905                                                         ...
906                                                         },
907                                 gSM                     SEQUENCE {
908                                                         bcchCarrier                     INTEGER (0..1023),
909                                                         bsic                            INTEGER (0..63),
910                                                         cellGlobalIdGERAN       CellGlobalIdGERAN                       OPTIONAL,       -- Need ON
911                                                         ...
912                                                         },
913                                 ...
914                                 },
915         ...
916 }
917
918
919 GNSS-ReferenceLocation ::= SEQUENCE {
920                 threeDlocation                  EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
921                 ...
922 }
923
924
925 GNSS-IonosphericModel ::= SEQUENCE {
926         klobucharModel                  KlobucharModelParameter         OPTIONAL,       -- Need ON
927         neQuickModel                    NeQuickModelParameter           OPTIONAL,       -- Need ON
928         ...
929 }
930
931
932 KlobucharModelParameter ::= SEQUENCE {
933         dataID                  BIT STRING (SIZE (2)),
934         alfa0                   INTEGER (-128..127),
935         alfa1                   INTEGER (-128..127),
936         alfa2                   INTEGER (-128..127),
937         alfa3                   INTEGER (-128..127),
938         beta0                   INTEGER (-128..127),
939         beta1                   INTEGER (-128..127),
940         beta2                   INTEGER (-128..127),
941         beta3                   INTEGER (-128..127),
942         ...
943 }
944
945
946 NeQuickModelParameter ::= SEQUENCE {
947         ai0                     INTEGER (0..2047),
948         ai1                     INTEGER (-1024..1023),
949         ai2                     INTEGER (-8192..8191),
950         ionoStormFlag1  INTEGER (0..1)          OPTIONAL,       -- Need OP
951         ionoStormFlag2  INTEGER (0..1)          OPTIONAL,       -- Need OP
952         ionoStormFlag3  INTEGER (0..1)          OPTIONAL,       -- Need OP
953         ionoStormFlag4  INTEGER (0..1)          OPTIONAL,       -- Need OP
954         ionoStormFlag5  INTEGER (0..1)          OPTIONAL,       -- Need OP
955         ...
956 }
957
958
959 GNSS-EarthOrientationParameters ::= SEQUENCE {
960         teop                            INTEGER (0..65535),
961         pmX                                     INTEGER (-1048576..1048575),
962         pmXdot                          INTEGER (-16384..16383),
963         pmY                                     INTEGER (-1048576..1048575),
964         pmYdot                          INTEGER (-16384..16383),
965         deltaUT1                        INTEGER (-1073741824..1073741823),
966         deltaUT1dot                     INTEGER (-262144..262143),
967         ...
968 }
969
970
971 GNSS-TimeModelList ::= SEQUENCE (SIZE (1..15)) OF GNSS-TimeModelElement
972
973 GNSS-TimeModelElement ::= SEQUENCE {
974         gnss-TimeModelRefTime           INTEGER (0..65535),
975         tA0                                                     INTEGER (-67108864..67108863),
976         tA1                                                     INTEGER (-4096..4095)                                   OPTIONAL,       -- Need ON
977         tA2                                                     INTEGER (-64..63)                                               OPTIONAL,       -- Need ON
978         gnss-TO-ID                                      INTEGER (1..15),
979         weekNumber                                      INTEGER (0..8191)                                               OPTIONAL,       -- Need ON
980         deltaT                                          INTEGER (-128..127)                                             OPTIONAL,       -- Need ON
981         ...
982 }
983
984
985 GNSS-DifferentialCorrections ::= SEQUENCE {
986         dgnss-RefTime           INTEGER (0..3599),
987         dgnss-SgnTypeList       DGNSS-SgnTypeList,
988         ...
989 }
990
991 DGNSS-SgnTypeList ::= SEQUENCE (SIZE (1..3)) OF DGNSS-SgnTypeElement
992
993 DGNSS-SgnTypeElement ::= SEQUENCE {
994         gnss-SignalID            GNSS-SignalID,
995         gnss-StatusHealth        INTEGER (0..7),
996         dgnss-SatList            DGNSS-SatList,
997         ...
998 }
999
1000 DGNSS-SatList ::= SEQUENCE (SIZE (1..64)) OF DGNSS-CorrectionsElement
1001
1002 DGNSS-CorrectionsElement ::= SEQUENCE {
1003         svID                            SV-ID,
1004         iod                             BIT STRING (SIZE(11)),
1005         udre                            INTEGER (0..3),
1006         pseudoRangeCor          INTEGER (-2047..2047),
1007         rangeRateCor            INTEGER (-127..127),
1008         udreGrowthRate          INTEGER (0..7)                  OPTIONAL,       -- Need ON
1009         udreValidityTime        INTEGER (0..7)                  OPTIONAL,       -- Need ON
1010         ...
1011 }
1012
1013
1014 GNSS-NavigationModel ::= SEQUENCE {
1015         nonBroadcastIndFlag     INTEGER (0..1),
1016         gnss-SatelliteList              GNSS-NavModelSatelliteList,
1017         ...
1018 }
1019
1020 GNSS-NavModelSatelliteList ::= SEQUENCE (SIZE(1..64)) OF GNSS-NavModelSatelliteElement
1021
1022 GNSS-NavModelSatelliteElement ::= SEQUENCE {
1023         svID                            SV-ID,
1024         svHealth                        BIT STRING (SIZE(8)),
1025         iod                             BIT STRING (SIZE(11)),
1026         gnss-ClockModel         GNSS-ClockModel,
1027         gnss-OrbitModel         GNSS-OrbitModel,
1028         ...,
1029         [[      svHealthExt-v1240 BIT STRING (SIZE(4))                  OPTIONAL                -- Need ON
1030         ]]
1031 }
1032
1033 GNSS-ClockModel ::= CHOICE {
1034         standardClockModelList  StandardClockModelList,                 -- Model-1
1035         nav-ClockModel                  NAV-ClockModel,                                 -- Model-2
1036         cnav-ClockModel                 CNAV-ClockModel,                                -- Model-3
1037         glonass-ClockModel              GLONASS-ClockModel,                             -- Model-4
1038         sbas-ClockModel                 SBAS-ClockModel,                                -- Model-5
1039         ...,
1040         bds-ClockModel-r12              BDS-ClockModel-r12                              -- Model-6
1041 }
1042
1043 GNSS-OrbitModel ::= CHOICE {
1044         keplerianSet                    NavModelKeplerianSet,                   -- Model-1
1045         nav-KeplerianSet                NavModelNAV-KeplerianSet,               -- Model-2
1046         cnav-KeplerianSet               NavModelCNAV-KeplerianSet,              -- Model-3
1047         glonass-ECEF                    NavModel-GLONASS-ECEF,                  -- Model-4
1048         sbas-ECEF                               NavModel-SBAS-ECEF,                             -- Model-5
1049         ...,
1050         bds-KeplerianSet-r12    NavModel-BDS-KeplerianSet-r12   -- Model-6
1051 }
1052
1053
1054 StandardClockModelList ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelElement
1055
1056 StandardClockModelElement ::= SEQUENCE {
1057         stanClockToc                    INTEGER (0..16383),
1058         stanClockAF2                    INTEGER (-32..31),
1059         stanClockAF1                    INTEGER (-1048576..1048575),
1060         stanClockAF0                    INTEGER (-1073741824..1073741823),
1061         stanClockTgd                    INTEGER (-512..511)                             OPTIONAL,       -- Need ON
1062         sisa                                    INTEGER (0..255),
1063         stanModelID                             INTEGER (0..1)                                  OPTIONAL,       -- Need ON
1064         ...
1065 }
1066
1067
1068 NAV-ClockModel ::= SEQUENCE {
1069         navToc                  INTEGER (0..37799),
1070         navaf2                  INTEGER (-128..127),
1071         navaf1                  INTEGER (-32768..32767),
1072         navaf0                  INTEGER (-2097152..2097151),
1073         navTgd                  INTEGER (-128..127),
1074         ...
1075 }
1076
1077
1078 CNAV-ClockModel ::= SEQUENCE {
1079         cnavToc                 INTEGER (0..2015),
1080         cnavTop                 INTEGER (0..2015),
1081         cnavURA0                INTEGER (-16..15),
1082         cnavURA1                INTEGER (0..7),
1083         cnavURA2                INTEGER (0..7),
1084         cnavAf2                 INTEGER (-512..511),
1085         cnavAf1                 INTEGER (-524288..524287),
1086         cnavAf0                 INTEGER (-33554432..33554431),
1087         cnavTgd                 INTEGER (-4096..4095),
1088         cnavISCl1cp             INTEGER (-4096..4095)                   OPTIONAL,       -- Need ON
1089         cnavISCl1cd             INTEGER (-4096..4095)                   OPTIONAL,       -- Need ON
1090         cnavISCl1ca             INTEGER (-4096..4095)                   OPTIONAL,       -- Need ON
1091         cnavISCl2c              INTEGER (-4096..4095)                   OPTIONAL,       -- Need ON
1092         cnavISCl5i5             INTEGER (-4096..4095)                   OPTIONAL,       -- Need ON
1093         cnavISCl5q5             INTEGER (-4096..4095)                   OPTIONAL,       -- Need ON
1094         ...
1095 }
1096
1097
1098 GLONASS-ClockModel ::= SEQUENCE {
1099         gloTau                  INTEGER (-2097152..2097151),
1100         gloGamma                INTEGER (-1024..1023),
1101         gloDeltaTau             INTEGER (-16..15)                               OPTIONAL,       -- Need ON
1102         ...
1103 }
1104
1105
1106 SBAS-ClockModel ::= SEQUENCE {
1107         sbasTo                  INTEGER (0..5399),
1108         sbasAgfo                INTEGER (-2048..2047),
1109         sbasAgf1                INTEGER (-128..127),
1110         ...
1111 }
1112
1113
1114 BDS-ClockModel-r12 ::= SEQUENCE {
1115         bdsAODC-r12                     INTEGER (0..31),
1116         bdsToc-r12                      INTEGER (0..131071),
1117         bdsA0-r12                       INTEGER (-8388608..8388607),
1118         bdsA1-r12                       INTEGER (-2097152..2097151),
1119         bdsA2-r12                       INTEGER (-1024..1023),
1120         bdsTgd1-r12                     INTEGER (-512..511),
1121         ...
1122 }
1123
1124
1125 NavModelKeplerianSet ::= SEQUENCE {
1126         keplerToe                INTEGER (0 .. 16383),
1127         keplerW                  INTEGER (-2147483648..2147483647),
1128         keplerDeltaN     INTEGER (-32768..32767),
1129         keplerM0                 INTEGER (-2147483648..2147483647),
1130         keplerOmegaDot   INTEGER (-8388608.. 8388607),
1131         keplerE                  INTEGER (0..4294967295),
1132         keplerIDot               INTEGER (-8192..8191),
1133         keplerAPowerHalf INTEGER (0.. 4294967295),
1134         keplerI0                 INTEGER (-2147483648..2147483647),
1135         keplerOmega0     INTEGER (-2147483648..2147483647),
1136         keplerCrs                INTEGER (-32768..32767),
1137         keplerCis                INTEGER (-32768..32767),
1138         keplerCus                INTEGER (-32768..32767),
1139         keplerCrc                INTEGER (-32768..32767),
1140         keplerCic                INTEGER (-32768..32767),
1141         keplerCuc                INTEGER (-32768..32767),
1142         ...
1143 }
1144
1145
1146 NavModelNAV-KeplerianSet ::= SEQUENCE {
1147         navURA                  INTEGER (0..15),
1148         navFitFlag              INTEGER (0..1),
1149         navToe                  INTEGER (0..37799),
1150         navOmega                INTEGER (-2147483648..2147483647),
1151         navDeltaN               INTEGER (-32768..32767),
1152         navM0                   INTEGER (-2147483648..2147483647),
1153         navOmegaADot    INTEGER (-8388608..8388607),
1154         navE                    INTEGER (0..4294967295),
1155         navIDot                 INTEGER (-8192..8191),
1156         navAPowerHalf   INTEGER (0..4294967295),
1157         navI0                   INTEGER (-2147483648..2147483647),
1158         navOmegaA0              INTEGER (-2147483648..2147483647),
1159         navCrs                  INTEGER (-32768..32767),
1160         navCis                  INTEGER (-32768..32767),
1161         navCus                  INTEGER (-32768..32767),
1162         navCrc                  INTEGER (-32768..32767),
1163         navCic                  INTEGER (-32768..32767),
1164         navCuc                  INTEGER (-32768..32767),
1165         addNAVparam             SEQUENCE {
1166                 ephemCodeOnL2   INTEGER (0..3),
1167                 ephemL2Pflag    INTEGER (0..1),
1168                 ephemSF1Rsvd    SEQUENCE {
1169                         reserved1               INTEGER (0..8388607),   -- 23-bit field
1170                         reserved2               INTEGER (0..16777215),  -- 24-bit field
1171                         reserved3               INTEGER (0..16777215),  -- 24-bit field
1172                         reserved4               INTEGER (0..65535)              -- 16-bit field
1173                 },
1174                 ephemAODA               INTEGER (0..31)
1175         }       OPTIONAL,       -- Need ON
1176         ...
1177 }
1178
1179
1180 NavModelCNAV-KeplerianSet ::= SEQUENCE {
1181         cnavTop                         INTEGER (0..2015),
1182         cnavURAindex            INTEGER (-16..15),
1183         cnavDeltaA                      INTEGER (-33554432..33554431),
1184         cnavAdot                        INTEGER (-16777216..16777215),
1185         cnavDeltaNo                     INTEGER (-65536..65535),
1186         cnavDeltaNoDot          INTEGER (-4194304..4194303),
1187         cnavMo                          INTEGER (-4294967296..4294967295),
1188         cnavE                           INTEGER (0..8589934591),
1189         cnavOmega                       INTEGER (-4294967296..4294967295),
1190         cnavOMEGA0                      INTEGER (-4294967296..4294967295),
1191         cnavDeltaOmegaDot       INTEGER (-65536..65535),
1192         cnavIo                          INTEGER (-4294967296..4294967295),
1193         cnavIoDot                       INTEGER (-16384..16383),
1194         cnavCis                         INTEGER (-32768..32767),
1195         cnavCic                         INTEGER (-32768..32767),
1196         cnavCrs                         INTEGER (-8388608..8388607),
1197         cnavCrc                         INTEGER (-8388608..8388607),
1198         cnavCus                         INTEGER (-1048576..1048575),
1199         cnavCuc                         INTEGER (-1048576..1048575),
1200         ...
1201 }
1202
1203
1204 NavModel-GLONASS-ECEF ::= SEQUENCE {
1205         gloEn                           INTEGER (0..31),
1206         gloP1                           BIT STRING (SIZE(2)),
1207         gloP2                           BOOLEAN,
1208         gloM                            INTEGER (0..3),
1209         gloX                            INTEGER (-67108864..67108863),
1210         gloXdot                         INTEGER (-8388608..8388607),
1211         gloXdotdot                      INTEGER (-16..15),
1212         gloY                            INTEGER (-67108864..67108863),
1213         gloYdot                         INTEGER (-8388608..8388607),
1214         gloYdotdot                      INTEGER (-16..15),
1215         gloZ                            INTEGER (-67108864..67108863),
1216         gloZdot                         INTEGER (-8388608..8388607),
1217         gloZdotdot                      INTEGER (-16..15),
1218         ...
1219 }
1220
1221
1222 NavModel-SBAS-ECEF ::= SEQUENCE {
1223         sbasTo                          INTEGER (0..5399)                                       OPTIONAL,       -- Cond ClockModel
1224         sbasAccuracy            BIT STRING (SIZE(4)),
1225         sbasXg                          INTEGER (-536870912..536870911),
1226         sbasYg                          INTEGER (-536870912..536870911),
1227         sbasZg                          INTEGER (-16777216..16777215),
1228         sbasXgDot                       INTEGER (-65536..65535),
1229         sbasYgDot                       INTEGER (-65536..65535),
1230         sbasZgDot                       INTEGER (-131072..131071),
1231         sbasXgDotDot            INTEGER (-512..511),
1232         sbagYgDotDot            INTEGER (-512..511),
1233         sbasZgDotDot            INTEGER (-512..511),
1234         ...
1235 }
1236
1237
1238 NavModel-BDS-KeplerianSet-r12 ::= SEQUENCE {
1239         bdsAODE-r12                             INTEGER (0..31),
1240         bdsURAI-r12                             INTEGER (0..15),
1241         bdsToe-r12                              INTEGER (0..131071),
1242         bdsAPowerHalf-r12               INTEGER (0..4294967295),
1243         bdsE-r12                                INTEGER (0..4294967295),
1244         bdsW-r12                                INTEGER (-2147483648..2147483647),
1245         bdsDeltaN-r12                   INTEGER (-32768..32767),
1246         bdsM0-r12                               INTEGER (-2147483648..2147483647),
1247         bdsOmega0-r12                   INTEGER (-2147483648..2147483647),
1248         bdsOmegaDot-r12                 INTEGER (-8388608..8388607),
1249         bdsI0-r12                               INTEGER (-2147483648..2147483647),
1250         bdsIDot-r12                             INTEGER (-8192..8191),
1251         bdsCuc-r12                              INTEGER (-131072..131071),
1252         bdsCus-r12                              INTEGER (-131072..131071),
1253         bdsCrc-r12                              INTEGER (-131072..131071),
1254         bdsCrs-r12                              INTEGER (-131072..131071),
1255         bdsCic-r12                              INTEGER (-131072..131071),
1256         bdsCis-r12                              INTEGER (-131072..131071),
1257         ...
1258 }
1259
1260
1261 GNSS-RealTimeIntegrity ::= SEQUENCE {
1262         gnss-BadSignalList      GNSS-BadSignalList,
1263         ...
1264 }
1265
1266 GNSS-BadSignalList ::= SEQUENCE (SIZE(1..64)) OF BadSignalElement
1267
1268 BadSignalElement ::= SEQUENCE {
1269         badSVID                         SV-ID,
1270         badSignalID             GNSS-SignalIDs  OPTIONAL,       -- Need OP
1271         ...
1272 }
1273
1274
1275 GNSS-DataBitAssistance ::= SEQUENCE {
1276         gnss-TOD                                INTEGER (0..3599),
1277         gnss-TODfrac                    INTEGER (0..999)                OPTIONAL,       -- Need ON
1278         gnss-DataBitsSatList    GNSS-DataBitsSatList,
1279         ...
1280 }
1281
1282 GNSS-DataBitsSatList ::= SEQUENCE (SIZE(1..64))OF GNSS-DataBitsSatElement
1283
1284 GNSS-DataBitsSatElement ::= SEQUENCE {
1285         svID                                    SV-ID,
1286         gnss-DataBitsSgnList    GNSS-DataBitsSgnList,
1287         ...
1288 }
1289
1290 GNSS-DataBitsSgnList ::= SEQUENCE (SIZE(1..8)) OF GNSS-DataBitsSgnElement
1291
1292 GNSS-DataBitsSgnElement ::= SEQUENCE {
1293         gnss-SignalType                 GNSS-SignalID,
1294         gnss-DataBits                   BIT STRING (SIZE (1..1024)),
1295         ...
1296 }
1297
1298
1299 GNSS-AcquisitionAssistance ::= SEQUENCE {
1300         gnss-SignalID                           GNSS-SignalID,
1301         gnss-AcquisitionAssistList      GNSS-AcquisitionAssistList,
1302         ...,
1303         confidence-r10                          INTEGER (0..100)        OPTIONAL        -- Need ON
1304 }
1305
1306 GNSS-AcquisitionAssistList ::= SEQUENCE (SIZE(1..64)) OF GNSS-AcquisitionAssistElement
1307
1308 GNSS-AcquisitionAssistElement  ::= SEQUENCE {
1309         svID                                            SV-ID,
1310         doppler0                                        INTEGER (-2048..2047),
1311         doppler1                                        INTEGER (0..63),
1312         dopplerUncertainty                      INTEGER (0..4),
1313         codePhase                                       INTEGER (0..1022),
1314         intCodePhase                            INTEGER (0..127),
1315         codePhaseSearchWindow           INTEGER (0..31),
1316         azimuth                                         INTEGER (0..511),
1317         elevation                                       INTEGER (0..127),
1318         ...,
1319         codePhase1023                           BOOLEAN                         OPTIONAL,       -- Need OP
1320         dopplerUncertaintyExt-r10       ENUMERATED {    d60,
1321                                                                                                 d80,
1322                                                                                                 d100,
1323                                                                                                 d120,
1324                                                                                                 noInformation, ... }    OPTIONAL        -- Need ON
1325 }
1326
1327
1328 GNSS-Almanac ::= SEQUENCE {
1329         weekNumber                                      INTEGER (0..255)        OPTIONAL,       -- Need ON
1330         toa                                             INTEGER (0..255)        OPTIONAL,       -- Need ON
1331         ioda                                            INTEGER (0..3)          OPTIONAL,       -- Need ON
1332         completeAlmanacProvided         BOOLEAN,
1333         gnss-AlmanacList                        GNSS-AlmanacList,
1334         ...,
1335         [[      toa-ext-v1240                   INTEGER (256..1023)     OPTIONAL,       -- Need ON
1336                 ioda-ext-v1240                  INTEGER (4..15)         OPTIONAL        -- Need ON
1337         ]]
1338 }
1339
1340 GNSS-AlmanacList ::= SEQUENCE (SIZE(1..64)) OF GNSS-AlmanacElement
1341
1342 GNSS-AlmanacElement ::= CHOICE {
1343         keplerianAlmanacSet                             AlmanacKeplerianSet,            -- Model-1
1344         keplerianNAV-Almanac                    AlmanacNAV-KeplerianSet,        -- Model-2
1345         keplerianReducedAlmanac                 AlmanacReducedKeplerianSet,     -- Model-3
1346         keplerianMidiAlmanac                    AlmanacMidiAlmanacSet,          -- Model-4
1347         keplerianGLONASS                                AlmanacGLONASS-AlmanacSet,      -- Model-5
1348         ecef-SBAS-Almanac                               AlmanacECEF-SBAS-AlmanacSet,-- Model-6
1349         ...,
1350         keplerianBDS-Almanac-r12                AlmanacBDS-AlmanacSet-r12       -- Model-7
1351 }
1352
1353
1354 AlmanacKeplerianSet ::= SEQUENCE {
1355         svID                                    SV-ID,
1356         kepAlmanacE                             INTEGER (0..2047),
1357         kepAlmanacDeltaI                INTEGER (-1024..1023),
1358         kepAlmanacOmegaDot              INTEGER (-1024..1023),
1359         kepSV-StatusINAV                BIT STRING (SIZE (4)),
1360         kepSV-StatusFNAV                BIT STRING (SIZE (2))                   OPTIONAL,       -- Need ON
1361         kepAlmanacAPowerHalf    INTEGER (-4096..4095),
1362         kepAlmanacOmega0                INTEGER (-32768..32767),
1363         kepAlmanacW                             INTEGER (-32768..32767),
1364         kepAlmanacM0                    INTEGER (-32768..32767),
1365         kepAlmanacAF0                   INTEGER (-32768..32767),
1366         kepAlmanacAF1                   INTEGER (-4096..4095),
1367         ...
1368 }
1369
1370
1371 AlmanacNAV-KeplerianSet ::= SEQUENCE {
1372         svID                                    SV-ID,
1373         navAlmE                                 INTEGER (0..65535),
1374         navAlmDeltaI                    INTEGER (-32768..32767),
1375         navAlmOMEGADOT                  INTEGER (-32768..32767),
1376         navAlmSVHealth                  INTEGER (0..255),
1377         navAlmSqrtA                             INTEGER (0..16777215),
1378         navAlmOMEGAo                    INTEGER (-8388608..8388607),
1379         navAlmOmega                             INTEGER (-8388608..8388607),
1380         navAlmMo                                INTEGER (-8388608..8388607),
1381         navAlmaf0                               INTEGER (-1024..1023),
1382         navAlmaf1                               INTEGER (-1024..1023),
1383         ...
1384 }
1385
1386
1387 AlmanacReducedKeplerianSet ::= SEQUENCE {
1388         svID                                    SV-ID,
1389         redAlmDeltaA                    INTEGER (-128..127),
1390         redAlmOmega0                    INTEGER (-64..63),
1391         redAlmPhi0                              INTEGER (-64..63),
1392         redAlmL1Health                  BOOLEAN,
1393         redAlmL2Health                  BOOLEAN,
1394         redAlmL5Health                  BOOLEAN,
1395         ...
1396 }
1397
1398
1399 AlmanacMidiAlmanacSet ::= SEQUENCE {
1400         svID                                    SV-ID,
1401         midiAlmE                                INTEGER (0..2047),
1402         midiAlmDeltaI                   INTEGER (-1024..1023),
1403         midiAlmOmegaDot                 INTEGER (-1024..1023),
1404         midiAlmSqrtA                    INTEGER (0..131071),
1405         midiAlmOmega0                   INTEGER (-32768..32767),
1406         midiAlmOmega                    INTEGER (-32768..32767),
1407         midiAlmMo                               INTEGER (-32768..32767),
1408         midiAlmaf0                              INTEGER (-1024..1023),
1409         midiAlmaf1                              INTEGER (-512..511),
1410         midiAlmL1Health                 BOOLEAN,
1411         midiAlmL2Health                 BOOLEAN,
1412         midiAlmL5Health                 BOOLEAN,
1413         ...
1414 }
1415
1416
1417 AlmanacGLONASS-AlmanacSet ::= SEQUENCE {
1418         gloAlm-NA                               INTEGER (1..1461),
1419         gloAlmnA                                INTEGER (1..24),
1420         gloAlmHA                                INTEGER (0..31),
1421         gloAlmLambdaA                   INTEGER (-1048576..1048575),
1422         gloAlmtlambdaA                  INTEGER (0..2097151),
1423         gloAlmDeltaIa                   INTEGER (-131072..131071),
1424         gloAlmDeltaTA                   INTEGER (-2097152..2097151),
1425         gloAlmDeltaTdotA                INTEGER (-64..63),
1426         gloAlmEpsilonA                  INTEGER (0..32767),
1427         gloAlmOmegaA                    INTEGER (-32768..32767),
1428         gloAlmTauA                              INTEGER (-512..511),
1429         gloAlmCA                                INTEGER (0..1),
1430         gloAlmMA                                BIT STRING (SIZE(2))                    OPTIONAL,       -- Need ON
1431         ...
1432 }
1433
1434
1435 AlmanacECEF-SBAS-AlmanacSet ::= SEQUENCE {
1436         sbasAlmDataID                   INTEGER (0..3),
1437         svID                                    SV-ID,
1438         sbasAlmHealth                   BIT STRING (SIZE(8)),
1439         sbasAlmXg                               INTEGER (-16384..16383),
1440         sbasAlmYg                               INTEGER (-16384..16383),
1441         sbasAlmZg                               INTEGER (-256..255),
1442         sbasAlmXgdot                    INTEGER (-4..3),
1443         sbasAlmYgDot                    INTEGER (-4..3),
1444         sbasAlmZgDot                    INTEGER (-8..7),
1445         sbasAlmTo                               INTEGER (0..2047),
1446         ...
1447 }
1448
1449
1450 AlmanacBDS-AlmanacSet-r12 ::= SEQUENCE {
1451         svID                                    SV-ID,
1452         bdsAlmToa-r12                   INTEGER (0..255)                                        OPTIONAL,       -- Cond NotSameForAllSV
1453         bdsAlmSqrtA-r12                 INTEGER (0..16777215),
1454         bdsAlmE-r12                             INTEGER (0..131071),
1455         bdsAlmW-r12                             INTEGER (-8388608..8388607),
1456         bdsAlmM0-r12                    INTEGER (-8388608..8388607),
1457         bdsAlmOmega0-r12                INTEGER (-8388608..8388607),
1458         bdsAlmOmegaDot-r12              INTEGER (-65536..65535),
1459         bdsAlmDeltaI-r12                INTEGER (-32768..32767),
1460         bdsAlmA0-r12                    INTEGER (-1024..1023),
1461         bdsAlmA1-r12                    INTEGER (-1024..1023),
1462         bdsSvHealth-r12                 BIT STRING (SIZE(9))                            OPTIONAL,       -- Cond SV-ID
1463         ...
1464 }
1465
1466
1467 GNSS-UTC-Model ::= CHOICE {
1468         utcModel1                       UTC-ModelSet1,                  -- Model-1
1469         utcModel2                       UTC-ModelSet2,                  -- Model-2
1470         utcModel3                       UTC-ModelSet3,                  -- Model-3
1471         utcModel4                       UTC-ModelSet4,                  -- Model-4
1472         ...,
1473         utcModel5-r12           UTC-ModelSet5-r12               -- Model-5
1474 }
1475
1476
1477 UTC-ModelSet1 ::= SEQUENCE {
1478         gnss-Utc-A1                     INTEGER (-8388608..8388607),
1479         gnss-Utc-A0                     INTEGER (-2147483648..2147483647),
1480         gnss-Utc-Tot            INTEGER (0..255),
1481         gnss-Utc-WNt            INTEGER (0..255),
1482         gnss-Utc-DeltaTls       INTEGER (-128..127),
1483         gnss-Utc-WNlsf          INTEGER (0..255),
1484         gnss-Utc-DN                     INTEGER (-128..127),
1485         gnss-Utc-DeltaTlsf      INTEGER (-128..127),
1486         ...
1487 }
1488
1489
1490 UTC-ModelSet2 ::= SEQUENCE {
1491         utcA0                           INTEGER (-32768..32767),
1492         utcA1                           INTEGER (-4096..4095),
1493         utcA2                           INTEGER (-64..63),
1494         utcDeltaTls                     INTEGER (-128..127),
1495         utcTot                          INTEGER (0..65535),
1496         utcWNot                         INTEGER (0..8191),
1497         utcWNlsf                        INTEGER (0..255),
1498         utcDN                           BIT STRING (SIZE(4)),
1499         utcDeltaTlsf            INTEGER (-128..127),
1500         ...
1501 }
1502
1503
1504 UTC-ModelSet3 ::= SEQUENCE {
1505         nA                                      INTEGER (1..1461),
1506         tauC                            INTEGER (-2147483648..2147483647),
1507         b1                                      INTEGER (-1024..1023)                                   OPTIONAL,       -- Cond GLONASS-M
1508         b2                                      INTEGER (-512..511)                                     OPTIONAL,       -- Cond GLONASS-M
1509         kp                                      BIT STRING (SIZE(2))                                    OPTIONAL,       -- Cond GLONASS-M
1510         ...
1511 }
1512
1513
1514 UTC-ModelSet4 ::= SEQUENCE {
1515         utcA1wnt                        INTEGER (-8388608..8388607),
1516         utcA0wnt                        INTEGER (-2147483648..2147483647),
1517         utcTot                          INTEGER (0..255),
1518         utcWNt                          INTEGER (0..255),
1519         utcDeltaTls                     INTEGER (-128..127),
1520         utcWNlsf                        INTEGER (0..255),
1521         utcDN                           INTEGER (-128..127),
1522         utcDeltaTlsf            INTEGER (-128..127),
1523         utcStandardID           INTEGER (0..7),
1524         ...
1525 }
1526
1527
1528 UTC-ModelSet5-r12 ::= SEQUENCE {
1529         utcA0-r12                       INTEGER (-2147483648..2147483647),
1530         utcA1-r12                       INTEGER (-8388608..8388607),
1531         utcDeltaTls-r12         INTEGER (-128..127),
1532         utcWNlsf-r12            INTEGER (0..255),
1533         utcDN-r12                       INTEGER (0..255),
1534         utcDeltaTlsf-r12        INTEGER (-128..127),
1535         ...
1536 }
1537
1538
1539 GNSS-AuxiliaryInformation ::= CHOICE {
1540         gnss-ID-GPS             GNSS-ID-GPS,
1541         gnss-ID-GLONASS GNSS-ID-GLONASS,
1542         ...
1543 }
1544
1545 GNSS-ID-GPS ::= SEQUENCE        (SIZE(1..64)) OF GNSS-ID-GPS-SatElement
1546
1547 GNSS-ID-GPS-SatElement ::= SEQUENCE {
1548         svID                            SV-ID,
1549         signalsAvailable        GNSS-SignalIDs,
1550         ...
1551 }
1552
1553 GNSS-ID-GLONASS ::= SEQUENCE (SIZE(1..64)) OF GNSS-ID-GLONASS-SatElement
1554
1555 GNSS-ID-GLONASS-SatElement ::= SEQUENCE {
1556         svID                            SV-ID,
1557         signalsAvailable        GNSS-SignalIDs,
1558         channelNumber           INTEGER (-7..13)                OPTIONAL,               -- Cond FDMA
1559         ...
1560 }
1561
1562
1563 BDS-DifferentialCorrections-r12 ::= SEQUENCE {
1564         dbds-RefTime-r12                        INTEGER (0..3599),
1565         bds-SgnTypeList-r12                     BDS-SgnTypeList-r12,
1566         ...
1567 }
1568
1569 BDS-SgnTypeList-r12 ::= SEQUENCE (SIZE (1..3)) OF BDS-SgnTypeElement-r12
1570
1571 BDS-SgnTypeElement-r12 ::= SEQUENCE {
1572         gnss-SignalID                           GNSS-SignalID                           OPTIONAL,       -- Need ON
1573         dbds-CorrectionList-r12         DBDS-CorrectionList-r12,
1574         ...
1575 }
1576
1577 DBDS-CorrectionList-r12 ::= SEQUENCE (SIZE (1..64)) OF DBDS-CorrectionElement-r12
1578
1579 DBDS-CorrectionElement-r12 ::= SEQUENCE {
1580         svID                                            SV-ID,
1581         bds-UDREI-r12                           INTEGER (0..15),
1582         bds-RURAI-r12                           INTEGER (0..15),
1583         bds-ECC-DeltaT-r12                      INTEGER (-4096..4095),
1584         ...
1585 }
1586
1587
1588 BDS-GridModelParameter-r12 ::= SEQUENCE {
1589         bds-RefTime-r12                 INTEGER (0..3599),
1590         gridIonList-r12                 GridIonList-r12,
1591         ...
1592 }
1593
1594 GridIonList-r12 ::= SEQUENCE (SIZE (1..320)) OF GridIonElement-r12
1595
1596 GridIonElement-r12 ::= SEQUENCE {
1597         igp-ID-r12                              INTEGER (1..320),
1598         dt-r12                                  INTEGER (0..511),
1599         givei-r12                               INTEGER (0..15) ,
1600         ...
1601 }
1602
1603
1604 A-GNSS-RequestAssistanceData ::= SEQUENCE {
1605         gnss-CommonAssistDataReq                GNSS-CommonAssistDataReq                OPTIONAL, -- Cond CommonADReq
1606         gnss-GenericAssistDataReq               GNSS-GenericAssistDataReq               OPTIONAL, -- Cond GenADReq
1607         ...
1608 }
1609
1610
1611 GNSS-CommonAssistDataReq ::= SEQUENCE {
1612         gnss-ReferenceTimeReq                           GNSS-ReferenceTimeReq
1613                                                                                                                                 OPTIONAL, -- Cond RefTimeReq
1614         gnss-ReferenceLocationReq                       GNSS-ReferenceLocationReq
1615                                                                                                                                 OPTIONAL, -- Cond RefLocReq
1616         gnss-IonosphericModelReq                        GNSS-IonosphericModelReq
1617                                                                                                                                 OPTIONAL, -- Cond IonoModReq
1618         gnss-EarthOrientationParametersReq      GNSS-EarthOrientationParametersReq
1619                                                                                                                                 OPTIONAL, -- Cond EOPReq
1620         ...
1621 }
1622
1623
1624 GNSS-GenericAssistDataReq ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataReqElement
1625
1626 GNSS-GenericAssistDataReqElement ::= SEQUENCE {
1627         gnss-ID                                                 GNSS-ID,
1628         sbas-ID                                                 SBAS-ID                                                 OPTIONAL, -- Cond GNSS-ID-SBAS
1629         gnss-TimeModelsReq                              GNSS-TimeModelListReq                   OPTIONAL, -- Cond TimeModReq
1630         gnss-DifferentialCorrectionsReq GNSS-DifferentialCorrectionsReq OPTIONAL, -- Cond DGNSS-Req
1631         gnss-NavigationModelReq                 GNSS-NavigationModelReq                 OPTIONAL, -- Cond NavModReq
1632         gnss-RealTimeIntegrityReq               GNSS-RealTimeIntegrityReq               OPTIONAL, -- Cond RTIReq
1633         gnss-DataBitAssistanceReq               GNSS-DataBitAssistanceReq               OPTIONAL, -- Cond DataBitsReq
1634         gnss-AcquisitionAssistanceReq   GNSS-AcquisitionAssistanceReq   OPTIONAL, -- Cond AcquAssistReq
1635         gnss-AlmanacReq                                 GNSS-AlmanacReq                                 OPTIONAL, -- Cond AlmanacReq
1636         gnss-UTCModelReq                                GNSS-UTC-ModelReq                               OPTIONAL, -- Cond UTCModReq
1637         gnss-AuxiliaryInformationReq    GNSS-AuxiliaryInformationReq    OPTIONAL, -- Cond AuxInfoReq
1638         ...,
1639         [[
1640                 bds-DifferentialCorrectionsReq-r12
1641                                                                         BDS-DifferentialCorrectionsReq-r12
1642                                                                                                                                         OPTIONAL,       -- Cond DBDS-Req
1643                 bds-GridModelReq-r12            BDS-GridModelReq-r12                    OPTIONAL        -- Cond BDS-GridModReq
1644         ]]
1645 }
1646
1647
1648 GNSS-ReferenceTimeReq ::= SEQUENCE {
1649         gnss-TimeReqPrefList    SEQUENCE (SIZE (1..8)) OF GNSS-ID,
1650         gps-TOW-assistReq               BOOLEAN                                                         OPTIONAL, -- Cond gps
1651         notOfLeapSecReq                 BOOLEAN                                                         OPTIONAL, -- Cond glonass
1652         ...
1653 }
1654
1655
1656 GNSS-ReferenceLocationReq ::=   SEQUENCE {
1657         ...
1658 }
1659
1660
1661 GNSS-IonosphericModelReq ::=    SEQUENCE {
1662         klobucharModelReq               BIT STRING (SIZE(2))    OPTIONAL,       -- Cond klobuchar
1663         neQuickModelReq                 NULL                                    OPTIONAL,       -- Cond nequick
1664         ...
1665 }
1666
1667
1668 GNSS-EarthOrientationParametersReq ::=  SEQUENCE {
1669         ...
1670 }
1671
1672
1673 GNSS-TimeModelListReq ::= SEQUENCE (SIZE(1..15)) OF GNSS-TimeModelElementReq
1674
1675 GNSS-TimeModelElementReq ::= SEQUENCE {
1676         gnss-TO-IDsReq  INTEGER (1..15),
1677         deltaTreq               BOOLEAN,
1678         ...
1679 }
1680
1681
1682 GNSS-DifferentialCorrectionsReq ::=     SEQUENCE {
1683         dgnss-SignalsReq                        GNSS-SignalIDs,
1684         dgnss-ValidityTimeReq           BOOLEAN,
1685         ...
1686 }
1687
1688
1689 GNSS-NavigationModelReq ::=     CHOICE {
1690         storedNavList           StoredNavListInfo,
1691         reqNavList                      ReqNavListInfo,
1692         ...
1693 }
1694
1695
1696 StoredNavListInfo ::= SEQUENCE {
1697         gnss-WeekOrDay                  INTEGER (0..4095),
1698         gnss-Toe                                INTEGER (0..255),
1699         t-toeLimit                              INTEGER (0..15),
1700         satListRelatedDataList  SatListRelatedDataList  OPTIONAL,
1701         ...
1702 }
1703
1704 SatListRelatedDataList ::= SEQUENCE (SIZE (1..64)) OF SatListRelatedDataElement
1705
1706 SatListRelatedDataElement ::= SEQUENCE {
1707         svID                            SV-ID,
1708         iod                             BIT STRING (SIZE(11)),
1709         clockModelID            INTEGER (1..8)                  OPTIONAL,
1710 orbitModelID            INTEGER (1..8)                  OPTIONAL,
1711         ...
1712 }
1713
1714 ReqNavListInfo ::=      SEQUENCE {
1715         svReqList                               BIT STRING (SIZE (64)),
1716         clockModelID-PrefList   SEQUENCE (SIZE (1..8)) OF       INTEGER (1..8)          OPTIONAL,
1717         orbitModelID-PrefList   SEQUENCE (SIZE (1..8)) OF       INTEGER (1..8)          OPTIONAL,
1718         addNavparamReq                  BOOLEAN                         OPTIONAL,       -- Cond orbitModelID-2
1719         ...
1720 }
1721
1722
1723
1724 GNSS-RealTimeIntegrityReq ::=   SEQUENCE {
1725         ...
1726 }
1727
1728
1729 GNSS-DataBitAssistanceReq ::=   SEQUENCE {
1730         gnss-TOD-Req            INTEGER (0..3599),
1731         gnss-TOD-FracReq        INTEGER (0..999)                OPTIONAL,
1732         dataBitInterval         INTEGER (0..15),
1733         gnss-SignalType         GNSS-SignalIDs,
1734         gnss-DataBitsReq        GNSS-DataBitsReqSatList OPTIONAL,
1735         ...
1736 }
1737
1738 GNSS-DataBitsReqSatList ::= SEQUENCE (SIZE(1..64)) OF GNSS-DataBitsReqSatElement
1739
1740 GNSS-DataBitsReqSatElement ::= SEQUENCE {
1741         svID                            SV-ID,
1742         ...
1743 }
1744
1745
1746 GNSS-AcquisitionAssistanceReq ::=       SEQUENCE {
1747         gnss-SignalID-Req               GNSS-SignalID,
1748         ...
1749 }
1750
1751
1752 GNSS-AlmanacReq ::= SEQUENCE {
1753         modelID                         INTEGER(1..8)   OPTIONAL,
1754         ...
1755 }
1756
1757
1758 GNSS-UTC-ModelReq ::=   SEQUENCE {
1759         modelID                         INTEGER(1..8)   OPTIONAL,
1760         ...
1761 }
1762
1763
1764 GNSS-AuxiliaryInformationReq ::=        SEQUENCE {
1765         ...
1766 }
1767
1768
1769 BDS-DifferentialCorrectionsReq-r12 ::=  SEQUENCE {
1770         dgnss-SignalsReq                        GNSS-SignalIDs,
1771         ...
1772 }
1773
1774
1775 BDS-GridModelReq-r12 ::=        SEQUENCE {
1776         ...
1777 }
1778
1779
1780 A-GNSS-ProvideLocationInformation ::= SEQUENCE {
1781         gnss-SignalMeasurementInformation       GNSS-SignalMeasurementInformation               OPTIONAL,
1782         gnss-LocationInformation                        GNSS-LocationInformation                                OPTIONAL,
1783         gnss-Error                                                      A-GNSS-Error                                                    OPTIONAL,
1784         ...
1785 }
1786
1787
1788 GNSS-SignalMeasurementInformation ::= SEQUENCE {
1789         measurementReferenceTime                MeasurementReferenceTime,
1790         gnss-MeasurementList                    GNSS-MeasurementList,
1791         ...
1792 }
1793
1794
1795 MeasurementReferenceTime  ::= SEQUENCE {
1796         gnss-TOD-msec           INTEGER (0..3599999),
1797         gnss-TOD-frac           INTEGER (0..3999)                       OPTIONAL,
1798         gnss-TOD-unc            INTEGER (0..127)                        OPTIONAL,
1799         gnss-TimeID                     GNSS-ID,
1800         networkTime                     CHOICE {
1801                 eUTRA   SEQUENCE {
1802                                 physCellId                      INTEGER (0..503),
1803                                 cellGlobalId            CellGlobalIdEUTRA-AndUTRA               OPTIONAL,
1804                                 systemFrameNumber       BIT STRING (SIZE (10)),
1805                                 ...
1806                                 },
1807                 uTRA    SEQUENCE {
1808                                 mode                                    CHOICE {
1809                                                                                 fdd                     SEQUENCE {
1810                                                                                                         primary-CPICH-Info      INTEGER (0..511),
1811                                                                                                         ...
1812                                                                                                         },
1813                                                                                 tdd                     SEQUENCE {
1814                                                                                                         cellParameters          INTEGER (0..127),
1815                                                                                                         ...
1816                                                                                                         }
1817                                                                                 },
1818                                 cellGlobalId                    CellGlobalIdEUTRA-AndUTRA               OPTIONAL,
1819                                 referenceSystemFrameNumber
1820                                                                                 INTEGER (0..4095),
1821                                 ...
1822                                 },
1823                 gSM             SEQUENCE {
1824                                 bcchCarrier                     INTEGER (0..1023),
1825                                 bsic                            INTEGER (0..63),
1826                                 cellGlobalId            CellGlobalIdGERAN                                       OPTIONAL,
1827                                 referenceFrame          SEQUENCE {
1828                                                                         referenceFN             INTEGER (0..65535),
1829                                                                         referenceFNMSB          INTEGER (0..63)         OPTIONAL,
1830                                                                         ...
1831                                                                         },
1832                                 deltaGNSS-TOD           INTEGER (0 .. 127)              OPTIONAL,
1833                                 ...
1834                                 },
1835                 ...
1836                 }               OPTIONAL,
1837         ...
1838 }
1839
1840
1841 GNSS-MeasurementList  ::= SEQUENCE (SIZE(1..16)) OF GNSS-MeasurementForOneGNSS
1842
1843 GNSS-MeasurementForOneGNSS ::= SEQUENCE {
1844         gnss-ID                                 GNSS-ID,
1845         gnss-SgnMeasList                GNSS-SgnMeasList,
1846         ...
1847 }
1848
1849 GNSS-SgnMeasList ::= SEQUENCE (SIZE(1..8)) OF GNSS-SgnMeasElement
1850
1851 GNSS-SgnMeasElement ::= SEQUENCE {
1852         gnss-SignalID                   GNSS-SignalID,
1853         gnss-CodePhaseAmbiguity INTEGER (0..127)                OPTIONAL,
1854         gnss-SatMeasList                GNSS-SatMeasList,
1855         ...
1856 }
1857
1858 GNSS-SatMeasList ::= SEQUENCE (SIZE(1..64)) OF GNSS-SatMeasElement
1859
1860 GNSS-SatMeasElement ::= SEQUENCE {
1861         svID                            SV-ID,
1862         cNo                             INTEGER (0..63),
1863         mpathDet                        ENUMERATED {notMeasured (0), low (1), medium (2), high (3), ...},
1864         carrierQualityInd       INTEGER (0..3)                          OPTIONAL,
1865         codePhase                       INTEGER (0..2097151),
1866         integerCodePhase        INTEGER (0..127)                        OPTIONAL,
1867         codePhaseRMSError       INTEGER (0..63),
1868         doppler                         INTEGER (-32768..32767)         OPTIONAL,
1869         adr                             INTEGER (0..33554431)           OPTIONAL,
1870         ...
1871 }
1872
1873
1874 GNSS-LocationInformation ::= SEQUENCE {
1875         measurementReferenceTime                MeasurementReferenceTime,
1876         agnss-List                                              GNSS-ID-Bitmap,
1877         ...
1878 }
1879
1880
1881 A-GNSS-RequestLocationInformation ::= SEQUENCE {
1882         gnss-PositioningInstructions            GNSS-PositioningInstructions,
1883         ...
1884 }
1885
1886
1887 GNSS-PositioningInstructions ::= SEQUENCE {
1888         gnss-Methods                            GNSS-ID-Bitmap,
1889         fineTimeAssistanceMeasReq       BOOLEAN,
1890         adrMeasReq                                      BOOLEAN,
1891         multiFreqMeasReq                        BOOLEAN,
1892         assistanceAvailability          BOOLEAN,
1893         ...
1894 }
1895
1896
1897 A-GNSS-ProvideCapabilities ::= SEQUENCE {
1898         gnss-SupportList                        GNSS-SupportList                                OPTIONAL,
1899         assistanceDataSupportList       AssistanceDataSupportList               OPTIONAL,
1900         locationCoordinateTypes         LocationCoordinateTypes                 OPTIONAL,
1901         velocityTypes                           VelocityTypes                                   OPTIONAL,
1902         ...
1903 }
1904
1905 GNSS-SupportList ::= SEQUENCE (SIZE(1..16)) OF GNSS-SupportElement
1906
1907 GNSS-SupportElement ::= SEQUENCE {
1908         gnss-ID                                                 GNSS-ID,
1909         sbas-IDs                                                SBAS-IDs                                        OPTIONAL,       -- Cond GNSS-ID-SBAS
1910         agnss-Modes                                             PositioningModes,
1911         gnss-Signals                                    GNSS-SignalIDs,
1912         fta-MeasSupport                                 SEQUENCE {
1913                                                                                 cellTime        AccessTypes,
1914                                                                                 mode            PositioningModes,
1915                                                                                 ...
1916                                                                         }                                                       OPTIONAL,       -- Cond fta
1917         adr-Support                                             BOOLEAN,
1918         velocityMeasurementSupport              BOOLEAN,
1919         ...
1920 }
1921
1922 AssistanceDataSupportList ::= SEQUENCE {
1923         gnss-CommonAssistanceDataSupport        GNSS-CommonAssistanceDataSupport,
1924         gnss-GenericAssistanceDataSupport       GNSS-GenericAssistanceDataSupport,
1925         ...
1926 }
1927
1928
1929
1930 GNSS-CommonAssistanceDataSupport ::= SEQUENCE {
1931         gnss-ReferenceTimeSupport                               GNSS-ReferenceTimeSupport
1932                                                                                                                                 OPTIONAL, -- Cond RefTimeSup
1933         gnss-ReferenceLocationSupport                   GNSS-ReferenceLocationSupport
1934                                                                                                                                 OPTIONAL, -- Cond RefLocSup
1935         gnss-IonosphericModelSupport                    GNSS-IonosphericModelSupport
1936                                                                                                                                 OPTIONAL, -- Cond IonoModSup
1937         gnss-EarthOrientationParametersSupport  GNSS-EarthOrientationParametersSupport
1938                                                                                                                                 OPTIONAL, -- Cond EOPSup
1939         ...
1940 }
1941
1942
1943 GNSS-ReferenceTimeSupport ::=   SEQUENCE {
1944         gnss-SystemTime         GNSS-ID-Bitmap,
1945         fta-Support                     AccessTypes                                                                             OPTIONAL, -- Cond fta
1946         ...
1947 }
1948
1949
1950 GNSS-ReferenceLocationSupport ::=       SEQUENCE {
1951         ...
1952 }
1953
1954
1955 GNSS-IonosphericModelSupport ::=        SEQUENCE {
1956         ionoModel               BIT STRING {    klobuchar       (0),
1957                                                                         neQuick         (1) } (SIZE (1..8)),
1958         ...
1959 }
1960
1961
1962 GNSS-EarthOrientationParametersSupport ::=      SEQUENCE {
1963         ...
1964 }
1965
1966
1967 GNSS-GenericAssistanceDataSupport ::=
1968                                                                 SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataSupportElement
1969
1970 GNSS-GenericAssistDataSupportElement ::= SEQUENCE {
1971         gnss-ID                                                         GNSS-ID,
1972         sbas-ID                                                         SBAS-ID                                         OPTIONAL, -- Cond GNSS-ID-SBAS
1973         gnss-TimeModelsSupport                          GNSS-TimeModelListSupport
1974                                                                                                                                         OPTIONAL, -- Cond TimeModSup
1975         gnss-DifferentialCorrectionsSupport     GNSS-DifferentialCorrectionsSupport
1976                                                                                                                                         OPTIONAL, -- Cond DGNSS-Sup
1977         gnss-NavigationModelSupport                     GNSS-NavigationModelSupport
1978                                                                                                                                         OPTIONAL, -- Cond NavModSup
1979         gnss-RealTimeIntegritySupport           GNSS-RealTimeIntegritySupport
1980                                                                                                                                         OPTIONAL, -- Cond RTISup
1981         gnss-DataBitAssistanceSupport           GNSS-DataBitAssistanceSupport
1982                                                                                                                                         OPTIONAL, -- Cond DataBitsSup
1983         gnss-AcquisitionAssistanceSupport       GNSS-AcquisitionAssistanceSupport
1984                                                                                                                                         OPTIONAL, -- Cond AcquAssistSup
1985         gnss-AlmanacSupport                                     GNSS-AlmanacSupport
1986                                                                                                                                         OPTIONAL, -- Cond AlmanacSup
1987         gnss-UTC-ModelSupport                           GNSS-UTC-ModelSupport
1988                                                                                                                                         OPTIONAL, -- Cond UTCModSup
1989         gnss-AuxiliaryInformationSupport        GNSS-AuxiliaryInformationSupport
1990                                                                                                                                         OPTIONAL, -- Cond AuxInfoSup
1991         ...,
1992         [[
1993                 bds-DifferentialCorrectionsSupport-r12
1994                                                                                 BDS-DifferentialCorrectionsSupport-r12
1995                                                                                                                                         OPTIONAL, -- Cond DBDS-Sup
1996                 bds-GridModelSupport-r12                BDS-GridModelSupport-r12
1997                                                                                                                                         OPTIONAL         -- Cond BDS-GridModSup
1998         ]]
1999 }
2000
2001
2002 GNSS-TimeModelListSupport ::=   SEQUENCE {
2003         ...
2004 }
2005
2006
2007 GNSS-DifferentialCorrectionsSupport ::=         SEQUENCE {
2008         gnssSignalIDs                   GNSS-SignalIDs,
2009         dgnss-ValidityTimeSup   BOOLEAN,
2010         ...
2011 }
2012
2013
2014 GNSS-NavigationModelSupport ::= SEQUENCE {
2015         clockModel              BIT STRING {    model-1         (0),
2016                                                                         model-2         (1),
2017                                                                         model-3         (2),
2018                                                                         model-4         (3),
2019                                                                         model-5         (4),
2020                                                                         model-6         (5) } (SIZE (1..8))             OPTIONAL,
2021         orbitModel              BIT STRING {    model-1         (0),
2022                                                                         model-2         (1),
2023                                                                         model-3         (2),
2024                                                                         model-4         (3),
2025                                                                         model-5         (4),
2026                                                                         model-6         (5) } (SIZE (1..8))             OPTIONAL,
2027         ...
2028 }
2029
2030
2031 GNSS-RealTimeIntegritySupport ::=       SEQUENCE {
2032         ...
2033 }
2034
2035
2036 GNSS-DataBitAssistanceSupport ::=       SEQUENCE {
2037         ...
2038 }
2039
2040
2041 GNSS-AcquisitionAssistanceSupport ::=   SEQUENCE {
2042         ...,
2043         confidenceSupport-r10                                   ENUMERATED { true }             OPTIONAL,
2044         dopplerUncertaintyExtSupport-r10                ENUMERATED { true }             OPTIONAL
2045 }
2046
2047
2048 GNSS-AlmanacSupport ::=         SEQUENCE {
2049         almanacModel            BIT STRING {    model-1         (0),
2050                                                                                 model-2         (1),
2051                                                                                 model-3         (2),
2052                                                                                 model-4         (3),
2053                                                                                 model-5         (4),
2054                                                                                 model-6         (5),
2055                                                                                 model-7         (6) } (SIZE (1..8))             OPTIONAL,
2056         ...
2057 }
2058
2059
2060 GNSS-UTC-ModelSupport ::=       SEQUENCE {
2061         utc-Model               BIT STRING {    model-1         (0),
2062                                                                         model-2         (1),
2063                                                                         model-3         (2),
2064                                                                         model-4         (3),
2065                                                                         model-5         (4) } (SIZE (1..8))             OPTIONAL,
2066         ...
2067 }
2068
2069
2070 GNSS-AuxiliaryInformationSupport ::=    SEQUENCE {
2071         ...
2072 }
2073
2074
2075 BDS-DifferentialCorrectionsSupport-r12 ::=      SEQUENCE {
2076         gnssSignalIDs                   GNSS-SignalIDs,
2077         ...
2078 }
2079
2080
2081 BDS-GridModelSupport-r12 ::=    SEQUENCE {
2082         ...
2083 }
2084
2085
2086 A-GNSS-RequestCapabilities ::= SEQUENCE {
2087         gnss-SupportListReq                             BOOLEAN,
2088         assistanceDataSupportListReq    BOOLEAN,
2089         locationVelocityTypesReq                BOOLEAN,
2090         ...
2091 }
2092
2093
2094 A-GNSS-Error ::= CHOICE {
2095         locationServerErrorCauses               GNSS-LocationServerErrorCauses,
2096         targetDeviceErrorCauses                 GNSS-TargetDeviceErrorCauses,
2097         ...
2098 }
2099
2100
2101 GNSS-LocationServerErrorCauses ::= SEQUENCE {
2102         cause           ENUMERATED      {
2103                                         undefined,
2104                                         undeliveredAssistanceDataIsNotSupportedByServer,
2105                                         undeliveredAssistanceDataIsSupportedButCurrentlyNotAvailableByServer,                                                           undeliveredAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailableByServer,
2106                                         ...
2107                                         },
2108         ...
2109 }
2110
2111
2112 GNSS-TargetDeviceErrorCauses ::= SEQUENCE {
2113         cause           ENUMERATED {    undefined,
2114                                                                 thereWereNotEnoughSatellitesReceived,
2115                                                                 assistanceDataMissing,
2116                                                                 notAllRequestedMeasurementsPossible,
2117                                                                 ...
2118                                                         },
2119         fineTimeAssistanceMeasurementsNotPossible               NULL            OPTIONAL,
2120         adrMeasurementsNotPossible                                              NULL            OPTIONAL,
2121         multiFrequencyMeasurementsNotPossible                   NULL            OPTIONAL,
2122         ...
2123 }
2124
2125
2126 GNSS-ID ::= SEQUENCE {
2127         gnss-id                         ENUMERATED{ gps, sbas, qzss, galileo, glonass, ..., bds },
2128         ...
2129 }
2130
2131
2132 GNSS-ID-Bitmap ::= SEQUENCE {
2133         gnss-ids                        BIT STRING {    gps             (0),
2134                                                                                 sbas            (1),
2135                                                                                 qzss            (2),
2136                                                                                 galileo         (3),
2137                                                                                 glonass         (4),
2138                                                                                 bds                     (5) } (SIZE (1..16)),
2139         ...
2140 }
2141
2142
2143 GNSS-SignalID   ::= SEQUENCE {
2144         gnss-SignalID           INTEGER (0 .. 7),
2145         ...
2146 }
2147
2148
2149 GNSS-SignalIDs  ::= SEQUENCE {
2150         gnss-SignalIDs          BIT STRING (SIZE(8)),
2151         ...
2152 }
2153
2154
2155 SBAS-ID ::= SEQUENCE {
2156         sbas-id                         ENUMERATED { waas, egnos, msas, gagan, ...},
2157         ...
2158 }
2159
2160
2161 SBAS-IDs ::= SEQUENCE {
2162         sbas-IDs                BIT STRING {    waas            (0),
2163                                                                         egnos           (1),
2164                                                                         msas            (2),
2165                                                                         gagan           (3)      } (SIZE (1..8)),
2166         ...
2167 }
2168
2169
2170 SV-ID ::= SEQUENCE {
2171         satellite-id            INTEGER(0..63),
2172         ...
2173 }
2174
2175
2176 ECID-ProvideLocationInformation ::= SEQUENCE {
2177         ecid-SignalMeasurementInformation       ECID-SignalMeasurementInformation               OPTIONAL,
2178         ecid-Error                                                      ECID-Error                                                              OPTIONAL,
2179         ...
2180 }
2181
2182
2183 ECID-SignalMeasurementInformation ::= SEQUENCE {
2184         primaryCellMeasuredResults      MeasuredResultsElement  OPTIONAL,
2185         measuredResultsList                     MeasuredResultsList,
2186         ...
2187 }
2188
2189 MeasuredResultsList ::= SEQUENCE (SIZE(1..32)) OF MeasuredResultsElement
2190
2191 MeasuredResultsElement ::= SEQUENCE {
2192         physCellId              INTEGER (0..503),
2193         cellGlobalId    CellGlobalIdEUTRA-AndUTRA                       OPTIONAL,
2194         arfcnEUTRA              ARFCN-ValueEUTRA,
2195         systemFrameNumber
2196                                         BIT STRING (SIZE (10))                          OPTIONAL,
2197         rsrp-Result             INTEGER (0..97)                                         OPTIONAL,
2198         rsrq-Result             INTEGER (0..34)                                         OPTIONAL,
2199         ue-RxTxTimeDiff INTEGER (0..4095)                                       OPTIONAL,
2200         ...,
2201         [[ arfcnEUTRA-v9a0              ARFCN-ValueEUTRA-v9a0           OPTIONAL                -- Cond EARFCN-max
2202         ]]
2203 }
2204
2205
2206 ECID-RequestLocationInformation ::= SEQUENCE {
2207         requestedMeasurements           BIT STRING {    rsrpReq         (0),
2208                                                                                                 rsrqReq         (1),
2209                                                                                                 ueRxTxReq       (2)     } (SIZE(1..8)),
2210         ...
2211 }
2212
2213
2214 ECID-ProvideCapabilities ::= SEQUENCE {
2215         ecid-MeasSupported      BIT STRING {    rsrpSup         (0),
2216                                                                                 rsrqSup         (1),
2217                                                                                 ueRxTxSup       (2)     } (SIZE(1..8)),
2218         ...,
2219         [[      ueRxTxSupTDD-r13                ENUMERATED { true }                             OPTIONAL
2220         ]]
2221 }
2222
2223
2224 ECID-RequestCapabilities ::= SEQUENCE {
2225         ...
2226 }
2227
2228
2229 ECID-Error ::= CHOICE {
2230         locationServerErrorCauses               ECID-LocationServerErrorCauses,
2231         targetDeviceErrorCauses                 ECID-TargetDeviceErrorCauses,
2232         ...
2233 }
2234
2235
2236 ECID-LocationServerErrorCauses ::= SEQUENCE {
2237         cause           ENUMERATED      {       undefined,
2238                                                                 ...
2239                                                         },
2240         ...
2241 }
2242
2243
2244 ECID-TargetDeviceErrorCauses ::= SEQUENCE {
2245         cause           ENUMERATED {    undefined,
2246                                                                 requestedMeasurementNotAvailable,
2247                                                                 notAllrequestedMeasurementsPossible,
2248                                                                 ...
2249                                                         },
2250         rsrpMeasurementNotPossible                              NULL            OPTIONAL,
2251         rsrqMeasurementNotPossible                              NULL            OPTIONAL,
2252         ueRxTxMeasurementNotPossible                    NULL            OPTIONAL,
2253         ...
2254 }
2255
2256
2257 TBS-ProvideLocationInformation-r13 ::= SEQUENCE {
2258         tbs-MeasurementInformation-r13                  TBS-MeasurementInformation-r13          OPTIONAL,
2259                 tbs-Error-r13                                   TBS-Error-r13                           OPTIONAL,
2260                 ...
2261 }
2262
2263
2264 TBS-MeasurementInformation-r13 ::= SEQUENCE {
2265         measurementReferenceTime-r13    UTCTime OPTIONAL,
2266         mbs-SgnMeasList-r13                             MBS-BeaconMeasList-r13 OPTIONAL, -- Cond MBS
2267         ...
2268 }
2269
2270
2271 MBS-BeaconMeasList-r13 ::= SEQUENCE (SIZE(1..64)) OF MBS-BeaconMeasElement-r13
2272
2273 MBS-BeaconMeasElement-r13 ::= SEQUENCE {
2274         transmitterID-r13 INTEGER (0..32767),
2275         codePhase-r13 INTEGER (0..2097151),
2276         codePhaseRMSError-r13 INTEGER (0..63),
2277         ...
2278 }
2279
2280
2281 TBS-RequestLocationInformation-r13 ::= SEQUENCE {
2282         mbsSgnMeasListReq-r13                           BOOLEAN,
2283         ...
2284 }
2285
2286
2287 TBS-ProvideCapabilities-r13 ::= SEQUENCE {
2288         tbs-Modes-r13                   BIT STRING {    standalone      (0),
2289                                                                                         ue-assisted     (1) } (SIZE (1..8)),
2290 ...
2291 }
2292
2293
2294 TBS-RequestCapabilities-r13 ::= SEQUENCE {
2295         ...
2296 }
2297
2298 TBS-Error-r13 ::= CHOICE {
2299         locationServerErrorCauses-r13           TBS-LocationServerErrorCauses-r13,
2300         targetDeviceErrorCauses-r13                     TBS-TargetDeviceErrorCauses-r13,
2301         ...
2302 }
2303
2304
2305 TBS-LocationServerErrorCauses-r13 ::= SEQUENCE {
2306         cause-r13               ENUMERATED      {       undefined,
2307                                                                         ...
2308                                                                 },
2309         ...
2310 }
2311
2312
2313 TBS-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
2314         cause-r13               ENUMERATED {    undefined,
2315                                                                         thereWereNotEnoughMBSBeaconsReceived,
2316                                                                         ...
2317                                                         },
2318         ...
2319 }
2320
2321
2322 Sensor-ProvideLocationInformation-r13 ::= SEQUENCE {
2323         sensor-MeasurementInformation-r13               Sensor-MeasurementInformation-r13               OPTIONAL,
2324         sensor-Error-r13                                                                        Sensor-Error-r13        OPTIONAL,
2325         ...
2326 }
2327
2328
2329 Sensor-MeasurementInformation-r13 ::= SEQUENCE {
2330         measurementReferenceTime-r13                    UTCTime         OPTIONAL,
2331         uncompensatedBarometricPressure-r13     INTEGER (30000..115000) OPTIONAL, -- Cond Barometer
2332         ...
2333 }
2334
2335
2336 Sensor-RequestLocationInformation-r13 ::= SEQUENCE {
2337         uncompensatedBarometricPressureReq-r13          BOOLEAN,
2338         ...
2339 }
2340
2341
2342 Sensor-ProvideCapabilities-r13 ::= SEQUENCE {
2343         sensor-Modes-r13                        BIT STRING {    standalone      (0),
2344                                                                                                 ue-assisted     (1)  } (SIZE (1..8)),
2345         ...
2346 }
2347
2348
2349 Sensor-RequestCapabilities-r13 ::= SEQUENCE {
2350         ...
2351 }
2352
2353 Sensor-Error-r13 ::= CHOICE {
2354         locationServerErrorCauses-r13           Sensor-LocationServerErrorCauses-r13,
2355         targetDeviceErrorCauses-r13                     Sensor-TargetDeviceErrorCauses-r13,
2356         ...
2357 }
2358
2359
2360 Sensor-LocationServerErrorCauses-r13 ::= SEQUENCE {
2361         cause-r13                                       ENUMERATED      {       undefined,
2362                                                                                                 ...
2363                                                                                         },
2364 ...
2365 }
2366
2367
2368 Sensor-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
2369         cause-r13                       ENUMERATED              {       undefined,
2370                                                                                         ...
2371                                                                                 },
2372 ...
2373 }
2374
2375
2376 WLAN-ProvideLocationInformation-r13 ::= SEQUENCE {
2377         wlan-MeasurementInformation-r13         WLAN-MeasurementInformation-r13         OPTIONAL,
2378         wlan-Error-r13                                  WLAN-Error-r13                          OPTIONAL,
2379         ...
2380 }
2381
2382
2383 WLAN-MeasurementInformation-r13 ::= SEQUENCE {
2384         measurementReferenceTime-r13            UTCTime                                         OPTIONAL,
2385         wlan-MeasurementList-r13                        WLAN-MeasurementList-r13        OPTIONAL,
2386         ...
2387 }
2388 WLAN-MeasurementList-r13 ::= SEQUENCE (SIZE(1..maxWLAN-AP-r13)) OF WLAN-MeasurementElement-r13
2389
2390 WLAN-MeasurementElement-r13 ::= SEQUENCE {
2391         wlan-AP-Identifier-r13          WLAN-AP-Identifier-r13,
2392         rssi-r13                                        INTEGER(-127..128)      OPTIONAL,
2393         rtt-r13                                         WLAN-RTT-r13    OPTIONAL,
2394         apChannelFrequency-r13          INTEGER (0..256)                                        OPTIONAL,
2395         servingFlag-r13                         BOOLEAN                                                         OPTIONAL,
2396         ...
2397 }
2398
2399 WLAN-AP-Identifier-r13 ::= SEQUENCE {
2400         bssid-r13                                                       OCTET STRING (SIZE (6)),
2401         ssid-r13                                                        OCTET STRING (SIZE (1..32))     OPTIONAL,
2402         ...
2403 }
2404
2405 WLAN-RTT-r13 ::= SEQUENCE {
2406         rttValue-r13     INTEGER(0..16777215),
2407         rttUnits-r13     ENUMERATED {   microseconds,
2408                                                                         hundredsofnanoseconds,
2409                                                                         tensofnanoseconds,
2410                                                                         nanoseconds,
2411                                                                         tenthsofnanoseconds,
2412                                                                         ... },
2413         rttAccuracy-r13  INTEGER(0..255)                OPTIONAL,
2414         ...
2415 }
2416
2417 maxWLAN-AP-r13                  INTEGER ::= 64
2418
2419 WLAN-RequestLocationInformation-r13 ::= SEQUENCE {
2420         requestedMeasurements-r13       BIT STRING {
2421                                                                                         rssi            (0),
2422                                                                                         rtt                     (1)} (SIZE(1..8)),
2423         ...
2424 }
2425
2426
2427 WLAN-ProvideCapabilities-r13 ::= SEQUENCE {
2428         wlan-Modes-r13                  BIT STRING {    standalone              (0),
2429                                                                                         ue-assisted             (1)}    (SIZE (1..8)),
2430         wlan-MeasSupported-r13  BIT STRING      {
2431                                                                                         rssi-r13                (0),
2432                                                                                         rtt-r13                 (1)}    (SIZE(1..8)),
2433         ...
2434 }
2435
2436
2437 WLAN-RequestCapabilities-r13 ::= SEQUENCE {
2438         ...
2439 }
2440
2441
2442 WLAN-Error-r13 ::= CHOICE {
2443         locationServerErrorCauses-r13           WLAN-LocationServerErrorCauses-r13,
2444         targetDeviceErrorCauses-r13                     WLAN-TargetDeviceErrorCauses-r13,
2445         ...
2446 }
2447
2448
2449 WLAN-LocationServerErrorCauses-r13 ::= SEQUENCE {
2450         cause-r13                                                               ENUMERATED      {undefined,     ...},
2451         ...
2452 }
2453
2454
2455 WLAN-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
2456         cause-r13                                                                       ENUMERATED {undefined,
2457                                                                                                                 requestedMeasurementsNotAvailable,
2458                                                                                                                 notAllrequestedMeasurementsPossible,
2459                                                                                                                 ...
2460                                                                                                                 },
2461         wlan-AP-RSSI-MeasurementNotPossible-r13                         NULL            OPTIONAL,
2462         wlan-AP-RTT-MeasurementNotPossible-r13                          NULL            OPTIONAL,
2463         ...
2464 }
2465
2466
2467 BT-ProvideLocationInformation-r13 ::= SEQUENCE {
2468         bt-MeasurementInformation-r13           BT-MeasurementInformation-r13   OPTIONAL,
2469         bt-Error-r13                                            BT-Error-r13                    OPTIONAL,
2470         ...
2471 }
2472
2473
2474 BT-MeasurementInformation-r13 ::= SEQUENCE {
2475         measurementReferenceTime-r13            UTCTime                                         OPTIONAL,
2476         bt-MeasurementList-r13                          BT-MeasurementList-r13          OPTIONAL,
2477         ...
2478 }
2479 BT-MeasurementList-r13 ::= SEQUENCE (SIZE(1..maxBT-Beacon-r13)) OF BT-MeasurementElement-r13
2480
2481
2482 BT-MeasurementElement-r13 ::= SEQUENCE {
2483         btAddr-r13                                              BIT STRING (SIZE (48)),
2484         rssi-r13                                                INTEGER(-128..127)              OPTIONAL,
2485         ...
2486 }
2487
2488 maxBT-Beacon-r13                                INTEGER ::= 32
2489
2490 BT-RequestLocationInformation-r13 ::= SEQUENCE {
2491         requestedMeasurements-r13       BIT STRING {
2492                                                                                         rssi            (0)} (SIZE(1..8)),
2493         ...
2494 }
2495
2496
2497 BT-ProvideCapabilities-r13 ::= SEQUENCE {
2498         bt-Modes-r13                    BIT STRING {    standalone              (0),
2499                                                                                         ue-assisted             (1)}    (SIZE (1..8)),
2500         bt-MeasSupported-r13    BIT STRING {    rssi-r13                (0)}    (SIZE (1..8)),
2501         ...
2502 }
2503
2504
2505 BT-RequestCapabilities-r13 ::= SEQUENCE {
2506         ...
2507 }
2508
2509
2510 BT-Error-r13 ::= CHOICE {
2511         locationServerErrorCauses-r13           BT-LocationServerErrorCauses-r13,
2512         targetDeviceErrorCauses-r13                     BT-TargetDeviceErrorCauses-r13,
2513         ...
2514 }
2515
2516
2517 BT-LocationServerErrorCauses-r13 ::= SEQUENCE {
2518         cause-r13                                                               ENUMERATED      {undefined,     ...},
2519         ...
2520 }
2521
2522
2523 BT-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
2524         cause-r13                                                                       ENUMERATED {undefined,
2525                                                                                                                 requestedMeasurementsNotAvailable,
2526                                                                                                                 notAllrequestedMeasurementsPossible,
2527                                                                                                                 ...
2528                                                                                                                 },
2529         bt-Beacon-rssiMeasurementNotPossible-r13        NULL            OPTIONAL,
2530 ...
2531 }
2532
2533
2534 END