From e.yimjia via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9289 :
[metze/wireshark/wip.git] / asn1 / ilp / ILP.asn
1 -- ILP.asn
2 --
3 -- Taken from OMA Internal Location Protocol
4 -- http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-TS-ILP-V2_0_1-20121205-A.zip
5 --
6 -- 13.1 Common Part
7 --
8
9 ILP DEFINITIONS AUTOMATIC TAGS ::=
10 BEGIN
11
12 IMPORTS
13   Version, SessionID2
14     FROM ILP-Components
15   PREQ
16     FROM ILP-PREQ
17   PRES
18     FROM ILP-PRES
19   PRPT
20     FROM ILP-PRPT
21   PLREQ
22     FROM ILP-PLREQ
23   PLRES
24     FROM ILP-PLRES
25   PINIT
26     FROM ILP-PINIT
27   PAUTH
28     FROM ILP-PAUTH
29   PALIVE
30     FROM ILP-PALIVE
31   PEND
32     FROM ILP-PEND
33   PMESS
34     FROM ILP-PMESS;
35
36 -- general ILP PDU layout;
37 ILP-PDU ::= SEQUENCE {
38   length     INTEGER(0..65535),
39   version    Version,
40   sessionID2 SessionID2,
41   message    IlpMessage
42 }
43
44 IlpMessage ::= CHOICE {
45   msPREQ        PREQ,
46   msPRES        PRES,
47   msPRPT        PRPT,
48   msPLREQ       PLREQ,
49   msPLRES       PLRES,
50   msPINIT       PINIT,
51   msPAUTH       PAUTH,
52   msPALIVE      PALIVE,
53   msPEND        PEND,
54   msPMESS       PMESS,
55 ...}
56
57 END
58
59 --
60 -- 13.2.1 PREQ
61 --
62 ILP-PREQ DEFINITIONS AUTOMATIC TAGS ::=
63 BEGIN
64
65 EXPORTS PREQ;
66
67 IMPORTS LocationId, Position, QoP, SPCSETKey, SPCTID, SPCSETKeylifetime, MultipleLocationIds, PosTechnology, SETCapabilities
68           FROM ILP-Components;
69
70 PREQ ::= SEQUENCE {
71   sLPMode       SLPMode,
72   approvedPosMethods            PosTechnology OPTIONAL,  
73   locationId            LocationId OPTIONAL,
74   multipleLocationIds   MultipleLocationIds OPTIONAL,
75   position              Position OPTIONAL,
76   triggerParams         TriggerParams OPTIONAL,
77   sPCSETKey             SPCSETKey OPTIONAL,
78   sPCTID                SPCTID OPTIONAL,
79   sPCSETKeylifetime     SPCSETKeylifetime OPTIONAL,
80   qoP                   QoP OPTIONAL,
81   sETCapabilities       SETCapabilities OPTIONAL,
82   notificationMode      NotificationMode OPTIONAL,
83 ...}
84
85 SLPMode ::= ENUMERATED {proxy(0), nonProxy(1)}
86
87 TriggerParams ::= SEQUENCE {
88   triggerType           TriggerType,
89   periodicTriggerParams PeriodicTriggerParams   OPTIONAL,
90 ...}
91
92 TriggerType ::= ENUMERATED {
93   periodic(0), areaEvent(1),
94 ...}
95
96 PeriodicTriggerParams ::= SEQUENCE{
97    numberOfFixes        INTEGER(1..8639999),
98    intervalBetweenFixes INTEGER(1..8639999),
99    startTime            INTEGER(0..2678400) OPTIONAL,
100 ...}
101 -- intervalBetweenFixes and startTime are in seconds.
102 -- numberOfFixes  * intervalBetweenFixes shall not exceed 8639999 
103 -- (100 days in seconds) for compatibility with OMA MLP and RLP
104 -- startTime is in relative time in units of seconds measured from ¡°now¡±
105 -- a value of 0 signifies ¡°now¡±, a value of ¡°startTime¡± signifies startTime
106 -- seconds from ¡°now¡±
107
108 NotificationMode ::= ENUMERATED {normal(0), basedOnLocation(1), ...}
109
110 END
111
112
113 --
114 -- 13.2.2 PRES
115 --
116 ILP-PRES DEFINITIONS AUTOMATIC TAGS ::=
117 BEGIN
118
119 EXPORTS PRES;
120
121 IMPORTS Position, SPCStatusCode, PosTechnology, PosMethod, GNSSPosTechnology
122           FROM ILP-Components;
123
124 PRES ::= SEQUENCE {
125   preferredPosMethod    PosMethod OPTIONAL,
126   gnssPosTechnology     GNSSPosTechnology OPTIONAL,
127   supportedPosMethods   PosTechnology OPTIONAL,
128   position              Position OPTIONAL,
129   sPCstatusCode         SPCStatusCode OPTIONAL,
130 ...}
131
132 END
133
134
135 --
136 -- 13.2.3 PRPT
137 --
138 ILP-PRPT DEFINITIONS AUTOMATIC TAGS ::=
139 BEGIN
140
141 EXPORTS PRPT;
142
143 IMPORTS Position, StatusCode
144           FROM ILP-Components;
145
146 PRPT ::= SEQUENCE {
147   position      Position,
148   fixNumber     INTEGER(1.. 8639999) OPTIONAL,
149   statusCode    StatusCode OPTIONAL,
150 ...}
151
152 END
153
154
155 --
156 -- 13.2.4 PLREQ
157 --
158 ILP-PLREQ DEFINITIONS AUTOMATIC TAGS ::=
159 BEGIN
160
161 EXPORTS PLREQ;
162
163 IMPORTS LocationId, MultipleLocationIds
164           FROM ILP-Components;
165
166 PLREQ ::= SEQUENCE {
167   locationId            LocationId,
168   multipleLocationIds   MultipleLocationIds OPTIONAL,
169 ...}
170
171 END
172
173
174 --
175 -- 13.2.5 PLRES
176 --
177 ILP-PLRES DEFINITIONS AUTOMATIC TAGS ::=
178 BEGIN
179
180 EXPORTS PLRES;
181
182 IMPORTS Position, StatusCode, maxPosSize
183           FROM ILP-Components;
184
185 PLRES ::= SEQUENCE {
186   positionResults       PositionResults,
187 ...}
188
189 PositionResults ::= SEQUENCE SIZE (1..maxPosSize) OF PositionResult
190
191 PositionResult ::= CHOICE {
192   position      Position,
193   statusCode    StatusCode,
194 ...}
195
196 END
197
198
199 --
200 -- 13.2.6 PINIT
201 --
202 ILP-PINIT DEFINITIONS AUTOMATIC TAGS ::=
203 BEGIN
204
205 EXPORTS PINIT;
206
207 IMPORTS
208   LocationId, Position, PosMethod, MultipleLocationIds, PosPayLoad, SETCapabilities, UTRAN-GPSReferenceTimeResult, UTRAN-GANSSReferenceTimeResult, GNSSPosTechnology, GANSSSignals
209     FROM ILP-Components;
210
211 PINIT ::= SEQUENCE {
212   sETCapabilities               SETCapabilities,
213   locationId                    LocationId,  
214   posMethod                     PosMethod OPTIONAL,  
215   requestedAssistData           RequestedAssistData OPTIONAL, 
216   position                      Position OPTIONAL,
217   posPayLoad                    PosPayLoad OPTIONAL,
218   multipleLocationIds           MultipleLocationIds OPTIONAL,
219   utran-GPSReferenceTimeResult          UTRAN-GPSReferenceTimeResult OPTIONAL,
220   utran-GANSSReferenceTimeResult        UTRAN-GANSSReferenceTimeResult OPTIONAL,
221   gnssPosTechnology             GNSSPosTechnology OPTIONAL,
222 ...}
223
224 RequestedAssistData ::= SEQUENCE {
225   almanacRequested              BOOLEAN,
226   utcModelRequested             BOOLEAN,
227   ionosphericModelRequested             BOOLEAN,
228   dgpsCorrectionsRequested              BOOLEAN,
229   referenceLocationRequested            BOOLEAN, -- Note: Used also for GANSS
230   referenceTimeRequested                BOOLEAN,
231   acquisitionAssistanceRequested        BOOLEAN,
232   realTimeIntegrityRequested            BOOLEAN,
233   navigationModelRequested              BOOLEAN,
234   navigationModelData                   NavigationModel OPTIONAL, 
235   ganssRequestedCommonAssistanceDataList        GanssRequestedCommonAssistanceDataList OPTIONAL,
236   ganssRequestedGenericAssistanceDataList       GanssRequestedGenericAssistanceDataList OPTIONAL,
237   extendedEphemeris             ExtendedEphemeris OPTIONAL,
238   extendedEphemerisCheck                ExtendedEphCheck OPTIONAL, 
239 ...}
240
241 ExtendedEphemeris ::= SEQUENCE {
242   validity      INTEGER (1..256), -- Requested validity in 4 hour steps
243 ...}
244
245 ExtendedEphCheck ::= SEQUENCE {
246   beginTime     GPSTime, -- Begin time of ephemeris extension held by SET
247   endTime       GPSTime, -- End time of ephemeris extension held by SET
248 ...}
249
250 GPSTime ::= SEQUENCE {
251   gPSWeek       INTEGER (0..1023),
252   gPSTOWhour    INTEGER (0..167),
253 ...}
254
255 GanssRequestedCommonAssistanceDataList ::= SEQUENCE {
256   ganssReferenceTime    BOOLEAN,
257   ganssIonosphericModel BOOLEAN, 
258   ganssAdditionalIonosphericModelForDataID00    BOOLEAN,
259   ganssAdditionalIonosphericModelForDataID11    BOOLEAN,
260   ganssEarthOrientationParameters               BOOLEAN,
261 ...}
262
263 GanssRequestedGenericAssistanceDataList ::= SEQUENCE(SIZE(1..maxGANSS)) OF GanssReqGenericData
264
265 GanssReqGenericData ::= SEQUENCE {
266   ganssId               INTEGER(0..15), -- coding according to parameter definition in Section 12.14
267   ganssSBASid BIT STRING(SIZE(3)) OPTIONAL, --coding according to parameter definition in section 12.14
268   ganssRealTimeIntegrity        BOOLEAN OPTIONAL,
269   ganssDifferentialCorrection   DGANSS-Sig-Id-Req OPTIONAL,
270   ganssAlmanac          BOOLEAN,
271   ganssNavigationModelData      GanssNavigationModelData OPTIONAL,
272   ganssTimeModels       BIT STRING(SIZE(16)) OPTIONAL,
273   ganssReferenceMeasurementInfo BOOLEAN,
274   ganssDataBits         GanssDataBits    OPTIONAL,
275   ganssUTCModel         BOOLEAN, 
276   ganssAdditionalDataChoices    GanssAdditionalDataChoices OPTIONAL,
277   ganssAuxiliaryInformation     BOOLEAN,
278   ganssExtendedEphemeris                ExtendedEphemeris OPTIONAL,
279   ganssExtendedEphemerisCheck   GanssExtendedEphCheck OPTIONAL, 
280 ...}
281
282 DGANSS-Sig-Id-Req ::= BIT STRING (SIZE(8)) --- coding according to parameter definition in Section 12.15
283
284
285 GanssNavigationModelData ::= SEQUENCE {
286   ganssWeek     INTEGER(0..4095),
287   ganssToe      INTEGER(0..167),
288   t-toeLimit    INTEGER(0..10),
289   satellitesListRelatedDataList SatellitesListRelatedDataList OPTIONAL,
290 ...}
291
292 SatellitesListRelatedDataList ::= SEQUENCE(SIZE(0..maxGANSSSat)) OF SatellitesListRelatedData
293
294 SatellitesListRelatedData ::= SEQUENCE {
295   satId INTEGER(0..63),
296   iod   INTEGER(0..1023),
297 ...}
298
299 maxGANSS    INTEGER ::= 16
300 maxGANSSSat INTEGER ::= 32
301
302 GanssDataBits ::= SEQUENCE {
303   ganssTODmin     INTEGER (0..59),
304   reqDataBitAssistanceList ReqDataBitAssistanceList,
305 ...}
306
307 ReqDataBitAssistanceList ::= SEQUENCE {
308   gnssSignals           GANSSSignals,
309   ganssDataBitInterval          INTEGER (0..15),
310   ganssDataBitSatList   SEQUENCE (SIZE(1..maxGANSSSat)) OF INTEGER (0..63) OPTIONAL,
311 ...}
312
313 GanssAdditionalDataChoices ::= SEQUENCE {
314   orbitModelID  INTEGER(0..7) OPTIONAL,
315   clockModelID  INTEGER(0..7) OPTIONAL,
316   utcModelID            INTEGER(0..7) OPTIONAL,
317   almanacModelID        INTEGER(0..7) OPTIONAL,
318 ...}
319
320 GanssExtendedEphCheck ::= SEQUENCE {
321   beginTime     GANSSextEphTime, -- Begin time of ephemeris extension held by SET
322   endTime       GANSSextEphTime, -- End time of ephemeris extension held by SET
323 ...}
324
325 GANSSextEphTime ::= SEQUENCE {
326   gANSSday              INTEGER (0..8191),
327   gANSSTODhour  INTEGER (0..23),
328 ...}
329
330 NavigationModel ::= SEQUENCE {
331   gpsWeek   INTEGER(0..1023),
332   gpsToe    INTEGER(0..167),
333   nSAT      INTEGER(0..31),
334   toeLimit  INTEGER(0..10),
335   satInfo   SatelliteInfo OPTIONAL,
336 ...}
337
338 SatelliteInfo ::= SEQUENCE (SIZE (1..31)) OF SatelliteInfoElement
339
340 SatelliteInfoElement ::= SEQUENCE {
341   satId  INTEGER(0..63),
342   iODE   INTEGER(0..255),
343 ...}
344
345 END
346
347
348 --
349 -- 13.2.7 PAUTH
350 --
351 ILP-PAUTH DEFINITIONS AUTOMATIC TAGS ::=
352 BEGIN
353
354 EXPORTS PAUTH;
355
356 IMPORTS SPCSETKey, SPCTID, SPCSETKeylifetime
357           FROM ILP-Components;
358
359 PAUTH ::= SEQUENCE {
360   sPCSETKey      SPCSETKey,
361   sPCTID         SPCTID,
362   sPCSETKeylifetime SPCSETKeylifetime OPTIONAL,
363 ...}
364
365 END
366
367
368 --
369 -- 13.2.8 PALIVE
370 --
371 ILP-PALIVE DEFINITIONS AUTOMATIC TAGS ::=
372 BEGIN
373
374 EXPORTS PALIVE;
375
376 IMPORTS SPCStatusCode
377           FROM ILP-Components;
378
379 PALIVE ::= SEQUENCE {
380   sPCStatusCode    SPCStatusCode OPTIONAL,
381 ...}
382
383 END
384
385
386 --
387 -- 13.2.9 PEND
388 --
389 ILP-PEND DEFINITIONS AUTOMATIC TAGS ::=
390 BEGIN
391
392 EXPORTS PEND;
393
394 IMPORTS Position, StatusCode
395           FROM ILP-Components;
396
397 PEND ::= SEQUENCE {
398   position    Position   OPTIONAL,
399   statusCode  StatusCode OPTIONAL,
400 ...}
401
402 END
403
404
405 --
406 -- 13.2.10 PMESS
407 --
408 ILP-PMESS DEFINITIONS AUTOMATIC TAGS ::=
409 BEGIN
410
411 EXPORTS PMESS;
412
413 IMPORTS Velocity, PosPayLoad, UTRAN-GPSReferenceTimeResult, UTRAN-GANSSReferenceTimeResult, UTRAN-GPSReferenceTimeAssistance, UTRAN-GANSSReferenceTimeAssistance
414           FROM ILP-Components;
415
416 PMESS ::= SEQUENCE {
417   posPayLoad  PosPayLoad,
418   velocity    Velocity OPTIONAL,
419   utran-GPSReferenceTimeAssistance      UTRAN-GPSReferenceTimeAssistance OPTIONAL,
420   utran-GPSReferenceTimeResult          UTRAN-GPSReferenceTimeResult OPTIONAL,
421   utran-GANSSReferenceTimeAssistance    UTRAN-GANSSReferenceTimeAssistance OPTIONAL,
422   utran-GANSSReferenceTimeResult        UTRAN-GANSSReferenceTimeResult OPTIONAL,
423   ...}
424
425 END