Dissect V1 version , found in trace from:
[obnox/wireshark/wip.git] / asn1 / gsm_map / SS-DataTypes.asn
1 -- $Id$
2 -- 3GPP TS 24.080 V9.1.0 (2010-03)
3 -- 4.4.2        ASN.1 data types
4 SS-DataTypes {
5    itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Access (2) modules (3)
6    ss-DataTypes (2) version10 (10)}
7
8 DEFINITIONS
9
10 IMPLICIT TAGS ::=
11
12 BEGIN
13
14 -- exports all data types defined in this module
15
16 IMPORTS
17
18 SS-Code
19 FROM MAP-SS-Code {
20    itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
21    map-SS-Code (15) version10 (10)}
22
23 -- imports MAP-SS-DataTypes
24 SS-Status, USSD-DataCodingScheme, USSD-String, CCBS-Feature
25 -- USSD-DataCodingScheme, USSD-String were introduced because of CNAP.
26 FROM MAP-SS-DataTypes {
27    itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
28    map-SS-DataTypes (14) version10 (10)}
29
30 --- GSN-Address, WS fix, fault in spec this is now in CommonDataTypes
31 CUG-Index,
32 NotificationToMSUser
33 FROM MAP-MS-DataTypes {
34    itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
35    map-MS-DataTypes (11) version10 (10)}
36
37 maxSignalInfoLength,
38 ISDN-AddressString,
39 ISDN-SubaddressString,
40 AlertingPattern,
41 LCSClientExternalID,
42 AddressString,
43 LCSServiceTypeID,
44 GSN-Address, -- WS fix
45 AgeOfLocationInformation
46 FROM MAP-CommonDataTypes {
47    itu-t identified-organization (4) etsi (0) mobileDomain (0) gsm-Network (1) modules (3)
48    map-CommonDataTypes (18) version10 (10)}
49
50 LocationType,
51 DeferredLocationEventType,
52 LCSClientName,
53 LCS-QoS,
54 Horizontal-Accuracy,
55 ResponseTime,
56 Ext-GeographicalInformation, 
57 VelocityEstimate,
58 SupportedGADShapes,
59 Add-GeographicalInformation,
60 LCSRequestorID,
61 LCS-ReferenceNumber,
62 LCSCodeword,
63 AreaEventInfo,
64 ReportingPLMNList,
65 PeriodicLDRInfo,
66 SequenceNumber
67
68 FROM MAP-LCS-DataTypes {
69    itu-t identified-organization (4) etsi (0) mobileDomain (0)
70    gsm-Network (1) modules (3) map-LCS-DataTypes (25) version10 (10)}
71
72 ;
73
74 -- data types definition
75
76 SS-UserData ::= IA5String (SIZE (1.. maxSignalInfoLength))
77
78 NotifySS-Arg ::= SEQUENCE{
79         ss-Code                                         [1]             SS-Code OPTIONAL,
80         ss-Status                                       [4]             SS-Status OPTIONAL,
81         ss-Notification                         [5]             SS-Notification OPTIONAL,
82         callIsWaiting-Indicator         [14]    NULL OPTIONAL,
83         callOnHold-Indicator            [15]    CallOnHold-Indicator OPTIONAL,
84         mpty-Indicator                          [16]    NULL OPTIONAL,
85         cug-Index                                       [17]    CUG-Index OPTIONAL,
86         clirSuppressionRejected         [18]    NULL OPTIONAL,
87         ... ,
88         ect-Indicator                           [19]    ECT-Indicator OPTIONAL,
89         nameIndicator                           [20]    NameIndicator OPTIONAL,
90         ccbs-Feature                            [21]    CCBS-Feature OPTIONAL,
91         alertingPattern                         [22]    AlertingPattern OPTIONAL,
92         multicall-Indicator                     [23]    Multicall-Indicator OPTIONAL}
93
94 --  The nameIndicator is defined because of CNAP.
95
96 Multicall-Indicator     ::= ENUMERATED {
97                 nbr-SNexceeded (0),
98                 nbr-Userexceeded (1)}
99
100 ForwardChargeAdviceArg ::= SEQUENCE{
101         ss-Code                                         [0]             SS-Code,
102         chargingInformation                     [1]             ChargingInformation,
103         ...}
104
105 SS-Notification ::= OCTET STRING (SIZE (1))
106
107 --        Bit 8 7 6 5 4 00000 (Unused)
108
109 --      Bit 3   Call is forwarded indication to A-subscriber
110 --              (calling subscriber)
111 --      0       No information content
112 --      1       Outgoing call has been forwarded to C
113
114 --      Bit 2   Call is forwarded indication to B-subscriber
115 --              (forwarding subscriber)
116 --      0       No information content
117 --      1       Incoming call has been forwarded to C
118
119 --      Bit 1   Call is forwarded indication to C-subscriber
120 --              (forwarded-to subscriber)
121 --      0       No information content
122 --      1       Incoming call is a forwarded call
123
124 ChargingInformation ::= SEQUENCE{
125         e1      [1] E1 OPTIONAL,
126         e2      [2] E2 OPTIONAL,
127         e3      [3] E3 OPTIONAL,
128         e4      [4] E4 OPTIONAL,
129         e5      [5] E5 OPTIONAL,
130         e6      [6] E6 OPTIONAL,
131         e7      [7] E7 OPTIONAL,
132         ...}
133
134 E1 ::= INTEGER (0..max10TimesUnitsPerTime)
135 max10TimesUnitsPerTime INTEGER ::= 8191
136
137 E2 ::= INTEGER (0..max10TimesTimeInterval)
138 max10TimesTimeInterval INTEGER ::= 8191
139
140 E3 ::= INTEGER (0..max100TimesScalingFactor)
141 max100TimesScalingFactor INTEGER ::= 8191
142
143 E4 ::= INTEGER (0..max10TimesIncrement)
144 max10TimesIncrement INTEGER ::= 8191
145
146 E5 ::= INTEGER (0..max10TimesIncrementPerDataInterval)
147 max10TimesIncrementPerDataInterval INTEGER ::= 8191
148
149 E6 ::= INTEGER (0..maxNumberOfSegmentsPerDataInterval)
150 maxNumberOfSegmentsPerDataInterval INTEGER ::= 8191
151
152 E7 ::= INTEGER (0..max10TimesInitialTime)
153 max10TimesInitialTime INTEGER ::= 8191
154
155 CallOnHold-Indicator    ::= ENUMERATED {
156                         callRetrieved (0),
157                         callOnHold (1)}
158
159 ForwardCUG-InfoArg ::= SEQUENCE {
160         cug-Index                       [0]     CUG-Index OPTIONAL,
161         suppressPrefCUG         [1]     NULL OPTIONAL,
162         suppressOA                      [2]     NULL OPTIONAL,
163         ...}
164
165 ECT-Indicator   ::= SEQUENCE {
166         ect-CallState           [0]     ECT-CallState,
167         rdn     [1]     RDN OPTIONAL,
168         ...}
169
170 ECT-CallState   ::= ENUMERATED {
171                 alerting (0),
172                 active (1)}
173
174         NameIndicator ::= SEQUENCE {
175                 callingName             [0] Name OPTIONAL,
176                 ...}
177
178         Name ::= CHOICE {
179                 namePresentationAllowed         [0] NameSet,
180                 presentationRestricted          [1] NULL,
181                 nameUnavailable                         [2] NULL,
182                 namePresentationRestricted      [3] NameSet}
183
184         NameSet ::= SEQUENCE {
185                 dataCodingScheme                [0] USSD-DataCodingScheme,
186                 lengthInCharacters              [1] INTEGER,
187                 nameString                              [2] USSD-String,
188                 ...}
189
190 -- NameIndicator, Name and NameSet are defined because of CNAP.
191 -- The USSD-DataCodingScheme shall indicate use of the default alphabet through the
192 -- following encoding:
193 --    bit  7   6   5   4   3   2   1   0
194 --       | 0   0   0   0 | 1   1   1   1|
195
196 RDN     ::= CHOICE {
197         presentationAllowedAddress                              [0]     RemotePartyNumber,
198         presentationRestricted                                  [1]     NULL,
199         numberNotAvailableDueToInterworking             [2]     NULL,
200         presentationRestrictedAddress                   [3]     RemotePartyNumber}
201
202 RemotePartyNumber       ::= SEQUENCE {
203         partyNumber                             [0]     ISDN-AddressString,
204         partyNumberSubaddress   [1]     ISDN-SubaddressString OPTIONAL,
205         ...}
206
207 AccessRegisterCCEntryArg        ::= SEQUENCE {
208         ...}
209
210 CallDeflectionArg       ::= SEQUENCE {
211         deflectedToNumber               [0]     AddressString,
212         deflectedToSubaddress   [1]     ISDN-SubaddressString OPTIONAL,
213         ...}
214
215 UserUserServiceArg ::= SEQUENCE {
216         uUS-Service             [0]     UUS-Service,
217         uUS-Required    [1]     BOOLEAN,
218         ... }
219
220 UUS-Service ::= ENUMERATED {
221         uUS1 (1),
222         uUS2 (2),
223         uUS3 (3),
224         ... }
225
226 -- exception handling:
227 -- In case of UUS-Service with any other value, indicated as "UUS required",
228 -- but not understood by the MS, the call will be cleared.
229
230 LocationNotificationArg ::= SEQUENCE {
231         notificationType        [0]     NotificationToMSUser,
232         locationType            [1]     LocationType,
233         lcsClientExternalID     [2] LCSClientExternalID         OPTIONAL,
234         lcsClientName           [3]     LCSClientName                   OPTIONAL,
235         ... ,
236         lcsRequestorID          [4] LCSRequestorID                      OPTIONAL,
237         lcsCodeword                     [5]     LCSCodeword                             OPTIONAL,
238         lcsServiceTypeID        [6]     LCSServiceTypeID                OPTIONAL }
239
240 -- The notificationType may only be set to notifyLocationAllowed, 
241 -- notifyAndVerify-LocationAllowedIfNoResponse, 
242 -- or notifyAndVerify-LocationNotAllowedIfNoResponse.
243 -- The locationEstimateType field of the locationType may only be set to 
244 -- currentLocation, currentOrLastKnownLocation, 
245 -- notificationVerificationOnly, or activateDeferredLocation.
246 -- The deferredLocationEventType field of the locationType may only be set to 
247 -- enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea, 
248 -- and/or periodicLDR.
249 -- For LCS location notification of MT-LR for current location, the 
250 -- locationEstimateType field of the locationType shall be set to currentLocation.
251 -- For LCS location notification of MT-LR for current or last known location, the 
252 -- locationEstimateType field of the locationType shall be set to currentOrLastKnownLocation.
253 -- For the LCS location notification for the LDR of MS available event, 
254 -- the locationEstimateType field of the locationType shall be set to currentLocation.
255 -- For LCS location notification for the LDR of change of area event, 
256 -- the locationEstimateType field of the locationType shall be set to
257 -- activateDeferredLocation, and the deferredLocationEventType shall be 
258 -- set to enteringIntoArea, and/or leavingFromArea, and/or beingInsideArea.
259 -- For the post positioning LCS location notification, the locationEstimateType 
260 -- field of the locationType shall be set to notificationVerificationOnly.
261 -- For LCS location notification for the LDR of periodic location event, 
262 -- the locationEstimateType field of the locationType shall be set to
263 -- activateDeferredLocation, and the 
264 -- deferredLocationEventType shall be set to periodicLDR.
265
266 -- exception handling:
267 -- At reception of an unrecognised notificationType value the receiver shall reject the 
268 -- operation with a return error cause of unexpected data value.
269 -- At reception of an unrecognised locationType value the receiver shall reject the
270 -- operation with a return error cause of unexpected data value. 
271 -- At reception of an unallowed notificationType value the receiver shall either ignore the
272 -- received operation or reject the operation with a return error cause of unexpected 
273 -- data value.
274 -- At reception of an unallowed locationType value the receiver shall either ignore the
275 -- received operation or reject the operation with a return error cause of unexpected 
276 -- data value.
277
278
279
280 LocationNotificationRes ::= SEQUENCE {
281         verificationResponse            [0]     VerificationResponse OPTIONAL,
282         ...}
283
284 VerificationResponse::= ENUMERATED {
285         permissionDenied        (0),
286         permissionGranted       (1),
287         ... }
288
289 -- exception handling:
290 -- an unrecognized value shall be treated the same as value 0 (permissionDenied)
291
292 LCS-MOLRArg     ::= SEQUENCE {
293         molr-Type                       [0]     MOLR-Type,
294         locationMethod          [1]     LocationMethod                  OPTIONAL,
295         lcs-QoS                         [2]     LCS-QoS                                 OPTIONAL,
296         lcsClientExternalID     [3] LCSClientExternalID         OPTIONAL,
297         mlc-Number                      [4]     ISDN-AddressString              OPTIONAL,
298         gpsAssistanceData       [5]     GPSAssistanceData               OPTIONAL,
299         ...,
300         supportedGADShapes      [6]     SupportedGADShapes              OPTIONAL,
301         lcsServiceTypeID        [7]     LCSServiceTypeID                OPTIONAL,
302         ageOfLocationInfo       [8]     AgeOfLocationInformation        OPTIONAL,
303         locationType            [9]     LocationType                    OPTIONAL,
304         pseudonymIndicator      [10]    NULL                                    OPTIONAL,
305         h-gmlc-address          [11] GSN-Address                        OPTIONAL,
306         locationEstimate        [12] Ext-GeographicalInformation                OPTIONAL,
307         velocityEstimate        [13] VelocityEstimate           OPTIONAL,
308         referenceNumber         [14] LCS-ReferenceNumber        OPTIONAL,
309         periodicLDRInfo         [15] PeriodicLDRInfo            OPTIONAL,
310         locationUpdateRequest   [16]    NULL                            OPTIONAL,
311         sequenceNumber          [17] SequenceNumber             OPTIONAL,
312         terminationCause        [18] TerminationCause           OPTIONAL,
313         mo-lrShortCircuit       [19]    NULL                            OPTIONAL,
314         ganssAssistanceData     [20] GANSSAssistanceData        OPTIONAL,
315         multiplePositioningProtocolPDUs [21] MultiplePositioningProtocolPDUs    OPTIONAL }
316 -- The parameter locationMethod shall be included if and only if the molr-Type is set to value 
317 -- deCipheringKeys or assistanceData.
318 -- The parameter gpsAssistanceData shall be included if and only if the molr-Type is set to value 
319 -- assistanceData and locationMethod is set to value assistedGPS or assistedGPSandGANSS.
320 -- The parameter ganssAssistanceData shall be included if and only if the molr-Type is set to value 
321 -- assistanceData and locationMethod is set to value assistedGANSS or assistedGPSandGANSS.
322 -- supportedGADShapes shall not be included for deferred MO-LR initiation or deferred MO-LR or MT-LR
323 -- responses 
324 -- multiplePositioningProtocolPDUs may only be included for E-UTRAN access.
325 -- locationMethod shall not be included for E-UTRAN access.
326 -- gpsAssistanceData shall not be included for E-UTRAN access.
327 -- h-gmlc-address shall not be included for E-UTRAN access.
328 -- locationEstimate shall not be included for E-UTRAN access.
329 -- velocityEstimate shall not be included for E-UTRAN access.
330 -- referenceNumber shall not be included for E-UTRAN access.
331 -- periodicLDRInfo shall not be included for E-UTRAN access.
332 -- locationUpdateRequest shall not be included for E-UTRAN access.
333 -- sequenceNumber shall not be included for E-UTRAN access.
334 -- terminationCause shall not be included for E-UTRAN access.
335 -- mo-lrShortCircuit shall not be included for E-UTRAN access.
336 -- ganssAssistanceData shall not be included for E-UTRAN access.
337
338
339
340 MOLR-Type::= ENUMERATED {
341         locationEstimate                        (0),
342         assistanceData                          (1),
343         deCipheringKeys                         (2),
344         ... ,
345         deferredMo-lrTTTPInitiation     (3),
346         deferredMo-lrSelfLocationInitiation (4),
347         deferredMt-lrOrmo-lrTTTPLocationEstimate (5),
348         deferredMt-lrOrmo-lrCancellation (6)}
349 -- exception handling:
350 -- an unrecognized value shall be rejected by the receiver with a return error cause of
351 -- unexpected data value. 
352 -- For E-UTRAN access, only locationEstimate or assistanceData shall be included
353
354
355 LocationMethod::= ENUMERATED {
356         msBasedEOTD                     (0),
357         msAssistedEOTD          (1),
358         assistedGPS                     (2),
359         ...,
360         msBasedOTDOA            (3),
361         assistedGANSS           (4),
362         assistedGPSandGANSS (5)
363         }
364 -- exception handling:
365 -- When this parameter is received with value msBasedEOTD or msAssistedEOTD and the MS 
366 -- is camped on an UMTS Service Area then the receiver shall reject it 
367 -- with a return error cause of unexpected data value.
368 -- When this parameter is received with value msBasedOTDOA and the MS 
369 -- is camped on a GSM Cell then the receiver shall reject it with a return error cause of
370 -- unexpected data value.
371 -- an unrecognized value shall be rejected by the receiver with a return error cause of
372 -- unexpected data value.
373
374 GPSAssistanceData::= OCTET STRING (SIZE (1..38))
375 -- Octets 1 to 38 are coded in the same way as the octets 3 to 7+2n of Requested GPS Data IE
376 -- in 3GPP TS 49.031 [14].
377
378 GANSSAssistanceData::= OCTET STRING (SIZE (1..40))
379 -- Octets 1 to 40 are coded in the same way as the octets 3 to 9+2n of Requested GANSS Data IE
380 -- in 3GPP TS 49.031 [14] .
381
382 TerminationCause ::= ENUMERATED {
383         subscriberTermination  (0),
384         uETermination     (1),
385         ...} 
386
387 MultiplePositioningProtocolPDUs ::= SEQUENCE (SIZE (1..maxNumLPPMsg)) OF PositioningProtocolPDU
388
389 PositioningProtocolPDU ::= OCTET STRING
390 -- PositioningProtocolPDU contains a LPP message defined in 3GPP TS 36.355 [17].
391
392 maxNumLPPMsg INTEGER ::= 3
393
394
395
396 LCS-MOLRRes::= SEQUENCE {
397         locationEstimate                [0]     Ext-GeographicalInformation             OPTIONAL,
398         decipheringKeys                 [1] DecipheringKeys                                     OPTIONAL,
399         ...,
400         add-LocationEstimate    [2]     Add-GeographicalInformation             OPTIONAL,
401         velocityEstimate                [3] VelocityEstimate            OPTIONAL,
402         referenceNumber                 [4] LCS-ReferenceNumber         OPTIONAL,
403         h-gmlc-address                  [5]     GSN-Address                             OPTIONAL,
404         mo-lrShortCircuit               [6]     NULL                                    OPTIONAL,
405         reportingPLMNList               [7]     ReportingPLMNList               OPTIONAL
406          }
407 -- Parameters locationEstimate or add-LocationEstimate (one but not both) 
408 -- shall be included if and only if the 
409 -- molr-Type in LocationRequestArg was set to value locationEstimate.
410 -- Parameter add-LocationEstimate shall not be included if the supportedGADShapes 
411 -- parameter was not received in the LCS-MOLRArg.
412 -- The locationEstimate and the add-locationEstimate parameters shall not be sent if
413 -- the supportedGADShapes parameter has been received in LCS-MOLRArg
414 -- and the shape encoded in locationEstimate or add-LocationEstimate is not marked
415 -- as supported in supportedGADShapes. In such a case LCS-MOLRArg
416 -- shall be rejected with error FacilityNotSupported with additional indication
417 -- shapeOfLocationEstimateNotSupported.
418 -- Parameter decipheringKeys shall be included if and only if the molr-Type
419 -- in LocationRequestArg was set to value deCipheringKeys.
420 -- Parameter velocityEstimate may only be included if the lcs-QoS in LCS-MOLRarg includes
421 -- velocityRequest
422 -- decipheringKeys shall not be included for E-UTRAN access.
423 -- referenceNumber shall not be included for E-UTRAN access.
424 -- h-gmlc-address shall not be included for E-UTRAN access.
425 -- mo-lrShortCircuit shall not be included for E-UTRAN access.
426 -- reportingPLMNList shall not be included for E-UTRAN access.
427
428
429
430 DecipheringKeys::= OCTET STRING (SIZE (15))
431 -- Octets in DecipheringKeys are coded in the same way as the octets 3 to 17 of Deciphering Key IE
432 -- in 3GPP TS 49.031 [14]. I.e. these octets contain Current Deciphering Key, Next Deciphering Key and 
433 -- Ciphering Key Flag.
434 LCS-AreaEventRequestArg ::= SEQUENCE {
435         referenceNumber                         [0]     LCS-ReferenceNumber,
436         h-gmlc-address                          [1]     GSN-Address,
437         deferredLocationEventType       [3] DeferredLocationEventType,
438         areaEventInfo                           [4]     AreaEventInfo,
439         ... }
440
441 -- the msAvailableValue in the DeferredLocationEventType is not applicable for this procedure 
442
443 LCS-AreaEventReportArg  ::= SEQUENCE {
444         referenceNumber                         [0]     LCS-ReferenceNumber,
445         h-gmlc-address                          [1]     GSN-Address,
446         ... }
447
448 LCS-AreaEventCancellationArg    ::= SEQUENCE {
449         referenceNumber                         [0]     LCS-ReferenceNumber,
450         h-gmlc-address                          [1]     GSN-Address,
451         ... }
452
453
454 LCS-PeriodicLocationRequestArg  ::= SEQUENCE {
455         referenceNumber         [0] LCS-ReferenceNumber,
456         periodicLDRInfo         [1]     PeriodicLDRInfo,
457         lcsClientExternalID     [2] LCSClientExternalID,
458         qoS                                     [3] LCS-QoS                                     OPTIONAL,
459         h-gmlc-address          [4]     GSN-Address                             OPTIONAL,
460         mo-lrShortCircuit       [5]     NULL                                    OPTIONAL,
461         reportingPLMNList       [6]     ReportingPLMNList               OPTIONAL,
462         ... }
463
464
465 LCS-PeriodicLocationRequestRes  ::= SEQUENCE {
466         mo-lrShortCircuit       [0]     NULL                                    OPTIONAL,
467         ... }
468
469
470 LCS-LocationUpdateArg   ::= SEQUENCE {
471         referenceNumber         [0] LCS-ReferenceNumber         OPTIONAL,
472         add-LocationEstimate[1] Add-GeographicalInformation             OPTIONAL,
473         velocityEstimate        [2] VelocityEstimate            OPTIONAL,
474         sequenceNumber          [3]     SequenceNumber                  OPTIONAL,
475         ... }
476 -- add-LocationEstimate shall be included if and only if a location estimate was successfully
477 -- transferred towards an External LCS Client or was successfully obtained for UE self location
478 -- velocityEstimate may only be included if add-LocationEstimate is included
479
480 LCS-LocationUpdateRes   ::= SEQUENCE {
481         terminationCause        [0] TerminationCause            OPTIONAL,
482         ... }
483
484 LCS-PeriodicLocationCancellationArg     ::= SEQUENCE {
485         referenceNumber         [0] LCS-ReferenceNumber,
486         h-gmlc-address          [1]     GSN-Address                             OPTIONAL,
487         ... }
488
489
490 END