aboutsummaryrefslogtreecommitdiffstats
path: root/rrlp-ephemeris/asn1/MAP-LCS-DataTypes.asn
blob: 2434b89f9826401634fda4690007a03dd79e6b5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
-- $Id: MAP-LCS-DataTypes.asn 28149 2009-04-25 17:45:34Z etxrab $
-- MAP-LCS-DataTypes.asn
--
-- Taken from 3GPP TS 29.002  V8.9.0 (2009-04)
--
-- 17.7.13 Location service data types
--

MAP-LCS-DataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-LCS-DataTypes (25) version11 (11)}

DEFINITIONS
IMPLICIT TAGS
::=
BEGIN

EXPORTS
	RoutingInfoForLCS-Arg,
	RoutingInfoForLCS-Res,
	ProvideSubscriberLocation-Arg,
	ProvideSubscriberLocation-Res,
	SubscriberLocationReport-Arg,
	SubscriberLocationReport-Res,
LocationType, 
DeferredLocationEventType,
LCSClientName,
LCS-QoS,
Horizontal-Accuracy,
ResponseTime,
Ext-GeographicalInformation, 
VelocityEstimate,
SupportedGADShapes,
Add-GeographicalInformation,
LCSRequestorID, 
LCS-ReferenceNumber,
LCSCodeword,
AreaEventInfo,
ReportingPLMNList,
PeriodicLDRInfo,
SequenceNumber
;

IMPORTS
	AddressString,
	ISDN-AddressString,
	IMEI,
	IMSI,
	LMSI,
	SubscriberIdentity,
	AgeOfLocationInformation,
	LCSClientExternalID,
	LCSClientInternalID,
LCSServiceTypeID,
CellGlobalIdOrServiceAreaIdOrLAI,
PLMN-Id
FROM MAP-CommonDataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-CommonDataTypes (18) version11 (11)}

	ExtensionContainer,
	SLR-ArgExtensionContainer
FROM MAP-ExtensionDataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version11 (11)}

	USSD-DataCodingScheme,
USSD-String
FROM MAP-SS-DataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
   map-SS-DataTypes (14) version11 (11)}

	APN,
	GSN-Address,
	SupportedLCS-CapabilitySets
FROM MAP-MS-DataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-MS-DataTypes (11) version11 (11)}

	Additional-Number
FROM MAP-SM-DataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0)
   gsm-Network (1) modules (3) map-SM-DataTypes (16) version11 (11)}
;


RoutingInfoForLCS-Arg ::= SEQUENCE {
	mlcNumber		[0] ISDN-AddressString,
	targetMS		[1] SubscriberIdentity,
	extensionContainer	[2] ExtensionContainer	OPTIONAL,
	...}

RoutingInfoForLCS-Res ::= SEQUENCE {
	targetMS		[0] SubscriberIdentity,
	lcsLocationInfo	[1] LCSLocationInfo,
	extensionContainer	[2] ExtensionContainer	OPTIONAL,
	...,
	v-gmlc-Address	[3]	GSN-Address	OPTIONAL,
	h-gmlc-Address	[4]	GSN-Address	OPTIONAL,
	ppr-Address	[5]	GSN-Address	OPTIONAL,
	additional-v-gmlc-Address	[6]	GSN-Address	OPTIONAL }

LCSLocationInfo ::= SEQUENCE {
	networkNode-Number	ISDN-AddressString,
	-- NetworkNode-number can be either msc-number or sgsn-number
	lmsi			[0] LMSI		OPTIONAL,
	extensionContainer	[1] ExtensionContainer	OPTIONAL,
	... ,
	gprsNodeIndicator 	[2] NULL		OPTIONAL,
	-- gprsNodeIndicator is set only if the SGSN number is sent as the Network Node Number
	additional-Number	[3] Additional-Number	OPTIONAL,
	supportedLCS-CapabilitySets	[4]	SupportedLCS-CapabilitySets	OPTIONAL,
	additional-LCS-CapabilitySets	[5]	SupportedLCS-CapabilitySets	OPTIONAL
	}

ProvideSubscriberLocation-Arg ::= SEQUENCE {
	locationType	LocationType,
	mlc-Number	ISDN-AddressString,
	lcs-ClientID	[0] LCS-ClientID	OPTIONAL,
	privacyOverride	[1] NULL		OPTIONAL,
	imsi			[2] IMSI		OPTIONAL,
	msisdn		[3] ISDN-AddressString	OPTIONAL,
	lmsi			[4] LMSI		OPTIONAL,
	imei			[5] IMEI		OPTIONAL,
	lcs-Priority	[6] LCS-Priority	OPTIONAL,
	lcs-QoS		[7] LCS-QoS	OPTIONAL,
	extensionContainer	[8] ExtensionContainer	OPTIONAL,
	... ,
	supportedGADShapes	[9]	SupportedGADShapes	OPTIONAL,
	lcs-ReferenceNumber	[10]	LCS-ReferenceNumber	OPTIONAL,
	lcsServiceTypeID	[11]	LCSServiceTypeID	OPTIONAL,
	lcsCodeword	[12]	LCSCodeword	OPTIONAL,
	lcs-PrivacyCheck	[13]	LCS-PrivacyCheck	OPTIONAL,
	areaEventInfo	[14]	AreaEventInfo	OPTIONAL,
	h-gmlc-Address	[15]	GSN-Address	OPTIONAL,
	mo-lrShortCircuitIndicator	[16] NULL		OPTIONAL,
	periodicLDRInfo	[17] PeriodicLDRInfo	OPTIONAL,
	reportingPLMNList	[18] ReportingPLMNList	OPTIONAL }

	-- one of imsi or msisdn is mandatory
	-- If a location estimate type indicates activate deferred location or cancel deferred 
	-- location, a lcs-Reference number shall be included.

LocationType ::= SEQUENCE {
	locationEstimateType	[0] LocationEstimateType,
	...,
	deferredLocationEventType	[1] DeferredLocationEventType	OPTIONAL }

LocationEstimateType ::= ENUMERATED {
	currentLocation	(0),
	currentOrLastKnownLocation	(1),
	initialLocation	(2),
	...,
	activateDeferredLocation	(3),
	cancelDeferredLocation	(4) ,
	notificationVerificationOnly	(5) }
--	exception handling:
--	a ProvideSubscriberLocation-Arg containing an unrecognized LocationEstimateType
--	shall be rejected by the receiver with a return error cause of unexpected data value

DeferredLocationEventType ::= BIT STRING {
	msAvailable	(0) ,
	enteringIntoArea	(1),
	leavingFromArea	(2),
	beingInsideArea	(3) ,
	periodicLDR	(4)  } (SIZE (1..16)) 
-- beingInsideArea is always treated as oneTimeEvent regardless of the possible value
-- of occurrenceInfo inside areaEventInfo.
-- exception handling:
-- a ProvideSubscriberLocation-Arg containing other values than listed above in 
-- DeferredLocationEventType shall be rejected by the receiver with a return error cause of 
-- unexpected data value.

LCS-ClientID ::= SEQUENCE {
	lcsClientType	[0] LCSClientType,
	lcsClientExternalID	[1] LCSClientExternalID	OPTIONAL,
	lcsClientDialedByMS	[2] AddressString	OPTIONAL,
	lcsClientInternalID	[3] LCSClientInternalID	OPTIONAL,
	lcsClientName	[4] LCSClientName	OPTIONAL,
	...,
	lcsAPN		[5] APN		OPTIONAL,
	lcsRequestorID	[6] LCSRequestorID	OPTIONAL }

LCSClientType ::= ENUMERATED {
	emergencyServices	(0),
	valueAddedServices	(1),
	plmnOperatorServices	(2),
	lawfulInterceptServices	(3),
	... }
	--	exception handling:
	--	unrecognized values may be ignored if the LCS client uses the privacy override
	--	otherwise, an unrecognized value shall be treated as unexpected data by a receiver
	--	a return error shall then be returned if received in a MAP invoke 

LCSClientName ::= SEQUENCE {
	dataCodingScheme	[0] USSD-DataCodingScheme,
	nameString	[2] NameString,
	...,
	lcs-FormatIndicator	[3] LCS-FormatIndicator	OPTIONAL }

-- The USSD-DataCodingScheme shall indicate use of the default alphabet through the
-- following encoding
--	bit	7 6 5 4 3 2 1 0
--		0 0 0 0 1 1 1 1

NameString ::= USSD-String (SIZE (1..maxNameStringLength))

maxNameStringLength  INTEGER ::= 63

LCSRequestorID ::= SEQUENCE {
	dataCodingScheme	[0] USSD-DataCodingScheme,
	requestorIDString	[1] RequestorIDString,
	...,
	lcs-FormatIndicator	[2] LCS-FormatIndicator	OPTIONAL }

RequestorIDString ::= USSD-String (SIZE (1..maxRequestorIDStringLength))

maxRequestorIDStringLength  INTEGER ::= 63

LCS-FormatIndicator ::= ENUMERATED {
	logicalName	(0),
	e-mailAddress	(1),
	msisdn		(2),
	url			(3),
	sipUrl		(4),
	... }

LCS-Priority ::= OCTET STRING (SIZE (1))
	-- 0 = highest priority
	-- 1 = normal priority
	-- all other values treated as 1 

LCS-QoS ::= SEQUENCE {
	horizontal-accuracy	[0] Horizontal-Accuracy	OPTIONAL,
	verticalCoordinateRequest	[1] NULL		OPTIONAL,
	vertical-accuracy	[2] Vertical-Accuracy	OPTIONAL,	responseTime	[3] ResponseTime	OPTIONAL,
	extensionContainer	[4] ExtensionContainer	OPTIONAL,
	...,
	velocityRequest	[5] NULL		OPTIONAL
}

Horizontal-Accuracy ::= OCTET STRING (SIZE (1))
	-- bit 8 = 0
	-- bits 7-1 = 7 bit Uncertainty Code defined in 3GPP TS 23.032. The horizontal location 
	-- error should be less than the error indicated by the uncertainty code with 67%
	-- confidence.

Vertical-Accuracy ::= OCTET STRING (SIZE (1))
	-- bit 8 = 0
	-- bits 7-1 = 7 bit Vertical Uncertainty Code defined in 3GPP TS 23.032. 
	-- The vertical location error should be less than the error indicated 
	-- by the uncertainty code with 67% confidence.

ResponseTime ::= SEQUENCE {
	responseTimeCategory	ResponseTimeCategory,
	...}
--	note: an expandable SEQUENCE simplifies later addition of a numeric response time.

ResponseTimeCategory ::= ENUMERATED {
	lowdelay  (0),
	delaytolerant  (1),
	... }
--	exception handling:
--	an unrecognized value shall be treated the same as value 1 (delaytolerant)

SupportedGADShapes ::= BIT STRING {
	ellipsoidPoint  (0),
	ellipsoidPointWithUncertaintyCircle (1),
	ellipsoidPointWithUncertaintyEllipse (2),
	polygon (3),
	ellipsoidPointWithAltitude (4),
	ellipsoidPointWithAltitudeAndUncertaintyElipsoid (5),
	ellipsoidArc  (6) } (SIZE (7..16))
-- A node shall mark in the BIT STRING all Shapes defined in 3GPP TS 23.032 it supports.
-- exception handling: bits 7 to 15 shall be ignored if received.

LCS-ReferenceNumber::= OCTET STRING (SIZE(1))

LCSCodeword ::= SEQUENCE {
	dataCodingScheme	[0] USSD-DataCodingScheme,
	lcsCodewordString	[1] LCSCodewordString,
	...}

LCSCodewordString ::= USSD-String (SIZE (1..maxLCSCodewordStringLength))

maxLCSCodewordStringLength  INTEGER ::= 20

LCS-PrivacyCheck ::= SEQUENCE {
	callSessionUnrelated	[0] PrivacyCheckRelatedAction,
	callSessionRelated	[1] PrivacyCheckRelatedAction	OPTIONAL,
	...}

PrivacyCheckRelatedAction ::= ENUMERATED {
	allowedWithoutNotification (0),
	allowedWithNotification (1),
	allowedIfNoResponse (2),
	restrictedIfNoResponse (3),
	notAllowed (4),
	...}
--	exception handling:
--	a ProvideSubscriberLocation-Arg containing an unrecognized PrivacyCheckRelatedAction
--	shall be rejected by the receiver with a return error cause of unexpected data value

AreaEventInfo ::= SEQUENCE {
	areaDefinition	[0]	AreaDefinition,
	occurrenceInfo	[1]	OccurrenceInfo	OPTIONAL,
	intervalTime	[2]	IntervalTime	OPTIONAL,
	...}

AreaDefinition ::= SEQUENCE {
	areaList		[0]	AreaList,
	...}

AreaList ::= SEQUENCE SIZE (1..maxNumOfAreas) OF Area

maxNumOfAreas  INTEGER ::= 10

Area ::= SEQUENCE {
	areaType		[0]	AreaType,
	areaIdentification	[1]	AreaIdentification,
	...}

AreaType ::= ENUMERATED {
	countryCode	(0),
	plmnId		(1),
	locationAreaId	(2),
	routingAreaId	(3),
	cellGlobalId	(4),
	...,
	utranCellId	(5) }

AreaIdentification ::= OCTET STRING (SIZE (2..7))
	-- The internal structure is defined as follows:
	-- octet 1 bits 4321	Mobile Country Code 1st digit
	--         bits 8765	Mobile Country Code 2nd digit
	-- octet 2 bits 4321	Mobile Country Code 3rd digit
	--         bits 8765	Mobile Network Code 3rd digit if 3 digit MNC included
	--			or filler (1111)
	-- octet 3 bits 4321	Mobile Network Code 1st digit
	--         bits 8765	Mobile Network Code 2nd digit
	-- octets 4 and 5	Location Area Code (LAC) for Local Area Id,
	--			Routing Area Id and Cell Global Id
	-- octet 6	Routing Area Code (RAC) for Routing Area Id
	-- octets 6 and 7	Cell Identity (CI) for Cell Global Id
	-- octets 4 until 7	Utran Cell Identity (UC-Id) for Utran Cell Id

OccurrenceInfo ::= ENUMERATED {
	oneTimeEvent	(0),
	multipleTimeEvent	(1),
	...}

IntervalTime ::= INTEGER (1..32767)
	-- minimum interval time between area reports in seconds

PeriodicLDRInfo ::= SEQUENCE {
	reportingAmount		ReportingAmount,
	reportingInterval	ReportingInterval,
	...}
-- reportingInterval x reportingAmount shall not exceed 8639999 (99 days, 23 hours,
-- 59 minutes and 59 seconds) for compatibility with OMA MLP and RLP

ReportingAmount ::= INTEGER (1..maxReportingAmount)

maxReportingAmount INTEGER ::= 8639999

ReportingInterval ::= INTEGER (1..maxReportingInterval)
-- ReportingInterval is in seconds

maxReportingInterval INTEGER ::= 8639999

ReportingPLMNList::= SEQUENCE {
	plmn-ListPrioritized			[0] NULL					OPTIONAL,
	plmn-List 						[1] PLMNList,
	...}

PLMNList::= SEQUENCE SIZE (1..maxNumOfReportingPLMN) OF
				ReportingPLMN

maxNumOfReportingPLMN INTEGER ::= 20

ReportingPLMN::= SEQUENCE {
	plmn-Id 						[0] PLMN-Id,
	ran-Technology 					[1] RAN-Technology			OPTIONAL,
	ran-PeriodicLocationSupport		[2] NULL					OPTIONAL,
	...}

RAN-Technology ::= ENUMERATED {
	gsm			(0),
	umts		(1),
	...}

ProvideSubscriberLocation-Res ::= SEQUENCE {
	locationEstimate	Ext-GeographicalInformation,
	ageOfLocationEstimate	[0] AgeOfLocationInformation	OPTIONAL,
	extensionContainer	[1] ExtensionContainer	OPTIONAL,
	... ,
	add-LocationEstimate	[2] Add-GeographicalInformation 	OPTIONAL,
	deferredmt-lrResponseIndicator	[3] NULL		OPTIONAL,
	geranPositioningData	[4] PositioningDataInformation	OPTIONAL,
	utranPositioningData	[5] UtranPositioningDataInfo	OPTIONAL,
	cellIdOrSai	[6] CellGlobalIdOrServiceAreaIdOrLAI	OPTIONAL,
	sai-Present	[7] NULL		OPTIONAL,
	accuracyFulfilmentIndicator	[8] AccuracyFulfilmentIndicator		OPTIONAL,
	velocityEstimate	[9] VelocityEstimate	OPTIONAL,
	mo-lrShortCircuitIndicator	[10] NULL		OPTIONAL }

--	if deferredmt-lrResponseIndicator is set, locationEstimate is ignored.

-- the add-LocationEstimate parameter shall not be sent to a node that did not indicate the
-- geographic shapes supported in the ProvideSubscriberLocation-Arg
-- The locationEstimate and the add-locationEstimate parameters shall not be sent if
-- the supportedGADShapes parameter has been received in ProvideSubscriberLocation-Arg
-- and the shape encoded in locationEstimate or add-LocationEstimate is not marked
-- as supported in supportedGADShapes. In such a case ProvideSubscriberLocation
-- shall be rejected with error FacilityNotSupported with additional indication
-- shapeOfLocationEstimateNotSupported.
-- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity.

AccuracyFulfilmentIndicator ::= ENUMERATED {
	requestedAccuracyFulfilled  (0),
	requestedAccuracyNotFulfilled  (1),
	...	}

Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..maxExt-GeographicalInformation))
	-- Refers to geographical Information defined in 3GPP TS 23.032.
	-- This is composed of 1 or more octets with an internal structure according to
	-- 3GPP TS 23.032
	-- Octet 1: Type of shape, only the following shapes in 3GPP TS 23.032 are allowed:
	--		(a) Ellipsoid point with uncertainty circle
	--		(b) Ellipsoid point with uncertainty ellipse
	--		(c) Ellipsoid point with altitude and uncertainty ellipsoid
	--		(d) Ellipsoid Arc
	--		(e) Ellipsoid Point
	-- Any other value in octet 1 shall be treated as invalid
	-- Octets 2 to 8 for case (a) – Ellipsoid point with uncertainty circle
	--		Degrees of Latitude				3 octets
	--		Degrees of Longitude				3 octets
	--		Uncertainty code				1 octet
	-- Octets 2 to 11 for case (b) – Ellipsoid point with uncertainty ellipse:
	--		Degrees of Latitude				3 octets
	--		Degrees of Longitude				3 octets
	--		Uncertainty semi-major axis				1 octet
	--		Uncertainty semi-minor axis				1 octet
	--		Angle of major axis				1 octet
	--		Confidence				1 octet
	-- Octets 2 to 14 for case (c) – Ellipsoid point with altitude and uncertainty ellipsoid
	--		Degrees of Latitude				3 octets
	--		Degrees of Longitude				3 octets
	--		Altitude				2 octets
	--		Uncertainty semi-major axis				1 octet
	--		Uncertainty semi-minor axis				1 octet
	--		Angle of major axis				1 octet
	--		Uncertainty altitude				1 octet
	--		Confidence				1 octet
	-- Octets 2 to 13 for case (d) – Ellipsoid Arc
	--		Degrees of Latitude				3 octets
	--		Degrees of Longitude				3 octets
	--		Inner radius				2 octets
	--		Uncertainty radius				1 octet
	--		Offset angle				1 octet
	--		Included angle				1 octet
	--		Confidence				1 octet
	-- Octets 2 to 7 for case (e) – Ellipsoid Point
	--		Degrees of Latitude				3 octets
	--		Degrees of Longitude				3 octets

	--
	-- An Ext-GeographicalInformation parameter comprising more than one octet and
	-- containing any other shape or an incorrect number of octets or coding according
	-- to 3GPP TS 23.032 shall be treated as invalid data by a receiver.
	--
	-- An Ext-GeographicalInformation parameter comprising one octet shall be discarded
	-- by the receiver if an Add-GeographicalInformation parameter is received 
	-- in the same message.
	--
	-- An Ext-GeographicalInformation parameter comprising one octet shall be treated as
	-- invalid data by the receiver if an Add-GeographicalInformation parameter is not
	-- received in the same message.

maxExt-GeographicalInformation  INTEGER ::= 20
	-- the maximum length allows for further shapes in 3GPP TS 23.032 to be included in later 
	-- versions of 3GPP TS 29.002

VelocityEstimate ::= OCTET STRING (SIZE (4..7))
	-- Refers to Velocity description defined in 3GPP TS 23.032.
	-- This is composed of 4 or more octets with an internal structure according to
	-- 3GPP TS 23.032
	-- Octet 1: Type of velocity, only the following types in 3GPP TS 23.032 are allowed:
	--		(a) Horizontal Velocity
	--		(b) Horizontal with Vertical Velocity
	--		(c) Horizontal Velocity with Uncertainty
	--		(d) Horizontal with Vertical Velocity and Uncertainty
	-- For types Horizontal with Vertical Velocity and Horizontal with Vertical Velocity
	-- and Uncertainty, the direction of the Vertical Speed is also included in Octet 1
	-- Any other value in octet 1 shall be treated as invalid
	-- Octets 2 to 4 for case (a) Horizontal velocity:
	--		Bearing				1 octet
	--		Horizontal Speed				2 octets
	-- Octets 2 to 5 for case (b) – Horizontal with Vertical Velocity:
	--		Bearing				1 octet
	--		Horizontal Speed				2 octets
	--		Vertical Speed				1 octet
	-- Octets 2 to 5 for case (c) – Horizontal velocity with Uncertainty:
	--		Bearing				1 octet
	--		Horizontal Speed				2 octets
	--		Uncertainty Speed				1 octet
	-- Octets 2 to 7 for case (d) – Horizontal with Vertical Velocity and Uncertainty:
	--		Bearing				1 octet
	--		Horizontal Speed				2 octets
	--		Vertical Speed				1 octet
	--		Horizontal Uncertainty Speed			1 octet
	--		Vertical Uncertainty Speed				1 octet

PositioningDataInformation ::= OCTET STRING (SIZE (2..maxPositioningDataInformation))
	-- Refers to the Positioning Data defined in 3GPP TS 49.031.
	-- This is composed of 2 or more octets with an internal structure according to
	-- 3GPP TS 49.031. 

maxPositioningDataInformation INTEGER ::= 10
	-- 

UtranPositioningDataInfo ::= OCTET STRING (SIZE (3..maxUtranPositioningDataInfo))
	-- Refers to the Position Data defined in 3GPP TS 25.413.
	-- This is composed of the positioningDataDiscriminator and the positioningDataSet
	-- included in positionData as defined in 3GPP TS 25.413.

maxUtranPositioningDataInfo INTEGER ::= 11
	-- 

Add-GeographicalInformation ::= OCTET STRING (SIZE (1..maxAdd-GeographicalInformation))
	-- Refers to geographical Information defined in 3GPP TS 23.032.
	-- This is composed of 1 or more octets with an internal structure according to 
	-- 3GPP TS 23.032
	-- Octet 1: Type of shape, all the shapes defined in 3GPP TS 23.032 are allowed:
	-- Octets 2 to n (where n is the total number of octets necessary to encode the shape
	-- according to 3GPP TS 23.032) are used to encode the shape itself in accordance with the
	-- encoding defined in 3GPP TS 23.032
	--
	-- An Add-GeographicalInformation parameter, whether valid or invalid, received 
	-- together with a valid Ext-GeographicalInformation parameter in the same message 
	-- shall be discarded.
	--
	-- An Add-GeographicalInformation parameter containing any shape not defined in 
	-- 3GPP TS 23.032 or an incorrect number of octets or coding according to 
	-- 3GPP TS 23.032 shall be treated as invalid data by a receiver if not received 
	-- together with a valid Ext-GeographicalInformation parameter in the same message.

maxAdd-GeographicalInformation  INTEGER ::= 91
	-- the maximum length allows support for all the shapes currently defined in 3GPP TS 23.032

SubscriberLocationReport-Arg ::= SEQUENCE {
	lcs-Event		LCS-Event,
	lcs-ClientID	LCS-ClientID, 
	lcsLocationInfo	LCSLocationInfo,
	msisdn		[0] ISDN-AddressString	OPTIONAL,
	imsi			[1] IMSI		OPTIONAL,
	imei			[2] IMEI		OPTIONAL,
	na-ESRD		[3] ISDN-AddressString	OPTIONAL,
	na-ESRK		[4] ISDN-AddressString	OPTIONAL,
	locationEstimate	[5] Ext-GeographicalInformation	OPTIONAL,
	ageOfLocationEstimate	[6] AgeOfLocationInformation	OPTIONAL,
	slr-ArgExtensionContainer	[7] SLR-ArgExtensionContainer	OPTIONAL,
	... ,
	add-LocationEstimate	[8] Add-GeographicalInformation	OPTIONAL,
	deferredmt-lrData	[9] Deferredmt-lrData	OPTIONAL, 
	lcs-ReferenceNumber	[10] LCS-ReferenceNumber	OPTIONAL,
	geranPositioningData	[11] PositioningDataInformation	OPTIONAL,
	utranPositioningData	[12] UtranPositioningDataInfo	OPTIONAL,
	cellIdOrSai	[13]	CellGlobalIdOrServiceAreaIdOrLAI	OPTIONAL,
	h-gmlc-Address	[14]	GSN-Address	OPTIONAL,
	lcsServiceTypeID	[15]	LCSServiceTypeID	OPTIONAL,
	sai-Present	[17] NULL		OPTIONAL,
	pseudonymIndicator	[18] NULL		OPTIONAL,
	accuracyFulfilmentIndicator	[19] AccuracyFulfilmentIndicator	OPTIONAL,
	velocityEstimate	[20] VelocityEstimate	OPTIONAL,
	sequenceNumber	[21] SequenceNumber	OPTIONAL,
	periodicLDRInfo	[22] PeriodicLDRInfo	OPTIONAL,
	mo-lrShortCircuitIndicator	[23] NULL		OPTIONAL }

	-- one of msisdn or imsi is mandatory
	-- a location estimate that is valid for the locationEstimate parameter should 
	-- be transferred in this parameter in preference to the add-LocationEstimate.
	-- the deferredmt-lrData parameter shall be included if and only if the lcs-Event
	-- indicates a deferredmt-lrResponse.
	-- if the lcs-Event indicates a deferredmt-lrResponse then the locationEstimate 
	-- and the add-locationEstimate parameters shall not be sent if the 
	-- supportedGADShapes parameter had been received in ProvideSubscriberLocation-Arg
	-- and the shape encoded in locationEstimate or add-LocationEstimate was not marked
	-- as supported in supportedGADShapes. In such a case terminationCause 
	-- in deferredmt-lrData shall be present with value 
	-- shapeOfLocationEstimateNotSupported. 
	-- If a lcs event indicates deferred mt-lr response, the lcs-Reference number shall be 
	-- included. 
	-- sai-Present indicates that the cellIdOrSai parameter contains a Service Area Identity.

Deferredmt-lrData ::= SEQUENCE {
	deferredLocationEventType	DeferredLocationEventType,
	terminationCause	[0] TerminationCause	OPTIONAL,
	lcsLocationInfo	[1] LCSLocationInfo	OPTIONAL,
	...}
	-- lcsLocationInfo may be included only if a terminationCause is present 
	-- indicating mt-lrRestart.

LCS-Event ::= ENUMERATED {
	emergencyCallOrigination  (0),
	emergencyCallRelease  (1), 
	mo-lr  (2),
	...,
	deferredmt-lrResponse  (3) ,
	deferredmo-lrTTTPInitiation  (4)  }
	--	deferredmt-lrResponse is applicable to the delivery of a location estimate 
	--	for an LDR initiated earlier by either the network (via an MT-LR activate deferred 
	--	location) or the UE (via a deferred MO-LR TTTP initiation)
	--	exception handling:
	--	a SubscriberLocationReport-Arg containing an unrecognized LCS-Event
	--	shall be rejected by a receiver with a return error cause of unexpected data value

TerminationCause ::= ENUMERATED {
	normal  (0),
	errorundefined  (1),
	internalTimeout  (2),
	congestion  (3),
	mt-lrRestart  (4),
	privacyViolation  (5),
	...,
	shapeOfLocationEstimateNotSupported (6) ,
	subscriberTermination (7),
	uETermination (8),
	networkTermination (9)  } 
-- mt-lrRestart shall be used to trigger the GMLC to restart the location procedure, 
-- either because the sending node knows that the terminal has moved under coverage 
-- of another MSC or SGSN (e.g. Send Identification received), or because the subscriber
-- has been deregistered due to a Cancel Location received from HLR.
--
-- exception handling
-- an unrecognized value shall be treated the same as value 1 (errorundefined) 

SequenceNumber ::= INTEGER (1..maxReportingAmount)

SubscriberLocationReport-Res ::= SEQUENCE {
	extensionContainer	ExtensionContainer	OPTIONAL, 
	..., 
	na-ESRK		[0] ISDN-AddressString	OPTIONAL,
	na-ESRD		[1] ISDN-AddressString	OPTIONAL,
	h-gmlc-Address	[2]	GSN-Address	OPTIONAL,
	mo-lrShortCircuitIndicator	[3] NULL		OPTIONAL,
	reportingPLMNList	[4] ReportingPLMNList	OPTIONAL,
	lcs-ReferenceNumber	[5]	LCS-ReferenceNumber	OPTIONAL }

-- na-ESRK and na-ESRD are mutually exclusive
--
-- exception handling
-- receipt of both na-ESRK and na-ESRD shall be treated the same as a return error


END