603b569d445d216145ff90c54a219c01c2769d6c
[asn2quickder] / testdata / H245v1.asn1
1 MULTIMEDIA-SYSTEM-CONTROL DEFINITIONS AUTOMATIC TAGS ::=
2 BEGIN
3
4 -- Export all symbols
5
6 -- ===================================================================================
7 -- Top level Messages
8 -- ===================================================================================
9
10 MultimediaSystemControlMessage  ::=CHOICE
11 {
12         request RequestMessage,
13         response        ResponseMessage,
14         command CommandMessage,
15         indication      IndicationMessage,
16         ...
17 }
18
19 -- A RequestMessage results in action and requires an immediate response
20
21 RequestMessage  ::=CHOICE
22 {
23         nonStandard     NonStandardMessage,
24
25         masterSlaveDetermination        MasterSlaveDetermination,
26
27         terminalCapabilitySet   TerminalCapabilitySet,
28
29         openLogicalChannel      OpenLogicalChannel,
30         closeLogicalChannel     CloseLogicalChannel,
31
32         requestChannelClose     RequestChannelClose,
33
34         multiplexEntrySend      MultiplexEntrySend,
35
36         requestMultiplexEntry   RequestMultiplexEntry,
37
38         requestMode     RequestMode,
39
40         roundTripDelayRequest   RoundTripDelayRequest,
41
42         maintenanceLoopRequest  MaintenanceLoopRequest,
43
44         ...
45 }
46
47 -- A ResponseMessage is the response to a request Message
48
49 ResponseMessage ::=CHOICE
50 {
51         nonStandard     NonStandardMessage,
52
53         masterSlaveDeterminationAck     MasterSlaveDeterminationAck,
54         masterSlaveDeterminationReject  MasterSlaveDeterminationReject,
55
56         terminalCapabilitySetAck        TerminalCapabilitySetAck,
57         terminalCapabilitySetReject     TerminalCapabilitySetReject,
58
59         openLogicalChannelAck   OpenLogicalChannelAck,
60         openLogicalChannelReject        OpenLogicalChannelReject,
61         closeLogicalChannelAck  CloseLogicalChannelAck,
62
63         requestChannelCloseAck  RequestChannelCloseAck,
64         requestChannelCloseReject       RequestChannelCloseReject,
65
66         multiplexEntrySendAck   MultiplexEntrySendAck,
67         multiplexEntrySendReject        MultiplexEntrySendReject,
68
69         requestMultiplexEntryAck        RequestMultiplexEntryAck,
70         requestMultiplexEntryReject     RequestMultiplexEntryReject,
71
72         requestModeAck  RequestModeAck,
73         requestModeReject       RequestModeReject,
74
75         roundTripDelayResponse  RoundTripDelayResponse,
76
77         maintenanceLoopAck      MaintenanceLoopAck,
78         maintenanceLoopReject   MaintenanceLoopReject,
79
80         ...
81 }
82
83 -- A CommandMessage requires action, but no explicit response
84
85 CommandMessage  ::=CHOICE
86 {
87         nonStandard     NonStandardMessage,
88
89         maintenanceLoopOffCommand       MaintenanceLoopOffCommand,
90
91         sendTerminalCapabilitySet       SendTerminalCapabilitySet,
92
93         encryptionCommand       EncryptionCommand,
94
95         flowControlCommand      FlowControlCommand,
96
97         endSessionCommand       EndSessionCommand,
98
99         miscellaneousCommand    MiscellaneousCommand,
100
101         ...
102 }
103
104 -- An IndicationMessage is information that does not require action or response
105
106 IndicationMessage       ::=CHOICE
107 {
108         nonStandard     NonStandardMessage,
109
110         functionNotSupported    FunctionNotSupported,
111
112         masterSlaveDeterminationRelease MasterSlaveDeterminationRelease,
113
114         terminalCapabilitySetRelease    TerminalCapabilitySetRelease,
115
116         openLogicalChannelConfirm       OpenLogicalChannelConfirm,
117
118         requestChannelCloseRelease      RequestChannelCloseRelease,
119
120         multiplexEntrySendRelease       MultiplexEntrySendRelease,
121
122         requestMultiplexEntryRelease    RequestMultiplexEntryRelease,
123
124         requestModeRelease      RequestModeRelease,
125
126         miscellaneousIndication MiscellaneousIndication,
127
128         jitterIndication        JitterIndication,
129
130         h223SkewIndication      H223SkewIndication,
131
132         newATMVCIndication      NewATMVCIndication,
133
134         userInput       UserInputIndication,
135         ...
136 }
137
138 -- SequenceNumber is defined here as it is used in a number of Messages
139 SequenceNumber  ::=INTEGER (0..255)
140
141 -- ===================================================================================
142 -- Non standard Message definitions
143 -- ===================================================================================
144
145 NonStandardMessage      ::=SEQUENCE
146 {
147         nonStandardData NonStandardParameter,
148         ...
149 }
150
151 NonStandardParameter    ::=SEQUENCE
152 {
153         nonStandardIdentifier   NonStandardIdentifier,
154         data            OCTET STRING
155 }
156
157 NonStandardIdentifier   ::=CHOICE
158 {
159         object          OBJECT IDENTIFIER,
160         h221NonStandard SEQUENCE
161         {
162                 t35CountryCode  INTEGER (0..255),       -- country, per T.35
163                 t35Extension    INTEGER (0..255),       -- assigned nationally
164                 manufacturerCode        INTEGER (0..65535)      -- assigned nationally
165         }
166 }
167
168 -- ===================================================================================
169 -- Master-slave determination definitions
170 -- ===================================================================================
171
172 MasterSlaveDetermination        ::=SEQUENCE
173 {
174         terminalType    INTEGER (0..255),
175         statusDeterminationNumber       INTEGER (0..16777215),
176         ...
177 }
178
179 MasterSlaveDeterminationAck     ::=SEQUENCE
180 {
181         decision        CHOICE
182         {
183                 master  NULL,
184                 slave   NULL
185         },
186         ...
187 }
188
189 MasterSlaveDeterminationReject  ::=SEQUENCE
190 {
191         cause           CHOICE
192         {
193                 identicalNumbers        NULL,
194                 ...
195         },
196         ...
197 }
198
199 MasterSlaveDeterminationRelease ::=SEQUENCE
200 {
201         ...
202 }
203
204
205 -- ===================================================================================
206 -- Capability exchange definitions
207 -- ===================================================================================
208
209 TerminalCapabilitySet   ::=SEQUENCE
210 {
211         sequenceNumber  SequenceNumber,
212
213         protocolIdentifier      OBJECT IDENTIFIER,
214                                 -- shall be set to the value
215                                 -- {itu-t (0) recommendation (0) h (8) 245 version (0) 1}
216
217         multiplexCapability     MultiplexCapability OPTIONAL,
218
219         capabilityTable SET SIZE (1..256) OF CapabilityTableEntry OPTIONAL,
220
221         capabilityDescriptors   SET SIZE (1..256) OF CapabilityDescriptor OPTIONAL,
222
223         ...
224 }
225
226 V75Capability   ::=SEQUENCE
227 {
228         audioHeader     BOOLEAN,
229         ...
230 }
231
232 CapabilityTableEntry    ::=SEQUENCE
233 {
234         capabilityTableEntryNumber      CapabilityTableEntryNumber,
235         capability      Capability OPTIONAL
236 }
237
238 CapabilityDescriptor    ::=SEQUENCE
239 {
240         capabilityDescriptorNumber      CapabilityDescriptorNumber,
241         simultaneousCapabilities        SET SIZE (1..256) OF AlternativeCapabilitySet OPTIONAL
242 }
243
244 AlternativeCapabilitySet        ::=SEQUENCE SIZE (1..256) OF CapabilityTableEntryNumber
245
246 CapabilityTableEntryNumber      ::=INTEGER (1..65535)
247
248 CapabilityDescriptorNumber      ::=INTEGER (0..255)
249
250 TerminalCapabilitySetAck        ::=SEQUENCE
251 {
252         sequenceNumber  SequenceNumber,
253         ...
254 }
255
256 TerminalCapabilitySetReject     ::=SEQUENCE
257 {
258         sequenceNumber  SequenceNumber,
259         cause           CHOICE
260         {
261                 unspecified     NULL,
262                 undefinedTableEntryUsed NULL,
263                 descriptorCapacityExceeded      NULL,
264                 tableEntryCapacityExceeded      CHOICE
265                 {
266                         highestEntryNumberProcessed     CapabilityTableEntryNumber,
267                         noneProcessed   NULL
268                 },
269                 ...
270         },
271         ...
272 }
273
274 TerminalCapabilitySetRelease    ::=SEQUENCE
275 {
276         ...
277 }
278
279 -- ===================================================================================
280 -- Capability exchange definitions: top level capability description
281 -- ===================================================================================
282
283 Capability              ::=CHOICE
284 {
285         nonStandard     NonStandardParameter,
286
287         receiveVideoCapability  VideoCapability,
288         transmitVideoCapability VideoCapability,
289         receiveAndTransmitVideoCapability       VideoCapability,
290
291         receiveAudioCapability  AudioCapability,
292         transmitAudioCapability AudioCapability,
293         receiveAndTransmitAudioCapability       AudioCapability,
294
295         receiveDataApplicationCapability        DataApplicationCapability,
296         transmitDataApplicationCapability       DataApplicationCapability,
297         receiveAndTransmitDataApplicationCapability     DataApplicationCapability,
298
299         h233EncryptionTransmitCapability        BOOLEAN,
300         h233EncryptionReceiveCapability SEQUENCE
301         {
302                 h233IVResponseTime      INTEGER (0..255),       -- units milliseconds   
303                 ...
304         },
305         ...
306 }
307
308 -- ===================================================================================
309 -- Capability exchange definitions: Multiplex capabilities
310 -- ===================================================================================
311
312 MultiplexCapability     ::=CHOICE
313 {
314         nonStandard     NonStandardParameter,
315         h222Capability  H222Capability,
316         h223Capability  H223Capability,
317         v76Capability   V76Capability,
318         ...
319 }
320
321 H222Capability  ::= SEQUENCE
322 {
323         numberOfVCs     INTEGER (1..256),
324         vcCapability    SET OF VCCapability,
325         ...
326 }
327
328 VCCapability    ::=SEQUENCE
329 {
330         aal1            SEQUENCE
331         {
332                 nullClockRecovery       BOOLEAN,
333                 srtsClockRecovery       BOOLEAN,
334                 adaptiveClockRecovery   BOOLEAN,
335                 nullErrorCorrection     BOOLEAN,
336                 longInterleaver BOOLEAN,
337                 shortInterleaver        BOOLEAN,
338                 errorCorrectionOnly     BOOLEAN,
339                 structuredDataTransfer  BOOLEAN,
340                 partiallyFilledCells    BOOLEAN,
341                 ...
342         } OPTIONAL,
343         aal5            SEQUENCE
344         {
345                 forwardMaximumSDUSize   INTEGER (0..65535),     -- units octets
346                 backwardMaximumSDUSize  INTEGER (0..65535),     -- units octets
347                 ...
348         } OPTIONAL,
349         transportStream BOOLEAN,
350         programStream   BOOLEAN,
351         availableBitRates       SEQUENCE
352         {
353                 type    CHOICE
354                 {
355                         singleBitRate   INTEGER (1..65535),     -- units 64 kbits per second
356                         rangeOfBitRates SEQUENCE
357                         {
358                                 lowerBitRate    INTEGER (1..65535),     -- units 64 kbits per second
359                                 higherBitRate   INTEGER (1..65535)      -- units 64 kbits per second
360                         }
361                 },
362                 ...
363         },
364         ...
365 }
366
367 H223Capability  ::=SEQUENCE
368 {
369         transportWithI-frames   BOOLEAN,        -- I-frame transport of H.245
370
371         videoWithAL1    BOOLEAN,
372         videoWithAL2    BOOLEAN,
373         videoWithAL3    BOOLEAN,
374         audioWithAL1    BOOLEAN,
375         audioWithAL2    BOOLEAN,
376         audioWithAL3    BOOLEAN,
377         dataWithAL1     BOOLEAN,
378         dataWithAL2     BOOLEAN,
379         dataWithAL3     BOOLEAN,
380
381         maximumAl2SDUSize       INTEGER (0..65535),     -- units octets
382         maximumAl3SDUSize       INTEGER (0..65535),     -- units octets
383
384         maximumDelayJitter      INTEGER (0..1023),      -- units milliseconds
385
386         h223MultiplexTableCapability    CHOICE
387         {
388                 basic   NULL,
389                 enhanced        SEQUENCE
390                 {
391                         maximumNestingDepth     INTEGER (1..15),
392                         maximumElementListSize  INTEGER (2..255),
393                         maximumSubElementListSize       INTEGER (2..255),
394                         ...
395                 }
396         },
397         ...
398 }
399
400 V76Capability   ::=SEQUENCE
401 {
402         suspendResumeCapabilitywAddress BOOLEAN,
403         suspendResumeCapabilitywoAddress        BOOLEAN,
404         rejCapability   BOOLEAN,
405         sREJCapability  BOOLEAN,
406         mREJCapability  BOOLEAN,
407         crc8bitCapability       BOOLEAN,
408         crc16bitCapability      BOOLEAN, 
409         crc32bitCapability      BOOLEAN,
410         uihCapability   BOOLEAN,
411         numOfDLCS       INTEGER (2..8191),
412         twoOctetAddressFieldCapability  BOOLEAN,
413         loopBackTestCapability  BOOLEAN,
414         n401Capability  INTEGER (1..4095),
415         maxWindowSizeCapability INTEGER (1..127),
416         v75Capability   V75Capability,
417         ...
418 }
419
420 -- ===================================================================================
421 -- Capability exchange definitions: Video capabilities
422 -- ===================================================================================
423
424 VideoCapability ::=CHOICE
425 {
426         nonStandard     NonStandardParameter ,
427         h261VideoCapability     H261VideoCapability,
428         h262VideoCapability     H262VideoCapability,
429         h263VideoCapability     H263VideoCapability,
430         is11172VideoCapability  IS11172VideoCapability,
431         ...
432 }
433
434 H261VideoCapability     ::=SEQUENCE
435 {
436         qcifMPI INTEGER (1..4) OPTIONAL,        -- units 1/29.97 Hz
437         cifMPI          INTEGER (1..4) OPTIONAL,        -- units 1/29.97 Hz
438         temporalSpatialTradeOffCapability       BOOLEAN,
439         maxBitRate      INTEGER (1..19200),     -- units of 100 bits/s
440         stillImageTransmission  BOOLEAN,        -- annex D of H.261
441         ...
442 }
443
444 H262VideoCapability     ::=SEQUENCE
445 {
446         profileAndLevel-SPatML  BOOLEAN,
447         profileAndLevel-MPatLL  BOOLEAN,
448         profileAndLevel-MPatML  BOOLEAN,
449         profileAndLevel-MPatH-14        BOOLEAN,
450         profileAndLevel-MPatHL  BOOLEAN,
451         profileAndLevel-SNRatLL BOOLEAN,
452         profileAndLevel-SNRatML BOOLEAN,
453         profileAndLevel-SpatialatH-14   BOOLEAN,
454         profileAndLevel-HPatML  BOOLEAN,
455         profileAndLevel-HPatH-14        BOOLEAN,
456         profileAndLevel-HPatHL  BOOLEAN,
457         videoBitRate    INTEGER (0.. 1073741823) OPTIONAL,      -- units 400 bits/sec
458         vbvBufferSize   INTEGER (0.. 262143) OPTIONAL,  -- units 16384 bits
459         samplesPerLine  INTEGER (0..16383) OPTIONAL,    -- units samples/line
460         linesPerFrame   INTEGER (0..16383) OPTIONAL,    -- units lines/frame
461         framesPerSecond INTEGER (0..15) OPTIONAL,       -- frame_rate_code
462         luminanceSampleRate     INTEGER (0..4294967295) OPTIONAL,       -- units samples/sec
463         ...
464 }
465
466 H263VideoCapability     ::=SEQUENCE
467 {
468         sqcifMPI        INTEGER (1..32) OPTIONAL,       -- units 1/29.97 Hz
469         qcifMPI INTEGER (1..32) OPTIONAL,       -- units 1/29.97 Hz
470         cifMPI          INTEGER (1..32) OPTIONAL,       -- units 1/29.97 Hz
471         cif4MPI INTEGER (1..32) OPTIONAL,       -- units 1/29.97 Hz
472         cif16MPI        INTEGER (1..32) OPTIONAL,       -- units 1/29.97 Hz
473         maxBitRate      INTEGER (1..192400),    -- units 100 bits/s
474         unrestrictedVector      BOOLEAN,
475         arithmeticCoding        BOOLEAN,
476         advancedPrediction      BOOLEAN,
477         pbFrames        BOOLEAN,
478         temporalSpatialTradeOffCapability       BOOLEAN,
479         hrd-B           INTEGER (0..524287) OPTIONAL,   -- units 128 bits
480         bppMaxKb        INTEGER (0..65535) OPTIONAL,    -- units 1024 bits
481         ...
482 }
483
484 IS11172VideoCapability  ::=SEQUENCE
485 {
486         constrainedBitstream    BOOLEAN,
487         videoBitRate    INTEGER (0.. 1073741823) OPTIONAL,      -- units 400 bits/sec
488         vbvBufferSize   INTEGER (0.. 262143) OPTIONAL,  -- units 16384 bits
489         samplesPerLine  INTEGER (0..16383) OPTIONAL,    -- units samples/line
490         linesPerFrame   INTEGER (0..16383) OPTIONAL,    -- units lines/frame
491         pictureRate     INTEGER (0..15) OPTIONAL,       
492         luminanceSampleRate     INTEGER (0..4294967295) OPTIONAL,       -- units samples/sec
493         ...
494 }
495
496 -- ===================================================================================
497 -- Capability exchange definitions: Audio capabilities
498 -- ===================================================================================
499
500 -- For an H.222 multiplex, the integers indicate the size of the STD buffer in units of 256 octets
501 -- For an H.223 multiplex, the integers indicate the maximum number of audio frames per AL-SDU
502
503 AudioCapability ::=CHOICE
504 {
505         nonStandard     NonStandardParameter,
506         g711Alaw64k     INTEGER (1..256),
507         g711Alaw56k     INTEGER (1..256),
508         g711Ulaw64k     INTEGER (1..256),
509         g711Ulaw56k     INTEGER (1..256),
510
511         g722-64k        INTEGER (1..256),
512         g722-56k        INTEGER (1..256),
513         g722-48k        INTEGER (1..256),
514
515         g7231           SEQUENCE
516         {
517                 maxAl-sduAudioFrames    INTEGER (1..256),
518                 silenceSuppression      BOOLEAN
519         },
520                                         g728            INTEGER (1..256),
521         g729            INTEGER (1..256),
522         g729AnnexA      INTEGER (1..256),
523         is11172AudioCapability  IS11172AudioCapability,
524         is13818AudioCapability  IS13818AudioCapability,
525          ...
526 }
527
528 IS11172AudioCapability  ::=SEQUENCE
529 {
530         audioLayer1     BOOLEAN,
531         audioLayer2     BOOLEAN,
532         audioLayer3     BOOLEAN,
533
534         audioSampling32k        BOOLEAN,
535         audioSampling44k1       BOOLEAN,
536         audioSampling48k        BOOLEAN,
537
538         singleChannel   BOOLEAN,
539         twoChannels     BOOLEAN,
540
541         bitRate INTEGER (1..448),       -- units kbits/sec
542         ...
543 }
544
545 IS13818AudioCapability  ::=SEQUENCE
546 {
547         audioLayer1     BOOLEAN,
548         audioLayer2     BOOLEAN,
549         audioLayer3     BOOLEAN,
550
551         audioSampling16k        BOOLEAN,
552         audioSampling22k05      BOOLEAN,
553         audioSampling24k        BOOLEAN,
554         audioSampling32k        BOOLEAN,
555         audioSampling44k1       BOOLEAN,
556         audioSampling48k        BOOLEAN,
557
558         singleChannel   BOOLEAN,
559         twoChannels     BOOLEAN,
560         threeChannels2-1        BOOLEAN,
561         threeChannels3-0        BOOLEAN,
562         fourChannels2-0-2-0     BOOLEAN,
563         fourChannels2-2 BOOLEAN,
564         fourChannels3-1 BOOLEAN,
565         fiveChannels3-0-2-0     BOOLEAN,
566         fiveChannels3-2 BOOLEAN,
567
568         lowFrequencyEnhancement BOOLEAN,
569
570         multilingual    BOOLEAN,
571
572         bitRate INTEGER (1..1130),      -- units kbits/sec
573         ...
574 }
575
576 -- ===================================================================================
577 -- Capability exchange definitions: Data capabilities
578 -- ===================================================================================
579
580 DataApplicationCapability       ::=SEQUENCE
581 {
582         application     CHOICE
583         {
584                 nonStandard     NonStandardParameter,
585                 t120    DataProtocolCapability,
586                 dsm-cc  DataProtocolCapability,
587                 userData        DataProtocolCapability,
588                 t84     SEQUENCE
589                 {
590                         t84Protocol     DataProtocolCapability,
591                         t84Profile      T84Profile
592                 },
593                 t434    DataProtocolCapability,
594                 h224    DataProtocolCapability,
595                 nlpid   SEQUENCE
596                 {
597                         nlpidProtocol   DataProtocolCapability,
598                         nlpidData       OCTET STRING
599                 },
600                 dsvdControl     NULL,
601                 h222DataPartitioning    DataProtocolCapability,
602                 ...
603         },
604         maxBitRate      INTEGER (0..4294967295),        -- units 100 bits/sec
605         ...
606 }
607
608 DataProtocolCapability  ::=CHOICE
609 {
610         nonStandard     NonStandardParameter,
611         v14buffered     NULL,
612         v42lapm NULL,   -- may negotiate to V.42bis
613         hdlcFrameTunnelling     NULL,
614         h310SeparateVCStack     NULL,
615         h310SingleVCStack       NULL,
616         transparent     NULL,
617         ...
618 }
619
620 T84Profile              ::=CHOICE
621 {
622         t84Unrestricted NULL,
623         t84Restricted   SEQUENCE
624         {
625                 qcif    BOOLEAN,
626                 cif             BOOLEAN,
627                 ccir601Seq      BOOLEAN,
628                 ccir601Prog     BOOLEAN,
629                 hdtvSeq BOOLEAN,
630                 hdtvProg        BOOLEAN,
631
632                 g3FacsMH200x100 BOOLEAN,
633                 g3FacsMH200x200 BOOLEAN,
634                 g4FacsMMR200x100        BOOLEAN,
635                 g4FacsMMR200x200        BOOLEAN,
636                 jbig200x200Seq  BOOLEAN,
637                 jbig200x200Prog BOOLEAN,
638                 jbig300x300Seq  BOOLEAN,
639                 jbig300x300Prog BOOLEAN,
640
641                 digPhotoLow     BOOLEAN,
642                 digPhotoMedSeq  BOOLEAN,
643                 digPhotoMedProg BOOLEAN,
644                 digPhotoHighSeq BOOLEAN,
645                 digPhotoHighProg        BOOLEAN,
646
647                 ...
648         }
649 }
650
651
652 -- ===================================================================================
653 -- Logical channel signalling definitions
654 -- ===================================================================================
655
656 -- 'Forward' is used to refer to transmission in the direction from the terminal making the
657 -- original request for a logical channel to the other terminal, and 'reverse' is used to refer
658 -- to the opposite direction of transmission, in the case of a bi-directional channel request.
659
660 OpenLogicalChannel      ::=SEQUENCE
661 {
662         forwardLogicalChannelNumber     LogicalChannelNumber,
663
664         forwardLogicalChannelParameters SEQUENCE
665         {
666                 portNumber      INTEGER (0..65535) OPTIONAL,
667                 dataType        DataType,
668                 multiplexParameters     CHOICE
669                 {
670                         h222LogicalChannelParameters    H222LogicalChannelParameters,
671                         h223LogicalChannelParameters    H223LogicalChannelParameters,
672                         v76LogicalChannelParameters V76LogicalChannelParameters,
673                         ...
674                 },
675                 ...
676         },
677
678         -- Used to specify the reverse channel for bi-directional open request
679
680         reverseLogicalChannelParameters SEQUENCE
681         {
682                 dataType        DataType,
683                 multiplexParameters     CHOICE
684                 {
685                         -- H.222 parameters are never present in reverse direction
686                         h223LogicalChannelParameters    H223LogicalChannelParameters,
687                         v76LogicalChannelParameters     V76LogicalChannelParameters,
688                         ...
689                 } OPTIONAL,     -- Not present for H.222
690                 ...
691         } OPTIONAL,     -- Not present for uni-directional channel request
692         ...
693 }
694
695 LogicalChannelNumber    ::=INTEGER (1..65535)
696
697 V75Parameters   ::= SEQUENCE
698 {
699         audioHeaderPresent      BOOLEAN,
700          ...
701 }       
702
703
704
705 DataType                ::=CHOICE
706 {
707         nonStandard     NonStandardParameter,
708         nullData        NULL,
709         videoData       VideoCapability,        
710         audioData       AudioCapability,
711         data            DataApplicationCapability,
712         encryptionData  EncryptionMode,
713         ...
714 }
715
716
717 H222LogicalChannelParameters    ::=SEQUENCE
718 {
719         resourceID      INTEGER (0..65535),
720         subChannelID    INTEGER (0..8191),
721         pcr-pid INTEGER (0..8191) OPTIONAL,
722         programDescriptors      OCTET STRING OPTIONAL,
723         streamDescriptors       OCTET STRING OPTIONAL,
724         ...
725 }
726
727 H223LogicalChannelParameters    ::=SEQUENCE
728 {
729         adaptationLayerType     CHOICE
730         {
731                 nonStandard     NonStandardParameter,
732                 al1Framed       NULL,
733                 al1NotFramed    NULL,
734                 al2WithoutSequenceNumbers       NULL,
735                 al2WithSequenceNumbers  NULL,
736                 al3             SEQUENCE
737                 {
738                         controlFieldOctets      INTEGER (0..2),
739                         sendBufferSize  INTEGER (0..16777215)   -- units octets
740                 },
741
742                 ...
743         },
744
745         segmentableFlag BOOLEAN,
746         ...
747 }       
748
749 V76LogicalChannelParameters     ::=SEQUENCE
750 {
751         hdlcParameters  V76HDLCParameters,
752         suspendResume   CHOICE
753         { 
754                 wAddress        NULL,
755                 woAddress       NULL,
756                 ...
757         },
758         uIH                     BOOLEAN,
759         mode            CHOICE
760         {
761                 eRM     SEQUENCE
762                 {
763                         windowSize      INTEGER (1..127) ,
764                         recovery        CHOICE
765                         {
766                                 rej     NULL,
767                                 sREJ    NULL,
768                                 mSREJ   NULL,
769                                 ...
770                         },
771                         ...
772                 },
773                 uNERM   NULL,
774                 ...
775         },
776         v75Parameters   V75Parameters,
777         ...
778 }
779
780 V76HDLCParameters       ::=SEQUENCE
781 {
782         crcLength       CRCLength,
783         n401            INTEGER (1..127),
784         loopbackTestProcedure   BOOLEAN,
785                 ...
786 }
787
788
789
790 CRCLength       ::=CHOICE
791 {
792         crc8bit         NULL,
793         crc16bit        NULL,
794         crc32bit        NULL,
795         ...
796 }
797
798 OpenLogicalChannelAck   ::=SEQUENCE
799 {
800         forwardLogicalChannelNumber     LogicalChannelNumber,
801
802         reverseLogicalChannelParameters SEQUENCE
803         {
804                 reverseLogicalChannelNumber     LogicalChannelNumber,
805                 portNumber      INTEGER (0..65535) OPTIONAL,
806                 multiplexParameters     CHOICE
807                 {
808                         h222LogicalChannelParameters    H222LogicalChannelParameters,
809                         -- H.223 parameters are never present in reverse direction
810                         ...
811                 } OPTIONAL,     -- Not present for H.223
812                 ...
813
814         } OPTIONAL,     -- Not present for uni-directional channel request
815         ...
816 }
817
818 OpenLogicalChannelReject        ::=SEQUENCE
819 {
820         forwardLogicalChannelNumber     LogicalChannelNumber,
821         cause           CHOICE
822         {
823                 unspecified     NULL,
824                 unsuitableReverseParameters     NULL,
825                 dataTypeNotSupported    NULL,
826                 dataTypeNotAvailable    NULL,
827                 unknownDataType NULL,
828                 dataTypeALCombinationNotSupported       NULL,
829                 ...
830         },
831         ...
832 }
833
834 OpenLogicalChannelConfirm       ::=SEQUENCE
835 {
836         forwardLogicalChannelNumber     LogicalChannelNumber,
837         ...
838 }
839
840 CloseLogicalChannel     ::=SEQUENCE
841 {
842         forwardLogicalChannelNumber     LogicalChannelNumber,
843         source          CHOICE
844         {
845                 user    NULL,
846                 lcse    NULL
847         },
848         ...
849 }
850
851 CloseLogicalChannelAck  ::=SEQUENCE
852 {
853         forwardLogicalChannelNumber     LogicalChannelNumber,
854         ...
855 }
856
857 RequestChannelClose     ::=SEQUENCE
858 {
859         forwardLogicalChannelNumber     LogicalChannelNumber,
860         ...
861 }
862
863 RequestChannelCloseAck  ::=SEQUENCE
864 {
865         forwardLogicalChannelNumber     LogicalChannelNumber,
866         ...
867 }
868
869 RequestChannelCloseReject       ::=SEQUENCE
870 {
871         forwardLogicalChannelNumber     LogicalChannelNumber,
872         cause           CHOICE
873         {
874                 unspecified     NULL,
875                 ...
876         },
877         ...
878 }
879
880 RequestChannelCloseRelease      ::=SEQUENCE
881 {
882         forwardLogicalChannelNumber     LogicalChannelNumber,
883         ...
884 }
885
886
887 -- ===================================================================================
888 -- H.223 multiplex table definitions
889 -- ===================================================================================
890
891 MultiplexEntrySend      ::=SEQUENCE
892 {
893         sequenceNumber  SequenceNumber,
894         multiplexEntryDescriptors       SET SIZE (1..15) OF MultiplexEntryDescriptor,
895         ...
896 }
897
898 MultiplexEntryDescriptor        ::=SEQUENCE
899 {
900         multiplexTableEntryNumber       MultiplexTableEntryNumber,
901         elementList     SEQUENCE SIZE (1..256) OF MultiplexElement OPTIONAL
902 }
903
904 MultiplexElement        ::=SEQUENCE
905 {
906         type            CHOICE
907         {
908                 logicalChannelNumber    INTEGER(0..65535),
909                 subElementList  SEQUENCE SIZE (2..255) OF MultiplexElement
910         },
911         repeatCount     CHOICE
912         {
913                 finite  INTEGER (1..65535),     -- repeats of type
914                 untilClosingFlag        NULL    -- used for last element 
915         }
916 }
917
918 MultiplexTableEntryNumber       ::=INTEGER (1..15)
919
920 MultiplexEntrySendAck   ::=SEQUENCE
921 {
922         sequenceNumber  SequenceNumber,
923         multiplexTableEntryNumber       SET SIZE (1..15) OF MultiplexTableEntryNumber,
924         ...
925 }
926
927 MultiplexEntrySendReject        ::=SEQUENCE
928 {
929         sequenceNumber  SequenceNumber,
930         rejectionDescriptions   SET SIZE (1..15) OF MultiplexEntryRejectionDescriptions,
931         ...
932 }
933
934 MultiplexEntryRejectionDescriptions     ::=SEQUENCE
935 {
936         multiplexTableEntryNumber       MultiplexTableEntryNumber,
937         cause           CHOICE
938         {
939                 unspecifiedCause        NULL,
940                 descriptorTooComplex    NULL,
941                 ...
942         },
943         ...
944 }
945
946 MultiplexEntrySendRelease       ::=SEQUENCE
947 {
948         multiplexTableEntryNumber       SET SIZE (1..15) OF MultiplexTableEntryNumber,
949         ...
950 }
951
952 RequestMultiplexEntry   ::=SEQUENCE
953 {
954         entryNumbers    SET SIZE (1..15) OF MultiplexTableEntryNumber,
955         ...
956 }
957
958 RequestMultiplexEntryAck        ::=SEQUENCE
959 {
960         entryNumbers    SET SIZE (1..15) OF MultiplexTableEntryNumber,
961         ...
962 }
963
964 RequestMultiplexEntryReject     ::=SEQUENCE
965 {
966         entryNumbers    SET SIZE (1..15) OF MultiplexTableEntryNumber,
967         rejectionDescriptions   SET SIZE (1..15) OF RequestMultiplexEntryRejectionDescriptions,
968         ...
969 }
970
971 RequestMultiplexEntryRejectionDescriptions      ::=SEQUENCE
972 {
973         multiplexTableEntryNumber       MultiplexTableEntryNumber,
974         cause           CHOICE
975         {
976                 unspecifiedCause        NULL,
977                 ...
978         },
979         ...
980 }
981
982 RequestMultiplexEntryRelease    ::=SEQUENCE
983 {
984         entryNumbers    SET SIZE (1..15) OF MultiplexTableEntryNumber,
985         ...
986 }
987
988
989 -- ===================================================================================
990 -- Request mode definitions
991 -- ===================================================================================
992
993 -- RequestMode is a list, in order or preference, of modes that a terminal would like
994 -- to have transmitted to it.
995
996 RequestMode     ::=SEQUENCE
997 {
998         sequenceNumber  SequenceNumber,
999         requestedModes  SEQUENCE SIZE (1..256) OF ModeDescription,
1000         ...
1001 }
1002
1003 RequestModeAck  ::=SEQUENCE
1004 {
1005         sequenceNumber  SequenceNumber,
1006         response        CHOICE
1007         {
1008                 willTransmitMostPreferredMode   NULL,
1009                 willTransmitLessPreferredMode   NULL,
1010                 ...
1011         },
1012         ...
1013 }
1014
1015 RequestModeReject       ::=SEQUENCE
1016 {
1017         sequenceNumber  SequenceNumber,
1018         cause           CHOICE
1019         {
1020                 modeUnavailable NULL,
1021                 multipointConstraint    NULL,
1022                 requestDenied   NULL,
1023                 ...
1024         },
1025         ...
1026 }
1027
1028 RequestModeRelease      ::=SEQUENCE
1029 {
1030         ...
1031 }
1032
1033 -- ===================================================================================
1034 -- Request mode definitions: Mode description
1035 -- ===================================================================================
1036
1037 ModeDescription ::=SET SIZE (1..256) OF ModeElement
1038
1039 ModeElement     ::= SEQUENCE
1040 {
1041         type            CHOICE
1042         {
1043                 nonStandard     NonStandardParameter,
1044                 videoMode       VideoMode,
1045                 audioMode       AudioMode,
1046                 dataMode        DataMode,
1047                 encryptionMode  EncryptionMode,
1048                 ...
1049         },
1050
1051         h223ModeParameters      H223ModeParameters OPTIONAL,
1052         ...
1053 }
1054
1055 H223ModeParameters      ::=SEQUENCE
1056 {
1057         adaptationLayerType     CHOICE
1058         {
1059                 nonStandard     NonStandardParameter,
1060                 al1Framed       NULL,
1061                 al1NotFramed    NULL,
1062                 al2WithoutSequenceNumbers       NULL,
1063                 al2WithSequenceNumbers  NULL,
1064                 al3             SEQUENCE
1065                 {
1066                         controlFieldOctets      INTEGER(0..2),
1067                         sendBufferSize  INTEGER(0..16777215)    -- units octets
1068                 },
1069
1070                 ...
1071         },
1072
1073         segmentableFlag BOOLEAN,
1074         ...
1075 }
1076
1077  
1078
1079 -- ===================================================================================
1080 -- Request mode definitions: Video modes
1081 -- ===================================================================================
1082
1083 VideoMode               ::=CHOICE
1084 {
1085         nonStandard     NonStandardParameter,
1086         h261VideoMode   H261VideoMode,
1087         h262VideoMode   H262VideoMode,
1088         h263VideoMode   H263VideoMode,
1089         is11172VideoMode        IS11172VideoMode,
1090         ...
1091 }
1092
1093 H261VideoMode   ::=SEQUENCE
1094 {
1095         resolution      CHOICE
1096         {
1097                 qcif    NULL,
1098                 cif             NULL
1099         },
1100         bitRate INTEGER (1..19200),     -- units 100 bits/s
1101         stillImageTransmission  BOOLEAN,
1102         ...
1103 }
1104
1105 H262VideoMode   ::=SEQUENCE
1106 {
1107         profileAndLevel CHOICE
1108         {
1109                 profileAndLevel-SPatML  NULL,
1110                 profileAndLevel-MPatLL  NULL,
1111                 profileAndLevel-MPatML  NULL,
1112                 profileAndLevel-MPatH-14        NULL,
1113                 profileAndLevel-MPatHL  NULL,
1114                 profileAndLevel-SNRatLL NULL,
1115                 profileAndLevel-SNRatML NULL,
1116                 profileAndLevel-SpatialatH-14   NULL,
1117                 profileAndLevel-HPatML  NULL,
1118                 profileAndLevel-HPatH-14        NULL,
1119                 profileAndLevel-HPatHL  NULL,
1120                 ...
1121         },
1122         videoBitRate    INTEGER(0..1073741823) OPTIONAL,        -- units 400bits/sec
1123         vbvBufferSize   INTEGER(0..262143) OPTIONAL,    -- units 16384bits
1124         samplesPerLine  INTEGER(0..16383) OPTIONAL,     -- units samples/line
1125         linesPerFrame   INTEGER(0..16383) OPTIONAL,     -- units lines/frame
1126         framesPerSecond INTEGER(0..15) OPTIONAL,        -- frame_rate_code
1127         luminanceSampleRate     INTEGER(0..4294967295) OPTIONAL,        -- units samples/sec
1128         ...
1129 }
1130
1131 H263VideoMode   ::=SEQUENCE
1132 {
1133         resolution      CHOICE
1134         {
1135                 sqcif   NULL,   
1136                 qcif    NULL,
1137                 cif             NULL,
1138                 cif4    NULL,
1139                 cif16   NULL,
1140                 ...
1141         },
1142         bitRate INTEGER (1..19200),     -- units 100 bits/s
1143         unrestrictedVector      BOOLEAN,
1144         arithmeticCoding        BOOLEAN,
1145         advancedPrediction      BOOLEAN,
1146         pbFrames        BOOLEAN,
1147         ...
1148 }
1149
1150 IS11172VideoMode        ::=SEQUENCE
1151 {
1152         constrainedBitstream    BOOLEAN,
1153         videoBitRate    INTEGER(0..1073741823) OPTIONAL,        -- units 400bits/sec
1154         vbvBufferSize   INTEGER(0..262143) OPTIONAL,    -- units 16384bits
1155         samplesPerLine  INTEGER(0..16383) OPTIONAL,     -- units samples/line
1156         linesPerFrame   INTEGER(0..16383) OPTIONAL,     -- units lines/frame
1157         pictureRate     INTEGER(0..15) OPTIONAL,
1158         luminanceSampleRate     INTEGER(0..4294967295) OPTIONAL,        -- units samples/sec
1159         ...
1160 }
1161
1162 -- ===================================================================================
1163 -- Request mode definitions: Audio modes
1164 -- ===================================================================================
1165
1166 AudioMode       ::=CHOICE
1167 {
1168         nonStandard     NonStandardParameter,
1169         g711Alaw64k     NULL,
1170         g711Alaw56k     NULL,
1171         g711Ulaw64k     NULL,
1172         g711Ulaw56k     NULL,
1173
1174         g722-64k        NULL,
1175         g722-56k        NULL,
1176         g722-48k        NULL,
1177
1178         g728            NULL,
1179         g729            NULL,
1180         g-dsvd          NULL,
1181
1182         g7231           CHOICE
1183         {
1184                 noSilenceSuppressionLowRate     NULL,
1185                 noSilenceSuppressionHighRate    NULL,
1186                 silenceSuppressionLowRate       NULL,
1187                 silenceSuppressionHighRate      NULL
1188         },
1189
1190         is11172AudioMode        IS11172AudioMode,
1191         is13818AudioMode        IS13818AudioMode,
1192
1193         ...
1194 }
1195
1196 IS11172AudioMode        ::=SEQUENCE
1197 {
1198         audioLayer      CHOICE
1199         {
1200                 audioLayer1     NULL,
1201                 audioLayer2     NULL,
1202                 audioLayer3     NULL
1203         },
1204
1205         audioSampling   CHOICE
1206         {
1207                 audioSampling32k        NULL,
1208                 audioSampling44k1       NULL,
1209                 audioSampling48k        NULL
1210         },
1211
1212         multichannelType        CHOICE
1213         {
1214                 singleChannel   NULL,
1215                 twoChannelStereo        NULL,
1216                 twoChannelDual  NULL
1217         },
1218
1219         bitRate INTEGER (1..448),       --units kbit/sec
1220         ...
1221 }
1222
1223 IS13818AudioMode        ::=SEQUENCE
1224 {
1225         audioLayer      CHOICE
1226         {
1227                 audioLayer1     NULL,
1228                 audioLayer2     NULL,
1229                 audioLayer3     NULL
1230         },
1231
1232         audioSampling   CHOICE
1233         {
1234                 audioSampling16k        NULL,
1235                 audioSampling22k05      NULL,
1236                 audioSampling24k        NULL,
1237                 audioSampling32k        NULL,
1238                 audioSampling44k1       NULL,
1239                 audioSampling48k        NULL
1240         },
1241
1242         multichannelType        CHOICE
1243         {
1244                 singleChannel   NULL,
1245                 twoChannelStereo        NULL,
1246                 twoChannelDual  NULL,
1247                 threeChannels2-1        NULL,
1248                 threeChannels3-0        NULL,
1249                 fourChannels2-0-2-0     NULL,
1250                 fourChannels2-2 NULL,
1251                 fourChannels3-1 NULL,
1252                 fiveChannels3-0-2-0     NULL,
1253                 fiveChannels3-2 NULL
1254         },
1255
1256         lowFrequencyEnhancement BOOLEAN,
1257
1258         multilingual    BOOLEAN,
1259
1260         bitRate INTEGER (1..1130),      --units kbit/sec
1261         ...
1262 }
1263
1264 -- ===================================================================================
1265 -- Request mode definitions: Data modes
1266 -- ===================================================================================
1267
1268 DataMode                ::=SEQUENCE
1269 {
1270         application     CHOICE
1271         {
1272                 nonStandard     NonStandardParameter,
1273                 t120    DataProtocolCapability,
1274                 dsm-cc  DataProtocolCapability,
1275                 userData        DataProtocolCapability,
1276                 t84     DataProtocolCapability,
1277                 t434    DataProtocolCapability,
1278                 h224    DataProtocolCapability,
1279                 nlpid   SEQUENCE
1280                 {
1281                         nlpidProtocol   DataProtocolCapability,
1282                         nlpidData       OCTET STRING
1283                 },
1284                 dsvdControl     NULL,
1285                 h222DataPartitioning    DataProtocolCapability,
1286                 ...
1287         },
1288         bitRate INTEGER (0..4294967295),        -- units 100 bits/sec
1289         ...
1290 }
1291
1292 -- ===================================================================================
1293 -- Request mode definitions: Encryption modes
1294 -- ===================================================================================
1295
1296 EncryptionMode  ::=CHOICE
1297 {
1298         nonStandard     NonStandardParameter,
1299         h233Encryption  NULL,
1300         ...
1301 }
1302
1303
1304 -- ===================================================================================
1305 -- Round Trip Delay definitions
1306 -- ===================================================================================
1307
1308 RoundTripDelayRequest   ::=SEQUENCE
1309 {
1310         sequenceNumber  SequenceNumber,
1311         ...
1312 }
1313
1314 RoundTripDelayResponse  ::=SEQUENCE
1315 {
1316         sequenceNumber  SequenceNumber,
1317         ...
1318 }
1319
1320 -- ===================================================================================
1321 -- Maintenance Loop definitions
1322 -- ===================================================================================
1323
1324 MaintenanceLoopRequest  ::=SEQUENCE
1325 {
1326         type            CHOICE
1327         {
1328                 systemLoop      NULL,
1329                 mediaLoop       LogicalChannelNumber,
1330                 logicalChannelLoop      LogicalChannelNumber,
1331                 ...
1332         },
1333         ...
1334 }
1335
1336 MaintenanceLoopAck      ::=SEQUENCE
1337 {
1338         type            CHOICE
1339         {
1340                 systemLoop      NULL,
1341                 mediaLoop       LogicalChannelNumber,
1342                 logicalChannelLoop      LogicalChannelNumber,
1343                 ...
1344         },
1345         ...
1346 }
1347
1348 MaintenanceLoopReject   ::=SEQUENCE
1349 {
1350         type            CHOICE
1351         {
1352                 systemLoop      NULL,
1353                 mediaLoop       LogicalChannelNumber,
1354                 logicalChannelLoop      LogicalChannelNumber,
1355                 ...
1356         },
1357         cause           CHOICE
1358         {
1359                 canNotPerformLoop       NULL,
1360                 ...
1361         },
1362         ...
1363 }
1364
1365 MaintenanceLoopOffCommand       ::=SEQUENCE
1366 {
1367         ...
1368 }
1369
1370
1371 -- ===================================================================================
1372 -- Command Message definitions
1373 -- ===================================================================================
1374
1375 -- ===================================================================================
1376 -- Command Message : Send Terminal Capability Set
1377 -- ===================================================================================
1378
1379 SendTerminalCapabilitySet       ::=CHOICE
1380 {
1381         specificRequest SEQUENCE
1382         {
1383                 multiplexCapability     BOOLEAN,
1384
1385                 capabilityTableEntryNumbers     SET SIZE (1..65535) OF CapabilityTableEntryNumber OPTIONAL,
1386
1387                 capabilityDescriptorNumbers     SET SIZE (1..256) OF CapabilityDescriptorNumber OPTIONAL,
1388                 ...
1389         },
1390         genericRequest  NULL,
1391         ...
1392 }
1393
1394 -- ===================================================================================
1395 -- Command Message : Encryption
1396 -- ===================================================================================
1397
1398 EncryptionCommand       ::=CHOICE
1399 {
1400         encryptionSE    OCTET STRING,   -- per H.233, but no error protection
1401         encryptionIVRequest     NULL,   -- requests new IV
1402         encryptionAlgorithmID   SEQUENCE
1403         {
1404                 h233AlgorithmIdentifier SequenceNumber,
1405                 associatedAlgorithm     NonStandardParameter
1406         },
1407         ...
1408 }
1409
1410 -- ===================================================================================
1411 -- Command Message : Flow Control
1412 -- ===================================================================================
1413
1414 FlowControlCommand      ::=SEQUENCE
1415 {
1416         scope           CHOICE
1417         {
1418                 logicalChannelNumber    LogicalChannelNumber,
1419                 resourceID      INTEGER (0..65535),
1420                 wholeMultiplex  NULL
1421         },
1422         restriction     CHOICE
1423         {
1424                 maximumBitRate  INTEGER (0..16777215),  -- units 100 bits per second 
1425                 noRestriction   NULL
1426         },
1427         ...
1428 }
1429
1430 -- ===================================================================================
1431 -- Command Message : Change or End Session
1432 -- ===================================================================================
1433
1434 EndSessionCommand       ::=CHOICE
1435 {
1436         nonStandard     NonStandardParameter,
1437
1438         disconnect      NULL,
1439
1440         gstnOptions     CHOICE
1441         {
1442                 telephonyMode   NULL,
1443                 v8bis   NULL,
1444                 v34DSVD NULL,
1445                 v34DuplexFAX    NULL,
1446                 v34H324 NULL,
1447                 ...
1448         },
1449
1450         ...
1451 }
1452
1453 -- ===================================================================================
1454 -- Command Message : Miscellaneous H.230-like commands
1455 -- ===================================================================================
1456
1457 MiscellaneousCommand    ::=SEQUENCE
1458 {
1459         logicalChannelNumber    LogicalChannelNumber,
1460         type            CHOICE
1461         {
1462                 equaliseDelay   NULL,   -- same as H.230 ACE
1463                 zeroDelay       NULL,   -- same as H.230 ACZ
1464                 multipointModeCommand   NULL,
1465                 cancelMultipointModeCommand     NULL,
1466                 videoFreezePicture      NULL,
1467                 videoFastUpdatePicture  NULL,
1468
1469                 videoFastUpdateGOB      SEQUENCE
1470                 {
1471                         firstGOB        INTEGER (0..17),
1472                         numberOfGOBs    INTEGER (1..18)
1473                 },
1474
1475                 videoTemporalSpatialTradeOff    INTEGER (0..31),        -- commands a trade-off value
1476
1477                 videoSendSyncEveryGOB   NULL,
1478                 videoSendSyncEveryGOBCancel     NULL,
1479
1480                 ...
1481         },
1482
1483         ...
1484 }
1485
1486
1487 -- ===================================================================================
1488 -- Indication Message definitions
1489 -- ===================================================================================
1490
1491 -- ===================================================================================
1492 -- Indication Message : Function not supported
1493 -- ===================================================================================
1494
1495 -- This is used to return a complete request, response or command that is not recognised
1496
1497 FunctionNotSupported    ::=CHOICE
1498 {
1499         request RequestMessage,
1500         response        ResponseMessage,
1501         command CommandMessage
1502 }
1503
1504 -- ===================================================================================
1505 -- Indication Message : Miscellaneous H.230-like indication
1506 -- ===================================================================================
1507
1508 MiscellaneousIndication ::=SEQUENCE
1509 {
1510         logicalChannelNumber    LogicalChannelNumber,
1511         type            CHOICE
1512         {
1513                 logicalChannelActive    NULL,   -- same as H.230 AIA and VIA
1514                 logicalChannelInactive  NULL,   -- same as H.230 AIM and VIS
1515
1516                 multipointConference    NULL,   
1517                 cancelMultipointConference      NULL,   
1518
1519                 multipointZeroComm      NULL,   -- same as H.230 MIZ
1520                 cancelMultipointZeroComm        NULL,   -- same as H.230 cancel MIZ
1521
1522                 multipointSecondaryStatus       NULL,   -- same as H.230 MIS
1523                 cancelMultipointSecondaryStatus NULL,   -- same as H.230 cancel MIS
1524
1525                 videoIndicateReadyToActivate    NULL,   -- same as H.230 VIR
1526
1527                 videoTemporalSpatialTradeOff    INTEGER (0..31),        -- indicates current trade-off
1528
1529                 ...
1530         },
1531         ...
1532 }
1533
1534 -- ===================================================================================
1535 -- Indication Message : Jitter Indication
1536 -- ===================================================================================
1537
1538 JitterIndication        ::=SEQUENCE
1539 {
1540         scope           CHOICE
1541         {
1542                 logicalChannelNumber    LogicalChannelNumber,
1543                 resourceID      INTEGER (0..65535),
1544                 wholeMultiplex  NULL
1545         },
1546         estimatedReceivedJitterMantissa INTEGER (0..3),
1547         estimatedReceivedJitterExponent INTEGER (0..7),
1548         skippedFrameCount       INTEGER (0..15) OPTIONAL,
1549         additionalDecoderBuffer INTEGER (0..262143) OPTIONAL,   -- 262143 is 2^18 - 1
1550         ...
1551 }
1552
1553 -- ===================================================================================
1554 -- Indication Message : H.223 logical channel skew
1555 -- ===================================================================================
1556
1557 H223SkewIndication      ::=SEQUENCE
1558 {
1559         logicalChannelNumber1   LogicalChannelNumber,
1560         logicalChannelNumber2   LogicalChannelNumber,
1561         skew            INTEGER (0..4095),      -- units milliseconds
1562         ...
1563 }
1564
1565 -- ===================================================================================
1566 -- Indication Message : New ATM virtual channel indication
1567 -- ===================================================================================
1568
1569 NewATMVCIndication      ::=SEQUENCE
1570 {
1571         resourceID      INTEGER(0..65535),
1572         bitRate INTEGER(1..65535),      -- units 64 kbits per second
1573         bitRateLockedToPCRClock BOOLEAN,
1574         bitRateLockedToNetworkClock     BOOLEAN,
1575         aal                     CHOICE
1576         {
1577                 aal1    SEQUENCE
1578                 {
1579                         clockRecovery   CHOICE
1580                         {
1581                                 nullClockRecovery       NULL,
1582                                 srtsClockRecovery       NULL,
1583                                 adaptiveClockRecovery   NULL,
1584                                 ...
1585                         },
1586                         errorCorrection CHOICE
1587                         {
1588                                 nullErrorCorrection     NULL,
1589                                 longInterleaver NULL,
1590                                 shortInterleaver        NULL,
1591                                 errorCorrectionOnly     NULL,
1592                                 ...
1593                         },
1594                         structuredDataTransfer  BOOLEAN,
1595                         partiallyFilledCells    BOOLEAN,
1596                         ...
1597                 },
1598                 aal5    SEQUENCE
1599                 {
1600                         forwardMaximumSDUSize   INTEGER (0..65535),     -- units octets
1601                         backwardMaximumSDUSize  INTEGER (0..65535),     -- units octets
1602                         ...
1603                 },
1604                 ...
1605         },
1606         multiplex       CHOICE
1607         {
1608                 noMultiplex     NULL,
1609                 transportStream NULL,
1610                 programStream   NULL,
1611                 ...
1612         },
1613         ...
1614 }
1615
1616 -- ===================================================================================
1617 -- Indication Message : user input
1618 -- ===================================================================================
1619
1620 UserInputIndication     ::=CHOICE
1621 {
1622         nonStandard     NonStandardParameter,
1623         alphanumeric    GeneralString,
1624         ...
1625 }
1626
1627
1628 END