aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/gsm_map/SS-DataTypes.asn
blob: 4a02d004e2353f0a245577c115220e57cc7f5d0f (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
-- 3GPP TS 24.080 V9.1.0 (2010-03)
-- 4.4.2	ASN.1 data types
SS-DataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3)
   ss-DataTypes (2) version10 (10)}

DEFINITIONS

IMPLICIT TAGS ::=

BEGIN

-- exports all data types defined in this module

IMPORTS

SS-Code
FROM MAP-SS-Code {
   itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
   map-SS-Code (15) version10 (10)}

-- imports MAP-SS-DataTypes
SS-Status, USSD-DataCodingScheme, USSD-String, CCBS-Feature
-- USSD-DataCodingScheme, USSD-String were introduced because of CNAP.
FROM MAP-SS-DataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
   map-SS-DataTypes (14) version10 (10)}

--- GSN-Address, WS fix, fault in spec this is now in CommonDataTypes
CUG-Index,
NotificationToMSUser
FROM MAP-MS-DataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
   map-MS-DataTypes (11) version10 (10)}

maxSignalInfoLength,
ISDN-AddressString,
ISDN-SubaddressString,
AlertingPattern,
LCSClientExternalID,
AddressString,
LCSServiceTypeID,
GSN-Address, -- WS fix
AgeOfLocationInformation
FROM MAP-CommonDataTypes {
   itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
   map-CommonDataTypes (18) version10 (10)}

LocationType,
DeferredLocationEventType,
LCSClientName,
LCS-QoS,
Horizontal-Accuracy,
ResponseTime,
Ext-GeographicalInformation, 
VelocityEstimate,
SupportedGADShapes,
Add-GeographicalInformation,
LCSRequestorID,
LCS-ReferenceNumber,
LCSCodeword,
AreaEventInfo,
ReportingPLMNList,
PeriodicLDRInfo,
SequenceNumber

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

;

-- data types definition

SS-UserData ::= IA5String (SIZE (1.. maxSignalInfoLength))

NotifySS-Arg ::= SEQUENCE{
	ss-Code						[1]		SS-Code OPTIONAL,
	ss-Status					[4]		SS-Status OPTIONAL,
	ss-Notification				[5]		SS-Notification OPTIONAL,
	callIsWaiting-Indicator		[14]	NULL OPTIONAL,
	callOnHold-Indicator		[15]	CallOnHold-Indicator OPTIONAL,
	mpty-Indicator				[16]	NULL OPTIONAL,
	cug-Index					[17]	CUG-Index OPTIONAL,
	clirSuppressionRejected		[18]	NULL OPTIONAL,
	... ,
	ect-Indicator				[19]	ECT-Indicator OPTIONAL,
	nameIndicator				[20]	NameIndicator OPTIONAL,
	ccbs-Feature				[21]	CCBS-Feature OPTIONAL,
	alertingPattern				[22]	AlertingPattern OPTIONAL,
	multicall-Indicator			[23]	Multicall-Indicator OPTIONAL}

--  The nameIndicator is defined because of CNAP.

Multicall-Indicator	::= ENUMERATED {
		nbr-SNexceeded (0),
		nbr-Userexceeded (1)}

ForwardChargeAdviceArg ::= SEQUENCE{
	ss-Code						[0]		SS-Code,
	chargingInformation			[1]		ChargingInformation,
	...}

SS-Notification ::= OCTET STRING (SIZE (1))

--	  Bit 8 7 6 5 4	00000 (Unused)

--	Bit 3	Call is forwarded indication to A-subscriber
--		(calling subscriber)
--	0	No information content
--	1	Outgoing call has been forwarded to C

--	Bit 2	Call is forwarded indication to B-subscriber
--		(forwarding subscriber)
--	0	No information content
--	1	Incoming call has been forwarded to C

--	Bit 1	Call is forwarded indication to C-subscriber
--		(forwarded-to subscriber)
--	0	No information content
--	1	Incoming call is a forwarded call

ChargingInformation ::= SEQUENCE{
	e1	[1] E1 OPTIONAL,
	e2	[2] E2 OPTIONAL,
	e3	[3] E3 OPTIONAL,
	e4	[4] E4 OPTIONAL,
	e5	[5] E5 OPTIONAL,
	e6	[6] E6 OPTIONAL,
	e7	[7] E7 OPTIONAL,
	...}

E1 ::= INTEGER (0..max10TimesUnitsPerTime)
max10TimesUnitsPerTime INTEGER ::= 8191

E2 ::= INTEGER (0..max10TimesTimeInterval)
max10TimesTimeInterval INTEGER ::= 8191

E3 ::= INTEGER (0..max100TimesScalingFactor)
max100TimesScalingFactor INTEGER ::= 8191

E4 ::= INTEGER (0..max10TimesIncrement)
max10TimesIncrement INTEGER ::= 8191

E5 ::= INTEGER (0..max10TimesIncrementPerDataInterval)
max10TimesIncrementPerDataInterval INTEGER ::= 8191

E6 ::= INTEGER (0..maxNumberOfSegmentsPerDataInterval)
maxNumberOfSegmentsPerDataInterval INTEGER ::= 8191

E7 ::= INTEGER (0..max10TimesInitialTime)
max10TimesInitialTime INTEGER ::= 8191

CallOnHold-Indicator	::= ENUMERATED {
			callRetrieved (0),
			callOnHold (1)}

ForwardCUG-InfoArg ::= SEQUENCE {
	cug-Index			[0]	CUG-Index OPTIONAL,
	suppressPrefCUG		[1]	NULL OPTIONAL,
	suppressOA			[2]	NULL OPTIONAL,
	...}

ECT-Indicator	::= SEQUENCE {
	ect-CallState		[0]	ECT-CallState,
	rdn	[1]	RDN OPTIONAL,
	...}

ECT-CallState	::= ENUMERATED {
		alerting (0),
		active (1)}

	NameIndicator ::= SEQUENCE {
		callingName		[0] Name OPTIONAL,
		...}

	Name ::= CHOICE {
		namePresentationAllowed		[0] NameSet,
		presentationRestricted		[1] NULL,
		nameUnavailable				[2] NULL,
		namePresentationRestricted	[3] NameSet}

	NameSet ::= SEQUENCE {
		dataCodingScheme 		[0] USSD-DataCodingScheme,
		lengthInCharacters 		[1] INTEGER,
		nameString				[2] USSD-String,
		...}

-- NameIndicator, Name and NameSet are defined because of CNAP.
-- 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|

RDN	::= CHOICE {
	presentationAllowedAddress				[0]	RemotePartyNumber,
	presentationRestricted					[1]	NULL,
	numberNotAvailableDueToInterworking		[2]	NULL,
	presentationRestrictedAddress			[3]	RemotePartyNumber}

RemotePartyNumber	::= SEQUENCE {
	partyNumber				[0]	ISDN-AddressString,
	partyNumberSubaddress	[1]	ISDN-SubaddressString OPTIONAL,
	...}

AccessRegisterCCEntryArg	::= SEQUENCE {
	...}

CallDeflectionArg	::= SEQUENCE {
	deflectedToNumber		[0]	AddressString,
	deflectedToSubaddress	[1]	ISDN-SubaddressString OPTIONAL,
	...}

UserUserServiceArg ::= SEQUENCE {
	uUS-Service		[0]	UUS-Service,
	uUS-Required	[1]	BOOLEAN,
	... }

UUS-Service ::= ENUMERATED {
	uUS1 (1),
	uUS2 (2),
	uUS3 (3),
	... }

-- exception handling:
-- In case of UUS-Service with any other value, indicated as "UUS required",
-- but not understood by the MS, the call will be cleared.

LocationNotificationArg	::= SEQUENCE {
	notificationType	[0]	NotificationToMSUser,
	locationType		[1]	LocationType,
	lcsClientExternalID	[2] LCSClientExternalID		OPTIONAL,
	lcsClientName		[3]	LCSClientName			OPTIONAL,
	... ,
	lcsRequestorID		[4] LCSRequestorID			OPTIONAL,
	lcsCodeword			[5]	LCSCodeword				OPTIONAL,
	lcsServiceTypeID	[6]	LCSServiceTypeID		OPTIONAL }

-- The notificationType may only be set to notifyLocationAllowed, 
-- notifyAndVerify-LocationAllowedIfNoResponse, 
-- or notifyAndVerify-LocationNotAllowedIfNoResponse.
-- The locationEstimateType field of the locationType may only be set to 
-- currentLocation, currentOrLastKnownLocation, 
-- notificationVerificationOnly, or activateDeferredLocation.
-- The deferredLocationEventType field of the locationType may only be set to 
-- enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea, 
-- and/or periodicLDR.
-- For LCS location notification of MT-LR for current location, the 
-- locationEstimateType field of the locationType shall be set to currentLocation.
-- For LCS location notification of MT-LR for current or last known location, the 
-- locationEstimateType field of the locationType shall be set to currentOrLastKnownLocation.
-- For the LCS location notification for the LDR of MS available event, 
-- the locationEstimateType field of the locationType shall be set to currentLocation.
-- For LCS location notification for the LDR of change of area event, 
-- the locationEstimateType field of the locationType shall be set to
-- activateDeferredLocation, and the deferredLocationEventType shall be 
-- set to enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea.
-- For the post positioning LCS location notification, the locationEstimateType 
-- field of the locationType shall be set to notificationVerificationOnly.
-- For LCS location notification for the LDR of periodic location event, 
-- the locationEstimateType field of the locationType shall be set to
-- activateDeferredLocation, and the 
-- deferredLocationEventType shall be set to periodicLDR.

-- exception handling:
-- At reception of an unrecognised notificationType value the receiver shall reject the 
-- operation with a return error cause of unexpected data value.
-- At reception of an unrecognised locationType value the receiver shall reject the
-- operation with a return error cause of unexpected data value. 
-- At reception of an unallowed notificationType value the receiver shall either ignore the
-- received operation or reject the operation with a return error cause of unexpected 
-- data value.
-- At reception of an unallowed locationType value the receiver shall either ignore the
-- received operation or reject the operation with a return error cause of unexpected 
-- data value.



LocationNotificationRes	::= SEQUENCE {
	verificationResponse		[0]	VerificationResponse OPTIONAL,
	...}

VerificationResponse::= ENUMERATED {
	permissionDenied	(0),
	permissionGranted	(1),
	... }

-- exception handling:
-- an unrecognized value shall be treated the same as value 0 (permissionDenied)

LCS-MOLRArg	::= SEQUENCE {
	molr-Type			[0]	MOLR-Type,
	locationMethod		[1]	LocationMethod			OPTIONAL,
	lcs-QoS				[2]	LCS-QoS					OPTIONAL,
	lcsClientExternalID	[3] LCSClientExternalID		OPTIONAL,
	mlc-Number			[4]	ISDN-AddressString		OPTIONAL,
	gpsAssistanceData	[5]	GPSAssistanceData		OPTIONAL,
	...,
	supportedGADShapes	[6]	SupportedGADShapes		OPTIONAL,
	lcsServiceTypeID	[7]	LCSServiceTypeID		OPTIONAL,
	ageOfLocationInfo	[8]	AgeOfLocationInformation	OPTIONAL,
	locationType		[9]	LocationType			OPTIONAL,
	pseudonymIndicator	[10]	NULL					OPTIONAL,
	h-gmlc-address 		[11] GSN-Address			OPTIONAL,
	locationEstimate	[12] Ext-GeographicalInformation		OPTIONAL,
	velocityEstimate	[13] VelocityEstimate		OPTIONAL,
	referenceNumber 	[14] LCS-ReferenceNumber 	OPTIONAL,
	periodicLDRInfo		[15] PeriodicLDRInfo		OPTIONAL,
	locationUpdateRequest	[16]	NULL				OPTIONAL,
	sequenceNumber 		[17] SequenceNumber 		OPTIONAL,
	terminationCause 	[18] TerminationCause 		OPTIONAL,
	mo-lrShortCircuit	[19]	NULL				OPTIONAL,
	ganssAssistanceData	[20] GANSSAssistanceData	OPTIONAL,
	multiplePositioningProtocolPDUs	[21] MultiplePositioningProtocolPDUs	OPTIONAL }
-- The parameter locationMethod shall be included if and only if the molr-Type is set to value 
-- deCipheringKeys or assistanceData.
-- The parameter gpsAssistanceData shall be included if and only if the molr-Type is set to value 
-- assistanceData and locationMethod is set to value assistedGPS or assistedGPSandGANSS.
-- The parameter ganssAssistanceData shall be included if and only if the molr-Type is set to value 
-- assistanceData and locationMethod is set to value assistedGANSS or assistedGPSandGANSS.
-- supportedGADShapes shall not be included for deferred MO-LR initiation or deferred MO-LR or MT-LR
-- responses 
-- multiplePositioningProtocolPDUs may only be included for E-UTRAN access.
-- locationMethod shall not be included for E-UTRAN access.
-- gpsAssistanceData shall not be included for E-UTRAN access.
-- h-gmlc-address shall not be included for E-UTRAN access.
-- locationEstimate shall not be included for E-UTRAN access.
-- velocityEstimate shall not be included for E-UTRAN access.
-- referenceNumber shall not be included for E-UTRAN access.
-- periodicLDRInfo shall not be included for E-UTRAN access.
-- locationUpdateRequest shall not be included for E-UTRAN access.
-- sequenceNumber shall not be included for E-UTRAN access.
-- terminationCause shall not be included for E-UTRAN access.
-- mo-lrShortCircuit shall not be included for E-UTRAN access.
-- ganssAssistanceData shall not be included for E-UTRAN access.



MOLR-Type::= ENUMERATED {
	locationEstimate			(0),
	assistanceData				(1),
	deCipheringKeys				(2),
	... ,
	deferredMo-lrTTTPInitiation	(3),
	deferredMo-lrSelfLocationInitiation (4),
	deferredMt-lrOrmo-lrTTTPLocationEstimate (5),
	deferredMt-lrOrmo-lrCancellation (6)}
-- exception handling:
-- an unrecognized value shall be rejected by the receiver with a return error cause of
-- unexpected data value. 
-- For E-UTRAN access, only locationEstimate or assistanceData shall be included


LocationMethod::= ENUMERATED {
	msBasedEOTD			(0),
	msAssistedEOTD		(1),
	assistedGPS			(2),
	...,
	msBasedOTDOA		(3),
	assistedGANSS		(4),
	assistedGPSandGANSS (5)
	}
-- exception handling:
-- When this parameter is received with value msBasedEOTD or msAssistedEOTD and the MS 
-- is camped on an UMTS Service Area then the receiver shall reject it 
-- with a return error cause of unexpected data value.
-- When this parameter is received with value msBasedOTDOA and the MS 
-- is camped on a GSM Cell then the receiver shall reject it with a return error cause of
-- unexpected data value.
-- an unrecognized value shall be rejected by the receiver with a return error cause of
-- unexpected data value.

GPSAssistanceData::= OCTET STRING (SIZE (1..38))
-- Octets 1 to 38 are coded in the same way as the octets 3 to 7+2n of Requested GPS Data IE
-- in 3GPP TS 49.031 [14].

GANSSAssistanceData::= OCTET STRING (SIZE (1..40))
-- Octets 1 to 40 are coded in the same way as the octets 3 to 9+2n of Requested GANSS Data IE
-- in 3GPP TS 49.031 [14] .

TerminationCause ::= ENUMERATED {
	subscriberTermination  (0),
	uETermination     (1),
	...} 

MultiplePositioningProtocolPDUs ::= SEQUENCE (SIZE (1..maxNumLPPMsg)) OF PositioningProtocolPDU

PositioningProtocolPDU ::= OCTET STRING
-- PositioningProtocolPDU contains a LPP message defined in 3GPP TS 36.355 [17].

maxNumLPPMsg INTEGER ::= 3



LCS-MOLRRes::= SEQUENCE {
	locationEstimate		[0]	Ext-GeographicalInformation		OPTIONAL,
	decipheringKeys			[1] DecipheringKeys					OPTIONAL,
	...,
	add-LocationEstimate	[2]	Add-GeographicalInformation 		OPTIONAL,
	velocityEstimate		[3] VelocityEstimate		OPTIONAL,
	referenceNumber 		[4] LCS-ReferenceNumber 	OPTIONAL,
	h-gmlc-address			[5]	GSN-Address				OPTIONAL,
	mo-lrShortCircuit		[6]	NULL					OPTIONAL,
	reportingPLMNList		[7]	ReportingPLMNList		OPTIONAL
	 }
-- Parameters locationEstimate or add-LocationEstimate (one but not both) 
-- shall be included if and only if the 
-- molr-Type in LocationRequestArg was set to value locationEstimate.
-- Parameter add-LocationEstimate shall not be included if the supportedGADShapes 
-- parameter was not received in the LCS-MOLRArg.
-- The locationEstimate and the add-locationEstimate parameters shall not be sent if
-- the supportedGADShapes parameter has been received in LCS-MOLRArg
-- and the shape encoded in locationEstimate or add-LocationEstimate is not marked
-- as supported in supportedGADShapes. In such a case LCS-MOLRArg
-- shall be rejected with error FacilityNotSupported with additional indication
-- shapeOfLocationEstimateNotSupported.
-- Parameter decipheringKeys shall be included if and only if the molr-Type
-- in LocationRequestArg was set to value deCipheringKeys.
-- Parameter velocityEstimate may only be included if the lcs-QoS in LCS-MOLRarg includes
-- velocityRequest
-- decipheringKeys shall not be included for E-UTRAN access.
-- referenceNumber shall not be included for E-UTRAN access.
-- h-gmlc-address shall not be included for E-UTRAN access.
-- mo-lrShortCircuit shall not be included for E-UTRAN access.
-- reportingPLMNList shall not be included for E-UTRAN access.



DecipheringKeys::= OCTET STRING (SIZE (15))
-- Octets in DecipheringKeys are coded in the same way as the octets 3 to 17 of Deciphering Key IE
-- in 3GPP TS 49.031 [14]. I.e. these octets contain Current Deciphering Key, Next Deciphering Key and 
-- Ciphering Key Flag.
LCS-AreaEventRequestArg	::= SEQUENCE {
	referenceNumber				[0]	LCS-ReferenceNumber,
	h-gmlc-address				[1]	GSN-Address,
	deferredLocationEventType	[3] DeferredLocationEventType,
	areaEventInfo				[4]	AreaEventInfo,
	... }

-- the msAvailableValue in the DeferredLocationEventType is not applicable for this procedure 

LCS-AreaEventReportArg	::= SEQUENCE {
	referenceNumber				[0]	LCS-ReferenceNumber,
	h-gmlc-address				[1]	GSN-Address,
	... }

LCS-AreaEventCancellationArg	::= SEQUENCE {
	referenceNumber				[0]	LCS-ReferenceNumber,
	h-gmlc-address				[1]	GSN-Address,
	... }


LCS-PeriodicLocationRequestArg	::= SEQUENCE {
	referenceNumber		[0] LCS-ReferenceNumber,
	periodicLDRInfo		[1]	PeriodicLDRInfo,
	lcsClientExternalID	[2] LCSClientExternalID,
	qoS					[3] LCS-QoS					OPTIONAL,
	h-gmlc-address		[4]	GSN-Address				OPTIONAL,
	mo-lrShortCircuit	[5]	NULL					OPTIONAL,
	reportingPLMNList	[6]	ReportingPLMNList		OPTIONAL,
	... }


LCS-PeriodicLocationRequestRes	::= SEQUENCE {
	mo-lrShortCircuit	[0]	NULL					OPTIONAL,
	... }


LCS-LocationUpdateArg	::= SEQUENCE {
	referenceNumber		[0] LCS-ReferenceNumber		OPTIONAL,
	add-LocationEstimate[1] Add-GeographicalInformation 		OPTIONAL,
	velocityEstimate	[2] VelocityEstimate		OPTIONAL,
	sequenceNumber		[3]	SequenceNumber			OPTIONAL,
	... }
-- add-LocationEstimate shall be included if and only if a location estimate was successfully
-- transferred towards an External LCS Client or was successfully obtained for UE self location
-- velocityEstimate may only be included if add-LocationEstimate is included

LCS-LocationUpdateRes	::= SEQUENCE {
	terminationCause 	[0] TerminationCause 		OPTIONAL,
	... }

LCS-PeriodicLocationCancellationArg	::= SEQUENCE {
	referenceNumber		[0] LCS-ReferenceNumber,
	h-gmlc-address		[1]	GSN-Address				OPTIONAL,
	... }


END