Update to 3GPP TS 29.002 V9.3.0 (2010-09)
[obnox/wireshark/wip.git] / asn1 / gsm_map / MAP-LCS-DataTypes.asn
1 -- $Id$
2 -- MAP-LCS-DataTypes.asn
3 --
4 -- Taken from 3GPP TS 29.002  V9.3.0 (2010-09)
5 --
6 -- 17.7.13 Location service data types
7 --
8
9 MAP-LCS-DataTypes {
10    itu-t identified-organization (4) etsi (0) mobileDomain (0)
11    gsm-Network (1) modules (3) map-LCS-DataTypes (25) version12 (12)}
12
13 DEFINITIONS
14 IMPLICIT TAGS
15 ::=
16 BEGIN
17
18 EXPORTS
19         RoutingInfoForLCS-Arg,
20         RoutingInfoForLCS-Res,
21         ProvideSubscriberLocation-Arg,
22         ProvideSubscriberLocation-Res,
23         SubscriberLocationReport-Arg,
24         SubscriberLocationReport-Res,
25 LocationType, 
26 DeferredLocationEventType,
27 LCSClientName,
28 LCS-QoS,
29 Horizontal-Accuracy,
30 ResponseTime,
31 Ext-GeographicalInformation, 
32 VelocityEstimate,
33 SupportedGADShapes,
34 Add-GeographicalInformation,
35 LCSRequestorID, 
36 LCS-ReferenceNumber,
37 LCSCodeword,
38 AreaEventInfo,
39 ReportingPLMNList,
40 PeriodicLDRInfo,
41 SequenceNumber
42 ;
43
44 IMPORTS
45         AddressString,
46         ISDN-AddressString,
47         IMEI,
48         IMSI,
49         LMSI,
50         SubscriberIdentity,
51         AgeOfLocationInformation,
52         LCSClientExternalID,
53         LCSClientInternalID,
54 LCSServiceTypeID,
55 CellGlobalIdOrServiceAreaIdOrLAI,
56 PLMN-Id,
57         GSN-Address,
58         DiameterIdentity
59 FROM MAP-CommonDataTypes {
60    itu-t identified-organization (4) etsi (0) mobileDomain (0)
61    gsm-Network (1) modules (3) map-CommonDataTypes (18) version12 (12)}
62
63         ExtensionContainer,
64         SLR-ArgExtensionContainer
65 FROM MAP-ExtensionDataTypes {
66    itu-t identified-organization (4) etsi (0) mobileDomain (0)
67    gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version12 (12)}
68
69         USSD-DataCodingScheme,
70 USSD-String
71 FROM MAP-SS-DataTypes {
72    itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
73    map-SS-DataTypes (14) version12 (12)}
74
75         APN,
76         SupportedLCS-CapabilitySets
77 FROM MAP-MS-DataTypes {
78    itu-t identified-organization (4) etsi (0) mobileDomain (0)
79    gsm-Network (1) modules (3) map-MS-DataTypes (11) version12 (12)}
80
81         Additional-Number
82 FROM MAP-SM-DataTypes {
83    itu-t identified-organization (4) etsi (0) mobileDomain (0)
84    gsm-Network (1) modules (3) map-SM-DataTypes (16) version12 (12)}
85 ;
86
87
88 RoutingInfoForLCS-Arg ::= SEQUENCE {
89         mlcNumber               [0] ISDN-AddressString,
90         targetMS                [1] SubscriberIdentity,
91         extensionContainer      [2] ExtensionContainer  OPTIONAL,
92         ...}
93
94 RoutingInfoForLCS-Res ::= SEQUENCE {
95         targetMS                [0] SubscriberIdentity,
96         lcsLocationInfo [1] LCSLocationInfo,
97         extensionContainer      [2] ExtensionContainer  OPTIONAL,
98         ...,
99         v-gmlc-Address  [3]     GSN-Address     OPTIONAL,
100         h-gmlc-Address  [4]     GSN-Address     OPTIONAL,
101         ppr-Address     [5]     GSN-Address     OPTIONAL,
102         additional-v-gmlc-Address       [6]     GSN-Address     OPTIONAL }
103
104 LCSLocationInfo ::= SEQUENCE {
105         networkNode-Number      ISDN-AddressString,
106         -- NetworkNode-number can be msc-number, sgsn-number or a dummy value of "0"
107         lmsi                    [0] LMSI                OPTIONAL,
108         extensionContainer      [1] ExtensionContainer  OPTIONAL,
109         ... ,
110         gprsNodeIndicator       [2] NULL                OPTIONAL,
111         -- gprsNodeIndicator is set only if the SGSN number is sent as the Network Node Number
112         additional-Number       [3] Additional-Number   OPTIONAL,
113         supportedLCS-CapabilitySets     [4]     SupportedLCS-CapabilitySets     OPTIONAL,
114         additional-LCS-CapabilitySets   [5]     SupportedLCS-CapabilitySets     OPTIONAL,
115         mme-Name                [6]     DiameterIdentity        OPTIONAL,
116         aaa-Server-Name [8]     DiameterIdentity        OPTIONAL
117         }
118
119 ProvideSubscriberLocation-Arg ::= SEQUENCE {
120         locationType    LocationType,
121         mlc-Number      ISDN-AddressString,
122         lcs-ClientID    [0] LCS-ClientID        OPTIONAL,
123         privacyOverride [1] NULL                OPTIONAL,
124         imsi                    [2] IMSI                OPTIONAL,
125         msisdn          [3] ISDN-AddressString  OPTIONAL,
126         lmsi                    [4] LMSI                OPTIONAL,
127         imei                    [5] IMEI                OPTIONAL,
128         lcs-Priority    [6] LCS-Priority        OPTIONAL,
129         lcs-QoS         [7] LCS-QoS     OPTIONAL,
130         extensionContainer      [8] ExtensionContainer  OPTIONAL,
131         ... ,
132         supportedGADShapes      [9]     SupportedGADShapes      OPTIONAL,
133         lcs-ReferenceNumber     [10]    LCS-ReferenceNumber     OPTIONAL,
134         lcsServiceTypeID        [11]    LCSServiceTypeID        OPTIONAL,
135         lcsCodeword     [12]    LCSCodeword     OPTIONAL,
136         lcs-PrivacyCheck        [13]    LCS-PrivacyCheck        OPTIONAL,
137         areaEventInfo   [14]    AreaEventInfo   OPTIONAL,
138         h-gmlc-Address  [15]    GSN-Address     OPTIONAL,
139         mo-lrShortCircuitIndicator      [16] NULL               OPTIONAL,
140         periodicLDRInfo [17] PeriodicLDRInfo    OPTIONAL,
141         reportingPLMNList       [18] ReportingPLMNList  OPTIONAL }
142
143         -- one of imsi or msisdn is mandatory
144         -- If a location estimate type indicates activate deferred location or cancel deferred 
145         -- location, a lcs-Reference number shall be included.
146
147 LocationType ::= SEQUENCE {
148         locationEstimateType    [0] LocationEstimateType,
149         ...,
150         deferredLocationEventType       [1] DeferredLocationEventType   OPTIONAL }
151
152 LocationEstimateType ::= ENUMERATED {
153         currentLocation (0),
154         currentOrLastKnownLocation      (1),
155         initialLocation (2),
156         ...,
157         activateDeferredLocation        (3),
158         cancelDeferredLocation  (4) ,
159         notificationVerificationOnly    (5) }
160 --      exception handling:
161 --      a ProvideSubscriberLocation-Arg containing an unrecognized LocationEstimateType
162 --      shall be rejected by the receiver with a return error cause of unexpected data value
163
164 DeferredLocationEventType ::= BIT STRING {
165         msAvailable     (0) ,
166         enteringIntoArea        (1),
167         leavingFromArea (2),
168         beingInsideArea (3) ,
169         periodicLDR     (4)  } (SIZE (1..16)) 
170 -- beingInsideArea is always treated as oneTimeEvent regardless of the possible value
171 -- of occurrenceInfo inside areaEventInfo.
172 -- exception handling:
173 -- a ProvideSubscriberLocation-Arg containing other values than listed above in 
174 -- DeferredLocationEventType shall be rejected by the receiver with a return error cause of 
175 -- unexpected data value.
176
177 LCS-ClientID ::= SEQUENCE {
178         lcsClientType   [0] LCSClientType,
179         lcsClientExternalID     [1] LCSClientExternalID OPTIONAL,
180         lcsClientDialedByMS     [2] AddressString       OPTIONAL,
181         lcsClientInternalID     [3] LCSClientInternalID OPTIONAL,
182         lcsClientName   [4] LCSClientName       OPTIONAL,
183         ...,
184         lcsAPN          [5] APN         OPTIONAL,
185         lcsRequestorID  [6] LCSRequestorID      OPTIONAL }
186
187 LCSClientType ::= ENUMERATED {
188         emergencyServices       (0),
189         valueAddedServices      (1),
190         plmnOperatorServices    (2),
191         lawfulInterceptServices (3),
192         ... }
193         --      exception handling:
194         --      unrecognized values may be ignored if the LCS client uses the privacy override
195         --      otherwise, an unrecognized value shall be treated as unexpected data by a receiver
196         --      a return error shall then be returned if received in a MAP invoke 
197
198 LCSClientName ::= SEQUENCE {
199         dataCodingScheme        [0] USSD-DataCodingScheme,
200         nameString      [2] NameString,
201         ...,
202         lcs-FormatIndicator     [3] LCS-FormatIndicator OPTIONAL }
203
204 -- The USSD-DataCodingScheme shall indicate use of the default alphabet through the
205 -- following encoding
206 --      bit     7 6 5 4 3 2 1 0
207 --              0 0 0 0 1 1 1 1
208
209 NameString ::= USSD-String (SIZE (1..maxNameStringLength))
210
211 maxNameStringLength  INTEGER ::= 63
212
213 LCSRequestorID ::= SEQUENCE {
214         dataCodingScheme        [0] USSD-DataCodingScheme,
215         requestorIDString       [1] RequestorIDString,
216         ...,
217         lcs-FormatIndicator     [2] LCS-FormatIndicator OPTIONAL }
218
219 RequestorIDString ::= USSD-String (SIZE (1..maxRequestorIDStringLength))
220
221 maxRequestorIDStringLength  INTEGER ::= 63
222
223 LCS-FormatIndicator ::= ENUMERATED {
224         logicalName     (0),
225         e-mailAddress   (1),
226         msisdn          (2),
227         url                     (3),
228         sipUrl          (4),
229         ... }
230
231 LCS-Priority ::= OCTET STRING (SIZE (1))
232         -- 0 = highest priority
233         -- 1 = normal priority
234         -- all other values treated as 1 
235
236 LCS-QoS ::= SEQUENCE {
237         horizontal-accuracy     [0] Horizontal-Accuracy OPTIONAL,
238         verticalCoordinateRequest       [1] NULL                OPTIONAL,
239         vertical-accuracy       [2] Vertical-Accuracy   OPTIONAL,       responseTime    [3] ResponseTime        OPTIONAL,
240         extensionContainer      [4] ExtensionContainer  OPTIONAL,
241         ...,
242         velocityRequest [5] NULL                OPTIONAL
243 }
244
245 Horizontal-Accuracy ::= OCTET STRING (SIZE (1))
246         -- bit 8 = 0
247         -- bits 7-1 = 7 bit Uncertainty Code defined in 3GPP TS 23.032. The horizontal location 
248         -- error should be less than the error indicated by the uncertainty code with 67%
249         -- confidence.
250
251 Vertical-Accuracy ::= OCTET STRING (SIZE (1))
252         -- bit 8 = 0
253         -- bits 7-1 = 7 bit Vertical Uncertainty Code defined in 3GPP TS 23.032. 
254         -- The vertical location error should be less than the error indicated 
255         -- by the uncertainty code with 67% confidence.
256
257 ResponseTime ::= SEQUENCE {
258         responseTimeCategory    ResponseTimeCategory,
259         ...}
260 --      note: an expandable SEQUENCE simplifies later addition of a numeric response time.
261
262 ResponseTimeCategory ::= ENUMERATED {
263         lowdelay  (0),
264         delaytolerant  (1),
265         ... }
266 --      exception handling:
267 --      an unrecognized value shall be treated the same as value 1 (delaytolerant)
268
269 SupportedGADShapes ::= BIT STRING {
270         ellipsoidPoint  (0),
271         ellipsoidPointWithUncertaintyCircle (1),
272         ellipsoidPointWithUncertaintyEllipse (2),
273         polygon (3),
274         ellipsoidPointWithAltitude (4),
275         ellipsoidPointWithAltitudeAndUncertaintyElipsoid (5),
276         ellipsoidArc  (6) } (SIZE (7..16))
277 -- A node shall mark in the BIT STRING all Shapes defined in 3GPP TS 23.032 it supports.
278 -- exception handling: bits 7 to 15 shall be ignored if received.
279
280 LCS-ReferenceNumber::= OCTET STRING (SIZE(1))
281
282 LCSCodeword ::= SEQUENCE {
283         dataCodingScheme        [0] USSD-DataCodingScheme,
284         lcsCodewordString       [1] LCSCodewordString,
285         ...}
286
287 LCSCodewordString ::= USSD-String (SIZE (1..maxLCSCodewordStringLength))
288
289 maxLCSCodewordStringLength  INTEGER ::= 20
290
291 LCS-PrivacyCheck ::= SEQUENCE {
292         callSessionUnrelated    [0] PrivacyCheckRelatedAction,
293         callSessionRelated      [1] PrivacyCheckRelatedAction   OPTIONAL,
294         ...}
295
296 PrivacyCheckRelatedAction ::= ENUMERATED {
297         allowedWithoutNotification (0),
298         allowedWithNotification (1),
299         allowedIfNoResponse (2),
300         restrictedIfNoResponse (3),
301         notAllowed (4),
302         ...}
303 --      exception handling:
304 --      a ProvideSubscriberLocation-Arg containing an unrecognized PrivacyCheckRelatedAction
305 --      shall be rejected by the receiver with a return error cause of unexpected data value
306
307 AreaEventInfo ::= SEQUENCE {
308         areaDefinition  [0]     AreaDefinition,
309         occurrenceInfo  [1]     OccurrenceInfo  OPTIONAL,
310         intervalTime    [2]     IntervalTime    OPTIONAL,
311         ...}
312
313 AreaDefinition ::= SEQUENCE {
314         areaList                [0]     AreaList,
315         ...}
316
317 AreaList ::= SEQUENCE SIZE (1..maxNumOfAreas) OF Area
318
319 maxNumOfAreas  INTEGER ::= 10
320
321 Area ::= SEQUENCE {
322         areaType                [0]     AreaType,
323         areaIdentification      [1]     AreaIdentification,
324         ...}
325
326 AreaType ::= ENUMERATED {
327         countryCode     (0),
328         plmnId          (1),
329         locationAreaId  (2),
330         routingAreaId   (3),
331         cellGlobalId    (4),
332         ...,
333         utranCellId     (5) }
334
335 AreaIdentification ::= OCTET STRING (SIZE (2..7))
336         -- The internal structure is defined as follows:
337         -- octet 1 bits 4321    Mobile Country Code 1st digit
338         --         bits 8765    Mobile Country Code 2nd digit
339         -- octet 2 bits 4321    Mobile Country Code 3rd digit
340         --         bits 8765    Mobile Network Code 3rd digit if 3 digit MNC included
341         --                      or filler (1111)
342         -- octet 3 bits 4321    Mobile Network Code 1st digit
343         --         bits 8765    Mobile Network Code 2nd digit
344         -- octets 4 and 5       Location Area Code (LAC) for Local Area Id,
345         --                      Routing Area Id and Cell Global Id
346         -- octet 6      Routing Area Code (RAC) for Routing Area Id
347         -- octets 6 and 7       Cell Identity (CI) for Cell Global Id
348         -- octets 4 until 7     Utran Cell Identity (UC-Id) for Utran Cell Id
349
350 OccurrenceInfo ::= ENUMERATED {
351         oneTimeEvent    (0),
352         multipleTimeEvent       (1),
353         ...}
354
355 IntervalTime ::= INTEGER (1..32767)
356         -- minimum interval time between area reports in seconds
357
358 PeriodicLDRInfo ::= SEQUENCE {
359         reportingAmount         ReportingAmount,
360         reportingInterval       ReportingInterval,
361         ...}
362 -- reportingInterval x reportingAmount shall not exceed 8639999 (99 days, 23 hours,
363 -- 59 minutes and 59 seconds) for compatibility with OMA MLP and RLP
364
365 ReportingAmount ::= INTEGER (1..maxReportingAmount)
366
367 maxReportingAmount INTEGER ::= 8639999
368
369 ReportingInterval ::= INTEGER (1..maxReportingInterval)
370 -- ReportingInterval is in seconds
371
372 maxReportingInterval INTEGER ::= 8639999
373
374 ReportingPLMNList::= SEQUENCE {
375         plmn-ListPrioritized                    [0] NULL                                        OPTIONAL,
376         plmn-List                                               [1] PLMNList,
377         ...}
378
379 PLMNList::= SEQUENCE SIZE (1..maxNumOfReportingPLMN) OF
380                                 ReportingPLMN
381
382 maxNumOfReportingPLMN INTEGER ::= 20
383
384 ReportingPLMN::= SEQUENCE {
385         plmn-Id                                                 [0] PLMN-Id,
386         ran-Technology                                  [1] RAN-Technology                      OPTIONAL,
387         ran-PeriodicLocationSupport             [2] NULL                                        OPTIONAL,
388         ...}
389
390 RAN-Technology ::= ENUMERATED {
391         gsm                     (0),
392         umts            (1),
393         ...}
394
395 ProvideSubscriberLocation-Res ::= SEQUENCE {
396         locationEstimate        Ext-GeographicalInformation,
397         ageOfLocationEstimate   [0] AgeOfLocationInformation    OPTIONAL,
398         extensionContainer      [1] ExtensionContainer  OPTIONAL,
399         ... ,
400         add-LocationEstimate    [2] Add-GeographicalInformation         OPTIONAL,
401         deferredmt-lrResponseIndicator  [3] NULL                OPTIONAL,
402         geranPositioningData    [4] PositioningDataInformation  OPTIONAL,
403         utranPositioningData    [5] UtranPositioningDataInfo    OPTIONAL,
404         cellIdOrSai     [6] CellGlobalIdOrServiceAreaIdOrLAI    OPTIONAL,
405         sai-Present     [7] NULL                OPTIONAL,
406         accuracyFulfilmentIndicator     [8] AccuracyFulfilmentIndicator OPTIONAL,
407         velocityEstimate        [9] VelocityEstimate    OPTIONAL,
408         mo-lrShortCircuitIndicator      [10] NULL               OPTIONAL,
409         geranGANSSpositioningData       [11] GeranGANSSpositioningData  OPTIONAL,
410         utranGANSSpositioningData       [12] UtranGANSSpositioningData  OPTIONAL,       targetServingNodeForHandover    [13] ServingNodeAddress OPTIONAL }
411
412 --      if deferredmt-lrResponseIndicator is set, locationEstimate is ignored.
413
414 -- the add-LocationEstimate parameter shall not be sent to a node that did not indicate the
415 -- geographic shapes supported in the ProvideSubscriberLocation-Arg
416 -- The locationEstimate and the add-locationEstimate parameters shall not be sent if
417 -- the supportedGADShapes parameter has been received in ProvideSubscriberLocation-Arg
418 -- and the shape encoded in locationEstimate or add-LocationEstimate is not marked
419 -- as supported in supportedGADShapes. In such a case ProvideSubscriberLocation
420 -- shall be rejected with error FacilityNotSupported with additional indication
421 -- shapeOfLocationEstimateNotSupported.
422 -- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity.
423
424 AccuracyFulfilmentIndicator ::= ENUMERATED {
425         requestedAccuracyFulfilled  (0),
426         requestedAccuracyNotFulfilled  (1),
427         ...     }
428
429 Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..maxExt-GeographicalInformation))
430         -- Refers to geographical Information defined in 3GPP TS 23.032.
431         -- This is composed of 1 or more octets with an internal structure according to
432         -- 3GPP TS 23.032
433         -- Octet 1: Type of shape, only the following shapes in 3GPP TS 23.032 are allowed:
434         --              (a) Ellipsoid point with uncertainty circle
435         --              (b) Ellipsoid point with uncertainty ellipse
436         --              (c) Ellipsoid point with altitude and uncertainty ellipsoid
437         --              (d) Ellipsoid Arc
438         --              (e) Ellipsoid Point
439         -- Any other value in octet 1 shall be treated as invalid
440         -- Octets 2 to 8 for case (a) \96 Ellipsoid point with uncertainty circle
441         --              Degrees of Latitude                             3 octets
442         --              Degrees of Longitude                            3 octets
443         --              Uncertainty code                                1 octet
444         -- Octets 2 to 11 for case (b) \96 Ellipsoid point with uncertainty ellipse:
445         --              Degrees of Latitude                             3 octets
446         --              Degrees of Longitude                            3 octets
447         --              Uncertainty semi-major axis                             1 octet
448         --              Uncertainty semi-minor axis                             1 octet
449         --              Angle of major axis                             1 octet
450         --              Confidence                              1 octet
451         -- Octets 2 to 14 for case (c) \96 Ellipsoid point with altitude and uncertainty ellipsoid
452         --              Degrees of Latitude                             3 octets
453         --              Degrees of Longitude                            3 octets
454         --              Altitude                                2 octets
455         --              Uncertainty semi-major axis                             1 octet
456         --              Uncertainty semi-minor axis                             1 octet
457         --              Angle of major axis                             1 octet
458         --              Uncertainty altitude                            1 octet
459         --              Confidence                              1 octet
460         -- Octets 2 to 13 for case (d) \96 Ellipsoid Arc
461         --              Degrees of Latitude                             3 octets
462         --              Degrees of Longitude                            3 octets
463         --              Inner radius                            2 octets
464         --              Uncertainty radius                              1 octet
465         --              Offset angle                            1 octet
466         --              Included angle                          1 octet
467         --              Confidence                              1 octet
468         -- Octets 2 to 7 for case (e) \96 Ellipsoid Point
469         --              Degrees of Latitude                             3 octets
470         --              Degrees of Longitude                            3 octets
471
472         --
473         -- An Ext-GeographicalInformation parameter comprising more than one octet and
474         -- containing any other shape or an incorrect number of octets or coding according
475         -- to 3GPP TS 23.032 shall be treated as invalid data by a receiver.
476         --
477         -- An Ext-GeographicalInformation parameter comprising one octet shall be discarded
478         -- by the receiver if an Add-GeographicalInformation parameter is received 
479         -- in the same message.
480         --
481         -- An Ext-GeographicalInformation parameter comprising one octet shall be treated as
482         -- invalid data by the receiver if an Add-GeographicalInformation parameter is not
483         -- received in the same message.
484
485 maxExt-GeographicalInformation  INTEGER ::= 20
486         -- the maximum length allows for further shapes in 3GPP TS 23.032 to be included in later 
487         -- versions of 3GPP TS 29.002
488
489 VelocityEstimate ::= OCTET STRING (SIZE (4..7))
490         -- Refers to Velocity description defined in 3GPP TS 23.032.
491         -- This is composed of 4 or more octets with an internal structure according to
492         -- 3GPP TS 23.032
493         -- Octet 1: Type of velocity, only the following types in 3GPP TS 23.032 are allowed:
494         --              (a) Horizontal Velocity
495         --              (b) Horizontal with Vertical Velocity
496         --              (c) Horizontal Velocity with Uncertainty
497         --              (d) Horizontal with Vertical Velocity and Uncertainty
498         -- For types Horizontal with Vertical Velocity and Horizontal with Vertical Velocity
499         -- and Uncertainty, the direction of the Vertical Speed is also included in Octet 1
500         -- Any other value in octet 1 shall be treated as invalid
501         -- Octets 2 to 4 for case (a) Horizontal velocity:
502         --              Bearing                         1 octet
503         --              Horizontal Speed                                2 octets
504         -- Octets 2 to 5 for case (b) \96 Horizontal with Vertical Velocity:
505         --              Bearing                         1 octet
506         --              Horizontal Speed                                2 octets
507         --              Vertical Speed                          1 octet
508         -- Octets 2 to 5 for case (c) \96 Horizontal velocity with Uncertainty:
509         --              Bearing                         1 octet
510         --              Horizontal Speed                                2 octets
511         --              Uncertainty Speed                               1 octet
512         -- Octets 2 to 7 for case (d) \96 Horizontal with Vertical Velocity and Uncertainty:
513         --              Bearing                         1 octet
514         --              Horizontal Speed                                2 octets
515         --              Vertical Speed                          1 octet
516         --              Horizontal Uncertainty Speed                    1 octet
517         --              Vertical Uncertainty Speed                              1 octet
518
519 PositioningDataInformation ::= OCTET STRING (SIZE (2..maxPositioningDataInformation))
520         -- Refers to the Positioning Data defined in 3GPP TS 49.031.
521         -- This is composed of 2 or more octets with an internal structure according to
522         -- 3GPP TS 49.031. 
523
524 maxPositioningDataInformation INTEGER ::= 10
525         -- 
526
527 UtranPositioningDataInfo ::= OCTET STRING (SIZE (3..maxUtranPositioningDataInfo))
528         -- Refers to the Position Data defined in 3GPP TS 25.413.
529         -- This is composed of the positioningDataDiscriminator and the positioningDataSet
530         -- included in positionData as defined in 3GPP TS 25.413.
531
532 maxUtranPositioningDataInfo INTEGER ::= 11
533         -- 
534
535 GeranGANSSpositioningData ::= OCTET STRING (SIZE (2..maxGeranGANSSpositioningData))
536         -- Refers to the GANSS Positioning Data defined in 3GPP TS 49.031.
537         -- This is composed of 2 or more octets with an internal structure according to
538         -- 3GPP TS 49.031. 
539
540 maxGeranGANSSpositioningData INTEGER ::= 10
541         -- 
542
543 UtranGANSSpositioningData ::= OCTET STRING (SIZE (1..maxUtranGANSSpositioningData))
544         -- Refers to the Position Data defined in 3GPP TS 25.413.
545         -- This is composed of the GANSS-PositioningDataSet only, included in PositionData
546      -- as defined in 3GPP TS 25.413.
547
548 maxUtranGANSSpositioningData INTEGER ::= 9
549         -- 
550
551 Add-GeographicalInformation ::= OCTET STRING (SIZE (1..maxAdd-GeographicalInformation))
552         -- Refers to geographical Information defined in 3GPP TS 23.032.
553         -- This is composed of 1 or more octets with an internal structure according to 
554         -- 3GPP TS 23.032
555         -- Octet 1: Type of shape, all the shapes defined in 3GPP TS 23.032 are allowed:
556         -- Octets 2 to n (where n is the total number of octets necessary to encode the shape
557         -- according to 3GPP TS 23.032) are used to encode the shape itself in accordance with the
558         -- encoding defined in 3GPP TS 23.032
559         --
560         -- An Add-GeographicalInformation parameter, whether valid or invalid, received 
561         -- together with a valid Ext-GeographicalInformation parameter in the same message 
562         -- shall be discarded.
563         --
564         -- An Add-GeographicalInformation parameter containing any shape not defined in 
565         -- 3GPP TS 23.032 or an incorrect number of octets or coding according to 
566         -- 3GPP TS 23.032 shall be treated as invalid data by a receiver if not received 
567         -- together with a valid Ext-GeographicalInformation parameter in the same message.
568
569 maxAdd-GeographicalInformation  INTEGER ::= 91
570         -- the maximum length allows support for all the shapes currently defined in 3GPP TS 23.032
571
572 SubscriberLocationReport-Arg ::= SEQUENCE {
573         lcs-Event               LCS-Event,
574         lcs-ClientID    LCS-ClientID, 
575         lcsLocationInfo LCSLocationInfo,
576         msisdn          [0] ISDN-AddressString  OPTIONAL,
577         imsi                    [1] IMSI                OPTIONAL,
578         imei                    [2] IMEI                OPTIONAL,
579         na-ESRD         [3] ISDN-AddressString  OPTIONAL,
580         na-ESRK         [4] ISDN-AddressString  OPTIONAL,
581         locationEstimate        [5] Ext-GeographicalInformation OPTIONAL,
582         ageOfLocationEstimate   [6] AgeOfLocationInformation    OPTIONAL,
583         slr-ArgExtensionContainer       [7] SLR-ArgExtensionContainer   OPTIONAL,
584         ... ,
585         add-LocationEstimate    [8] Add-GeographicalInformation OPTIONAL,
586         deferredmt-lrData       [9] Deferredmt-lrData   OPTIONAL, 
587         lcs-ReferenceNumber     [10] LCS-ReferenceNumber        OPTIONAL,
588         geranPositioningData    [11] PositioningDataInformation OPTIONAL,
589         utranPositioningData    [12] UtranPositioningDataInfo   OPTIONAL,
590         cellIdOrSai     [13]    CellGlobalIdOrServiceAreaIdOrLAI        OPTIONAL,
591         h-gmlc-Address  [14]    GSN-Address     OPTIONAL,
592         lcsServiceTypeID        [15]    LCSServiceTypeID        OPTIONAL,
593         sai-Present     [17] NULL               OPTIONAL,
594         pseudonymIndicator      [18] NULL               OPTIONAL,
595         accuracyFulfilmentIndicator     [19] AccuracyFulfilmentIndicator        OPTIONAL,
596         velocityEstimate        [20] VelocityEstimate   OPTIONAL,
597         sequenceNumber  [21] SequenceNumber     OPTIONAL,
598         periodicLDRInfo [22] PeriodicLDRInfo    OPTIONAL,
599         mo-lrShortCircuitIndicator      [23] NULL               OPTIONAL,
600         geranGANSSpositioningData       [24] GeranGANSSpositioningData  OPTIONAL,
601         utranGANSSpositioningData       [25] UtranGANSSpositioningData  OPTIONAL,
602         targetServingNodeForHandover    [26] ServingNodeAddress OPTIONAL }
603
604         -- one of msisdn or imsi is mandatory
605         -- a location estimate that is valid for the locationEstimate parameter should 
606         -- be transferred in this parameter in preference to the add-LocationEstimate.
607         -- the deferredmt-lrData parameter shall be included if and only if the lcs-Event
608         -- indicates a deferredmt-lrResponse.
609         -- if the lcs-Event indicates a deferredmt-lrResponse then the locationEstimate 
610         -- and the add-locationEstimate parameters shall not be sent if the 
611         -- supportedGADShapes parameter had been received in ProvideSubscriberLocation-Arg
612         -- and the shape encoded in locationEstimate or add-LocationEstimate was not marked
613         -- as supported in supportedGADShapes. In such a case terminationCause 
614         -- in deferredmt-lrData shall be present with value 
615         -- shapeOfLocationEstimateNotSupported. 
616         -- If a lcs event indicates deferred mt-lr response, the lcs-Reference number shall be 
617         -- included. 
618         -- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity.
619
620 Deferredmt-lrData ::= SEQUENCE {
621         deferredLocationEventType       DeferredLocationEventType,
622         terminationCause        [0] TerminationCause    OPTIONAL,
623         lcsLocationInfo [1] LCSLocationInfo     OPTIONAL,
624         ...}
625         -- lcsLocationInfo may be included only if a terminationCause is present 
626         -- indicating mt-lrRestart.
627
628 LCS-Event ::= ENUMERATED {
629         emergencyCallOrigination  (0),
630         emergencyCallRelease  (1), 
631         mo-lr  (2),
632         ...,
633         deferredmt-lrResponse  (3) ,
634         deferredmo-lrTTTPInitiation  (4),
635         emergencyCallHandover (5)  }
636         --      deferredmt-lrResponse is applicable to the delivery of a location estimate 
637         --      for an LDR initiated earlier by either the network (via an MT-LR activate deferred 
638         --      location) or the UE (via a deferred MO-LR TTTP initiation)
639         --      exception handling:
640         --      a SubscriberLocationReport-Arg containing an unrecognized LCS-Event
641         --      shall be rejected by a receiver with a return error cause of unexpected data value
642
643 TerminationCause ::= ENUMERATED {
644         normal  (0),
645         errorundefined  (1),
646         internalTimeout  (2),
647         congestion  (3),
648         mt-lrRestart  (4),
649         privacyViolation  (5),
650         ...,
651         shapeOfLocationEstimateNotSupported (6) ,
652         subscriberTermination (7),
653         uETermination (8),
654         networkTermination (9)  } 
655 -- mt-lrRestart shall be used to trigger the GMLC to restart the location procedure, 
656 -- either because the sending node knows that the terminal has moved under coverage 
657 -- of another MSC or SGSN (e.g. Send Identification received), or because the subscriber
658 -- has been deregistered due to a Cancel Location received from HLR.
659 --
660 -- exception handling
661 -- an unrecognized value shall be treated the same as value 1 (errorundefined) 
662
663 SequenceNumber ::= INTEGER (1..maxReportingAmount)
664
665 ServingNodeAddress ::= CHOICE {
666         msc-Number      [0] ISDN-AddressString,
667         sgsn-Number     [1] ISDN-AddressString,
668         mme-Number      [2] DiameterIdentity }
669
670 SubscriberLocationReport-Res ::= SEQUENCE {
671         extensionContainer      ExtensionContainer      OPTIONAL, 
672         ..., 
673         na-ESRK         [0] ISDN-AddressString  OPTIONAL,
674         na-ESRD         [1] ISDN-AddressString  OPTIONAL,
675         h-gmlc-Address  [2]     GSN-Address     OPTIONAL,
676         mo-lrShortCircuitIndicator      [3] NULL                OPTIONAL,
677         reportingPLMNList       [4] ReportingPLMNList   OPTIONAL,
678         lcs-ReferenceNumber     [5]     LCS-ReferenceNumber     OPTIONAL }
679
680 -- na-ESRK and na-ESRD are mutually exclusive
681 --
682 -- exception handling
683 -- receipt of both na-ESRK and na-ESRD shall be treated the same as a return error
684
685
686 END