aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/asn1_bin_v2_SUITE_data/Mvrasn-DataTypes-1.asn
blob: 56b11852ae9deeb58fb41a264d4effa4c913d17f (plain) (blame)
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
-- module(Mvrasn-DataTypes-1).
-- vsn('%CCaseRev: %').
-- date('%CCaseDate: %').
-- author('eedkbu').    
-- =============================================================================

-- =============================================================================
--
-- Title       : "MAP Data Types".
--
-- ASN.1 module: "MAP-DataTypes".
--
-- =============================================================================

-- =============================================================================
--
-- NOTE:
--
-- In GSM 09.02 v. 6.1.0 all ASN.1 modules have 'Object Identifier' included 
-- to indicate these modules uniquely. To have a same kind of definite naming
-- convention, parts of the these 'Object Identifier' have been included in 
-- the file names that store the respective ASN.1 modules.
-- 
-- Therefore, the file name "Mvrasn-20-4.asn" indicates moduls '20' in
-- version '4' (PHASE 3).
--
-- As there is no such 'Object Identifier' in GSM 09.02 v. 3.11.0,
-- the names for the ASN.1 files of the ASN.1 modules from
-- this standard version are selected by the author. They are chosen the way 
-- that they are indicating the relation to those modules 
-- from GSM 09.02 v. 3.11.0.
--
-- =============================================================================
 
-- ==============================================================
-- #1.    REVISION LOG
-- ==============================================================
-- Rev   Date    Name     What
-- .... ....... .......  ........................................
-- PA1  981014   eedkbu   First draft, based on GSM 09.02 v. 3.11.0.
-- ..............................................................
-- PA2  990114   etord    Included Reset operation
-- ..............................................................

Mvrasn-DataTypes-1

DEFINITIONS

::=

BEGIN

IMPORTS
-- imports upper boundaries for data types

    maxNumberOfTeleServices,
    maxNumberOfBearerServices,
    maxNumberOfSupplServices,
    maxNumberOfCUG,
    maxNumberOfForwardingFeatures,
    maxNumberOfCallBarringFeatures,
    maxNumberOfHlrId,
    maxAddressLength,
    maxNumberOfSentParameters
FROM Mvrasn-Constants-1

;


-- =========================================================
--
-- NOTE:
--
-- The data type "SendParameterArg" and "ResetArg" are not given in the
-- original GSM 09.02 v. 3.11.0 standard, but have been 
-- introduced here for two reasons:
--
--  1. In the OPERATION MACRO "SendParameters" is a PARAMETER (=ARGument) and
--     a RESULT defined. The ASN.1 en/decoder is not able to handle
--     the MACRO definition. Therefore, the new data type has been 
--     introduced
--
--  2. To align the documentation of the ASN.1 data types in 
--     GSM 09.02 v. 3.11.0 with those of GSM 09.02 v. 6.1.0.
--
-- =========================================================
 
SendParametersArg ::= SEQUENCE {
    subscriberId             SubscriberId,
    requestParameters        RequestParameters
    }

ResetArg ::= SEQUENCE {
    networkResource          NetworkResource,
    originatingEntityNumber  IsdnAddressString,
    hlrId                    HlrList                OPTIONAL
    }


-- common data types

SentParameters   ::= SEQUENCE
             SIZE(1..maxNumberOfSentParameters)
             OF SentParameter


TBCD-STRING  ::= OCTET STRING
        -- digits 0 through 9, two digits per octet,
        -- each digit encoded 0000 to 1001,
        -- 1111 used as filler when there is an odd number of digit.


AddressString    ::= OCTET STRING (SIZE (1..maxAddressLength))
        -- see internal description in section 6.4.1

IsdnAddressString    ::= AddressString (SIZE (1..10))

IMSI     ::= TBCD-STRING (SIZE (2..8))
        -- MCC, MNC, MSIN concatenated in this order

TMSI     ::= OCTET STRING (SIZE (1..4))


SubscriberId     ::= CHOICE {
        imsi            [0]  IMPLICIT IMSI,
        tmsi            [1]  IMPLICIT TMSI}


-- data types for numbering and identification

HlrId	 ::= IMSI
		-- leading digits of IMSI

HlrList	 ::= SEQUENCE 
    SIZE(1.. maxNumberOfHlrId)
    OF HlrId


-- data types for subscriber management

--
Category     ::= OCTET STRING (SIZE (1))
        -- internal structure defined in CCITT Rec Q.763

BearerServiceCode    ::= OCTET STRING (SIZE (1))
        -- Internal structure according to table 6.4/1
        -- BIT 8 Transparency indicator (if applicable)
        --     0 transparent
        --     1 non transparent

        -- BIT 7654  Bearer service group
        --    0001 3.1 kHz ex PLMN
        --    0010 Circuit data asynchronous
        --    0011 Circuit data synchronous
        --    0100 PAD access c.d.a
        --    0101 Packet data synchrounous
        --    0110 Alternate speech/c.d.a
        --    0111 Alternate speech c.d.s
        --    1000 Speech followed by data c.d.a
        --    1001 Speech followed by data c.d.s
        --    1111 12.6 kb/s unrestricted digital

        -- BIT 321  Rate (when applicable)
        --    000 Any
        --    001 300-300 b/s
        --    010 1200-1200 b/s
        --    011 1200-75 b/s
        --    100 2400-2400 b/s
        --    101 4800-4800 b/s
        --    110 9600-9600 b/s


        -- Bits 321 = 000 can be used to refer to all
        -- the bearer services of the corresponding group.
        -- Value "00000000" can be used to refer to all the defined
        -- bearer services.
        -- For the codes referring to a group or all bearer services
        -- the Transparency Indicator is not applicable and has to be set to "0"


BearerServiceList    ::= SEQUENCE
             SIZE(1 .. maxNumberOfBearerServices)
             OF BearerServiceCode

 
TeleserviceCode  ::= OCTET STRING (SIZE (1))
        -- Internal structure according to table 6.4/2
        -- Bit 8-5 encode the teleservice group

        -- Bit 4-1 = 0000 can be used to refer to all the
        -- teleservices of the corresponding group.
        -- Value "00000000" can be used to refer to all the defined
        -- teleservices

TeleserviceList  ::= SEQUENCE
             SIZE(1 .. maxNumberOfTeleServices)
             OF TeleserviceCode


BasicServiceCode     ::= CHOICE {
        bearerService   [2]  IMPLICIT BearerServiceCode,
        teleservice     [3]  IMPLICIT TeleserviceCode}

--
SubscriberStatus     ::= ENUMERATED{
        serviceGranted  (0),
        operatorOGCallBarring   (1)}

 -- Data types for supplementary services

SS-Code  ::= OCTET STRING (SIZE(1))
        -- Internal structure according to
        -- table 6.4/3
        -- Bit 8-5
        -- 0001 Number Identification services
        -- 0010 Forwarding services
        -- 0011 Call offering services
        -- 0100 Call completion services
        -- 0101 Multi-party services
        -- 0110 Community of interest services
        -- 0111 Charging services
        -- 1000 Additional information transfer services
        -- 1001 Call restriction services
        -- Bit 4-1 = 0000 can be use to refer to
        -- a group of supplementary services
        -- eg, "00100000" can be used to refer to all
        -- forwarding services
        -- "00101000" can be used to refer to all
        -- conditional forwarding services
        -- "00000000" can be used to refer to all
        -- supplementary services

SS-Status    ::= OCTET STRING (SIZE (1))
        -- Bit 8-4 Unused
        -- Bit 3   Provision indicator
        --     0 : Not provisioned
        --     1 : Provisioned
        -- Bit 2   Registration indicator (if applicable)
        --     0 : Not Registered
        --     1 : Registered
        -- Bit 1   Activation indicator (If applicable)
        --     0 : Not Active
        --     1 : Active

SS-Information   ::= CHOICE{
        forwardingInfo  [0]  IMPLICIT ForwardingInfo,
        callBarringInfo [1]  IMPLICIT CallBarringInfo,
        cug-Information [2]  IMPLICIT CUG-Information,
        ss-Data         [3]  IMPLICIT SS-Data}

SS-InfoList  ::= SEQUENCE
             SIZE(1 .. maxNumberOfSupplServices)
             OF SS-Information

 
--
SS-Data  ::= SEQUENCE{
    ss-Code                  SS-Code,
    ss-Status           [4]  IMPLICIT SS-Status OPTIONAL,
    ss-SubscriptionOption    SS-SubscriptionOption OPTIONAL}

SS-SubscriptionOption    ::= CHOICE{
    perCallBasis        [5]  IMPLICIT BOOLEAN,
    notificationToHeldRetrievedParty   [6]  IMPLICIT BOOLEAN,
    userToUserServiceIndicator  [7]  IMPLICIT UserToUserServiceIndicator,
    maximumConfereesNumber  [8]  IMPLICIT MaximumConfereesNumber,
    huntGroupAccessSelectionOrder  [9] IMPLICIT HuntGroupAccessSelectionOrder}



ForwardingOptions    ::= OCTET STRING (SIZE(1))
        -- Bit 8-7  Notification to forwarding party
        --          00  No notification
        --          01  notification with calling number identity
        --          10  notification without calling number identity
        -- Bit 6-5  Notification to calling party
        --          00 No notification
        --          01 Notification with forwarded-to number
        --          10 Notification without forwarded-to number


UserToUserServiceIndicator   ::= OCTET STRING (SIZE(1))
        -- Bit 8   : service 1
        -- Bit 7   : service 2
        -- Bit 6   : service 3
        -- Bit 5-1 : Reserved
        -- Bit 8 to 6 coded "1" if the service
        -- is available to the subscriber


MaximumConfereesNumber   ::= INTEGER (1..10)


 
HuntGroupAccessSelectionOrder ::= ENUMERATED{
        random  (0),
        sequential  (1)}


NoReplyConditionTime     ::= INTEGER (5..30)


CUG-Facilities   ::=  OCTET STRING (SIZE (1))
        -- Bit 8-3 000000 (Unused)
        -- Bit 2-1
        --   00 CUG only facilities
        --   01 CUG with outgoing access
        --   10 CUG with incoming access
        --   11 CUG with both outgoing and incoming access

CUG-Interlock    ::= OCTET STRING (SIZE (4))
        -- Internal structure defined in Rec CCITT Q.763

CUG-Index    ::=  OCTET STRING (SIZE (1))
        -- Internal structure defined in Rec CCITT Q.763

CUG-Options  ::=  OCTET STRING (SIZE (1))
        -- BIT 8-4 00000 (Unused)
        -- BIT 3 preferential CUG indicator
        -- 0 no preferential
        -- 1 preferential CUG
        -- BIT 2 barring of incoming calls within the CUG
        -- 0 no barring
        -- 1 barring
        -- BIT 1 barring of outgoing calls within the CUG
        -- 0 no barring
        -- 1 barring

CUG-Feature  ::= SEQUENCE {
    cug-interlock            CUG-Interlock,
    cug-Index                CUG-Index,
    cug-Options              CUG-Options,
    ss-Status                SS-Status}


CUG-FeatureList ::=     SEQUENCE SIZE (
        1..maxNumberOfCUG) OF CUG-Feature


-- =========================================================
--
-- EEDKBU:
--
--      The original CUG-Information data type has been:
--
--   ------------------
--
-- CUG-Information   ::= SEQUENCE{
--  cug-Facilities           CUG-Facilities,
--          CHOICE{
--                 cug-Feature      [0]  IMPLICIT CUG-Feature,
--                 cug-FeatureList  [1]  IMPLICIT CUG-FeatureList}}
        -- the first alternative of the choice should be used
        -- for the preferred CUG.
--
--   ------------------
--
-- This is incorrect ASN.1 notation! The CHOICE has also to be a named 
-- type. Therefore, the definition was changed and can be seen below:
-- 
-- =========================================================


CUG-Information  ::= SEQUENCE{
    cug-Facilities           CUG-Facilities,
    cug-FeatureChoice       CHOICE{
                   cug-Feature      [0]  IMPLICIT CUG-Feature,
                   cug-FeatureList  [1]  IMPLICIT CUG-FeatureList}}
        -- the first alternative of the choice should be used
        -- for the preferred CUG.

--
ForwardingInfo   ::= SEQUENCE{
    ss-Code                  SS-Code OPTIONAL,
    forwardingFeatureList    ForwardingFeatureList}

ForwardingFeature    ::=  SEQUENCE {
    basicService             BasicServiceCode OPTIONAL,
    ss-Status           [4]  IMPLICIT SS-Status,
    forwardedToNumber   [5]  IMPLICIT IsdnAddressString OPTIONAL,
    forwardingOptions   [6]  IMPLICIT ForwardingOptions OPTIONAL,
    noReplyConditionTime  [7] IMPLICIT NoReplyConditionTime  OPTIONAL}

ForwardingFeatureList    ::= SEQUENCE SIZE (1.. maxNumberOfForwardingFeatures) 
    OF ForwardingFeature

CallBarringInfo  ::= SEQUENCE {
    ss-Code                  SS-Code,
    callBarringFeatureList   CallBarringFeatureList}

CallBarringFeature   ::= SEQUENCE{
    basicServiceCode         BasicServiceCode OPTIONAL,
    ss-Status           [4]  IMPLICIT SS-Status }

CallBarringFeatureList   ::= SEQUENCE SIZE (1.. maxNumberOfCallBarringFeatures) 
OF CallBarringFeature

SubscriberData   ::= SEQUENCE{
    msIsdn              [1]  IMPLICIT IsdnAddressString OPTIONAL,
    category            [2]  IMPLICIT Category OPTIONAL,
    subscriberStatus    [3]  IMPLICIT SubscriberStatus OPTIONAL,
    bearerServiceList   [4]  IMPLICIT BearerServiceList OPTIONAL,
    teleserviceList     [6]  IMPLICIT TeleserviceList OPTIONAL,     
    provisonedSupplServices [7] IMPLICIT SS-InfoList OPTIONAL}

-- Data types for security procedures

AuthenticationSet    ::= SEQUENCE {
    rand                     Rand,
    sres                     Sres,
    kc                       Kc}


Rand     ::= OCTET STRING (SIZE (16))

Sres     ::= OCTET STRING (SIZE (4))

Kc   ::= OCTET STRING (SIZE (8))

Ki   ::= OCTET STRING (SIZE (16))


-- Data types for fault recovery, call tracing

NetworkResource	 ::= ENUMERATED {
    pLMN                     (0),
    hLR                      (1),
    vLR                      (2),
    previous-VLR             (3),
    controlling-MSC          (4),
    vMSC                     (5),
    eIR                      (6),
    radioSubSystem           (7)}


-- other data types

RequestParameter     ::= ENUMERATED{
        request-IMSI        (0),
        request-AuthenticationSet   (1),
        request-SubscriberData      (2),
        request-CUG-Information     (3),
        request-Ki          (4)}

RequestParameters    ::= SEQUENCE SIZE (1..2) OF RequestParameter

SentParameter    ::= CHOICE{
    imsi                [0]  IMPLICIT IMSI,
    authenticationSet   [1]  IMPLICIT AuthenticationSet,
    subscriberData      [2]  IMPLICIT SubscriberData,
    cug-information     [3]  IMPLICIT CUG-Information,
    ki                  [4] IMPLICIT Ki}
    
END