~ubuntu-branches/debian/squeeze/erlang/squeeze

« back to all changes in this revision

Viewing changes to lib/megaco/src/binary/MEDIA-GATEWAY-CONTROL-prev3b.asn

  • Committer: Bazaar Package Importer
  • Author(s): Erlang Packagers, Sergei Golovan
  • Date: 2006-12-03 17:07:44 UTC
  • mfrom: (2.1.11 feisty)
  • Revision ID: james.westby@ubuntu.com-20061203170744-rghjwupacqlzs6kv
Tags: 1:11.b.2-4
[ Sergei Golovan ]
Fixed erlang-base and erlang-base-hipe prerm scripts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
MEDIA-GATEWAY-CONTROL-prev3b
 
2
{itu-t(0) recommendation(0) h(8) h248(248) 
 
3
 modules(0) media-gateway-control(0) version3(3)} 
 
4
DEFINITIONS AUTOMATIC TAGS ::= 
 
5
BEGIN 
 
6
       
 
7
 
 
8
MegacoMessage ::= SEQUENCE 
 
9
 { 
 
10
   authHeader     AuthenticationHeader OPTIONAL, 
 
11
   mess           Message 
 
12
 } 
 
13
 
 
14
AuthenticationHeader ::= SEQUENCE 
 
15
 { 
 
16
   secParmIndex   SecurityParmIndex, 
 
17
   seqNum         SequenceNum, 
 
18
   ad             AuthData 
 
19
 } 
 
20
 
 
21
SecurityParmIndex ::= OCTET STRING(SIZE(4)) 
 
22
 
 
23
SequenceNum       ::= OCTET STRING(SIZE(4)) 
 
24
 
 
25
AuthData          ::= OCTET STRING (SIZE (12..32)) 
 
26
 
 
27
Message ::= SEQUENCE 
 
28
 { 
 
29
   version           INTEGER(0..99), 
 
30
   -- The version of the protocol defined here is equal to 3. 
 
31
   mId               MId,  -- Name/address of message originator 
 
32
   messageBody CHOICE 
 
33
    { 
 
34
      messageError      ErrorDescriptor, 
 
35
      transactions      SEQUENCE OF Transaction 
 
36
    }, 
 
37
   ... 
 
38
 } 
 
39
 
 
40
MId ::= CHOICE 
 
41
 { 
 
42
   ip4Address           IP4Address, 
 
43
   ip6Address           IP6Address, 
 
44
   domainName           DomainName, 
 
45
   deviceName           PathName, 
 
46
   mtpAddress           OCTET STRING(SIZE(2..4)), 
 
47
   -- Addressing structure of mtpAddress: 
 
48
   --     25 - 15              0 
 
49
   --     |  PC           | NI | 
 
50
   --     24 - 14 bits    2 bits 
 
51
   -- Note: 14 bits are defined for international use. 
 
52
   -- Two national options exist where the point code is 16 or 24   
 
53
   -- bits. 
 
54
   -- To octet align the mtpAddress, the MSBs shall be encoded as 0s. 
 
55
   ... 
 
56
 } 
 
57
 
 
58
DomainName ::= SEQUENCE 
 
59
 { 
 
60
   name        IA5String, 
 
61
   -- The name starts with an alphanumeric digit followed by a 
 
62
   -- sequence of alphanumeric digits, hyphens and dots.  No two 
 
63
   -- dots shall occur consecutively. 
 
64
   portNumber     INTEGER(0..65535) OPTIONAL 
 
65
 } 
 
66
 
 
67
IP4Address ::= SEQUENCE 
 
68
 { 
 
69
   address        OCTET STRING (SIZE(4)), 
 
70
   portNumber     INTEGER(0..65535) OPTIONAL 
 
71
 } 
 
72
 
 
73
IP6Address ::= SEQUENCE 
 
74
 { 
 
75
   address        OCTET STRING (SIZE(16)), 
 
76
   portNumber     INTEGER(0..65535) OPTIONAL 
 
77
 } 
 
78
 
 
79
PathName ::= IA5String(SIZE (1..64)) 
 
80
-- See A.3 
 
81
 
 
82
Transaction ::= CHOICE 
 
83
 { 
 
84
   transactionRequest      TransactionRequest, 
 
85
   transactionPending      TransactionPending, 
 
86
   transactionReply        TransactionReply, 
 
87
   transactionResponseAck  TransactionResponseAck, 
 
88
   -- use of response acks is dependent on underlying transport 
 
89
   ... 
 
90
 } 
 
91
 
 
92
TransactionId ::= INTEGER(0..4294967295)  -- 32-bit unsigned integer 
 
93
 
 
94
TransactionRequest ::= SEQUENCE 
 
95
 { 
 
96
   transactionId        TransactionId, 
 
97
   actions              SEQUENCE OF ActionRequest, 
 
98
   ... 
 
99
 } 
 
100
 
 
101
TransactionPending ::= SEQUENCE 
 
102
 { 
 
103
   transactionId        TransactionId, 
 
104
   ... 
 
105
 } 
 
106
 
 
107
TransactionReply ::= SEQUENCE 
 
108
 { 
 
109
   transactionId        TransactionId, 
 
110
   immAckRequired       NULL OPTIONAL, 
 
111
   transactionResult    CHOICE 
 
112
    { 
 
113
      transactionError   ErrorDescriptor, 
 
114
      actionReplies      SEQUENCE OF ActionReply 
 
115
    }, 
 
116
    ...
 
117
--   segmentNumber         SegmentNumber OPTIONAL,
 
118
--   segmentationComplete  NULL OPTIONAL 
 
119
 } 
 
120
 
 
121
-- SegmentReply ::= SEQUENCE
 
122
--  {
 
123
--    transactionId         TransactionId,
 
124
--    segmentNumber         SegmentNumber,
 
125
--    segmentationComplete  NULL OPTIONAL,
 
126
--    ...
 
127
--  }
 
128
-- 
 
129
-- SegmentNumber ::= INTEGER(0..65535)
 
130
 
 
131
TransactionResponseAck ::= SEQUENCE OF TransactionAck 
 
132
TransactionAck ::= SEQUENCE 
 
133
 { 
 
134
   firstAck       TransactionId, 
 
135
   lastAck        TransactionId OPTIONAL 
 
136
 } 
 
137
 
 
138
ErrorDescriptor ::= SEQUENCE 
 
139
 { 
 
140
   errorCode      ErrorCode, 
 
141
   errorText      ErrorText OPTIONAL 
 
142
 } 
 
143
 
 
144
ErrorCode ::= INTEGER(0..65535) 
 
145
-- See clause 14 for IANA considerations with respect to error codes 
 
146
ErrorText ::= IA5String 
 
147
 
 
148
ContextID ::= INTEGER(0..4294967295) 
 
149
 
 
150
-- Context NULL Value: 0 
 
151
-- Context CHOOSE Value: 4294967294 (0xFFFFFFFE)  
 
152
-- Context ALL Value: 4294967295 (0xFFFFFFFF) 
 
153
 
 
154
 
 
155
ActionRequest ::= SEQUENCE 
 
156
 { 
 
157
   contextId            ContextID, 
 
158
   contextRequest       ContextRequest OPTIONAL, 
 
159
   contextAttrAuditReq  ContextAttrAuditRequest OPTIONAL, 
 
160
   commandRequests      SEQUENCE OF CommandRequest 
 
161
 } 
 
162
 
 
163
ActionReply ::= SEQUENCE 
 
164
 { 
 
165
   contextId         ContextID, 
 
166
   errorDescriptor   ErrorDescriptor OPTIONAL, 
 
167
   contextReply      ContextRequest OPTIONAL, 
 
168
   commandReply      SEQUENCE OF CommandReply 
 
169
 } 
 
170
 
 
171
ContextRequest ::= SEQUENCE 
 
172
 { 
 
173
   priority       INTEGER(0..15) OPTIONAL, 
 
174
   emergency      BOOLEAN OPTIONAL, 
 
175
   topologyReq    SEQUENCE OF TopologyRequest OPTIONAL, 
 
176
   ...,
 
177
   iepscallind    BOOLEAN OPTIONAL,
 
178
   contextProp    SEQUENCE OF PropertyParm OPTIONAL 
 
179
 } 
 
180
 
 
181
ContextAttrAuditRequest ::= SEQUENCE 
 
182
 { 
 
183
   topology        NULL OPTIONAL, 
 
184
   emergency       NULL OPTIONAL, 
 
185
   priority        NULL OPTIONAL, 
 
186
   ...,
 
187
   iepscallind     NULL OPTIONAL,
 
188
   contextPropAud  SEQUENCE OF IndAudPropertyParm OPTIONAL  
 
189
 } 
 
190
 
 
191
CommandRequest ::= SEQUENCE 
 
192
 { 
 
193
   command           Command, 
 
194
   optional          NULL OPTIONAL, 
 
195
   wildcardReturn    NULL OPTIONAL, 
 
196
   ... 
 
197
 } 
 
198
 
 
199
Command ::= CHOICE 
 
200
 { 
 
201
   addReq               AmmRequest, 
 
202
   moveReq              AmmRequest, 
 
203
   modReq               AmmRequest, 
 
204
   -- Add, Move, Modify requests have the same parameters 
 
205
   subtractReq          SubtractRequest, 
 
206
   auditCapRequest      AuditRequest, 
 
207
   auditValueRequest    AuditRequest, 
 
208
   notifyReq            NotifyRequest, 
 
209
   serviceChangeReq     ServiceChangeRequest, 
 
210
   ... 
 
211
 } 
 
212
 
 
213
CommandReply ::= CHOICE 
 
214
 { 
 
215
   addReply                AmmsReply, 
 
216
   moveReply               AmmsReply, 
 
217
   modReply                AmmsReply, 
 
218
   subtractReply           AmmsReply, 
 
219
   -- Add, Move, Modify, Subtract replies have the same parameters 
 
220
   auditCapReply           AuditReply, 
 
221
   auditValueReply         AuditReply, 
 
222
   notifyReply             NotifyReply, 
 
223
   serviceChangeReply      ServiceChangeReply, 
 
224
   ... 
 
225
 } 
 
226
 
 
227
TopologyRequest ::= SEQUENCE 
 
228
 { 
 
229
   terminationFrom         TerminationID, 
 
230
   terminationTo           TerminationID, 
 
231
   topologyDirection       ENUMERATED 
 
232
    { 
 
233
      bothway(0), 
 
234
      isolate(1), 
 
235
      oneway(2) 
 
236
    }, 
 
237
   ..., 
 
238
   streamID             StreamID OPTIONAL 
 
239
 } 
 
240
 
 
241
AmmRequest ::= SEQUENCE 
 
242
 { 
 
243
   terminationID        TerminationIDList, 
 
244
   descriptors          SEQUENCE OF AmmDescriptor, 
 
245
   -- At most one descriptor of each type (see AmmDescriptor) 
 
246
   -- allowed in the sequence. 
 
247
   ... 
 
248
 } 
 
249
 
 
250
AmmDescriptor ::= CHOICE 
 
251
 { 
 
252
   mediaDescriptor         MediaDescriptor, 
 
253
   modemDescriptor         ModemDescriptor, 
 
254
   muxDescriptor           MuxDescriptor, 
 
255
   eventsDescriptor        EventsDescriptor, 
 
256
   eventBufferDescriptor   EventBufferDescriptor, 
 
257
   signalsDescriptor       SignalsDescriptor, 
 
258
   digitMapDescriptor      DigitMapDescriptor, 
 
259
   auditDescriptor         AuditDescriptor, 
 
260
   ...,
 
261
   statisticsDescriptor    StatisticsDescriptor 
 
262
 } 
 
263
 
 
264
 
 
265
AmmsReply ::= SEQUENCE 
 
266
 { 
 
267
   terminationID        TerminationIDList, 
 
268
   terminationAudit     TerminationAudit OPTIONAL, 
 
269
   ... 
 
270
 } 
 
271
 
 
272
SubtractRequest ::= SEQUENCE 
 
273
 { 
 
274
   terminationID        TerminationIDList, 
 
275
   auditDescriptor      AuditDescriptor OPTIONAL, 
 
276
   ... 
 
277
 } 
 
278
 
 
279
AuditRequest ::= SEQUENCE 
 
280
 { 
 
281
   terminationID        TerminationID, 
 
282
   auditDescriptor      AuditDescriptor, 
 
283
   ... 
 
284
 } 
 
285
 
 
286
AuditReply ::= CHOICE 
 
287
 { 
 
288
   contextAuditResult   TerminationIDList, 
 
289
   error                ErrorDescriptor, 
 
290
   auditResult          AuditResult, 
 
291
   ... 
 
292
 } 
 
293
 
 
294
AuditResult ::= SEQUENCE 
 
295
 { 
 
296
   
 
297
   terminationID           TerminationID, 
 
298
   terminationAuditResult  TerminationAudit 
 
299
 } 
 
300
 
 
301
 
 
302
 
 
303
TerminationAudit ::= SEQUENCE OF AuditReturnParameter 
 
304
 
 
305
AuditReturnParameter ::= CHOICE 
 
306
 { 
 
307
   errorDescriptor            ErrorDescriptor, 
 
308
   mediaDescriptor            MediaDescriptor, 
 
309
   modemDescriptor            ModemDescriptor, 
 
310
   muxDescriptor              MuxDescriptor, 
 
311
   eventsDescriptor           EventsDescriptor, 
 
312
   eventBufferDescriptor      EventBufferDescriptor, 
 
313
   signalsDescriptor          SignalsDescriptor, 
 
314
   digitMapDescriptor         DigitMapDescriptor, 
 
315
   observedEventsDescriptor   ObservedEventsDescriptor, 
 
316
   statisticsDescriptor       StatisticsDescriptor, 
 
317
   packagesDescriptor         PackagesDescriptor, 
 
318
   emptyDescriptors           AuditDescriptor, 
 
319
   ... 
 
320
 } 
 
321
 
 
322
AuditDescriptor ::= SEQUENCE 
 
323
 { 
 
324
   auditToken  BIT STRING 
 
325
    { 
 
326
      muxToken(0), modemToken(1), mediaToken(2), 
 
327
      eventsToken(3), signalsToken(4), 
 
328
      digitMapToken(5), statsToken(6), 
 
329
      observedEventsToken(7), 
 
330
      packagesToken(8), eventBufferToken(9) 
 
331
    } OPTIONAL, 
 
332
   ..., 
 
333
   auditPropertyToken SEQUENCE OF IndAuditParameter OPTIONAL 
 
334
 } 
 
335
 
 
336
 
 
337
IndAuditParameter ::= CHOICE 
 
338
 { 
 
339
   -- Note that the lower/upper case letters of the tags have 
 
340
   -- been changed. The same changes has been made in text...
 
341
   indAudMediaDescriptor         IndAudMediaDescriptor, 
 
342
   indAudEventsDescriptor        IndAudEventsDescriptor, 
 
343
   indAudEventBufferDescriptor   IndAudEventBufferDescriptor, 
 
344
   indAudSignalsDescriptor       IndAudSignalsDescriptor, 
 
345
   indAudDigitMapDescriptor      IndAudDigitMapDescriptor, 
 
346
   indAudStatisticsDescriptor    IndAudStatisticsDescriptor, 
 
347
   indAudPackagesDescriptor      IndAudPackagesDescriptor, 
 
348
   ... 
 
349
 } 
 
350
 
 
351
IndAudMediaDescriptor ::= SEQUENCE 
 
352
 { 
 
353
   
 
354
   termStateDescr    IndAudTerminationStateDescriptor OPTIONAL, 
 
355
   streams  CHOICE 
 
356
    { 
 
357
      oneStream      IndAudStreamParms, 
 
358
      multiStream    SEQUENCE OF IndAudStreamDescriptor 
 
359
    } OPTIONAL, 
 
360
   ... 
 
361
 } 
 
362
 
 
363
IndAudStreamDescriptor ::= SEQUENCE 
 
364
 { 
 
365
   streamID                StreamID, 
 
366
   streamParms             IndAudStreamParms 
 
367
 } 
 
368
 
 
369
IndAudStreamParms ::= SEQUENCE 
 
370
 { 
 
371
   localControlDescriptor  IndAudLocalControlDescriptor OPTIONAL, 
 
372
   localDescriptor         IndAudLocalRemoteDescriptor OPTIONAL, 
 
373
   remoteDescriptor        IndAudLocalRemoteDescriptor OPTIONAL, 
 
374
   ...,
 
375
   statisticsDescriptor    IndAudStatisticsDescriptor OPTIONAL
 
376
 } 
 
377
 
 
378
IndAudLocalControlDescriptor ::= SEQUENCE 
 
379
 { 
 
380
   streamMode              NULL OPTIONAL, 
 
381
   reserveValue            NULL OPTIONAL, 
 
382
   reserveGroup            NULL OPTIONAL, 
 
383
   propertyParms           SEQUENCE OF IndAudPropertyParm OPTIONAL, 
 
384
   ... 
 
385
 } 
 
386
 
 
387
IndAudPropertyParm ::= SEQUENCE 
 
388
 { 
 
389
   name     PkgdName, 
 
390
   ... 
 
391
 } 
 
392
 
 
393
IndAudLocalRemoteDescriptor ::= SEQUENCE 
 
394
 { 
 
395
   propGroupID    INTEGER(0..65535) OPTIONAL, 
 
396
   propGrps       IndAudPropertyGroup, 
 
397
   ... 
 
398
 } 
 
399
 
 
400
IndAudPropertyGroup ::= SEQUENCE OF IndAudPropertyParm 
 
401
 
 
402
IndAudTerminationStateDescriptor ::= SEQUENCE  
 
403
 { 
 
404
   propertyParms        SEQUENCE OF IndAudPropertyParm, 
 
405
   eventBufferControl   NULL OPTIONAL, 
 
406
   serviceState         NULL OPTIONAL, 
 
407
   ... 
 
408
 } 
 
409
 
 
410
IndAudEventsDescriptor ::= SEQUENCE 
 
411
 { 
 
412
   requestID      RequestID OPTIONAL, 
 
413
   pkgdName       PkgdName, 
 
414
   streamID       StreamID OPTIONAL, 
 
415
   ... 
 
416
 } 
 
417
 
 
418
IndAudEventBufferDescriptor ::= SEQUENCE 
 
419
 { 
 
420
   eventName   PkgdName, 
 
421
   streamID    StreamID OPTIONAL, 
 
422
   ... 
 
423
 } 
 
424
 
 
425
IndAudSignalsDescriptor ::=CHOICE 
 
426
 { 
 
427
   signal         IndAudSignal, 
 
428
   seqSigList     IndAudSeqSigList, 
 
429
   ... 
 
430
 } 
 
431
 
 
432
IndAudSeqSigList ::= SEQUENCE 
 
433
 { 
 
434
   id             INTEGER(0..65535), 
 
435
   signalList     IndAudSignal OPTIONAL 
 
436
 } 
 
437
 
 
438
IndAudSignal ::= SEQUENCE 
 
439
 { 
 
440
   signalName     PkgdName, 
 
441
   streamID       StreamID OPTIONAL, 
 
442
   ... 
 
443
 } 
 
444
 
 
445
IndAudDigitMapDescriptor ::= SEQUENCE 
 
446
 { 
 
447
   digitMapName   DigitMapName OPTIONAL 
 
448
 } 
 
449
 
 
450
IndAudStatisticsDescriptor ::= SEQUENCE  
 
451
 { 
 
452
   statName       PkgdName 
 
453
 } 
 
454
 
 
455
IndAudPackagesDescriptor ::= SEQUENCE 
 
456
 { 
 
457
   packageName       Name, 
 
458
   packageVersion    INTEGER(0..99), 
 
459
   ... 
 
460
 } 
 
461
 
 
462
NotifyRequest ::= SEQUENCE 
 
463
 { 
 
464
   terminationID              TerminationIDList, 
 
465
   observedEventsDescriptor   ObservedEventsDescriptor, 
 
466
   errorDescriptor            ErrorDescriptor OPTIONAL, 
 
467
   ... 
 
468
 } 
 
469
 
 
470
NotifyReply ::= SEQUENCE 
 
471
 { 
 
472
   terminationID           TerminationIDList, 
 
473
   errorDescriptor         ErrorDescriptor OPTIONAL, 
 
474
   ... 
 
475
 } 
 
476
 
 
477
ObservedEventsDescriptor ::= SEQUENCE 
 
478
 { 
 
479
   requestId               RequestID, 
 
480
   observedEventLst        SEQUENCE OF ObservedEvent 
 
481
 } 
 
482
 
 
483
ObservedEvent ::= SEQUENCE 
 
484
 { 
 
485
   eventName               EventName, 
 
486
   streamID                StreamID OPTIONAL, 
 
487
   eventParList            SEQUENCE OF EventParameter, 
 
488
   timeNotation            TimeNotation OPTIONAL, 
 
489
   ... 
 
490
 } 
 
491
 
 
492
EventName ::= PkgdName 
 
493
 
 
494
EventParameter ::= SEQUENCE 
 
495
 { 
 
496
   eventParameterName      Name, 
 
497
   value                   Value, 
 
498
   -- For use of extraInfo see the comment related to PropertyParm 
 
499
   extraInfo CHOICE 
 
500
    { 
 
501
      relation Relation, 
 
502
      range    BOOLEAN, 
 
503
      sublist  BOOLEAN 
 
504
    } OPTIONAL, 
 
505
   ... 
 
506
   
 
507
 } 
 
508
 
 
509
ServiceChangeRequest ::= SEQUENCE 
 
510
 { 
 
511
   terminationID           TerminationIDList, 
 
512
   serviceChangeParms      ServiceChangeParm, 
 
513
   ... 
 
514
 } 
 
515
 
 
516
ServiceChangeReply ::= SEQUENCE 
 
517
 { 
 
518
   terminationID           TerminationIDList, 
 
519
   serviceChangeResult     ServiceChangeResult, 
 
520
   ... 
 
521
 } 
 
522
 
 
523
-- For ServiceChangeResult, no parameters are mandatory.  Hence the 
 
524
-- distinction between ServiceChangeParm and ServiceChangeResParm. 
 
525
 
 
526
ServiceChangeResult ::= CHOICE 
 
527
 { 
 
528
   errorDescriptor            ErrorDescriptor, 
 
529
   serviceChangeResParms      ServiceChangeResParm 
 
530
 } 
 
531
 
 
532
WildcardField ::= OCTET STRING(SIZE(1)) 
 
533
 
 
534
TerminationID ::= SEQUENCE 
 
535
 { 
 
536
   wildcard       SEQUENCE OF WildcardField,  
 
537
   id             OCTET STRING(SIZE(1..8)), 
 
538
   ... 
 
539
 } 
 
540
-- See A.1 for explanation of wildcarding mechanism. 
 
541
-- Termination ID 0xFFFFFFFFFFFFFFFF indicates the ROOT Termination. 
 
542
 
 
543
TerminationIDList ::= SEQUENCE OF TerminationID 
 
544
 
 
545
MediaDescriptor ::= SEQUENCE 
 
546
 { 
 
547
   termStateDescr    TerminationStateDescriptor OPTIONAL, 
 
548
   streams           CHOICE 
 
549
    { 
 
550
      oneStream      StreamParms, 
 
551
      multiStream    SEQUENCE OF StreamDescriptor 
 
552
    } OPTIONAL, 
 
553
   ... 
 
554
 } 
 
555
 
 
556
StreamDescriptor ::= SEQUENCE 
 
557
 { 
 
558
   streamID                StreamID, 
 
559
   streamParms             StreamParms 
 
560
 } 
 
561
 
 
562
StreamParms ::= SEQUENCE 
 
563
 { 
 
564
   localControlDescriptor     LocalControlDescriptor OPTIONAL, 
 
565
   localDescriptor            LocalRemoteDescriptor OPTIONAL, 
 
566
   remoteDescriptor           LocalRemoteDescriptor OPTIONAL, 
 
567
   ...,
 
568
   statisticsDescriptor       StatisticsDescriptor OPTIONAL 
 
569
 } 
 
570
 
 
571
LocalControlDescriptor ::= SEQUENCE 
 
572
 { 
 
573
   streamMode        StreamMode OPTIONAL, 
 
574
   reserveValue      BOOLEAN OPTIONAL, 
 
575
   reserveGroup      BOOLEAN OPTIONAL, 
 
576
   propertyParms     SEQUENCE OF PropertyParm, 
 
577
   ... 
 
578
 } 
 
579
 
 
580
StreamMode ::= ENUMERATED  
 
581
 { 
 
582
   sendOnly(0), 
 
583
   recvOnly(1), 
 
584
   sendRecv(2), 
 
585
   inactive(3), 
 
586
   loopBack(4), 
 
587
   ... 
 
588
 } 
 
589
 
 
590
-- In PropertyParm, value is a SEQUENCE OF octet string.  When sent 
 
591
-- by an MGC the interpretation is as follows: 
 
592
-- empty sequence means CHOOSE 
 
593
-- one element sequence specifies value 
 
594
-- If the sublist field is not selected, a longer sequence means 
 
595
-- "choose one of the values" (i.e. value1 OR value2 OR ...) 
 
596
-- If the sublist field is selected, 
 
597
-- a sequence with more than one element encodes the value of a 
 
598
-- list-valued property (i.e. value1 AND value2 AND ...). 
 
599
-- The relation field may only be selected if the value sequence 
 
600
-- has length 1.  It indicates that the MG has to choose a value 
 
601
-- for the property. E.g. x > 3 (using the greaterThan 
 
602
-- value for relation) instructs the MG to choose any value larger 
 
603
-- than 3 for property x. 
 
604
-- The range field may only be selected if the value sequence 
 
605
-- has length 2.  It indicates that the MG has to choose a value 
 
606
-- in the range between the first octet in the value sequence and 
 
607
-- the trailing octet in the value sequence, including the 
 
608
-- boundary values. 
 
609
-- When sent by the MG, only responses to an AuditCapability request 
 
610
-- may contain multiple values, a range, or a relation field. 
 
611
 
 
612
PropertyParm ::= SEQUENCE 
 
613
 { 
 
614
   name        PkgdName, 
 
615
   value       SEQUENCE OF OCTET STRING, 
 
616
   extraInfo   CHOICE 
 
617
    { 
 
618
      relation    Relation, 
 
619
      range       BOOLEAN, 
 
620
      sublist     BOOLEAN 
 
621
    } OPTIONAL, 
 
622
   ... 
 
623
 } 
 
624
 
 
625
Name ::= OCTET STRING(SIZE(2)) 
 
626
 
 
627
PkgdName ::= OCTET STRING(SIZE(4)) 
 
628
-- represents Package Name (2 octets) plus Property, Event, 
 
629
-- Signal Names or Statistics ID. (2 octets) 
 
630
-- To wildcard a package use 0xFFFF for first two octets, choose 
 
631
-- is not allowed. To reference native property tag specified in 
 
632
-- Annex C, use 0x0000 as first two octets. 
 
633
-- To wildcard a Property, Event, Signal, or Statistics ID, use 
 
634
-- 0xFFFF for last two octets, choose is not allowed. 
 
635
-- Wildcarding of Package Name is permitted only if Property, 
 
636
-- Event, Signal, or Statistics ID are 
 
637
-- also wildcarded. 
 
638
 
 
639
Relation ::= ENUMERATED 
 
640
 { 
 
641
   greaterThan(0), 
 
642
   smallerThan(1), 
 
643
   unequalTo(2), 
 
644
   ... 
 
645
 } 
 
646
 
 
647
LocalRemoteDescriptor ::= SEQUENCE 
 
648
 { 
 
649
   propGrps SEQUENCE OF PropertyGroup, 
 
650
   ... 
 
651
 } 
 
652
 
 
653
PropertyGroup ::= SEQUENCE OF PropertyParm 
 
654
 
 
655
TerminationStateDescriptor ::= SEQUENCE  
 
656
 { 
 
657
   propertyParms        SEQUENCE OF PropertyParm, 
 
658
   eventBufferControl   EventBufferControl OPTIONAL, 
 
659
   serviceState         ServiceState OPTIONAL, 
 
660
   ... 
 
661
 } 
 
662
 
 
663
EventBufferControl ::= ENUMERATED 
 
664
 { 
 
665
   off(0), 
 
666
   lockStep(1), 
 
667
   ... 
 
668
 } 
 
669
 
 
670
ServiceState ::= ENUMERATED 
 
671
 { 
 
672
   test(0), 
 
673
   outOfSvc(1), 
 
674
   inSvc(2), 
 
675
   ... 
 
676
 } 
 
677
 
 
678
MuxDescriptor   ::= SEQUENCE 
 
679
 { 
 
680
   muxType           MuxType, 
 
681
   termList          SEQUENCE OF TerminationID, 
 
682
   nonStandardData   NonStandardData OPTIONAL, 
 
683
   ... 
 
684
 } 
 
685
 
 
686
MuxType ::= ENUMERATED 
 
687
 { 
 
688
   h221(0), 
 
689
   h223(1), 
 
690
   h226(2), 
 
691
   v76(3), 
 
692
   ..., 
 
693
   nx64k(4) 
 
694
 } 
 
695
 
 
696
StreamID ::= INTEGER(0..65535)   -- 16-bit unsigned integer 
 
697
 
 
698
EventsDescriptor ::= SEQUENCE 
 
699
 { 
 
700
   requestID      RequestID OPTIONAL, 
 
701
   -- RequestID must be present if eventList 
 
702
   -- is non empty 
 
703
   eventList      SEQUENCE OF RequestedEvent, 
 
704
   ... 
 
705
 } 
 
706
 
 
707
RequestedEvent ::= SEQUENCE 
 
708
 { 
 
709
   pkgdName       PkgdName, 
 
710
   streamID       StreamID OPTIONAL, 
 
711
   eventAction    RequestedActions OPTIONAL, 
 
712
   evParList      SEQUENCE OF EventParameter, 
 
713
   ... 
 
714
 } 
 
715
 
 
716
RequestedActions ::= SEQUENCE 
 
717
 { 
 
718
   keepActive           BOOLEAN OPTIONAL, 
 
719
   eventDM              EventDM OPTIONAL, 
 
720
   secondEvent          SecondEventsDescriptor OPTIONAL, 
 
721
   signalsDescriptor    SignalsDescriptor OPTIONAL, 
 
722
   ... 
 
723
 } 
 
724
 
 
725
EventDM ::= CHOICE 
 
726
 { 
 
727
   digitMapName   DigitMapName, 
 
728
   digitMapValue  DigitMapValue 
 
729
 } 
 
730
 
 
731
SecondEventsDescriptor ::= SEQUENCE 
 
732
 { 
 
733
   requestID         RequestID OPTIONAL, 
 
734
   eventList         SEQUENCE OF SecondRequestedEvent, 
 
735
   ... 
 
736
 } 
 
737
 
 
738
SecondRequestedEvent ::= SEQUENCE 
 
739
 { 
 
740
   pkgdName          PkgdName, 
 
741
   streamID          StreamID OPTIONAL, 
 
742
   eventAction       SecondRequestedActions OPTIONAL, 
 
743
   evParList         SEQUENCE OF EventParameter, 
 
744
   ... 
 
745
 } 
 
746
 
 
747
SecondRequestedActions ::= SEQUENCE 
 
748
 { 
 
749
   keepActive           BOOLEAN OPTIONAL, 
 
750
   eventDM              EventDM OPTIONAL, 
 
751
   signalsDescriptor    SignalsDescriptor OPTIONAL, 
 
752
   ... 
 
753
 } 
 
754
 
 
755
EventBufferDescriptor ::= SEQUENCE OF EventSpec 
 
756
 
 
757
EventSpec ::= SEQUENCE 
 
758
 { 
 
759
   eventName      EventName, 
 
760
   streamID       StreamID OPTIONAL, 
 
761
   eventParList   SEQUENCE OF EventParameter, 
 
762
   ... 
 
763
 } 
 
764
 
 
765
 
 
766
SignalsDescriptor ::= SEQUENCE OF SignalRequest 
 
767
 
 
768
SignalRequest ::= CHOICE 
 
769
 { 
 
770
   signal         Signal, 
 
771
   seqSigList     SeqSigList, 
 
772
   ... 
 
773
 } 
 
774
 
 
775
SeqSigList ::= SEQUENCE 
 
776
 { 
 
777
   id          INTEGER(0..65535), 
 
778
   signalList  SEQUENCE OF Signal 
 
779
 } 
 
780
 
 
781
Signal ::= SEQUENCE 
 
782
 { 
 
783
   signalName        SignalName, 
 
784
   streamID          StreamID OPTIONAL, 
 
785
   sigType           SignalType OPTIONAL, 
 
786
   duration          INTEGER (0..65535) OPTIONAL, 
 
787
   notifyCompletion  NotifyCompletion OPTIONAL, 
 
788
   keepActive        BOOLEAN OPTIONAL, 
 
789
   sigParList        SEQUENCE OF SigParameter, 
 
790
   ...,
 
791
   direction         SignalDirection OPTIONAL,
 
792
   requestID         RequestID OPTIONAL 
 
793
 } 
 
794
 
 
795
SignalType ::= ENUMERATED 
 
796
 { 
 
797
   brief(0), 
 
798
   onOff(1), 
 
799
   timeOut(2), 
 
800
   ... 
 
801
 } 
 
802
 
 
803
SignalDirection ::= ENUMERATED
 
804
 {
 
805
   internal(0),
 
806
   external(1),
 
807
   both(3),
 
808
   ...
 
809
 }
 
810
 
 
811
SignalName ::= PkgdName 
 
812
 
 
813
NotifyCompletion ::= BIT STRING 
 
814
 { 
 
815
   onTimeOut(0), onInterruptByEvent(1), 
 
816
   onInterruptByNewSignalDescr(2), otherReason(3) 
 
817
 } 
 
818
 
 
819
SigParameter ::= SEQUENCE 
 
820
 { 
 
821
   sigParameterName     Name, 
 
822
   value                Value, 
 
823
   -- For use of extraInfo see the comment related to PropertyParm 
 
824
   extraInfo CHOICE 
 
825
    { 
 
826
      relation Relation, 
 
827
      range    BOOLEAN, 
 
828
      sublist  BOOLEAN 
 
829
    } OPTIONAL, 
 
830
   ... 
 
831
 } 
 
832
 
 
833
-- For an AuditCapReply with all events, the RequestID SHALL be ALL. 
 
834
-- ALL is represented by 0xffffffff. 
 
835
 
 
836
RequestID ::= INTEGER(0..4294967295)   -- 32-bit unsigned integer 
 
837
 
 
838
ModemDescriptor ::= SEQUENCE 
 
839
 { 
 
840
   mtl               SEQUENCE OF ModemType,  
 
841
   mpl               SEQUENCE OF PropertyParm, 
 
842
   nonStandardData   NonStandardData OPTIONAL 
 
843
 } 
 
844
 
 
845
ModemType ::= ENUMERATED 
 
846
 { 
 
847
   v18(0), 
 
848
   v22(1), 
 
849
   v22bis(2), 
 
850
   v32(3), 
 
851
   v32bis(4), 
 
852
   v34(5), 
 
853
   v90(6), 
 
854
   v91(7), 
 
855
   synchISDN(8), 
 
856
   ... 
 
857
 } 
 
858
 
 
859
DigitMapDescriptor ::= SEQUENCE 
 
860
 { 
 
861
   digitMapName   DigitMapName OPTIONAL, 
 
862
   digitMapValue  DigitMapValue OPTIONAL 
 
863
 } 
 
864
 
 
865
DigitMapName ::= Name 
 
866
 
 
867
DigitMapValue ::= SEQUENCE 
 
868
 { 
 
869
   startTimer        INTEGER(0..99) OPTIONAL, 
 
870
   shortTimer        INTEGER(0..99) OPTIONAL, 
 
871
   longTimer         INTEGER(0..99) OPTIONAL, 
 
872
   digitMapBody      IA5String, 
 
873
   -- Units are seconds for start, short and long timers, and 
 
874
   -- hundreds of milliseconds for duration timer. Thus start, 
 
875
   -- short, and long range from 1 to 99 seconds and duration 
 
876
   -- from 100 ms to 9.9 s 
 
877
   -- See A.3 for explanation of digit map syntax 
 
878
   ..., 
 
879
   durationTimer     INTEGER (0..99) OPTIONAL 
 
880
 } 
 
881
 
 
882
ServiceChangeParm ::= SEQUENCE 
 
883
 { 
 
884
   serviceChangeMethod          ServiceChangeMethod, 
 
885
   serviceChangeAddress         ServiceChangeAddress OPTIONAL, 
 
886
   serviceChangeVersion         INTEGER(0..99) OPTIONAL, 
 
887
   serviceChangeProfile         ServiceChangeProfile OPTIONAL, 
 
888
   serviceChangeReason          Value, 
 
889
   -- A serviceChangeReason consists of a numeric reason code 
 
890
   -- and an optional text description. 
 
891
   -- The serviceChangeReason SHALL be a string consisting of  
 
892
   -- a decimal reason code, optionally followed by a single  
 
893
   -- space character and a textual description string. 
 
894
   -- This string is first BER-encoded as an IA5String. 
 
895
   -- The result of this BER-encoding is then encoded as 
 
896
   -- an ASN.1 OCTET STRING type, "double wrapping" the  
 
897
   -- value 
 
898
   -- as was done for package elements. 
 
899
   serviceChangeDelay           INTEGER(0..4294967295) OPTIONAL, 
 
900
   -- 32-bit unsigned integer 
 
901
   serviceChangeMgcId           MId OPTIONAL, 
 
902
   timeStamp                    TimeNotation OPTIONAL, 
 
903
   nonStandardData              NonStandardData OPTIONAL, 
 
904
   ..., 
 
905
   serviceChangeInfo            AuditDescriptor OPTIONAL,
 
906
   serviceChangeIncompleteFlag  NULL OPTIONAL 
 
907
 } 
 
908
 
 
909
ServiceChangeAddress ::= CHOICE 
 
910
 { 
 
911
   portNumber        INTEGER(0..65535),    -- TCP/UDP port number 
 
912
   ip4Address        IP4Address, 
 
913
   ip6Address        IP6Address, 
 
914
   domainName        DomainName, 
 
915
   deviceName        PathName, 
 
916
   mtpAddress        OCTET STRING(SIZE(2..4)), 
 
917
   ... 
 
918
 } 
 
919
 
 
920
ServiceChangeResParm ::= SEQUENCE 
 
921
 { 
 
922
   serviceChangeMgcId      MId OPTIONAL, 
 
923
   serviceChangeAddress    ServiceChangeAddress OPTIONAL, 
 
924
   serviceChangeVersion    INTEGER(0..99) OPTIONAL, 
 
925
   serviceChangeProfile    ServiceChangeProfile OPTIONAL, 
 
926
   timestamp               TimeNotation OPTIONAL, 
 
927
   ... 
 
928
 } 
 
929
 
 
930
ServiceChangeMethod ::= ENUMERATED 
 
931
 { 
 
932
   failover(0), 
 
933
   forced(1), 
 
934
   graceful(2), 
 
935
   restart(3), 
 
936
   disconnected(4), 
 
937
   handOff(5), 
 
938
   ... 
 
939
 } 
 
940
       
 
941
ServiceChangeProfile ::= SEQUENCE 
 
942
 { 
 
943
   profileName    IA5String(SIZE (1..67)) 
 
944
   
 
945
   -- 64 characters for name, 1 for "/", 2 for version to match ABNF 
 
946
 } 
 
947
 
 
948
PackagesDescriptor ::= SEQUENCE OF PackagesItem 
 
949
PackagesItem ::= SEQUENCE 
 
950
 { 
 
951
   packageName       Name, 
 
952
   packageVersion    INTEGER(0..99), 
 
953
   ... 
 
954
 } 
 
955
 
 
956
StatisticsDescriptor ::= SEQUENCE OF StatisticsParameter 
 
957
 
 
958
StatisticsParameter ::= SEQUENCE 
 
959
 { 
 
960
   statName       PkgdName, 
 
961
   statValue      Value OPTIONAL 
 
962
 } 
 
963
 
 
964
NonStandardData ::= SEQUENCE 
 
965
 { 
 
966
   nonStandardIdentifier   NonStandardIdentifier, 
 
967
   data                    OCTET STRING 
 
968
 } 
 
969
 
 
970
NonStandardIdentifier ::= CHOICE 
 
971
 { 
 
972
   object            OBJECT IDENTIFIER, 
 
973
   h221NonStandard   H221NonStandard, 
 
974
   experimental      IA5String(SIZE(8)),  
 
975
   -- first two characters SHOULD be "X-" or "X+" 
 
976
   ... 
 
977
 } 
 
978
 
 
979
H221NonStandard ::= SEQUENCE 
 
980
 {  t35CountryCode1      INTEGER(0..255), 
 
981
    t35CountryCode2      INTEGER(0..255),      -- country, as per T.35 
 
982
    t35Extension         INTEGER(0..255),      -- assigned nationally 
 
983
    manufacturerCode     INTEGER(0..65535), -- assigned nationally 
 
984
    ... 
 
985
 } 
 
986
 
 
987
TimeNotation ::= SEQUENCE 
 
988
 { 
 
989
   date     IA5String(SIZE(8)),  -- yyyymmdd format 
 
990
   time     IA5String(SIZE(8))   -- hhmmssss format 
 
991
   -- per ISO 8601:1988 
 
992
 } 
 
993
 
 
994
Value ::= SEQUENCE OF OCTET STRING 
 
995
 
 
996
END