1MULTIMEDIA-SYSTEM-CONTROL DEFINITIONS AUTOMATIC TAGS ::=
2BEGIN
3
4-- Export all symbols
5
6-- =======================================================================
7-- Top level Messages
8-- =======================================================================
9
10MultimediaSystemControlMessage  ::=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
21RequestMessage      ::=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    communicationModeRequest    CommunicationModeRequest,
46    conferenceRequest   ConferenceRequest,
47
48    multilinkRequest    MultilinkRequest,
49    logicalChannelRateRequest   LogicalChannelRateRequest,
50    genericRequest  GenericMessage
51}
52
53-- A ResponseMessage is the response to a RequestMessage
54
55ResponseMessage ::=CHOICE
56{
57    nonStandard NonStandardMessage,
58
59    masterSlaveDeterminationAck MasterSlaveDeterminationAck,
60    masterSlaveDeterminationReject  MasterSlaveDeterminationReject,
61
62    terminalCapabilitySetAck    TerminalCapabilitySetAck,
63    terminalCapabilitySetReject TerminalCapabilitySetReject,
64
65    openLogicalChannelAck   OpenLogicalChannelAck,
66    openLogicalChannelReject    OpenLogicalChannelReject,
67    closeLogicalChannelAck  CloseLogicalChannelAck,
68
69    requestChannelCloseAck  RequestChannelCloseAck,
70    requestChannelCloseReject   RequestChannelCloseReject,
71
72    multiplexEntrySendAck   MultiplexEntrySendAck,
73    multiplexEntrySendReject    MultiplexEntrySendReject,
74
75    requestMultiplexEntryAck    RequestMultiplexEntryAck,
76    requestMultiplexEntryReject RequestMultiplexEntryReject,
77
78    requestModeAck  RequestModeAck,
79    requestModeReject   RequestModeReject,
80
81    roundTripDelayResponse  RoundTripDelayResponse,
82
83    maintenanceLoopAck  MaintenanceLoopAck,
84    maintenanceLoopReject   MaintenanceLoopReject,
85
86    ...,
87    communicationModeResponse   CommunicationModeResponse,
88
89    conferenceResponse  ConferenceResponse,
90
91    multilinkResponse   MultilinkResponse,
92
93    logicalChannelRateAcknowledge   LogicalChannelRateAcknowledge,
94    logicalChannelRateReject    LogicalChannelRateReject,
95    genericResponse GenericMessage
96
97
98}
99
100-- A CommandMessage requires action, but no explicit response
101
102CommandMessage      ::=CHOICE
103{
104    nonStandard NonStandardMessage,
105
106    maintenanceLoopOffCommand   MaintenanceLoopOffCommand,
107
108    sendTerminalCapabilitySet   SendTerminalCapabilitySet,
109
110    encryptionCommand   EncryptionCommand,
111
112    flowControlCommand  FlowControlCommand,
113
114    endSessionCommand   EndSessionCommand,
115
116    miscellaneousCommand    MiscellaneousCommand,
117
118    ...,
119    communicationModeCommand    CommunicationModeCommand,
120
121    conferenceCommand   ConferenceCommand,
122
123    h223MultiplexReconfiguration    H223MultiplexReconfiguration,
124
125    newATMVCCommand NewATMVCCommand,
126
127    mobileMultilinkReconfigurationCommand   MobileMultilinkReconfigurationCommand,
128    genericCommand  GenericMessage
129
130}
131
132-- An IndicationMessage is information that does not require action or response
133
134IndicationMessage   ::=CHOICE
135{
136    nonStandard NonStandardMessage,
137
138    functionNotUnderstood   FunctionNotUnderstood,
139
140    masterSlaveDeterminationRelease MasterSlaveDeterminationRelease,
141
142    terminalCapabilitySetRelease    TerminalCapabilitySetRelease,
143
144    openLogicalChannelConfirm   OpenLogicalChannelConfirm,
145
146    requestChannelCloseRelease  RequestChannelCloseRelease,
147
148    multiplexEntrySendRelease   MultiplexEntrySendRelease,
149
150    requestMultiplexEntryRelease    RequestMultiplexEntryRelease,
151
152    requestModeRelease  RequestModeRelease,
153
154    miscellaneousIndication MiscellaneousIndication,
155
156    jitterIndication    JitterIndication,
157
158    h223SkewIndication  H223SkewIndication,
159
160    newATMVCIndication  NewATMVCIndication,
161
162    userInput   UserInputIndication,
163    ...,
164    h2250MaximumSkewIndication  H2250MaximumSkewIndication,
165
166    mcLocationIndication    MCLocationIndication,
167
168    conferenceIndication    ConferenceIndication,
169
170    vendorIdentification    VendorIdentification,
171
172    functionNotSupported    FunctionNotSupported,
173
174    multilinkIndication MultilinkIndication,
175
176    logicalChannelRateRelease   LogicalChannelRateRelease,
177
178    flowControlIndication   FlowControlIndication,
179
180    mobileMultilinkReconfigurationIndication    MobileMultilinkReconfigurationIndication,
181    genericIndication   GenericMessage
182
183}
184
185-- SequenceNumber is defined here as it is used in a number of Messages
186
187SequenceNumber      ::=INTEGER (0..255)
188
189-- =============================================================================
190-- Generic Message definitions
191-- =============================================================================
192
193GenericMessage      ::=SEQUENCE
194{
195    messageIdentifier   CapabilityIdentifier,
196    subMessageIdentifier    INTEGER(0..127)  OPTIONAL,
197
198    messageContent  SEQUENCE OF GenericParameter  OPTIONAL,
199    ...
200}
201
202GenericInformation  ::=GenericMessage
203
204-- =============================================================================
205-- Non-standard Message definitions
206-- =============================================================================
207
208NonStandardMessage  ::=SEQUENCE
209{
210    nonStandardData NonStandardParameter,
211    ...
212}
213
214NonStandardParameter    ::=SEQUENCE
215{
216    nonStandardIdentifier   NonStandardIdentifier,
217    data            OCTET STRING
218}
219
220NonStandardIdentifier   ::=CHOICE
221{
222    object      OBJECT IDENTIFIER,
223    h221NonStandard SEQUENCE
224    {
225        t35CountryCode  INTEGER (0..255),   -- country, per
226                        -- Annex A/T.35
227        t35Extension    INTEGER (0..255),
228                    -- assigned nationally unless
229                    -- t35CountryCode is binary
230                    -- 1111 1111, in which case it shall
231                    -- contain the country code
232                    -- according to Annex B/T.35
233        manufacturerCode    INTEGER (0..65535)  -- assigned nationally
234    }
235}
236
237-- =============================================================================
238-- Master-slave determination definitions
239-- =============================================================================
240
241MasterSlaveDetermination    ::=SEQUENCE
242{
243    terminalType    INTEGER (0..255),
244    statusDeterminationNumber   INTEGER (0..16777215),
245    ...
246}
247
248MasterSlaveDeterminationAck ::=SEQUENCE
249{
250    decision        CHOICE
251    {
252        master  NULL,
253        slave       NULL
254    },
255    ...
256}
257
258MasterSlaveDeterminationReject  ::=SEQUENCE
259{
260    cause           CHOICE
261    {
262        identicalNumbers    NULL,
263        ...
264    },
265    ...
266}
267
268MasterSlaveDeterminationRelease ::=SEQUENCE
269{
270    ...
271}
272
273-- =============================================================================
274-- Capability exchange definitions
275-- =============================================================================
276
277TerminalCapabilitySet   ::=SEQUENCE
278{
279    sequenceNumber  SequenceNumber,
280
281    protocolIdentifier  OBJECT IDENTIFIER,
282                    -- shall be set to the value
283                    -- {itu-t (0) recommendation (0) h (8) 245
284                    -- version (0) 15}
285
286
287    multiplexCapability MultiplexCapability OPTIONAL,
288
289    capabilityTable SET SIZE (1..256) OF CapabilityTableEntry OPTIONAL,
290
291    capabilityDescriptors   SET SIZE (1..256) OF CapabilityDescriptor OPTIONAL,
292
293    ...,
294        genericInformation          SEQUENCE OF GenericInformation OPTIONAL
295                                    -- generic information associated
296                                    -- with the message
297}
298
299CapabilityTableEntry    ::=SEQUENCE
300{
301    capabilityTableEntryNumber  CapabilityTableEntryNumber,
302    capability  Capability OPTIONAL
303}
304
305CapabilityDescriptor    ::=SEQUENCE
306{
307    capabilityDescriptorNumber  CapabilityDescriptorNumber,
308    simultaneousCapabilities    SET SIZE (1..256) OF AlternativeCapabilitySet OPTIONAL
309}
310
311AlternativeCapabilitySet    ::=SEQUENCE SIZE (1..256) OF CapabilityTableEntryNumber
312
313CapabilityTableEntryNumber  ::=INTEGER (1..65535)
314
315CapabilityDescriptorNumber  ::=INTEGER (0..255)
316
317TerminalCapabilitySetAck    ::=SEQUENCE
318{
319    sequenceNumber  SequenceNumber,
320    ...,
321        genericInformation          SEQUENCE OF GenericInformation OPTIONAL
322                                    -- generic information associated
323                                    -- with the message
324}
325
326TerminalCapabilitySetReject ::=SEQUENCE
327{
328    sequenceNumber  SequenceNumber,
329    cause           CHOICE
330    {
331        unspecified NULL,
332        undefinedTableEntryUsed NULL,
333        descriptorCapacityExceeded  NULL,
334        tableEntryCapacityExceeded  CHOICE
335        {
336            highestEntryNumberProcessed CapabilityTableEntryNumber,
337            noneProcessed   NULL
338        },
339        ...
340    },
341    ...,
342        genericInformation          SEQUENCE OF GenericInformation OPTIONAL
343                                    -- generic information associated
344                                    -- with the message
345}
346
347TerminalCapabilitySetRelease    ::=SEQUENCE
348{
349    ...,
350        genericInformation          SEQUENCE OF GenericInformation OPTIONAL
351                                    -- generic information associated
352                                    -- with the message
353}
354
355-- =============================================================================
356-- Capability exchange definitions: top level capability description
357-- =============================================================================
358
359Capability          ::=CHOICE
360{
361    nonStandard NonStandardParameter,
362
363    receiveVideoCapability  VideoCapability,
364    transmitVideoCapability VideoCapability,
365    receiveAndTransmitVideoCapability   VideoCapability,
366
367    receiveAudioCapability  AudioCapability,
368    transmitAudioCapability AudioCapability,
369    receiveAndTransmitAudioCapability   AudioCapability,
370
371    receiveDataApplicationCapability    DataApplicationCapability,
372    transmitDataApplicationCapability   DataApplicationCapability,
373    receiveAndTransmitDataApplicationCapability DataApplicationCapability,
374
375    h233EncryptionTransmitCapability    BOOLEAN,
376    h233EncryptionReceiveCapability SEQUENCE
377    {
378        h233IVResponseTime  INTEGER (0..255),   -- units milliseconds
379        ...
380    },
381    ...,
382    conferenceCapability    ConferenceCapability,
383    h235SecurityCapability  H235SecurityCapability,
384    maxPendingReplacementFor    INTEGER (0..255),
385    receiveUserInputCapability  UserInputCapability,
386    transmitUserInputCapability UserInputCapability,
387    receiveAndTransmitUserInputCapability   UserInputCapability,
388
389    genericControlCapability    GenericCapability,
390    receiveMultiplexedStreamCapability  MultiplexedStreamCapability,
391    transmitMultiplexedStreamCapability MultiplexedStreamCapability,
392    receiveAndTransmitMultiplexedStreamCapability   MultiplexedStreamCapability,
393    receiveRTPAudioTelephonyEventCapability AudioTelephonyEventCapability,
394    receiveRTPAudioToneCapability   AudioToneCapability,
395    depFecCapability    DepFECCapability, -- Deprecated, do not use
396    multiplePayloadStreamCapability MultiplePayloadStreamCapability,
397        fecCapability                   FECCapability,
398        redundancyEncodingCap           RedundancyEncodingCapability,
399        oneOfCapabilities               AlternativeCapabilitySet
400}
401
402H235SecurityCapability  ::=SEQUENCE
403{
404    encryptionAuthenticationAndIntegrity    EncryptionAuthenticationAndIntegrity,
405
406    mediaCapability CapabilityTableEntryNumber,
407        -- NOTE � The mediaCapability shall refer to Capability Table Entries
408        -- that do contain, directly or indirectly, one or more transmit,
409        -- receive, or receiveAndTransmit AudioCapability, VideoCapability,
410        -- DataApplicationCapability, or similar capabilities indicated by a
411        -- NonStandardParameter or GenericCapability only
412
413    ...
414}
415
416-- =============================================================================
417-- Capability exchange definitions: Multiplex capabilities
418-- =============================================================================
419
420MultiplexCapability ::=CHOICE
421{
422    nonStandard NonStandardParameter,
423    h222Capability  H222Capability,
424    h223Capability  H223Capability,
425    v76Capability   V76Capability,
426    ...,
427    h2250Capability H2250Capability,
428
429    genericMultiplexCapability  GenericCapability
430
431}
432
433H222Capability      ::= SEQUENCE
434{
435    numberOfVCs INTEGER (1..256),
436    vcCapability    SET OF VCCapability,
437    ...
438}
439
440VCCapability        ::=SEQUENCE
441{
442    aal1        SEQUENCE
443    {
444        nullClockRecovery   BOOLEAN,
445        srtsClockRecovery   BOOLEAN,
446        adaptiveClockRecovery   BOOLEAN,
447        nullErrorCorrection BOOLEAN,
448        longInterleaver BOOLEAN,
449        shortInterleaver    BOOLEAN,
450        errorCorrectionOnly BOOLEAN,
451        structuredDataTransfer  BOOLEAN,
452        partiallyFilledCells    BOOLEAN,
453        ...
454    } OPTIONAL,
455    aal5        SEQUENCE
456    {
457        forwardMaximumSDUSize   INTEGER (0..65535), -- units octets
458        backwardMaximumSDUSize  INTEGER (0..65535), -- units octets
459        ...
460    } OPTIONAL,
461    transportStream BOOLEAN,
462    programStream   BOOLEAN,
463    availableBitRates   SEQUENCE
464    {
465        type        CHOICE
466        {
467            singleBitRate   INTEGER (1..65535), -- units 64 kbit/s
468            rangeOfBitRates SEQUENCE
469            {
470                lowerBitRate    INTEGER (1..65535), -- units 64 kbit/s
471                higherBitRate   INTEGER (1..65535)  -- units 64 kbit/s
472            }
473        },
474        ...
475    },
476    ...,
477    aal1ViaGateway  SEQUENCE
478    {
479        gatewayAddress  SET SIZE(1..256) OF Q2931Address,
480        nullClockRecovery   BOOLEAN,
481        srtsClockRecovery   BOOLEAN,
482        adaptiveClockRecovery   BOOLEAN,
483        nullErrorCorrection BOOLEAN,
484        longInterleaver BOOLEAN,
485        shortInterleaver    BOOLEAN,
486        errorCorrectionOnly BOOLEAN,
487        structuredDataTransfer  BOOLEAN,
488        partiallyFilledCells    BOOLEAN,
489        ...
490    } OPTIONAL
491}
492
493H223Capability      ::=SEQUENCE
494{
495    transportWithI-frames   BOOLEAN,    -- I-frame transport
496                        -- of H.245
497
498    videoWithAL1    BOOLEAN,
499    videoWithAL2    BOOLEAN,
500    videoWithAL3    BOOLEAN,
501    audioWithAL1    BOOLEAN,
502    audioWithAL2    BOOLEAN,
503    audioWithAL3    BOOLEAN,
504    dataWithAL1 BOOLEAN,
505    dataWithAL2 BOOLEAN,
506    dataWithAL3 BOOLEAN,
507
508    maximumAl2SDUSize   INTEGER (0..65535), -- units octets
509    maximumAl3SDUSize   INTEGER (0..65535), -- units octets
510
511    maximumDelayJitter  INTEGER (0..1023),  -- units milliseconds
512
513    h223MultiplexTableCapability    CHOICE
514    {
515        basic       NULL,
516        enhanced    SEQUENCE
517        {
518            maximumNestingDepth INTEGER (1..15),
519            maximumElementListSize  INTEGER (2..255),
520            maximumSubElementListSize   INTEGER (2..255),
521            ...
522        }
523    },
524    ...,
525    maxMUXPDUSizeCapability BOOLEAN,
526    nsrpSupport BOOLEAN,
527    mobileOperationTransmitCapability   SEQUENCE
528    {
529        modeChangeCapability    BOOLEAN,
530        h223AnnexA  BOOLEAN,
531        h223AnnexADoubleFlag    BOOLEAN,
532        h223AnnexB  BOOLEAN,
533        h223AnnexBwithHeader    BOOLEAN,
534        ...
535    } OPTIONAL,
536    h223AnnexCCapability    H223AnnexCCapability OPTIONAL,
537
538    bitRate     INTEGER (1..19200) OPTIONAL, -- units of
539                                -- 100 bit/s
540    mobileMultilinkFrameCapability  SEQUENCE
541    {
542        maximumSampleSize   INTEGER (1..255),   -- units octets
543        maximumPayloadLength    INTEGER (1..65025),     -- units octets
544        ...
545    } OPTIONAL
546
547}
548
549H223AnnexCCapability    ::= SEQUENCE
550{
551    videoWithAL1M   BOOLEAN,
552    videoWithAL2M   BOOLEAN,
553    videoWithAL3M   BOOLEAN,
554    audioWithAL1M   BOOLEAN,
555    audioWithAL2M   BOOLEAN,
556    audioWithAL3M   BOOLEAN,
557    dataWithAL1M    BOOLEAN,
558    dataWithAL2M    BOOLEAN,
559    dataWithAL3M    BOOLEAN,
560    alpduInterleaving   BOOLEAN,
561
562    maximumAL1MPDUSize  INTEGER (0..65535), -- units octets
563    maximumAL2MSDUSize  INTEGER (0..65535), -- units octets
564    maximumAL3MSDUSize  INTEGER (0..65535), -- units octets
565    ...,
566    rsCodeCapability    BOOLEAN OPTIONAL
567}
568
569V76Capability       ::=SEQUENCE
570{
571    suspendResumeCapabilitywAddress BOOLEAN,
572    suspendResumeCapabilitywoAddress    BOOLEAN,
573    rejCapability   BOOLEAN,
574    sREJCapability  BOOLEAN,
575    mREJCapability  BOOLEAN,
576    crc8bitCapability   BOOLEAN,
577    crc16bitCapability  BOOLEAN,
578    crc32bitCapability  BOOLEAN,
579    uihCapability   BOOLEAN,
580    numOfDLCS   INTEGER (2..8191),
581    twoOctetAddressFieldCapability  BOOLEAN,
582    loopBackTestCapability  BOOLEAN,
583    n401Capability  INTEGER (1..4095),
584    maxWindowSizeCapability INTEGER (1..127),
585    v75Capability   V75Capability,
586    ...
587}
588
589V75Capability       ::=SEQUENCE
590{
591    audioHeader BOOLEAN,
592    ...
593}
594
595H2250Capability ::=SEQUENCE
596{
597    maximumAudioDelayJitter INTEGER(0..1023),   -- units in
598                        -- milliseconds
599    receiveMultipointCapability MultipointCapability,
600    transmitMultipointCapability    MultipointCapability,
601    receiveAndTransmitMultipointCapability  MultipointCapability,
602    mcCapability    SEQUENCE
603    {
604        centralizedConferenceMC BOOLEAN,
605        decentralizedConferenceMC   BOOLEAN,
606        ...
607    },
608    rtcpVideoControlCapability  BOOLEAN,    -- FIR and NACK
609    mediaPacketizationCapability    MediaPacketizationCapability,
610    ...,
611    transportCapability TransportCapability OPTIONAL,
612    redundancyEncodingCapability    SEQUENCE SIZE(1..256) OF RedundancyEncodingCapability OPTIONAL,
613    logicalChannelSwitchingCapability   BOOLEAN,
614    t120DynamicPortCapability   BOOLEAN
615
616}
617
618MediaPacketizationCapability    ::=SEQUENCE
619{
620    h261aVideoPacketization BOOLEAN,
621    ...,
622    rtpPayloadType  SEQUENCE SIZE(1..256) OF RTPPayloadType OPTIONAL
623}
624
625RSVPParameters      ::=SEQUENCE
626{
627    qosMode QOSMode OPTIONAL,
628    tokenRate   INTEGER (1..4294967295) OPTIONAL,
629                                  -- rate in bytes/s
630    bucketSize  INTEGER (1..4294967295) OPTIONAL,
631                          -- size in bytes
632    peakRate        INTEGER (1..4294967295) OPTIONAL,
633                              -- peak bandwidth bytes/s
634    minPoliced  INTEGER (1..4294967295) OPTIONAL,
635                          --
636    maxPktSize  INTEGER (1..4294967295) OPTIONAL,
637                          -- size in bytes
638    ...
639}
640
641QOSMode             ::=CHOICE
642{
643    guaranteedQOS   NULL,
644    controlledLoad  NULL,
645    ...
646}
647
648ATMParameters       ::=SEQUENCE
649{
650    maxNTUSize  INTEGER(0..65535), -- units in octets
651    atmUBR      BOOLEAN,           -- unspecified bit rate
652    atmrtVBR        BOOLEAN,           -- real time variable
653                                       -- bit rate
654    atmnrtVBR   BOOLEAN,           -- non real time
655                                       -- variable bit rate
656    atmABR      BOOLEAN,           -- available bit rate
657    atmCBR      BOOLEAN,           -- constant bit rate
658    ...
659}
660
661ServicePriorityValue    ::=SEQUENCE
662{
663    nonStandardParameter    NonStandardParameter OPTIONAL,
664    ... ,
665    value                           INTEGER(0..255)
666}
667
668ServicePriority ::=SEQUENCE
669{
670    nonStandardData NonStandardParameter OPTIONAL,
671    servicePrioritySignalled    BOOLEAN,
672    servicePriorityValue    ServicePriorityValue OPTIONAL,
673    ... ,
674    serviceClass                    INTEGER(0..4095) OPTIONAL,
675    serviceSubclass             INTEGER(0..255) OPTIONAL
676}
677
678AuthorizationParameters ::=SEQUENCE
679{
680    nonStandardData NonStandardParameter OPTIONAL,
681    ...
682}
683
684QOSType             ::=CHOICE
685{
686    desired     NULL,
687    required        NULL,
688    ...
689}
690
691QOSClass                ::=CHOICE
692{
693    class0      NULL,
694    class1      NULL,
695    class2      NULL,
696    class3      NULL,
697    class4      NULL,
698    class5      NULL,
699    ...
700}
701
702QOSDescriptor   ::=SEQUENCE
703{
704    nonStandardData NonStandardParameter OPTIONAL,
705    qosType         QOSType,
706    qosClass        QOSClass,
707    ...
708}
709
710GenericTransportParameters  ::=SEQUENCE
711{
712    nonStandardData NonStandardParameter OPTIONAL,
713    averageRate INTEGER (1..4294967295) OPTIONAL,
714                        -- average bandwidth bytes/s
715    burst           INTEGER (1..4294967295) OPTIONAL,
716                        --  size in bytes
717    peakRate        INTEGER (1..4294967295) OPTIONAL,
718                        -- peak bandwidth bytes/s
719    maxPktSize  INTEGER (1..4294967295) OPTIONAL,
720                        -- size in bytes
721    ...
722}
723QOSCapability       ::=SEQUENCE
724{
725    nonStandardData NonStandardParameter OPTIONAL,
726    rsvpParameters  RSVPParameters OPTIONAL,
727    atmParameters   ATMParameters OPTIONAL,
728    ...,
729    localQoS        BOOLEAN  OPTIONAL,
730    genericTransportParameters  GenericTransportParameters OPTIONAL,
731    servicePriority ServicePriority OPTIONAL,
732    authorizationParameter  AuthorizationParameters OPTIONAL,
733    qosDescriptor   QOSDescriptor OPTIONAL,
734    dscpValue   INTEGER (0..63) OPTIONAL
735}
736
737MediaTransportType  ::=CHOICE
738{
739    ip-UDP      NULL,
740    ip-TCP      NULL,
741    atm-AAL5-UNIDIR NULL, -- virtual circuits used as unidirectional
742    atm-AAL5-BIDIR  NULL, -- virtual circuits used as bidirectional
743    ...,
744    atm-AAL5-compressed SEQUENCE
745    {
746        variable-delta  BOOLEAN,
747        ...
748    }
749
750}
751
752MediaChannelCapability  ::=SEQUENCE
753{
754        mediaTransport  MediaTransportType  OPTIONAL,
755            ...
756}
757
758TransportCapability ::=SEQUENCE
759{
760    nonStandard             NonStandardParameter OPTIONAL,
761    qOSCapabilities SEQUENCE SIZE(1..256) OF QOSCapability OPTIONAL,
762    mediaChannelCapabilities    SEQUENCE SIZE(1..256) OF MediaChannelCapability OPTIONAL,
763    ...
764}
765
766RedundancyEncodingCapability    ::=SEQUENCE
767{
768    redundancyEncodingMethod    RedundancyEncodingMethod,
769    primaryEncoding CapabilityTableEntryNumber,
770    secondaryEncoding   SEQUENCE SIZE(1..256) OF CapabilityTableEntryNumber OPTIONAL,
771                        -- must be Audio, Video, or Data capabilities, not derived
772                        -- capabilities; redundancy order is inferred from number of
773                        -- secondary encodings
774    ...
775}
776
777RedundancyEncodingMethod    ::=CHOICE
778{
779    nonStandard NonStandardParameter,
780    rtpAudioRedundancyEncoding  NULL,
781    ...,
782    rtpH263VideoRedundancyEncoding  RTPH263VideoRedundancyEncoding
783}
784
785RTPH263VideoRedundancyEncoding  ::= SEQUENCE
786{
787    numberOfThreads INTEGER (1..16),
788    framesBetweenSyncPoints INTEGER (1..256),
789    frameToThreadMapping    CHOICE
790    {
791            roundrobin  NULL,
792            custom  SEQUENCE SIZE(1..256) OF
793                    RTPH263VideoRedundancyFrameMapping,
794                    -- empty SEQUENCE for capability negotiation
795                    -- meaningful contents only OpenLogicalChannel
796            ...
797    },
798    containedThreads    SEQUENCE SIZE(1..256) OF INTEGER (0..15) OPTIONAL,
799                    -- only used for opening of logical channels
800    ...
801}
802
803RTPH263VideoRedundancyFrameMapping  ::= SEQUENCE
804{
805    threadNumber    INTEGER (0..15),
806    frameSequence   SEQUENCE SIZE(1..256) OF INTEGER (0..255),
807    ...
808}
809
810MultipointCapability    ::=SEQUENCE
811{
812    multicastCapability BOOLEAN,
813    multiUniCastConference  BOOLEAN,
814    mediaDistributionCapability SEQUENCE OF MediaDistributionCapability,
815    ...
816}
817
818MediaDistributionCapability ::=SEQUENCE
819{
820    centralizedControl  BOOLEAN,
821    distributedControl  BOOLEAN,     -- for further study in
822                                 -- ITU-T Rec. H.323
823    centralizedAudio    BOOLEAN,
824    distributedAudio    BOOLEAN,
825    centralizedVideo    BOOLEAN,
826    distributedVideo    BOOLEAN,
827    centralizedData SEQUENCE OF DataApplicationCapability OPTIONAL,
828    distributedData SEQUENCE OF DataApplicationCapability OPTIONAL,
829                               -- for further study in
830                               -- ITU-T Rec. H.323
831    ...
832}
833
834
835
836-- =============================================================================
837-- Capability exchange definitions: Video capabilities
838-- =============================================================================
839
840VideoCapability ::=CHOICE
841{
842    nonStandard NonStandardParameter,
843    h261VideoCapability H261VideoCapability,
844    h262VideoCapability H262VideoCapability,
845    h263VideoCapability H263VideoCapability,
846    is11172VideoCapability  IS11172VideoCapability,
847    ...,
848    genericVideoCapability  GenericCapability,
849    extendedVideoCapability ExtendedVideoCapability
850
851}
852
853ExtendedVideoCapability ::= SEQUENCE
854{
855    videoCapability SEQUENCE OF VideoCapability,
856    videoCapabilityExtension    SEQUENCE OF GenericCapability OPTIONAL,
857    ...
858}
859
860H261VideoCapability ::=SEQUENCE
861{
862    qcifMPI     INTEGER (1..4) OPTIONAL, -- units 1/29.97 Hz
863    cifMPI      INTEGER (1..4) OPTIONAL, -- units 1/29.97 Hz
864    temporalSpatialTradeOffCapability   BOOLEAN,
865    maxBitRate  INTEGER (1..19200),    -- units of
866                           -- 100 bit/s
867    stillImageTransmission  BOOLEAN,       -- Annex D/H.261
868    ...,
869    videoBadMBsCap  BOOLEAN
870}
871
872H262VideoCapability ::=SEQUENCE
873{
874    profileAndLevel-SPatML  BOOLEAN,
875    profileAndLevel-MPatLL  BOOLEAN,
876    profileAndLevel-MPatML  BOOLEAN,
877    profileAndLevel-MPatH-14    BOOLEAN,
878    profileAndLevel-MPatHL  BOOLEAN,
879    profileAndLevel-SNRatLL BOOLEAN,
880    profileAndLevel-SNRatML BOOLEAN,
881    profileAndLevel-SpatialatH-14   BOOLEAN,
882    profileAndLevel-HPatML  BOOLEAN,
883    profileAndLevel-HPatH-14    BOOLEAN,
884    profileAndLevel-HPatHL  BOOLEAN,
885    videoBitRate    INTEGER (0.. 1073741823) OPTIONAL, -- units 400 bit/s
886    vbvBufferSize   INTEGER (0.. 262143) OPTIONAL,      -- units 16 384 bits
887    samplesPerLine  INTEGER (0..16383) OPTIONAL,       -- units samples/line
888    linesPerFrame   INTEGER (0..16383) OPTIONAL,       -- units lines/frame
889    framesPerSecond INTEGER (0..15) OPTIONAL,           -- frame_rate_code
890    luminanceSampleRate INTEGER (0..4294967295) OPTIONAL,  -- units samples/s
891    ...,
892    videoBadMBsCap  BOOLEAN
893}
894
895H263VideoCapability ::=SEQUENCE
896{
897    sqcifMPI        INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
898    qcifMPI     INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
899    cifMPI          INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
900    cif4MPI     INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
901    cif16MPI        INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz
902    maxBitRate  INTEGER (1..192400),      -- units 100 bit/s
903    unrestrictedVector  BOOLEAN,
904    arithmeticCoding    BOOLEAN,
905    advancedPrediction  BOOLEAN,
906    pbFrames        BOOLEAN,
907    temporalSpatialTradeOffCapability   BOOLEAN,
908    hrd-B           INTEGER (0..524287) OPTIONAL, -- units 128 bits
909    bppMaxKb        INTEGER (0..65535) OPTIONAL, -- units 1024 bits
910    ...,
911
912    slowSqcifMPI    INTEGER (1..3600) OPTIONAL, --  units seconds/frame
913    slowQcifMPI INTEGER (1..3600) OPTIONAL, -- units seconds/frame
914    slowCifMPI  INTEGER (1..3600) OPTIONAL, -- units seconds/frame
915    slowCif4MPI INTEGER (1..3600) OPTIONAL, -- units seconds/frame
916    slowCif16MPI    INTEGER (1..3600) OPTIONAL, -- units seconds/frame
917    errorCompensation   BOOLEAN,
918
919    enhancementLayerInfo    EnhancementLayerInfo OPTIONAL,
920    h263Options H263Options OPTIONAL
921
922}
923
924EnhancementLayerInfo    ::=SEQUENCE
925{
926    baseBitRateConstrained  BOOLEAN,
927    snrEnhancement  SET SIZE(1..14) OF EnhancementOptions OPTIONAL,
928    spatialEnhancement  SET SIZE(1..14) OF EnhancementOptions OPTIONAL,
929    bPictureEnhancement SET SIZE(1..14) OF BEnhancementParameters OPTIONAL,
930    ...
931}
932
933BEnhancementParameters  ::=SEQUENCE
934{
935    enhancementOptions  EnhancementOptions,
936    numberOfBPictures   INTEGER (1..64),
937    ...
938}
939
940EnhancementOptions  ::=SEQUENCE
941{
942    sqcifMPI        INTEGER (1..32) OPTIONAL,  -- units 1/29.97 Hz
943    qcifMPI     INTEGER (1..32) OPTIONAL,  -- units 1/29.97 Hz
944    cifMPI          INTEGER (1..32) OPTIONAL,  -- units 1/29.97 Hz
945    cif4MPI         INTEGER (1..32) OPTIONAL,  -- units 1/29.97 Hz
946    cif16MPI        INTEGER (1..32) OPTIONAL,  -- units 1/29.97 Hz
947    maxBitRate  INTEGER (1..192400),       -- units 100 bit/s
948    unrestrictedVector  BOOLEAN,
949    arithmeticCoding    BOOLEAN,
950    temporalSpatialTradeOffCapability   BOOLEAN,
951    slowSqcifMPI    INTEGER (1..3600) OPTIONAL,  -- units seconds/frame
952    slowQcifMPI INTEGER (1..3600) OPTIONAL, -- units seconds/frame
953    slowCifMPI  INTEGER (1..3600) OPTIONAL, -- units seconds/frame
954    slowCif4MPI INTEGER (1..3600) OPTIONAL, -- units seconds/frame
955    slowCif16MPI    INTEGER (1..3600) OPTIONAL, -- units seconds/frame
956    errorCompensation   BOOLEAN,
957    h263Options H263Options OPTIONAL,
958    ...
959}
960
961H263Options         ::= SEQUENCE
962{
963    advancedIntraCodingMode BOOLEAN,
964    deblockingFilterMode    BOOLEAN,
965    improvedPBFramesMode    BOOLEAN,
966
967    unlimitedMotionVectors  BOOLEAN,
968
969    fullPictureFreeze   BOOLEAN,
970    partialPictureFreezeAndRelease  BOOLEAN,
971    resizingPartPicFreezeAndRelease BOOLEAN,
972    fullPictureSnapshot BOOLEAN,
973    partialPictureSnapshot  BOOLEAN,
974    videoSegmentTagging BOOLEAN,
975    progressiveRefinement   BOOLEAN,
976
977    dynamicPictureResizingByFour    BOOLEAN,
978    dynamicPictureResizingSixteenthPel  BOOLEAN,
979    dynamicWarpingHalfPel   BOOLEAN,
980    dynamicWarpingSixteenthPel  BOOLEAN,
981
982    independentSegmentDecoding  BOOLEAN,
983
984    slicesInOrder-NonRect   BOOLEAN,
985    slicesInOrder-Rect  BOOLEAN,
986    slicesNoOrder-NonRect   BOOLEAN,
987    slicesNoOrder-Rect  BOOLEAN,
988
989    alternateInterVLCMode   BOOLEAN,
990    modifiedQuantizationMode    BOOLEAN,
991    reducedResolutionUpdate BOOLEAN,
992
993    transparencyParameters  TransparencyParameters OPTIONAL,
994    separateVideoBackChannel    BOOLEAN,
995    refPictureSelection RefPictureSelection OPTIONAL,
996    customPictureClockFrequency SET SIZE (1..16) OF CustomPictureClockFrequency  OPTIONAL,
997    customPictureFormat SET SIZE (1..16) OF CustomPictureFormat OPTIONAL,
998    modeCombos  SET SIZE (1..16) OF H263VideoModeCombos OPTIONAL,
999    ...,
1000    videoBadMBsCap  BOOLEAN,
1001    h263Version3Options H263Version3Options
1002
1003}
1004
1005TransparencyParameters  ::= SEQUENCE
1006{
1007    presentationOrder   INTEGER(1..256),
1008    offset-x        INTEGER(-262144..262143), -- 1/8 pixels
1009    offset-y        INTEGER(-262144..262143), -- 1/8 pixels
1010    scale-x     INTEGER(1..255),
1011    scale-y     INTEGER(1..255),
1012    ...
1013}
1014
1015RefPictureSelection ::=SEQUENCE
1016{
1017    additionalPictureMemory SEQUENCE
1018    {
1019        sqcifAdditionalPictureMemory    INTEGER (1..256) OPTIONAL,  -- units frame
1020        qcifAdditionalPictureMemory INTEGER (1..256) OPTIONAL,  -- units frame
1021        cifAdditionalPictureMemory  INTEGER (1..256) OPTIONAL,  -- units frame
1022        cif4AdditionalPictureMemory INTEGER (1..256) OPTIONAL,  -- units frame
1023        cif16AdditionalPictureMemory    INTEGER (1..256) OPTIONAL,  -- units frame
1024        bigCpfAdditionalPictureMemory   INTEGER (1..256) OPTIONAL,  -- units frame
1025        ...
1026    } OPTIONAL,
1027    videoMux        BOOLEAN,
1028    videoBackChannelSend    CHOICE
1029    {
1030        none        NULL,
1031        ackMessageOnly  NULL,
1032        nackMessageOnly NULL,
1033        ackOrNackMessageOnly    NULL,
1034        ackAndNackMessage   NULL,
1035        ...
1036    },
1037    ...,
1038    enhancedReferencePicSelect  SEQUENCE
1039    {
1040        subPictureRemovalParameters SEQUENCE
1041        {
1042            mpuHorizMBs INTEGER (1..128),
1043            mpuVertMBs  INTEGER (1..72),
1044            mpuTotalNumber  INTEGER (1..65536),
1045            ...
1046        } OPTIONAL,
1047        ...
1048    }
1049}
1050
1051CustomPictureClockFrequency ::=SEQUENCE
1052{
1053    clockConversionCode INTEGER(1000..1001),
1054    clockDivisor    INTEGER(1..127),
1055    sqcifMPI        INTEGER (1..2048) OPTIONAL,
1056    qcifMPI     INTEGER (1..2048) OPTIONAL,
1057    cifMPI      INTEGER (1..2048) OPTIONAL,
1058    cif4MPI     INTEGER (1..2048) OPTIONAL,
1059    cif16MPI        INTEGER (1..2048) OPTIONAL,
1060    ...
1061}
1062
1063CustomPictureFormat ::=SEQUENCE
1064{
1065    maxCustomPictureWidth   INTEGER(1..2048),   -- units 4 pixels
1066    maxCustomPictureHeight  INTEGER(1..2048),   -- units 4 pixels
1067    minCustomPictureWidth   INTEGER(1..2048),   -- units 4 pixels
1068    minCustomPictureHeight  INTEGER(1..2048),   -- units 4 pixels
1069    mPI         SEQUENCE
1070    {
1071        standardMPI INTEGER (1..31) OPTIONAL,
1072        customPCF   SET SIZE (1..16) OF SEQUENCE
1073        {
1074            clockConversionCode INTEGER (1000..1001),
1075            clockDivisor    INTEGER (1..127),
1076            customMPI   INTEGER (1..2048),
1077            ...
1078        } OPTIONAL,
1079        ...
1080    },
1081
1082    pixelAspectInformation  CHOICE
1083    {
1084        anyPixelAspectRatio BOOLEAN,
1085        pixelAspectCode SET SIZE (1..14) OF INTEGER(1..14),
1086        extendedPAR SET SIZE (1..256) OF SEQUENCE
1087        {
1088            width   INTEGER(1..255),
1089            height  INTEGER(1..255),
1090            ...
1091        },
1092        ...
1093    } ,
1094    ...
1095}
1096
1097H263VideoModeCombos ::= SEQUENCE
1098{
1099    h263VideoUncoupledModes H263ModeComboFlags,
1100    h263VideoCoupledModes   SET SIZE (1..16) OF H263ModeComboFlags,
1101    ...
1102}
1103
1104H263ModeComboFlags  ::= SEQUENCE
1105{
1106    unrestrictedVector  BOOLEAN,
1107    arithmeticCoding    BOOLEAN,
1108    advancedPrediction  BOOLEAN,
1109    pbFrames        BOOLEAN,
1110    advancedIntraCodingMode BOOLEAN,
1111    deblockingFilterMode    BOOLEAN,
1112    unlimitedMotionVectors  BOOLEAN,
1113    slicesInOrder-NonRect   BOOLEAN,
1114    slicesInOrder-Rect  BOOLEAN,
1115    slicesNoOrder-NonRect   BOOLEAN,
1116    slicesNoOrder-Rect  BOOLEAN,
1117    improvedPBFramesMode    BOOLEAN,
1118    referencePicSelect  BOOLEAN,
1119    dynamicPictureResizingByFour    BOOLEAN,
1120    dynamicPictureResizingSixteenthPel  BOOLEAN,
1121    dynamicWarpingHalfPel   BOOLEAN,
1122    dynamicWarpingSixteenthPel  BOOLEAN,
1123    reducedResolutionUpdate BOOLEAN,
1124    independentSegmentDecoding  BOOLEAN,
1125    alternateInterVLCMode   BOOLEAN,
1126    modifiedQuantizationMode    BOOLEAN,
1127    ...,
1128    enhancedReferencePicSelect  BOOLEAN,
1129    h263Version3Options H263Version3Options}
1130
1131H263Version3Options ::=SEQUENCE
1132{
1133    dataPartitionedSlices   BOOLEAN,
1134    fixedPointIDCT0 BOOLEAN,
1135    interlacedFields    BOOLEAN,
1136    currentPictureHeaderRepetition  BOOLEAN,
1137    previousPictureHeaderRepetition BOOLEAN,
1138    nextPictureHeaderRepetition BOOLEAN,
1139    pictureNumber   BOOLEAN,
1140    spareReferencePictures  BOOLEAN,
1141    ...
1142}
1143
1144IS11172VideoCapability  ::=SEQUENCE
1145{
1146    constrainedBitstream    BOOLEAN,
1147    videoBitRate    INTEGER (0.. 1073741823) OPTIONAL, -- units 400 bit/s
1148    vbvBufferSize   INTEGER (0.. 262143) OPTIONAL,     -- units 16 384 bits
1149    samplesPerLine  INTEGER (0..16383) OPTIONAL,       -- units samples/line
1150    linesPerFrame   INTEGER (0..16383) OPTIONAL,       -- units lines/frame
1151    pictureRate INTEGER (0..15) OPTIONAL,
1152    luminanceSampleRate INTEGER (0..4294967295) OPTIONAL,  -- units samples/s
1153    ...,
1154    videoBadMBsCap  BOOLEAN
1155}
1156
1157-- =============================================================================
1158-- Capability exchange definitions: Audio capabilities
1159-- =============================================================================
1160
1161-- For an H.222 multiplex, the integers indicate the size of the STD buffer
1162-- in units of 256 octets
1163-- For an H.223 multiplex, the integers indicate the maximum number of audio
1164-- frames per AL-SDU
1165-- For an H.225.0 multiplex, the integers indicate the maximum number of audio
1166-- frames per packet
1167
1168AudioCapability ::=CHOICE
1169{
1170    nonStandard NonStandardParameter,
1171    g711Alaw64k INTEGER (1..256),
1172    g711Alaw56k INTEGER (1..256),
1173    g711Ulaw64k INTEGER (1..256),
1174    g711Ulaw56k INTEGER (1..256),
1175
1176    g722-64k        INTEGER (1..256),
1177    g722-56k        INTEGER (1..256),
1178    g722-48k        INTEGER (1..256),
1179
1180    g7231           SEQUENCE
1181    {
1182        maxAl-sduAudioFrames    INTEGER (1..256),
1183        silenceSuppression  BOOLEAN
1184    },
1185
1186    g728            INTEGER (1..256),
1187    g729            INTEGER (1..256),
1188    g729AnnexA  INTEGER (1..256),
1189    is11172AudioCapability  IS11172AudioCapability,
1190    is13818AudioCapability  IS13818AudioCapability,
1191     ...,
1192    g729wAnnexB INTEGER(1..256),
1193    g729AnnexAwAnnexB   INTEGER(1..256),
1194    g7231AnnexCCapability   G7231AnnexCCapability,
1195    gsmFullRate GSMAudioCapability,
1196    gsmHalfRate GSMAudioCapability,
1197    gsmEnhancedFullRate GSMAudioCapability,
1198    genericAudioCapability  GenericCapability,
1199    g729Extensions  G729Extensions,
1200    vbd         VBDCapability,
1201    audioTelephonyEvent NoPTAudioTelephonyEventCapability,
1202    audioTone   NoPTAudioToneCapability
1203}
1204
1205G729Extensions      ::= SEQUENCE
1206{
1207    audioUnit   INTEGER (1..256) OPTIONAL,
1208    annexA      BOOLEAN,
1209    annexB      BOOLEAN,
1210    annexD      BOOLEAN,
1211    annexE      BOOLEAN,
1212    annexF      BOOLEAN,
1213    annexG      BOOLEAN,
1214    annexH      BOOLEAN,
1215    ...
1216}
1217
1218G7231AnnexCCapability   ::= SEQUENCE
1219{
1220    maxAl-sduAudioFrames    INTEGER (1..256),
1221    silenceSuppression  BOOLEAN,
1222    g723AnnexCAudioMode SEQUENCE
1223    {
1224        highRateMode0   INTEGER (27..78),   -- units octets
1225        highRateMode1   INTEGER (27..78),   -- units octets
1226        lowRateMode0    INTEGER (23..66),   -- units octets
1227        lowRateMode1    INTEGER (23..66),   -- units octets
1228        sidMode0    INTEGER (6..17),    -- units octets
1229        sidMode1    INTEGER (6..17),    -- units octets
1230        ...
1231    } OPTIONAL,
1232    ...
1233}
1234
1235IS11172AudioCapability  ::=SEQUENCE
1236{
1237    audioLayer1 BOOLEAN,
1238    audioLayer2 BOOLEAN,
1239    audioLayer3 BOOLEAN,
1240
1241    audioSampling32k    BOOLEAN,
1242    audioSampling44k1   BOOLEAN,
1243    audioSampling48k    BOOLEAN,
1244
1245    singleChannel   BOOLEAN,
1246    twoChannels BOOLEAN,
1247
1248    bitRate     INTEGER (1..448),   -- units kbit/s
1249    ...
1250}
1251
1252IS13818AudioCapability  ::=SEQUENCE
1253{
1254    audioLayer1 BOOLEAN,
1255    audioLayer2 BOOLEAN,
1256    audioLayer3 BOOLEAN,
1257
1258    audioSampling16k    BOOLEAN,
1259    audioSampling22k05  BOOLEAN,
1260    audioSampling24k    BOOLEAN,
1261    audioSampling32k    BOOLEAN,
1262    audioSampling44k1   BOOLEAN,
1263    audioSampling48k    BOOLEAN,
1264
1265    singleChannel   BOOLEAN,
1266    twoChannels BOOLEAN,
1267    threeChannels2-1    BOOLEAN,
1268    threeChannels3-0    BOOLEAN,
1269    fourChannels2-0-2-0 BOOLEAN,
1270    fourChannels2-2 BOOLEAN,
1271    fourChannels3-1 BOOLEAN,
1272    fiveChannels3-0-2-0 BOOLEAN,
1273    fiveChannels3-2 BOOLEAN,
1274
1275    lowFrequencyEnhancement BOOLEAN,
1276
1277    multilingual    BOOLEAN,
1278
1279    bitRate     INTEGER (1..1130),  -- units kbit/s
1280    ...
1281}
1282
1283GSMAudioCapability  ::= SEQUENCE
1284{
1285    audioUnitSize   INTEGER (1..256),
1286    comfortNoise    BOOLEAN,
1287    scrambled   BOOLEAN,
1288    ...
1289}
1290
1291VBDCapability       ::=SEQUENCE
1292{
1293    type            AudioCapability,    -- shall not be "vbd"
1294    ...
1295}
1296
1297-- =============================================================================
1298-- Capability exchange definitions: Data capabilities
1299-- =============================================================================
1300
1301DataApplicationCapability   ::=SEQUENCE
1302{
1303    application CHOICE
1304    {
1305        nonStandard NonStandardParameter,
1306        t120        DataProtocolCapability,
1307        dsm-cc  DataProtocolCapability,
1308        userData    DataProtocolCapability,
1309        t84 SEQUENCE
1310        {
1311            t84Protocol DataProtocolCapability,
1312            t84Profile  T84Profile
1313        },
1314        t434        DataProtocolCapability,
1315        h224        DataProtocolCapability,
1316        nlpid       SEQUENCE
1317        {
1318            nlpidProtocol   DataProtocolCapability,
1319            nlpidData   OCTET STRING
1320        },
1321        dsvdControl NULL,
1322        h222DataPartitioning    DataProtocolCapability,
1323        ...,
1324        t30fax  DataProtocolCapability,
1325        t140        DataProtocolCapability,
1326        t38fax  SEQUENCE
1327        {
1328            t38FaxProtocol  DataProtocolCapability,
1329            t38FaxProfile   T38FaxProfile
1330        },
1331        genericDataCapability   GenericCapability
1332    },
1333    maxBitRate  INTEGER (0..4294967295), -- units 100 bit/s
1334    ...
1335}
1336
1337DataProtocolCapability  ::=CHOICE
1338{
1339    nonStandard NonStandardParameter,
1340    v14buffered NULL,
1341    v42lapm     NULL,   -- may negotiate to V.42 bis
1342    hdlcFrameTunnelling NULL,
1343    h310SeparateVCStack NULL,
1344    h310SingleVCStack   NULL,
1345    transparent NULL,
1346    ...,
1347    segmentationAndReassembly   NULL,
1348    hdlcFrameTunnelingwSAR  NULL,
1349    v120            NULL,   -- as in H.230
1350    separateLANStack    NULL,
1351    v76wCompression             CHOICE
1352    {
1353        transmitCompression         CompressionType,
1354        receiveCompression      CompressionType,
1355        transmitAndReceiveCompression   CompressionType,
1356        ...
1357    },
1358    tcp         NULL,
1359    udp         NULL
1360}
1361
1362CompressionType     ::=CHOICE
1363{
1364    v42bis      V42bis,
1365    ...
1366}
1367
1368V42bis                  ::=SEQUENCE
1369{
1370    numberOfCodewords   INTEGER (1..65536),
1371    maximumStringLength INTEGER (1..256),
1372    ...
1373}
1374
1375T84Profile          ::=CHOICE
1376{
1377    t84Unrestricted NULL,
1378    t84Restricted   SEQUENCE
1379    {
1380        qcif        BOOLEAN,
1381        cif         BOOLEAN,
1382        ccir601Seq  BOOLEAN,
1383        ccir601Prog BOOLEAN,
1384        hdtvSeq BOOLEAN,
1385        hdtvProg    BOOLEAN,
1386
1387        g3FacsMH200x100 BOOLEAN,
1388        g3FacsMH200x200 BOOLEAN,
1389        g4FacsMMR200x100    BOOLEAN,
1390        g4FacsMMR200x200    BOOLEAN,
1391        jbig200x200Seq  BOOLEAN,
1392        jbig200x200Prog BOOLEAN,
1393        jbig300x300Seq  BOOLEAN,
1394        jbig300x300Prog BOOLEAN,
1395
1396        digPhotoLow BOOLEAN,
1397        digPhotoMedSeq  BOOLEAN,
1398        digPhotoMedProg BOOLEAN,
1399        digPhotoHighSeq BOOLEAN,
1400        digPhotoHighProg    BOOLEAN,
1401
1402        ...
1403    }
1404}
1405
1406T38FaxProfile       ::=SEQUENCE
1407{
1408    fillBitRemoval  BOOLEAN,
1409    transcodingJBIG BOOLEAN,
1410    transcodingMMR  BOOLEAN,
1411    ...,
1412    version     INTEGER (0..255),
1413                    -- Version 0, the default, refers to
1414                    -- T.38 (2005)
1415    t38FaxRateManagement    T38FaxRateManagement,
1416                    -- The default Data Rate Management is
1417                    -- determined by the choice of
1418                    -- DataProtocolCapability
1419    t38FaxUdpOptions    T38FaxUdpOptions OPTIONAL,
1420                    -- For UDP, t38UDPRedundancy is the default
1421    t38FaxTcpOptions    T38FaxTcpOptions OPTIONAL
1422}
1423
1424T38FaxRateManagement    ::= CHOICE
1425{
1426    localTCF        NULL,
1427    transferredTCF  NULL,
1428    ...
1429}
1430
1431T38FaxUdpOptions    ::= SEQUENCE
1432{
1433    t38FaxMaxBuffer INTEGER OPTIONAL,
1434    t38FaxMaxDatagram   INTEGER OPTIONAL,
1435    t38FaxUdpEC CHOICE
1436    {
1437        t38UDPFEC   NULL,
1438        t38UDPRedundancy    NULL,
1439        ...
1440    }
1441}
1442
1443T38FaxTcpOptions    ::= SEQUENCE
1444{
1445    t38TCPBidirectionalMode BOOLEAN,
1446    ...
1447}
1448
1449-- =============================================================================
1450-- Encryption Capability Definitions
1451-- =============================================================================
1452
1453EncryptionAuthenticationAndIntegrity    ::=SEQUENCE
1454{
1455    encryptionCapability    EncryptionCapability OPTIONAL,
1456    authenticationCapability    AuthenticationCapability OPTIONAL,
1457    integrityCapability IntegrityCapability OPTIONAL,
1458    ...,
1459    genericH235SecurityCapability   GenericCapability OPTIONAL
1460}
1461
1462EncryptionCapability    ::=SEQUENCE SIZE(1..256) OF MediaEncryptionAlgorithm
1463
1464MediaEncryptionAlgorithm     ::=CHOICE
1465{
1466    nonStandard             NonStandardParameter,
1467    algorithm   OBJECT IDENTIFIER,   -- many defined
1468                         -- in ISO/IEC 9979
1469    ...
1470}
1471
1472AuthenticationCapability    ::=SEQUENCE
1473{
1474    nonStandard             NonStandardParameter OPTIONAL,
1475    ...,
1476    antiSpamAlgorithm   OBJECT IDENTIFIER OPTIONAL
1477}
1478
1479IntegrityCapability ::=SEQUENCE
1480{
1481    nonStandard             NonStandardParameter OPTIONAL,
1482    ...
1483}
1484
1485-- =============================================================================
1486-- Capability Exchange Definitions: UserInput
1487-- =============================================================================
1488
1489UserInputCapability ::= CHOICE
1490{
1491    nonStandard SEQUENCE SIZE(1..16) OF NonStandardParameter,
1492    basicString NULL,  -- alphanumeric
1493    iA5String   NULL,  -- alphanumeric
1494    generalString   NULL,  -- alphanumeric
1495    dtmf            NULL,  -- supports dtmf using signal
1496                           -- and signalUpdate
1497    hookflash   NULL,  -- supports hookflash using signal
1498    ...,
1499    extendedAlphanumeric    NULL,
1500    encryptedBasicString    NULL, -- encrypted Basic string in
1501                          -- encryptedAlphanumeric
1502    encryptedIA5String  NULL, -- encrypted IA5 string in
1503                          -- encryptedSignalType
1504    encryptedGeneralString  NULL, -- encrypted general string in
1505                          -- extendedAlphanumeric.encryptedalphanumeric
1506    secureDTMF                  NULL, -- secure DTMF using encryptedSignalType
1507    genericUserInputCapability      GenericCapability
1508}
1509
1510-- =============================================================================
1511-- Capability Exchange Definitions: Conference
1512-- =============================================================================
1513
1514ConferenceCapability    ::=SEQUENCE
1515{
1516    nonStandardData SEQUENCE OF NonStandardParameter OPTIONAL,
1517    chairControlCapability  BOOLEAN,
1518    ...,
1519    videoIndicateMixingCapability   BOOLEAN,
1520    multipointVisualizationCapability   BOOLEAN OPTIONAL    -- same as H.230 MVC
1521}
1522-- =============================================================================
1523-- Capability Exchange Definitions: Generic Capability
1524-- =============================================================================
1525
1526GenericCapability   ::=SEQUENCE
1527{
1528    capabilityIdentifier    CapabilityIdentifier,
1529
1530    maxBitRate  INTEGER (0..4294967295) OPTIONAL,
1531                    -- Units 100 bit/s
1532    collapsing  SEQUENCE OF GenericParameter  OPTIONAL,
1533    nonCollapsing   SEQUENCE OF GenericParameter  OPTIONAL,
1534    nonCollapsingRaw    OCTET STRING  OPTIONAL,
1535                    -- Typically contains ASN.1
1536                    -- PER encoded data describing capability
1537    transport   DataProtocolCapability  OPTIONAL,
1538    ...
1539}
1540
1541CapabilityIdentifier    ::=CHOICE
1542{
1543    standard        OBJECT IDENTIFIER,
1544                    -- e.g., { itu-t (0) recommendation (0) h (8) 267
1545                    -- version (0) 2 subIdentifier (0)}
1546    h221NonStandard NonStandardParameter,
1547    uuid            OCTET STRING ( SIZE (16) ),
1548    domainBased IA5String ( SIZE (1..64) ),
1549    ...
1550}
1551
1552-- NOTE � The ranges of parameter values have been selected to ensure that the
1553-- GenericParameter preamble, standard part of ParameterIdentifier and the
1554-- encoding of that choice, and the preamble of ParameterValue to fit into
1555-- 2 octets.
1556
1557GenericParameter    ::=SEQUENCE
1558{
1559    parameterIdentifier ParameterIdentifier,
1560    parameterValue  ParameterValue,
1561    supersedes  SEQUENCE OF ParameterIdentifier OPTIONAL,
1562    ...
1563}
1564
1565ParameterIdentifier ::=CHOICE
1566{
1567    standard        INTEGER (0..127), -- Assigned by
1568                                      -- Capability
1569                                      -- specifications
1570    h221NonStandard NonStandardParameter, -- N.B.
1571                                          -- NonStandardIdentifier
1572                                               -- is not sufficient in
1573                                               -- this case
1574    uuid            OCTET STRING ( SIZE (16) ), -- For non-
1575                                                -- standard
1576    domainBased IA5String ( SIZE (1..64) ),
1577    ...
1578}
1579
1580ParameterValue      ::=CHOICE
1581{
1582    logical     NULL,   -- Only acceptable if
1583                        -- all entities
1584                        -- include this option
1585    booleanArray    INTEGER (0..255),   -- array of 8 logical
1586                        -- types
1587    unsignedMin INTEGER (0..65535), -- Look for min
1588                        -- common value
1589    unsignedMax INTEGER (0..65535), -- Look for max
1590                        -- common value
1591    unsigned32Min   INTEGER (0..4294967295),    -- Look for min
1592                        -- common value
1593    unsigned32Max   INTEGER (0..4294967295),    -- Look for max
1594                        -- common value
1595
1596    octetString OCTET STRING,         -- non-collapsing
1597                              -- octet string
1598
1599    genericParameter    SEQUENCE OF GenericParameter,
1600    ...
1601}
1602
1603-- =============================================================================
1604-- Capability Exchange Definitions: Multiplexed Stream Capability
1605-- =============================================================================
1606
1607MultiplexedStreamCapability ::=SEQUENCE
1608{
1609    multiplexFormat MultiplexFormat,
1610    controlOnMuxStream  BOOLEAN,
1611    capabilityOnMuxStream   SET SIZE (1..256) OF AlternativeCapabilitySet OPTIONAL,
1612    ...
1613}
1614
1615MultiplexFormat ::= CHOICE
1616{
1617    nonStandard NonStandardParameter,
1618    h222Capability  H222Capability,
1619    h223Capability  H223Capability,
1620    ...
1621}
1622
1623-- =============================================================================
1624-- Capability Exchange Definitions: AudioTelephonyEventCapability and AudioToneCapability
1625--==============================================================================
1626
1627AudioTelephonyEventCapability   ::=SEQUENCE
1628{
1629    dynamicRTPPayloadType   INTEGER(96..127),
1630    audioTelephoneEvent GeneralString, -- As per <list of values>
1631                                   -- in RFC 4733
1632    ...
1633}
1634
1635AudioToneCapability ::=SEQUENCE
1636{
1637    dynamicRTPPayloadType   INTEGER(96..127),
1638    ...
1639}
1640
1641-- The following definitions are as above but without a Payload Type field.
1642
1643NoPTAudioTelephonyEventCapability   ::=SEQUENCE
1644{
1645    audioTelephoneEvent GeneralString, -- As per <list of values>
1646                                   -- in RFC 4733
1647    ...
1648}
1649
1650NoPTAudioToneCapability ::=SEQUENCE
1651{
1652    ...
1653}
1654
1655-- =============================================================================
1656-- Capability Exchange Definitions: MultiplePayloadStreamCapability
1657-- =============================================================================
1658
1659MultiplePayloadStreamCapability     ::=SEQUENCE
1660{
1661    capabilities    SET SIZE(1..256) OF AlternativeCapabilitySet,
1662    ...
1663}
1664
1665-- =============================================================================
1666-- Capability Exchange Definitions: FECCapability
1667-- =============================================================================
1668
1669DepFECCapability    ::=CHOICE -- Deprecated, do not use
1670{
1671    rfc2733     SEQUENCE
1672    {
1673        redundancyEncoding  BOOLEAN,
1674        separateStream  SEQUENCE
1675        {
1676            separatePort    BOOLEAN,
1677            samePort    BOOLEAN,
1678            ...
1679        },
1680        ...
1681    },
1682    ...
1683}
1684
1685FECCapability                       ::= SEQUENCE
1686{
1687    protectedCapability CapabilityTableEntryNumber,
1688    fecScheme   OBJECT IDENTIFIER OPTIONAL,
1689                     -- identifies encoding scheme
1690    rfc2733Format   CHOICE
1691    {
1692        rfc2733rfc2198  MaxRedundancy, -- RFC 2198
1693        rfc2733sameport MaxRedundancy,
1694                     -- separate packet, same port
1695        rfc2733diffport MaxRedundancy
1696                     -- separate packet and port
1697    } OPTIONAL,
1698    ...
1699}
1700
1701MaxRedundancy       ::= INTEGER (1..MAX)
1702
1703-- =============================================================================
1704-- Logical channel signalling definitions
1705-- =============================================================================
1706
1707-- "Forward" is used to refer to transmission in the direction from the terminal
1708-- making the original request for a logical channel to the other terminal, and
1709-- "reverse" is used to refer to the opposite direction of transmission, in the
1710-- case of a bidirectional channel request.
1711
1712OpenLogicalChannel  ::=SEQUENCE
1713{
1714    forwardLogicalChannelNumber LogicalChannelNumber,
1715
1716    forwardLogicalChannelParameters SEQUENCE
1717    {
1718        portNumber  INTEGER (0..65535) OPTIONAL,
1719        dataType    DataType,
1720        multiplexParameters CHOICE
1721        {
1722            h222LogicalChannelParameters    H222LogicalChannelParameters,
1723            h223LogicalChannelParameters    H223LogicalChannelParameters,
1724            v76LogicalChannelParameters V76LogicalChannelParameters,
1725            ...,
1726            h2250LogicalChannelParameters   H2250LogicalChannelParameters,
1727            none    NULL  -- for use with Separate Stack when
1728                          -- multiplexParameters are not
1729                          -- required or appropriate
1730
1731        },
1732        ...,
1733        forwardLogicalChannelDependency LogicalChannelNumber OPTIONAL,
1734                    -- also used to refer to the primary
1735                    -- logical channel when using video
1736                    -- redundancy coding
1737        replacementFor  LogicalChannelNumber OPTIONAL
1738
1739    },
1740
1741    -- Used to specify the reverse channel for bidirectional open request
1742
1743    reverseLogicalChannelParameters SEQUENCE
1744    {
1745        dataType    DataType,
1746        multiplexParameters CHOICE
1747        {
1748            -- H.222 parameters are never present in reverse direction
1749            h223LogicalChannelParameters    H223LogicalChannelParameters,
1750            v76LogicalChannelParameters V76LogicalChannelParameters,
1751            ...,
1752            h2250LogicalChannelParameters H2250LogicalChannelParameters
1753
1754        } OPTIONAL, -- Not present for H.222
1755        ...,
1756        reverseLogicalChannelDependency LogicalChannelNumber OPTIONAL,
1757            -- also used to refer to the primary logical channel when using
1758            -- video redundancy coding
1759        replacementFor  LogicalChannelNumber OPTIONAL
1760
1761    } OPTIONAL, -- Not present for unidirectional channel request
1762    ...,
1763    separateStack   NetworkAccessParameters OPTIONAL,
1764                -- for Open responder to establish the stack
1765    encryptionSync  EncryptionSync OPTIONAL,
1766        genericInformation          SEQUENCE OF GenericInformation OPTIONAL
1767                                    -- generic information associated
1768                                    -- with the message
1769
1770
1771}
1772
1773LogicalChannelNumber    ::=INTEGER (1..65535)
1774
1775NetworkAccessParameters ::=SEQUENCE
1776{
1777    distribution    CHOICE
1778    {
1779        unicast NULL,
1780        multicast   NULL,   -- for further study in T.120
1781        ...
1782    } OPTIONAL,
1783
1784    networkAddress  CHOICE
1785    {
1786        q2931Address    Q2931Address,
1787        e164Address IA5String(SIZE(1..128)) (FROM ("0123456789#*,")),
1788        localAreaAddress    TransportAddress,
1789        ...
1790    },
1791    associateConference BOOLEAN,
1792    externalReference   OCTET STRING(SIZE(1..255)) OPTIONAL,
1793    ...,
1794    t120SetupProcedure  CHOICE
1795    {
1796
1797        originateCall   NULL,
1798        waitForCall NULL,
1799        issueQuery  NULL,
1800        ...
1801    } OPTIONAL
1802}
1803
1804Q2931Address        ::=SEQUENCE
1805{
1806    address     CHOICE
1807    {
1808        internationalNumber NumericString(SIZE(1..16)),
1809        nsapAddress OCTET STRING (SIZE(1..20)),
1810        ...
1811    },
1812    subaddress  OCTET STRING (SIZE(1..20)) OPTIONAL,
1813    ...
1814}
1815
1816V75Parameters       ::= SEQUENCE
1817{
1818    audioHeaderPresent  BOOLEAN,
1819     ...
1820}
1821
1822
1823DataType                ::=CHOICE
1824{
1825    nonStandard NonStandardParameter,
1826    nullData        NULL,
1827    videoData   VideoCapability,
1828    audioData   AudioCapability,
1829    data            DataApplicationCapability,
1830    encryptionData  EncryptionMode,
1831    ...,
1832    h235Control NonStandardParameter,
1833    h235Media   H235Media,
1834    multiplexedStream   MultiplexedStreamParameter,
1835    redundancyEncoding  RedundancyEncoding,
1836    multiplePayloadStream   MultiplePayloadStream,
1837    depFec      DepFECData, -- Deprecated, do not use
1838    fec         FECData
1839}
1840
1841H235Media           ::=SEQUENCE
1842{
1843    encryptionAuthenticationAndIntegrity    EncryptionAuthenticationAndIntegrity,
1844
1845    mediaType   CHOICE
1846    {
1847        nonStandard NonStandardParameter,
1848        videoData   VideoCapability,
1849        audioData   AudioCapability,
1850        data        DataApplicationCapability,
1851        ...,
1852        redundancyEncoding  RedundancyEncoding,
1853        multiplePayloadStream   MultiplePayloadStream,
1854        depFec  DepFECData, -- Deprecated, do not use
1855        fec         FECData
1856    },
1857
1858    ...
1859}
1860
1861MultiplexedStreamParameter  ::=SEQUENCE
1862{
1863    multiplexFormat MultiplexFormat,
1864    controlOnMuxStream  BOOLEAN,
1865    ...
1866}
1867
1868H222LogicalChannelParameters    ::=SEQUENCE
1869{
1870    resourceID  INTEGER (0..65535),
1871    subChannelID    INTEGER (0..8191),
1872    pcr-pid     INTEGER (0..8191) OPTIONAL,
1873    programDescriptors  OCTET STRING OPTIONAL,
1874    streamDescriptors   OCTET STRING OPTIONAL,
1875    ...
1876}
1877
1878H223LogicalChannelParameters    ::=SEQUENCE
1879{
1880    adaptationLayerType CHOICE
1881    {
1882        nonStandard NonStandardParameter,
1883        al1Framed   NULL,
1884        al1NotFramed    NULL,
1885        al2WithoutSequenceNumbers   NULL,
1886        al2WithSequenceNumbers  NULL,
1887        al3         SEQUENCE
1888        {
1889            controlFieldOctets  INTEGER (0..2),
1890            sendBufferSize  INTEGER (0..16777215)   -- units octets
1891        },
1892        ...,
1893        al1M        H223AL1MParameters,
1894        al2M        H223AL2MParameters,
1895        al3M        H223AL3MParameters
1896    },
1897
1898    segmentableFlag BOOLEAN,
1899    ...
1900}
1901
1902H223AL1MParameters  ::=SEQUENCE
1903{
1904    transferMode    CHOICE
1905    {
1906        framed  NULL,
1907        unframed    NULL,
1908        ...
1909    },
1910    headerFEC   CHOICE
1911    {
1912        sebch16-7   NULL,
1913        golay24-12  NULL,
1914        ...
1915    },
1916    crcLength   CHOICE
1917    {
1918        crc4bit NULL,
1919        crc12bit    NULL,
1920        crc20bit    NULL,
1921        crc28bit    NULL,
1922        ...,
1923        crc8bit NULL,
1924        crc16bit    NULL,
1925        crc32bit    NULL,
1926        crcNotUsed  NULL
1927    },
1928
1929    rcpcCodeRate    INTEGER (8..32),
1930
1931    arqType     CHOICE
1932    {
1933        noArq       NULL,
1934        typeIArq    H223AnnexCArqParameters,
1935        typeIIArq   H223AnnexCArqParameters,
1936        ...
1937    },
1938    alpduInterleaving   BOOLEAN,
1939    alsduSplitting  BOOLEAN,
1940    ...,
1941    rsCodeCorrection    INTEGER (0..127) OPTIONAL
1942}
1943
1944H223AL2MParameters  ::=SEQUENCE
1945{
1946    headerFEC   CHOICE
1947    {
1948        sebch16-5   NULL,
1949        golay24-12  NULL,
1950        ...
1951    },
1952    alpduInterleaving   BOOLEAN,
1953    ...
1954}
1955
1956H223AL3MParameters  ::=SEQUENCE
1957{
1958    headerFormat    CHOICE
1959    {
1960        sebch16-7   NULL,
1961        golay24-12  NULL,
1962        ...
1963    },
1964    crcLength   CHOICE
1965    {
1966        crc4bit NULL,
1967        crc12bit    NULL,
1968        crc20bit    NULL,
1969        crc28bit    NULL,
1970        ...,
1971        crc8bit NULL,
1972        crc16bit    NULL,
1973        crc32bit    NULL,
1974        crcNotUsed  NULL
1975    },
1976
1977    rcpcCodeRate    INTEGER (8..32),
1978
1979    arqType     CHOICE
1980    {
1981        noArq       NULL,
1982        typeIArq    H223AnnexCArqParameters,
1983        typeIIArq   H223AnnexCArqParameters,
1984        ...
1985    },
1986
1987    alpduInterleaving   BOOLEAN,
1988    ...,
1989    rsCodeCorrection    INTEGER (0..127) OPTIONAL
1990}
1991
1992
1993H223AnnexCArqParameters ::=SEQUENCE
1994{
1995    numberOfRetransmissions CHOICE
1996    {
1997        finite  INTEGER (0..16),
1998        infinite    NULL,
1999        ...
2000    },
2001    sendBufferSize  INTEGER (0..16777215),     -- units octets
2002    ...
2003}
2004
2005V76LogicalChannelParameters ::=SEQUENCE
2006{
2007    hdlcParameters  V76HDLCParameters,
2008    suspendResume   CHOICE
2009    {
2010        noSuspendResume NULL,
2011        suspendResumewAddress   NULL,
2012        suspendResumewoAddress      NULL,
2013        ...
2014    },
2015    uIH         BOOLEAN,
2016    mode            CHOICE
2017    {
2018        eRM         SEQUENCE
2019        {
2020            windowSize  INTEGER (1..127) ,
2021            recovery    CHOICE
2022            {
2023                rej NULL,
2024                sREJ    NULL,
2025                mSREJ   NULL,
2026                ...
2027            },
2028            ...
2029        },
2030        uNERM       NULL,
2031        ...
2032    },
2033    v75Parameters   V75Parameters,
2034    ...
2035}
2036
2037
2038
2039V76HDLCParameters   ::=SEQUENCE
2040{
2041    crcLength   CRCLength,
2042    n401            INTEGER (1..4095),
2043    loopbackTestProcedure   BOOLEAN,
2044    ...
2045}
2046
2047
2048CRCLength           ::=CHOICE
2049{
2050    crc8bit     NULL,
2051    crc16bit        NULL,
2052    crc32bit        NULL,
2053    ...
2054}
2055
2056H2250LogicalChannelParameters   ::=SEQUENCE
2057{
2058    nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
2059    sessionID   INTEGER(0..255),
2060    associatedSessionID INTEGER(1..255) OPTIONAL,
2061    mediaChannel    TransportAddress OPTIONAL,
2062    mediaGuaranteedDelivery BOOLEAN OPTIONAL,
2063    mediaControlChannel TransportAddress OPTIONAL, -- reverse
2064                                 -- RTCP channel
2065    mediaControlGuaranteedDelivery  BOOLEAN OPTIONAL,
2066    silenceSuppression  BOOLEAN OPTIONAL,
2067    destination TerminalLabel OPTIONAL,
2068
2069    dynamicRTPPayloadType   INTEGER(96..127) OPTIONAL,
2070    mediaPacketization  CHOICE
2071    {
2072        h261aVideoPacketization NULL,
2073        ...,
2074        rtpPayloadType  RTPPayloadType
2075    } OPTIONAL,
2076    ...,
2077    transportCapability TransportCapability OPTIONAL,
2078    redundancyEncoding  RedundancyEncoding OPTIONAL,
2079    source      TerminalLabel OPTIONAL
2080}
2081
2082RTPPayloadType      ::= SEQUENCE
2083{
2084    payloadDescriptor   CHOICE
2085    {
2086        nonStandardIdentifier   NonStandardParameter,
2087        rfc-number  INTEGER (1..32768, ...),
2088        oid         OBJECT IDENTIFIER,
2089        ...
2090    },
2091    payloadType INTEGER (0..127) OPTIONAL,
2092    ...
2093}
2094
2095RedundancyEncoding  ::=SEQUENCE
2096{
2097    redundancyEncodingMethod    RedundancyEncodingMethod,
2098    secondaryEncoding   DataType OPTIONAL,  -- depends on method
2099    ...,
2100
2101    -- The sequence below may be used in place of the above secondaryEncoding field
2102
2103    rtpRedundancyEncoding   SEQUENCE
2104    {
2105        primary RedundancyEncodingElement OPTIONAL,
2106                    -- Present when redundancyEncoding
2107                    -- is selected as the dataType
2108                    -- in an OpenLogicalChannel or
2109                    -- as part of a MultiplePayloadSteam
2110
2111        secondary   SEQUENCE OF RedundancyEncodingElement OPTIONAL,
2112        ...
2113    } OPTIONAL
2114}
2115
2116RedundancyEncodingElement   ::=SEQUENCE
2117{
2118    dataType        DataType,
2119    payloadType INTEGER(0..127) OPTIONAL,
2120    ...
2121}
2122
2123MultiplePayloadStream   ::=SEQUENCE
2124{
2125    elements        SEQUENCE OF MultiplePayloadStreamElement,
2126    ...
2127}
2128
2129MultiplePayloadStreamElement    ::=SEQUENCE
2130{
2131    dataType        DataType,
2132    payloadType INTEGER(0..127) OPTIONAL,
2133    ...
2134}
2135
2136DepFECData          ::=CHOICE -- Deprecated, do not use
2137{
2138    rfc2733     SEQUENCE
2139    {
2140        mode        CHOICE
2141        {
2142            redundancyEncoding  NULL,
2143            separateStream  CHOICE
2144            {
2145                differentPort   SEQUENCE
2146                {
2147                protectedSessionID  INTEGER(1..255),
2148                protectedPayloadType    INTEGER(0..127) OPTIONAL,
2149                  ...
2150                },
2151                samePort    SEQUENCE
2152                {
2153                protectedPayloadType    INTEGER(0..127),
2154                  ...
2155                },
2156                ...
2157            },
2158            ...
2159        },
2160        ...
2161    }
2162}
2163
2164FECData             ::= CHOICE
2165{
2166    rfc2733         SEQUENCE
2167    {
2168        protectedPayloadType    INTEGER(0..127),
2169        fecScheme   OBJECT IDENTIFIER OPTIONAL,
2170        pktMode CHOICE
2171        {
2172            rfc2198coding   NULL,
2173            rfc2733sameport SEQUENCE
2174            {
2175                ...
2176            },
2177            rfc2733diffport SEQUENCE
2178            {
2179                protectedChannel    LogicalChannelNumber,
2180                ...
2181            },
2182            ...
2183        },
2184        ...
2185    },
2186    ...
2187}
2188
2189TransportAddress    ::=CHOICE
2190{
2191    unicastAddress  UnicastAddress,
2192    multicastAddress    MulticastAddress,
2193    ...
2194}
2195
2196UnicastAddress      ::=CHOICE
2197{
2198    iPAddress   SEQUENCE
2199    {
2200        network OCTET STRING (SIZE(4)),
2201        tsapIdentifier  INTEGER(0..65535),
2202        ...
2203    },
2204    iPXAddress  SEQUENCE
2205    {
2206        node        OCTET STRING (SIZE(6)),
2207        netnum  OCTET STRING (SIZE(4)),
2208        tsapIdentifier  OCTET STRING (SIZE(2)),
2209        ...
2210    },
2211    iP6Address  SEQUENCE
2212    {
2213        network OCTET STRING (SIZE(16)),
2214        tsapIdentifier  INTEGER(0..65535),
2215        ...
2216    },
2217    netBios     OCTET STRING (SIZE(16)),
2218    iPSourceRouteAddress    SEQUENCE
2219    {
2220        routing CHOICE
2221        {
2222            strict  NULL,
2223            loose   NULL
2224        },
2225        network OCTET STRING (SIZE(4)),
2226        tsapIdentifier  INTEGER(0..65535),
2227        route       SEQUENCE OF OCTET STRING (SIZE(4)),
2228        ...
2229    },
2230    ...,
2231    nsap            OCTET STRING (SIZE(1..20)),
2232    nonStandardAddress  NonStandardParameter
2233}
2234
2235MulticastAddress    ::=CHOICE
2236{
2237    iPAddress   SEQUENCE
2238    {
2239        network OCTET STRING (SIZE(4)),
2240        tsapIdentifier  INTEGER(0..65535),
2241        ...
2242    },
2243    iP6Address  SEQUENCE
2244    {
2245        network OCTET STRING (SIZE(16)),
2246        tsapIdentifier  INTEGER(0..65535),
2247        ...
2248    },
2249    ...,
2250    nsap            OCTET STRING (SIZE(1..20)),
2251    nonStandardAddress  NonStandardParameter
2252}
2253
2254EncryptionSync      ::=SEQUENCE
2255                     -- used to supply new key and synchronization point
2256{
2257    nonStandard             NonStandardParameter OPTIONAL,
2258    synchFlag   INTEGER(0..255) , -- may need to be larger
2259                                      -- for H.324, etc.
2260                                      -- shall be the Dynamic
2261                                      -- Payload# for H.323
2262    h235Key     OCTET STRING (SIZE(1..65535)), -- H.235.0
2263                        -- encoded value
2264    escrowentry SEQUENCE SIZE(1..256) OF EscrowData OPTIONAL,
2265    ...,
2266    genericParameter    GenericParameter OPTIONAL
2267}
2268
2269EscrowData          ::=SEQUENCE
2270{
2271    escrowID        OBJECT IDENTIFIER,
2272    escrowValue BIT STRING (SIZE(1..65535)),
2273    ...
2274}
2275
2276OpenLogicalChannelAck   ::=SEQUENCE
2277{
2278    forwardLogicalChannelNumber LogicalChannelNumber,
2279
2280    reverseLogicalChannelParameters SEQUENCE
2281    {
2282        reverseLogicalChannelNumber LogicalChannelNumber,
2283        portNumber  INTEGER (0..65535) OPTIONAL,
2284        multiplexParameters CHOICE
2285        {
2286            h222LogicalChannelParameters    H222LogicalChannelParameters,
2287            -- H.223 parameters are never present in reverse direction
2288            ...,
2289            h2250LogicalChannelParameters H2250LogicalChannelParameters
2290
2291        } OPTIONAL, -- not present for H.223
2292        ...,
2293        replacementFor  LogicalChannelNumber OPTIONAL
2294
2295    } OPTIONAL, -- not present for unidirectional channel
2296                    -- request
2297    ...,
2298    separateStack   NetworkAccessParameters OPTIONAL,
2299                    -- for Open requester to establish
2300                    -- the stack
2301    forwardMultiplexAckParameters   CHOICE
2302    {
2303        -- H.222 parameters are never present in the Ack
2304        -- H.223 parameters are never present in the Ack
2305        -- V.76 parameters are never present in the Ack
2306        h2250LogicalChannelAckParameters H2250LogicalChannelAckParameters,
2307        ...
2308    } OPTIONAL,
2309    encryptionSync  EncryptionSync OPTIONAL, -- used only by Master
2310    genericInformation          SEQUENCE OF GenericInformation OPTIONAL
2311                                    -- generic information associated
2312                                    -- with the message
2313}
2314
2315OpenLogicalChannelReject    ::=SEQUENCE
2316{
2317    forwardLogicalChannelNumber LogicalChannelNumber,
2318    cause           CHOICE
2319    {
2320        unspecified NULL,
2321        unsuitableReverseParameters NULL,
2322        dataTypeNotSupported    NULL,
2323        dataTypeNotAvailable    NULL,
2324        unknownDataType NULL,
2325        dataTypeALCombinationNotSupported   NULL,
2326        ...,
2327        multicastChannelNotAllowed  NULL,
2328        insufficientBandwidth   NULL,
2329        separateStackEstablishmentFailed    NULL,
2330        invalidSessionID    NULL,
2331        masterSlaveConflict NULL,
2332        waitForCommunicationMode    NULL,
2333        invalidDependentChannel NULL,
2334        replacementForRejected  NULL,
2335        securityDenied  NULL,
2336        qoSControlNotSupported      NULL  --  added for callee to indicate
2337                    -- that requested QoS support cannot be
2338                    -- supported.
2339    },
2340    ...,
2341        genericInformation          SEQUENCE OF GenericInformation OPTIONAL
2342                                    -- generic information associated
2343                                    -- with the message
2344}
2345
2346OpenLogicalChannelConfirm   ::=SEQUENCE
2347{
2348    forwardLogicalChannelNumber LogicalChannelNumber,
2349    ...,
2350        genericInformation          SEQUENCE OF GenericInformation OPTIONAL
2351                                    -- generic information associated
2352                                    -- with the message
2353}
2354
2355H2250LogicalChannelAckParameters    ::=SEQUENCE
2356{
2357    nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
2358    sessionID   INTEGER(1..255) OPTIONAL,
2359    mediaChannel    TransportAddress OPTIONAL,
2360    mediaControlChannel TransportAddress OPTIONAL, -- forward RTCP
2361                             -- channel
2362    dynamicRTPPayloadType   INTEGER(96..127) OPTIONAL, -- used only by
2363                             -- the master or
2364                                -- MC
2365    ...,
2366    flowControlToZero   BOOLEAN,
2367    portNumber  INTEGER (0..65535) OPTIONAL
2368}
2369
2370
2371
2372CloseLogicalChannel ::=SEQUENCE
2373{
2374    forwardLogicalChannelNumber LogicalChannelNumber,
2375    source      CHOICE
2376    {
2377        user        NULL,
2378        lcse        NULL
2379    },
2380    ...,
2381    reason      CHOICE
2382    {
2383        unknown NULL,
2384        reopen  NULL,
2385        reservationFailure  NULL,
2386        ...,
2387            networkErrorCode            INTEGER(0..255) -- Indicates the error
2388                    -- code received from network
2389    }
2390}
2391
2392CloseLogicalChannelAck  ::=SEQUENCE
2393{
2394    forwardLogicalChannelNumber LogicalChannelNumber,
2395    ...
2396}
2397
2398RequestChannelClose ::=SEQUENCE
2399{
2400    forwardLogicalChannelNumber LogicalChannelNumber,
2401    ...,
2402    qosCapability   QOSCapability OPTIONAL,
2403    reason      CHOICE
2404    {
2405        unknown NULL,
2406        normal  NULL,
2407        reopen  NULL,
2408        reservationFailure  NULL,
2409        ...,
2410            networkErrorCode            INTEGER(0..255) -- Indicates the error
2411                                            -- code received from network
2412    }
2413}
2414
2415RequestChannelCloseAck  ::=SEQUENCE
2416{
2417    forwardLogicalChannelNumber LogicalChannelNumber,
2418    ...
2419}
2420
2421RequestChannelCloseReject   ::=SEQUENCE
2422{
2423    forwardLogicalChannelNumber LogicalChannelNumber,
2424    cause           CHOICE
2425    {
2426        unspecified NULL,
2427        ...
2428    },
2429    ...
2430}
2431
2432RequestChannelCloseRelease  ::=SEQUENCE
2433{
2434    forwardLogicalChannelNumber LogicalChannelNumber,
2435    ...
2436}
2437
2438-- =============================================================================
2439-- H.223 multiplex table definitions
2440-- =============================================================================
2441
2442MultiplexEntrySend  ::=SEQUENCE
2443{
2444    sequenceNumber  SequenceNumber,
2445    multiplexEntryDescriptors   SET SIZE (1..15) OF MultiplexEntryDescriptor,
2446    ...
2447}
2448
2449MultiplexEntryDescriptor    ::=SEQUENCE
2450{
2451    multiplexTableEntryNumber   MultiplexTableEntryNumber,
2452    elementList SEQUENCE SIZE (1..256) OF MultiplexElement OPTIONAL
2453}
2454
2455MultiplexElement    ::=SEQUENCE
2456{
2457    type            CHOICE
2458    {
2459        logicalChannelNumber    INTEGER(0..65535),
2460        subElementList  SEQUENCE SIZE (2..255) OF MultiplexElement
2461    },
2462    repeatCount CHOICE
2463    {
2464        finite  INTEGER (1..65535), -- repeats of type
2465        untilClosingFlag    NULL    -- used for last element
2466    }
2467}
2468
2469MultiplexTableEntryNumber   ::=INTEGER (1..15)
2470
2471MultiplexEntrySendAck   ::=SEQUENCE
2472{
2473    sequenceNumber  SequenceNumber,
2474    multiplexTableEntryNumber   SET SIZE (1..15) OF
2475                    MultiplexTableEntryNumber,
2476    ...
2477}
2478
2479MultiplexEntrySendReject    ::=SEQUENCE
2480{
2481    sequenceNumber  SequenceNumber,
2482    rejectionDescriptions   SET SIZE (1..15) OF
2483                    MultiplexEntryRejectionDescriptions,
2484    ...
2485}
2486
2487MultiplexEntryRejectionDescriptions ::=SEQUENCE
2488{
2489    multiplexTableEntryNumber   MultiplexTableEntryNumber,
2490    cause           CHOICE
2491    {
2492        unspecifiedCause    NULL,
2493        descriptorTooComplex    NULL,
2494        ...
2495    },
2496    ...
2497}
2498
2499MultiplexEntrySendRelease   ::=SEQUENCE
2500{
2501    multiplexTableEntryNumber   SET SIZE (1..15) OF
2502                    MultiplexTableEntryNumber,
2503    ...
2504}
2505
2506RequestMultiplexEntry   ::=SEQUENCE
2507{
2508    entryNumbers    SET SIZE (1..15) OF
2509                    MultiplexTableEntryNumber,
2510    ...
2511}
2512
2513RequestMultiplexEntryAck    ::=SEQUENCE
2514{
2515    entryNumbers        SET SIZE (1..15) OF MultiplexTableEntryNumber,
2516    ...
2517}
2518
2519RequestMultiplexEntryReject ::=SEQUENCE
2520{
2521    entryNumbers    SET SIZE (1..15) OF
2522                        MultiplexTableEntryNumber,
2523    rejectionDescriptions   SET SIZE (1..15) OF
2524                    RequestMultiplexEntryRejectionDescriptions,
2525    ...
2526}
2527
2528RequestMultiplexEntryRejectionDescriptions  ::=SEQUENCE
2529{
2530    multiplexTableEntryNumber   MultiplexTableEntryNumber,
2531    cause           CHOICE
2532    {
2533        unspecifiedCause    NULL,
2534        ...
2535    },
2536    ...
2537}
2538
2539RequestMultiplexEntryRelease    ::=SEQUENCE
2540{
2541    entryNumbers    SET SIZE (1..15) OF
2542                    MultiplexTableEntryNumber,
2543    ...
2544}
2545
2546-- =============================================================================
2547-- Request mode definitions
2548-- =============================================================================
2549
2550-- RequestMode is a list, in order or preference, of modes that a terminal would
2551-- like to have transmitted to it.
2552
2553RequestMode         ::=SEQUENCE
2554{
2555    sequenceNumber  SequenceNumber,
2556    requestedModes  SEQUENCE SIZE (1..256) OF ModeDescription,
2557    ...
2558}
2559
2560RequestModeAck      ::=SEQUENCE
2561{
2562    sequenceNumber  SequenceNumber,
2563    response        CHOICE
2564    {
2565        willTransmitMostPreferredMode   NULL,
2566        willTransmitLessPreferredMode   NULL,
2567        ...
2568    },
2569    ...
2570}
2571
2572RequestModeReject   ::=SEQUENCE
2573{
2574    sequenceNumber  SequenceNumber,
2575    cause           CHOICE
2576    {
2577        modeUnavailable NULL,
2578        multipointConstraint    NULL,
2579        requestDenied   NULL,
2580        ...
2581    },
2582    ...
2583}
2584
2585RequestModeRelease  ::=SEQUENCE
2586{
2587    ...
2588}
2589
2590-- =============================================================================
2591-- Request mode definitions: Mode description
2592-- =============================================================================
2593
2594ModeDescription ::=SET SIZE (1..256) OF ModeElement
2595
2596ModeElementType     ::=CHOICE
2597{
2598    nonStandard NonStandardParameter,
2599    videoMode   VideoMode,
2600    audioMode   AudioMode,
2601    dataMode        DataMode,
2602    encryptionMode  EncryptionMode,
2603    ...,
2604    h235Mode        H235Mode,
2605    multiplexedStreamMode   MultiplexedStreamParameter,
2606    redundancyEncodingDTMode    RedundancyEncodingDTMode,
2607    multiplePayloadStreamMode   MultiplePayloadStreamMode,
2608    depFecMode  DepFECMode, -- deprecated, do not use
2609    fecMode FECMode
2610}
2611
2612ModeElement         ::= SEQUENCE
2613{
2614    type            ModeElementType,
2615
2616    h223ModeParameters  H223ModeParameters OPTIONAL,
2617    ...,
2618    v76ModeParameters   V76ModeParameters OPTIONAL,
2619    h2250ModeParameters H2250ModeParameters OPTIONAL,
2620    genericModeParameters   GenericCapability OPTIONAL,
2621    multiplexedStreamModeParameters MultiplexedStreamModeParameters OPTIONAL,
2622    logicalChannelNumber    LogicalChannelNumber OPTIONAL
2623
2624}
2625
2626H235Mode                ::=SEQUENCE
2627{
2628    encryptionAuthenticationAndIntegrity    EncryptionAuthenticationAndIntegrity,
2629
2630    mediaMode   CHOICE
2631    {
2632        nonStandard NonStandardParameter,
2633        videoMode   VideoMode,
2634        audioMode   AudioMode,
2635        dataMode    DataMode,
2636        ...
2637    },
2638    ...
2639}
2640
2641MultiplexedStreamModeParameters ::=SEQUENCE
2642{
2643    logicalChannelNumber    LogicalChannelNumber,
2644    ...
2645}
2646
2647RedundancyEncodingDTMode    ::=SEQUENCE
2648{
2649    redundancyEncodingMethod    RedundancyEncodingMethod,
2650    primary     RedundancyEncodingDTModeElement,
2651    secondary   SEQUENCE OF RedundancyEncodingDTModeElement,
2652    ...
2653}
2654
2655RedundancyEncodingDTModeElement     ::=SEQUENCE
2656{
2657    type            CHOICE
2658    {
2659        nonStandard NonStandardParameter,
2660        videoMode   VideoMode,
2661        audioMode   AudioMode,
2662        dataMode    DataMode,
2663        encryptionMode  EncryptionMode,
2664        h235Mode    H235Mode,
2665        ...,
2666        fecMode FECMode
2667    },
2668    ...
2669}
2670
2671MultiplePayloadStreamMode   ::=SEQUENCE
2672{
2673    elements        SEQUENCE OF MultiplePayloadStreamElementMode,
2674    ...
2675}
2676
2677MultiplePayloadStreamElementMode    ::=SEQUENCE
2678{
2679    type            ModeElementType,
2680    ...
2681}
2682
2683DepFECMode          ::=CHOICE -- deprecated, do not use
2684{
2685    rfc2733Mode SEQUENCE
2686    {
2687        mode        CHOICE
2688        {
2689            redundancyEncoding  NULL,
2690            separateStream  CHOICE
2691            {
2692                differentPort   SEQUENCE
2693                {
2694                    protectedSessionID  INTEGER(1..255),
2695                    protectedPayloadType    INTEGER(0..127) OPTIONAL,
2696                   ...
2697                },
2698                samePort    SEQUENCE
2699                {
2700                    protectedType   ModeElementType,
2701                   ...
2702                },
2703                ...
2704            },
2705            ...
2706        },
2707        ...
2708    },
2709    ...
2710}
2711
2712FECMode                 ::= SEQUENCE
2713{
2714    protectedElement    ModeElementType,
2715    fecScheme   OBJECT IDENTIFIER OPTIONAL,
2716                     -- identifies encoding scheme
2717    rfc2733Format   CHOICE
2718    {
2719        rfc2733rfc2198  MaxRedundancy, -- RFC 2198 redundancy
2720            rfc2733sameport         MaxRedundancy,
2721                     -- separate packet, same port
2722        rfc2733diffport MaxRedundancy
2723                     -- separate packet and port
2724    } OPTIONAL,
2725    ...
2726}
2727
2728H223ModeParameters  ::=SEQUENCE
2729{
2730    adaptationLayerType CHOICE
2731    {
2732        nonStandard NonStandardParameter,
2733        al1Framed   NULL,
2734        al1NotFramed    NULL,
2735        al2WithoutSequenceNumbers   NULL,
2736        al2WithSequenceNumbers  NULL,
2737        al3         SEQUENCE
2738        {
2739            controlFieldOctets  INTEGER(0..2),
2740            sendBufferSize  INTEGER(0..16777215)    -- units octets
2741        },
2742        ...,
2743        al1M        H223AL1MParameters,
2744        al2M        H223AL2MParameters,
2745        al3M        H223AL3MParameters
2746
2747    },
2748
2749    segmentableFlag BOOLEAN,
2750    ...
2751}
2752
2753V76ModeParameters   ::=CHOICE
2754{
2755    suspendResumewAddress   NULL,
2756    suspendResumewoAddress  NULL,
2757    ...
2758}
2759
2760H2250ModeParameters ::=SEQUENCE
2761{
2762    redundancyEncodingMode  RedundancyEncodingMode OPTIONAL,
2763    ...
2764}
2765
2766RedundancyEncodingMode  ::=SEQUENCE
2767{
2768    redundancyEncodingMethod    RedundancyEncodingMethod,
2769    secondaryEncoding   CHOICE
2770    {
2771        nonStandard NonStandardParameter,
2772        audioData   AudioMode,
2773        ...
2774    } OPTIONAL,
2775    ...
2776}
2777
2778-- =============================================================================
2779-- Request mode definitions: Video modes
2780-- =============================================================================
2781
2782VideoMode           ::=CHOICE
2783{
2784    nonStandard NonStandardParameter,
2785    h261VideoMode   H261VideoMode,
2786    h262VideoMode   H262VideoMode,
2787    h263VideoMode   H263VideoMode,
2788    is11172VideoMode    IS11172VideoMode,
2789    ...,
2790    genericVideoMode    GenericCapability
2791}
2792
2793H261VideoMode       ::=SEQUENCE
2794{
2795    resolution  CHOICE
2796    {
2797        qcif        NULL,
2798        cif         NULL
2799    },
2800    bitRate     INTEGER (1..19200), -- units 100 bit/s
2801    stillImageTransmission  BOOLEAN,
2802    ...
2803}
2804
2805H262VideoMode       ::=SEQUENCE
2806{
2807    profileAndLevel CHOICE
2808    {
2809        profileAndLevel-SPatML  NULL,
2810        profileAndLevel-MPatLL  NULL,
2811        profileAndLevel-MPatML  NULL,
2812        profileAndLevel-MPatH-14    NULL,
2813        profileAndLevel-MPatHL  NULL,
2814        profileAndLevel-SNRatLL NULL,
2815        profileAndLevel-SNRatML NULL,
2816        profileAndLevel-SpatialatH-14   NULL,
2817        profileAndLevel-HPatML  NULL,
2818        profileAndLevel-HPatH-14    NULL,
2819        profileAndLevel-HPatHL  NULL,
2820        ...
2821    },
2822    videoBitRate    INTEGER(0..1073741823) OPTIONAL, -- units 400 bit/s
2823    vbvBufferSize   INTEGER(0..262143) OPTIONAL, -- units 16 384 bits
2824    samplesPerLine  INTEGER(0..16383) OPTIONAL, -- units samples/line
2825    linesPerFrame   INTEGER(0..16383) OPTIONAL, -- units lines/frame
2826    framesPerSecond INTEGER(0..15) OPTIONAL, -- frame_rate_code
2827    luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/s
2828    ...
2829}
2830
2831H263VideoMode       ::=SEQUENCE
2832{
2833    resolution  CHOICE
2834    {
2835        sqcif       NULL,
2836        qcif        NULL,
2837        cif         NULL,
2838        cif4        NULL,
2839        cif16       NULL,
2840        ...,
2841        custom  NULL
2842    },
2843    bitRate     INTEGER (1..19200), -- units 100 bit/s
2844    unrestrictedVector  BOOLEAN,
2845    arithmeticCoding    BOOLEAN,
2846    advancedPrediction  BOOLEAN,
2847    pbFrames        BOOLEAN,
2848    ...,
2849
2850    errorCompensation   BOOLEAN,
2851    enhancementLayerInfo    EnhancementLayerInfo OPTIONAL,
2852    h263Options H263Options OPTIONAL
2853}
2854
2855IS11172VideoMode    ::=SEQUENCE
2856{
2857    constrainedBitstream    BOOLEAN,
2858    videoBitRate    INTEGER(0..1073741823) OPTIONAL, -- units
2859                                  -- 400 bit/s
2860    vbvBufferSize   INTEGER(0..262143) OPTIONAL,     -- units
2861                                 -- 16 384 bits
2862    samplesPerLine  INTEGER(0..16383) OPTIONAL, -- units
2863                                -- samples/line
2864    linesPerFrame   INTEGER(0..16383) OPTIONAL, -- units
2865                                -- lines/frame
2866    pictureRate INTEGER(0..15) OPTIONAL,
2867    luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units
2868                                 -- samples/s
2869    ...
2870}
2871
2872-- =============================================================================
2873-- Request mode definitions: Audio modes
2874-- =============================================================================
2875
2876AudioMode           ::=CHOICE
2877{
2878    nonStandard NonStandardParameter,
2879    g711Alaw64k NULL,
2880    g711Alaw56k NULL,
2881    g711Ulaw64k NULL,
2882    g711Ulaw56k NULL,
2883
2884    g722-64k        NULL,
2885    g722-56k        NULL,
2886    g722-48k        NULL,
2887
2888    g728            NULL,
2889    g729            NULL,
2890    g729AnnexA  NULL,
2891
2892    g7231           CHOICE
2893    {
2894        noSilenceSuppressionLowRate NULL,
2895        noSilenceSuppressionHighRate    NULL,
2896        silenceSuppressionLowRate   NULL,
2897        silenceSuppressionHighRate  NULL
2898    },
2899
2900    is11172AudioMode    IS11172AudioMode,
2901    is13818AudioMode    IS13818AudioMode,
2902
2903    ...,
2904    g729wAnnexB INTEGER(1..256),
2905    g729AnnexAwAnnexB   INTEGER(1..256),
2906    g7231AnnexCMode G7231AnnexCMode,
2907    gsmFullRate GSMAudioCapability,
2908    gsmHalfRate GSMAudioCapability,
2909    gsmEnhancedFullRate GSMAudioCapability,
2910    genericAudioMode    GenericCapability,
2911    g729Extensions  G729Extensions,
2912    vbd         VBDMode
2913}
2914
2915IS11172AudioMode    ::=SEQUENCE
2916{
2917    audioLayer  CHOICE
2918    {
2919        audioLayer1 NULL,
2920        audioLayer2 NULL,
2921        audioLayer3 NULL
2922    },
2923
2924    audioSampling   CHOICE
2925    {
2926        audioSampling32k    NULL,
2927        audioSampling44k1   NULL,
2928        audioSampling48k    NULL
2929    },
2930
2931    multichannelType    CHOICE
2932    {
2933        singleChannel   NULL,
2934        twoChannelStereo    NULL,
2935        twoChannelDual  NULL
2936    },
2937
2938    bitRate     INTEGER (1..448),   -- units kbit/s
2939    ...
2940}
2941
2942IS13818AudioMode    ::=SEQUENCE
2943{
2944    audioLayer  CHOICE
2945    {
2946        audioLayer1 NULL,
2947        audioLayer2 NULL,
2948        audioLayer3 NULL
2949    },
2950
2951    audioSampling   CHOICE
2952    {
2953        audioSampling16k    NULL,
2954        audioSampling22k05  NULL,
2955        audioSampling24k    NULL,
2956        audioSampling32k    NULL,
2957        audioSampling44k1   NULL,
2958        audioSampling48k    NULL
2959    },
2960
2961    multichannelType    CHOICE
2962    {
2963        singleChannel   NULL,
2964        twoChannelStereo    NULL,
2965        twoChannelDual  NULL,
2966        threeChannels2-1    NULL,
2967        threeChannels3-0    NULL,
2968        fourChannels2-0-2-0 NULL,
2969        fourChannels2-2 NULL,
2970        fourChannels3-1 NULL,
2971        fiveChannels3-0-2-0 NULL,
2972        fiveChannels3-2 NULL
2973    },
2974
2975    lowFrequencyEnhancement BOOLEAN,
2976
2977    multilingual    BOOLEAN,
2978
2979    bitRate     INTEGER (1..1130),  -- units kbit/s
2980    ...
2981}
2982
2983G7231AnnexCMode ::= SEQUENCE
2984{
2985    maxAl-sduAudioFrames    INTEGER (1..256),
2986    silenceSuppression  BOOLEAN,
2987    g723AnnexCAudioMode SEQUENCE
2988    {
2989        highRateMode0   INTEGER (27..78),   -- units octets
2990        highRateMode1   INTEGER (27..78),   -- units octets
2991        lowRateMode0    INTEGER (23..66),   -- units octets
2992        lowRateMode1    INTEGER (23..66),   -- units octets
2993        sidMode0    INTEGER (6..17),    -- units octets
2994        sidMode1    INTEGER (6..17),    -- units octets
2995        ...
2996    },
2997    ...
2998}
2999
3000VBDMode                 ::=SEQUENCE
3001{
3002    type            AudioMode,  -- shall not be "vbd"
3003    ...
3004}
3005
3006-- =============================================================================
3007-- Request mode definitions: Data modes
3008-- =============================================================================
3009
3010DataMode                ::=SEQUENCE
3011{
3012    application CHOICE
3013    {
3014        nonStandard NonStandardParameter,
3015        t120        DataProtocolCapability,
3016        dsm-cc  DataProtocolCapability,
3017        userData    DataProtocolCapability,
3018        t84         DataProtocolCapability,
3019        t434        DataProtocolCapability,
3020        h224        DataProtocolCapability,
3021        nlpid       SEQUENCE
3022        {
3023            nlpidProtocol   DataProtocolCapability,
3024            nlpidData   OCTET STRING
3025        },
3026        dsvdControl NULL,
3027        h222DataPartitioning    DataProtocolCapability,
3028        ...,
3029        t30fax  DataProtocolCapability,
3030        t140        DataProtocolCapability,
3031        t38fax  SEQUENCE
3032        {
3033            t38FaxProtocol  DataProtocolCapability,
3034            t38FaxProfile   T38FaxProfile
3035        },
3036        genericDataMode GenericCapability
3037
3038    },
3039    bitRate     INTEGER (0..4294967295), -- units 100 bit/s
3040    ...
3041}
3042
3043-- =============================================================================
3044-- Request mode definitions: Encryption modes
3045-- =============================================================================
3046
3047EncryptionMode      ::=CHOICE
3048{
3049    nonStandard NonStandardParameter,
3050    h233Encryption  NULL,
3051    ...
3052}
3053
3054-- =============================================================================
3055-- Round Trip Delay definitions
3056-- =============================================================================
3057
3058RoundTripDelayRequest   ::=SEQUENCE
3059{
3060    sequenceNumber  SequenceNumber,
3061    ...
3062}
3063
3064RoundTripDelayResponse  ::=SEQUENCE
3065{
3066    sequenceNumber  SequenceNumber,
3067    ...
3068}
3069
3070-- =============================================================================
3071-- Maintenance Loop definitions
3072-- =============================================================================
3073
3074MaintenanceLoopRequest  ::=SEQUENCE
3075{
3076    type            CHOICE
3077    {
3078        systemLoop  NULL,
3079        mediaLoop   LogicalChannelNumber,
3080        logicalChannelLoop  LogicalChannelNumber,
3081        ...
3082    },
3083    ...
3084}
3085
3086MaintenanceLoopAck  ::=SEQUENCE
3087{
3088    type            CHOICE
3089    {
3090        systemLoop  NULL,
3091        mediaLoop   LogicalChannelNumber,
3092        logicalChannelLoop  LogicalChannelNumber,
3093        ...
3094    },
3095    ...
3096}
3097
3098MaintenanceLoopReject   ::=SEQUENCE
3099{
3100    type            CHOICE
3101    {
3102        systemLoop  NULL,
3103        mediaLoop   LogicalChannelNumber,
3104        logicalChannelLoop  LogicalChannelNumber,
3105        ...
3106    },
3107    cause           CHOICE
3108    {
3109        canNotPerformLoop   NULL,
3110        ...
3111    },
3112    ...
3113}
3114
3115MaintenanceLoopOffCommand   ::=SEQUENCE
3116{
3117    ...
3118}
3119
3120-- =============================================================================
3121-- Communication Mode definitions
3122-- =============================================================================
3123
3124CommunicationModeCommand    ::=SEQUENCE
3125{
3126    communicationModeTable  SET SIZE(1..256) OF CommunicationModeTableEntry,
3127    ...
3128}
3129
3130CommunicationModeRequest    ::=SEQUENCE
3131{
3132    ...
3133}
3134
3135CommunicationModeResponse   ::=CHOICE
3136{
3137    communicationModeTable  SET SIZE(1..256) OF CommunicationModeTableEntry,
3138    ...
3139}
3140
3141CommunicationModeTableEntry ::=SEQUENCE
3142{
3143    nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
3144    sessionID   INTEGER(1..255),
3145    associatedSessionID INTEGER(1..255) OPTIONAL,
3146
3147    terminalLabel   TerminalLabel OPTIONAL, -- if not present,
3148                              -- it refers to
3149                              -- all
3150                              -- participants in
3151                              -- the conference
3152    sessionDescription  BMPString (SIZE(1..128)) ,
3153                    -- Basic ISO/IEC 10646 (Unicode)
3154    dataType        CHOICE
3155    {
3156        videoData   VideoCapability,
3157        audioData   AudioCapability,
3158        data        DataApplicationCapability,
3159        ...
3160    },
3161    mediaChannel    TransportAddress OPTIONAL,
3162    mediaGuaranteedDelivery BOOLEAN OPTIONAL,
3163    mediaControlChannel TransportAddress OPTIONAL,
3164                    -- reverse RTCP channel
3165    mediaControlGuaranteedDelivery  BOOLEAN OPTIONAL,
3166    ...,
3167    redundancyEncoding  RedundancyEncoding OPTIONAL,
3168    sessionDependency   INTEGER (1..255) OPTIONAL,
3169    destination TerminalLabel OPTIONAL
3170}
3171
3172-- =============================================================================
3173-- Conference Request definitions
3174-- =============================================================================
3175
3176ConferenceRequest   ::=CHOICE
3177{
3178
3179    terminalListRequest NULL,           -- same as H.230 TCU (term->MC)
3180
3181    makeMeChair NULL,          -- same as H.230 CCA (term->MC)
3182    cancelMakeMeChair   NULL,          -- same as H.230 CIS (term->MC)
3183
3184    dropTerminal    TerminalLabel, -- same as H.230 CCD(term->MC)
3185
3186    requestTerminalID   TerminalLabel, -- same as TCP (term->MC)
3187
3188    enterH243Password   NULL,          -- same as H.230 TCS1(MC->term)
3189    enterH243TerminalID NULL,          -- same as H.230 TCS2/TCI
3190                                      --  (MC->term)
3191    enterH243ConferenceID   NULL,          -- same as H.230 TCS3 (MC->term)
3192    ...,
3193    enterExtensionAddress   NULL,          -- same as H.230 TCS4 (GW->term)
3194    requestChairTokenOwner  NULL,          -- same as H.230 TCA (term->MC)
3195    requestTerminalCertificate  SEQUENCE
3196    {
3197        terminalLabel   TerminalLabel OPTIONAL,
3198        certSelectionCriteria   CertSelectionCriteria OPTIONAL,
3199        sRandom INTEGER (1..4294967295) OPTIONAL,
3200                    -- this is the requester's challenge
3201        ...
3202    },
3203    broadcastMyLogicalChannel   LogicalChannelNumber, -- similar to H.230 MCV
3204    makeTerminalBroadcaster TerminalLabel,  -- similar to H.230 VCB
3205    sendThisSource  TerminalLabel,  -- similar to H.230 VCS
3206    requestAllTerminalIDs   NULL,
3207    remoteMCRequest RemoteMCRequest
3208}
3209
3210CertSelectionCriteria   ::=SEQUENCE SIZE (1..16) OF Criteria
3211
3212Criteria                ::=SEQUENCE
3213{
3214    field           OBJECT IDENTIFIER, -- may include
3215                                  -- certificate type
3216    value           OCTET STRING (SIZE(1..65535)),
3217    ...
3218}
3219
3220TerminalLabel       ::=SEQUENCE
3221{
3222        mcuNumber   McuNumber,
3223        terminalNumber  TerminalNumber,
3224        ...
3225}
3226
3227McuNumber           ::=INTEGER(0..192)
3228TerminalNumber      ::=INTEGER(0..192)
3229
3230-- =============================================================================
3231-- Conference Response definitions
3232-- =============================================================================
3233
3234ConferenceResponse  ::=CHOICE
3235{
3236    mCTerminalIDResponse    SEQUENCE       -- response to TCP
3237                                   -- (same as TIP)
3238    {                              -- sent by MC only
3239        terminalLabel   TerminalLabel,
3240        terminalID  TerminalID,
3241        ...
3242    },
3243
3244    terminalIDResponse  SEQUENCE       -- response to TCS2 or TCI
3245    {                              -- same as IIS
3246        terminalLabel   TerminalLabel, -- (term->MC)
3247        terminalID  TerminalID,
3248        ...
3249    },
3250
3251    conferenceIDResponse    SEQUENCE       -- response to TCS3
3252    {                              -- same as IIS
3253        terminalLabel   TerminalLabel, -- (term->MC)
3254        conferenceID    ConferenceID,
3255        ...
3256    },
3257
3258    passwordResponse    SEQUENCE       -- response to TCS1
3259    {                              -- same as IIS
3260        terminalLabel   TerminalLabel, -- (term->MC)
3261        password    Password,
3262        ...
3263    },
3264
3265    terminalListResponse    SET SIZE (1..256) OF TerminalLabel,
3266
3267    videoCommandReject  NULL,   -- same as H.230 VCR
3268    terminalDropReject  NULL,   -- same as H.230 CIR
3269
3270    makeMeChairResponse CHOICE  -- same as H.230 CCR
3271    {
3272        grantedChairToken   NULL,   -- same as H.230 CIT
3273        deniedChairToken    NULL,   -- same as H.230 CCR
3274        ...
3275    },
3276    ...,
3277    extensionAddressResponse    SEQUENCE    -- response to TCS4
3278    {
3279        extensionAddress    TerminalID, -- same as IIS (term->GW)
3280        ...
3281    },
3282    chairTokenOwnerResponse SEQUENCE  -- response to TCA (same as TIR)
3283                              -- sent by MC only
3284    {
3285        terminalLabel   TerminalLabel,
3286        terminalID  TerminalID,
3287        ...
3288    },
3289    terminalCertificateResponse     SEQUENCE
3290    {
3291            terminalLabel               TerminalLabel OPTIONAL,
3292            certificateResponse         OCTET STRING (SIZE(1..65535)) OPTIONAL,
3293        ...
3294    },
3295    broadcastMyLogicalChannelResponse   CHOICE
3296    {
3297        grantedBroadcastMyLogicalChannel    NULL,   -- similar to H.230 MVA
3298        deniedBroadcastMyLogicalChannel NULL,   -- similar to H.230 MVR
3299        ...
3300    },
3301    makeTerminalBroadcasterResponse CHOICE
3302    {
3303        grantedMakeTerminalBroadcaster  NULL,
3304        deniedMakeTerminalBroadcaster   NULL,
3305        ...
3306    },
3307    sendThisSourceResponse  CHOICE
3308    {
3309        grantedSendThisSource   NULL,
3310        deniedSendThisSource    NULL,
3311        ...
3312    },
3313    requestAllTerminalIDsResponse   RequestAllTerminalIDsResponse,
3314    remoteMCResponse    RemoteMCResponse
3315}
3316
3317TerminalID          ::=OCTET STRING (SIZE(1..128)) -- as per H.230
3318ConferenceID        ::=OCTET STRING (SIZE(1..32))
3319Password                ::=OCTET STRING (SIZE(1..32))
3320
3321RequestAllTerminalIDsResponse   ::=SEQUENCE
3322{
3323    terminalInformation SEQUENCE OF TerminalInformation,
3324    ...
3325}
3326
3327TerminalInformation ::=SEQUENCE
3328{
3329    terminalLabel   TerminalLabel,
3330    terminalID  TerminalID,
3331    ...
3332}
3333
3334-- =============================================================================
3335-- Remote MC Request definitions
3336-- =============================================================================
3337
3338    RemoteMCRequest ::=CHOICE
3339    {
3340        masterActivate  NULL,
3341        slaveActivate   NULL,
3342        deActivate  NULL,
3343        ...
3344    }
3345
3346    RemoteMCResponse    ::=CHOICE
3347    {
3348        accept  NULL,
3349        reject  CHOICE
3350        {
3351            unspecified NULL,
3352            functionNotSupported    NULL,
3353            ...
3354        },
3355        ...
3356    }
3357
3358-- =============================================================================
3359-- Multilink definitions
3360-- =============================================================================
3361
3362MultilinkRequest    ::=CHOICE
3363{
3364    nonStandard NonStandardMessage,
3365
3366    callInformation SEQUENCE
3367    {
3368        maxNumberOfAdditionalConnections    INTEGER (1..65535),
3369        ...
3370    },
3371
3372    addConnection   SEQUENCE
3373    {
3374        sequenceNumber  SequenceNumber,  -- Unique ID of request
3375        dialingInformation  DialingInformation,
3376        ...
3377    },
3378
3379    removeConnection    SEQUENCE
3380    {
3381        connectionIdentifier    ConnectionIdentifier,
3382        ...
3383    },
3384
3385    maximumHeaderInterval   SEQUENCE
3386    {
3387        requestType CHOICE
3388        {
3389            currentIntervalInformation  NULL,
3390            requestedInterval   INTEGER (0..65535), -- Max Header
3391                                        -- Interval,
3392                                        -- milliseconds
3393            ...
3394        },
3395        ...
3396    },
3397    ...
3398}
3399
3400MultilinkResponse   ::=CHOICE
3401{
3402    nonStandard NonStandardMessage,
3403
3404    callInformation SEQUENCE
3405    {
3406        dialingInformation  DialingInformation,
3407        callAssociationNumber   INTEGER (0..4294967295),
3408        ...
3409    },
3410
3411    addConnection   SEQUENCE
3412    {
3413        sequenceNumber  SequenceNumber, -- Equal to value in request
3414        responseCode    CHOICE
3415        {
3416            accepted    NULL,
3417            rejected    CHOICE
3418            {
3419                connectionsNotAvailable NULL, -- due to any technical reason
3420                userRejected    NULL,
3421                ...
3422            },
3423            ...
3424        },
3425        ...
3426    },
3427
3428    removeConnection    SEQUENCE
3429    {
3430        connectionIdentifier    ConnectionIdentifier,
3431        ...
3432    },
3433
3434    maximumHeaderInterval   SEQUENCE
3435    {
3436        currentInterval INTEGER (0..65535), -- Max Header
3437                                        -- Interval,
3438                                        -- milliseconds
3439        ...
3440    },
3441    ...
3442}
3443
3444MultilinkIndication ::=CHOICE
3445{
3446    nonStandard NonStandardMessage,
3447
3448    crcDesired  SEQUENCE
3449    {
3450        ...
3451    },
3452
3453    excessiveError  SEQUENCE
3454    {
3455        connectionIdentifier    ConnectionIdentifier,
3456        ...
3457    },
3458    ...
3459}
3460
3461DialingInformation  ::= CHOICE
3462{
3463    nonStandard NonStandardMessage,
3464
3465    differential    SET SIZE (1..65535) OF DialingInformationNumber,
3466                    -- list of numbers for all additional
3467                    -- channels; only least significant digits
3468                    -- different from initial channel's number
3469
3470    infoNotAvailable    INTEGER (1..65535), -- maximum No. of
3471                                        -- additional channels
3472    ...
3473}
3474
3475DialingInformationNumber    ::= SEQUENCE
3476{
3477    networkAddress  NumericString (SIZE (0..40)),
3478    subAddress  IA5String (SIZE (1..40)) OPTIONAL,
3479    networkType SET SIZE (1..255) OF DialingInformationNetworkType,
3480    ...
3481}
3482
3483DialingInformationNetworkType   ::= CHOICE
3484{
3485    nonStandard NonStandardMessage,
3486    n-isdn      NULL,
3487    gstn            NULL,
3488    ...,
3489    mobile      NULL
3490}
3491
3492ConnectionIdentifier    ::= SEQUENCE
3493{
3494    channelTag  INTEGER (0..4294967295), -- from H.226
3495    sequenceNumber  INTEGER (0..4294967295), -- from H.226
3496    ...
3497}
3498
3499-- =============================================================================
3500-- Logical channel bit-rate change definitions
3501-- =============================================================================
3502
3503MaximumBitRate      ::=INTEGER (0.. 4294967295) -- units of 100 bit/s
3504
3505LogicalChannelRateRequest   ::=SEQUENCE
3506{
3507    sequenceNumber  SequenceNumber,
3508    logicalChannelNumber    LogicalChannelNumber,
3509    maximumBitRate  MaximumBitRate,
3510    ...
3511}
3512
3513LogicalChannelRateAcknowledge   ::=SEQUENCE
3514{
3515    sequenceNumber  SequenceNumber,
3516    logicalChannelNumber    LogicalChannelNumber,
3517    maximumBitRate  MaximumBitRate,
3518    ...
3519}
3520
3521LogicalChannelRateReject    ::=SEQUENCE
3522{
3523    sequenceNumber  SequenceNumber,
3524    logicalChannelNumber    LogicalChannelNumber,
3525    rejectReason    LogicalChannelRateRejectReason,
3526    currentMaximumBitRate   MaximumBitRate OPTIONAL,
3527    ...
3528}
3529
3530LogicalChannelRateRejectReason  ::=CHOICE
3531{
3532    undefinedReason NULL,
3533    insufficientResources   NULL,
3534    ...
3535}
3536
3537LogicalChannelRateRelease   ::=SEQUENCE
3538{
3539    ...
3540}
3541
3542
3543-- =============================================================================
3544-- Command Message definitions
3545-- =============================================================================
3546
3547-- =============================================================================
3548-- Command Message: Send Terminal Capability Set
3549-- =============================================================================
3550
3551SendTerminalCapabilitySet   ::=CHOICE
3552{
3553    specificRequest SEQUENCE
3554    {
3555        multiplexCapability BOOLEAN,
3556
3557        capabilityTableEntryNumbers SET SIZE (1..65535) OF
3558                    CapabilityTableEntryNumber OPTIONAL,
3559
3560        capabilityDescriptorNumbers SET SIZE (1..256) OF
3561                    CapabilityDescriptorNumber OPTIONAL,
3562        ...
3563    },
3564    genericRequest  NULL,
3565    ...
3566}
3567
3568-- =============================================================================
3569-- Command Message: Encryption
3570-- =============================================================================
3571
3572EncryptionCommand   ::=CHOICE
3573{
3574    encryptionSE    OCTET STRING,   -- per H.233, but no
3575                        -- error protection
3576    encryptionIVRequest NULL,   -- requests new IV
3577    encryptionAlgorithmID   SEQUENCE
3578    {
3579        h233AlgorithmIdentifier SequenceNumber,
3580        associatedAlgorithm NonStandardParameter
3581    },
3582    ...
3583}
3584
3585-- =============================================================================
3586-- Command Message: Flow Control
3587-- =============================================================================
3588
3589FlowControlCommand  ::=SEQUENCE
3590{
3591    scope       CHOICE
3592    {
3593        logicalChannelNumber    LogicalChannelNumber,
3594        resourceID  INTEGER (0..65535),
3595        wholeMultiplex  NULL
3596    },
3597    restriction CHOICE
3598    {
3599        maximumBitRate  INTEGER (0..16777215), -- units 100 bit/s
3600        noRestriction   NULL
3601    },
3602    ...
3603}
3604
3605-- =============================================================================
3606-- Command Message: Change or End Session
3607-- =============================================================================
3608
3609EndSessionCommand   ::=CHOICE
3610{
3611    nonStandard NonStandardParameter,
3612
3613    disconnect  NULL,
3614
3615    gstnOptions CHOICE
3616    {
3617        telephonyMode   NULL,
3618        v8bis       NULL,
3619        v34DSVD NULL,
3620        v34DuplexFAX    NULL,
3621        v34H324 NULL,
3622        ...
3623    },
3624
3625    ...,
3626    isdnOptions CHOICE
3627    {
3628        telephonyMode   NULL,
3629        v140        NULL,
3630        terminalOnHold  NULL,
3631        ...
3632    },
3633        genericInformation          SEQUENCE OF GenericInformation
3634                                    -- generic information associated
3635                                    -- with the message
3636}
3637
3638-- =============================================================================
3639-- Command Message: Conference Commands
3640-- =============================================================================
3641
3642ConferenceCommand   ::=CHOICE
3643{
3644    broadcastMyLogicalChannel   LogicalChannelNumber, -- similar to H.230 MCV
3645    cancelBroadcastMyLogicalChannel LogicalChannelNumber, -- similar to
3646                                          -- H.230 Cancel-MCV
3647
3648    makeTerminalBroadcaster TerminalLabel,  -- same as H.230 VCB
3649    cancelMakeTerminalBroadcaster   NULL,   -- same as H.230
3650                        -- Cancel-VCB
3651
3652    sendThisSource  TerminalLabel,   -- same as H.230 VCS
3653    cancelSendThisSource    NULL,   -- same as H.230
3654                        -- cancel VCS
3655
3656    dropConference  NULL,   -- same as H.230 CCK
3657    ...,
3658    substituteConferenceIDCommand   SubstituteConferenceIDCommand
3659}
3660
3661SubstituteConferenceIDCommand   ::=SEQUENCE
3662{
3663    conferenceIdentifier    OCTET STRING (SIZE(16)),
3664    ...
3665}
3666
3667-- =============================================================================
3668-- Command Message: Miscellaneous H.230-like commands
3669-- =============================================================================
3670
3671EncryptionUpdateDirection   ::= CHOICE
3672{
3673    masterToSlave   NULL,
3674    slaveToMaster   NULL,
3675    ...
3676}
3677
3678MiscellaneousCommand    ::=SEQUENCE
3679{
3680    logicalChannelNumber    LogicalChannelNumber,
3681    type            CHOICE
3682    {
3683        equaliseDelay   NULL,   -- same as H.230 ACE
3684        zeroDelay   NULL,   -- same as H.230 ACZ
3685        multipointModeCommand   NULL,
3686        cancelMultipointModeCommand NULL,
3687        videoFreezePicture  NULL,
3688        videoFastUpdatePicture  NULL,
3689
3690        videoFastUpdateGOB  SEQUENCE
3691        {
3692            firstGOB    INTEGER (0..17),
3693            numberOfGOBs    INTEGER (1..18)
3694        },
3695
3696        videoTemporalSpatialTradeOff    INTEGER (0..31), -- commands a trade-off value
3697
3698        videoSendSyncEveryGOB   NULL,
3699        videoSendSyncEveryGOBCancel NULL,
3700
3701        ...,
3702        videoFastUpdateMB   SEQUENCE
3703        {
3704            firstGOB    INTEGER (0..255) OPTIONAL,
3705            firstMB INTEGER (1..8192) OPTIONAL,
3706            numberOfMBs INTEGER (1..8192),
3707            ...
3708        },
3709        maxH223MUXPDUsize   INTEGER(1..65535),  -- units octets
3710        encryptionUpdate    EncryptionSync,
3711        encryptionUpdateRequest EncryptionUpdateRequest,
3712        switchReceiveMediaOff   NULL,
3713        switchReceiveMediaOn    NULL,
3714
3715        progressiveRefinementStart  SEQUENCE
3716        {
3717            repeatCount CHOICE
3718            {
3719                doOneProgression        NULL,
3720                doContinuousProgressions    NULL,
3721                doOneIndependentProgression NULL,
3722                doContinuousIndependentProgressions NULL,
3723                ...
3724            },
3725            ...
3726        },
3727        progressiveRefinementAbortOne   NULL,
3728        progressiveRefinementAbortContinuous    NULL,
3729
3730        videoBadMBs SEQUENCE
3731        {
3732            firstMB INTEGER (1..9216),
3733            numberOfMBs INTEGER (1..9216),
3734            temporalReference   INTEGER (0..1023),
3735            ...
3736        },
3737        lostPicture SEQUENCE OF PictureReference,
3738        lostPartialPicture  SEQUENCE
3739        {
3740            pictureReference    PictureReference,
3741            firstMB INTEGER (1..9216),
3742            numberOfMBs INTEGER (1..9216),
3743            ...
3744        },
3745        recoveryReferencePicture    SEQUENCE OF PictureReference,
3746        encryptionUpdateCommand SEQUENCE   -- for ack'ed key update in H.235V3
3747        {
3748            encryptionSync  EncryptionSync,
3749            multiplePayloadStream   MultiplePayloadStream OPTIONAL,
3750            ...
3751        },
3752        encryptionUpdateAck SEQUENCE
3753        {
3754            synchFlag   INTEGER (0..255),
3755            ...
3756        }
3757    },
3758
3759    ...,
3760    direction   EncryptionUpdateDirection OPTIONAL
3761}
3762
3763KeyProtectionMethod ::=SEQUENCE -- specify how the new
3764                                -- key is to be protected
3765{
3766    secureChannel   BOOLEAN,
3767    sharedSecret    BOOLEAN,
3768    certProtectedKey    BOOLEAN,
3769    ...
3770}
3771
3772EncryptionUpdateRequest ::=SEQUENCE
3773{
3774    keyProtectionMethod KeyProtectionMethod OPTIONAL,
3775    ...,
3776    synchFlag   INTEGER (0..255) OPTIONAL
3777}
3778
3779PictureReference    ::=CHOICE
3780{
3781    pictureNumber   INTEGER (0..1023),
3782    longTermPictureIndex    INTEGER (0..255),
3783    ...
3784}
3785-- =============================================================================
3786-- Command Message: H.223 Multiplex Reconfiguration
3787-- =============================================================================
3788
3789H223MultiplexReconfiguration    ::=CHOICE
3790{
3791    h223ModeChange  CHOICE
3792    {
3793        toLevel0    NULL,
3794        toLevel1    NULL,
3795        toLevel2    NULL,
3796        toLevel2withOptionalHeader  NULL,
3797        ...
3798    },
3799
3800    h223AnnexADoubleFlag    CHOICE
3801    {
3802        start       NULL,
3803        stop        NULL,
3804        ...
3805    },
3806
3807    ...
3808}
3809-- =============================================================================
3810-- Command Message: New ATM virtual channel command
3811-- =============================================================================
3812
3813NewATMVCCommand ::=SEQUENCE
3814{
3815    resourceID  INTEGER(0..65535),
3816    bitRate     INTEGER(1..65535),  -- units 64 kbit/s
3817    bitRateLockedToPCRClock BOOLEAN,
3818    bitRateLockedToNetworkClock BOOLEAN,
3819    aal         CHOICE
3820    {
3821        aal1        SEQUENCE
3822        {
3823            clockRecovery   CHOICE
3824            {
3825                nullClockRecovery   NULL,
3826                srtsClockRecovery   NULL,
3827                adaptiveClockRecovery   NULL,
3828                ...
3829            },
3830            errorCorrection CHOICE
3831            {
3832                nullErrorCorrection NULL,
3833                longInterleaver NULL,
3834                shortInterleaver    NULL,
3835                errorCorrectionOnly NULL,
3836                ...
3837            },
3838            structuredDataTransfer  BOOLEAN,
3839            partiallyFilledCells    BOOLEAN,
3840            ...
3841        },
3842        aal5        SEQUENCE
3843        {
3844            forwardMaximumSDUSize   INTEGER (0..65535), -- units octets
3845            backwardMaximumSDUSize  INTEGER (0..65535), -- units octets
3846            ...
3847        },
3848        ...
3849    },
3850    multiplex   CHOICE
3851    {
3852        noMultiplex NULL,
3853        transportStream NULL,
3854        programStream   NULL,
3855        ...
3856    },
3857    reverseParameters   SEQUENCE
3858    {
3859        bitRate INTEGER(1..65535),  -- units 64 kbit/s
3860        bitRateLockedToPCRClock BOOLEAN,
3861        bitRateLockedToNetworkClock BOOLEAN,
3862        multiplex   CHOICE
3863        {
3864            noMultiplex NULL,
3865            transportStream NULL,
3866            programStream   NULL,
3867            ...
3868        },
3869        ...
3870    },
3871    ...
3872}
3873
3874-- =============================================================================
3875-- Command Message: Mobile Multilink Reconfiguration command
3876-- =============================================================================
3877
3878MobileMultilinkReconfigurationCommand   ::=SEQUENCE
3879{
3880    sampleSize  INTEGER (1..255),
3881    samplesPerFrame INTEGER (1..255),
3882    status      CHOICE
3883    {
3884        synchronized    NULL,
3885        reconfiguration NULL,
3886        ...
3887    },
3888    ...
3889}
3890-- =============================================================================
3891-- Indication Message definitions
3892-- =============================================================================
3893
3894-- =============================================================================
3895-- Indication Message: Function not understood
3896-- =============================================================================
3897
3898-- This is used to return a request, response or command that is not understood
3899
3900FunctionNotUnderstood   ::=CHOICE
3901{
3902    request     RequestMessage,
3903    response        ResponseMessage,
3904    command     CommandMessage
3905}
3906
3907-- =============================================================================
3908-- Indication Message: Function not Supported
3909-- =============================================================================
3910
3911-- This is used to return a complete request, response or command that is not
3912-- recognized
3913
3914FunctionNotSupported    ::=SEQUENCE
3915{
3916    cause           CHOICE
3917    {
3918        syntaxError NULL,
3919        semanticError   NULL,
3920        unknownFunction NULL,
3921        ...
3922    },
3923    returnedFunction    OCTET STRING OPTIONAL,
3924    ...
3925}
3926
3927-- =============================================================================
3928-- Indication Message: Conference
3929-- =============================================================================
3930
3931ConferenceIndication    ::=CHOICE
3932{
3933    sbeNumber   INTEGER (0..9), -- same as H.230 SBE Number
3934
3935    terminalNumberAssign    TerminalLabel,  -- same as H.230 TIA
3936
3937    terminalJoinedConference    TerminalLabel,  -- same as H.230 TIN
3938
3939    terminalLeftConference  TerminalLabel,  -- same as H.230 TID
3940
3941    seenByAtLeastOneOther   NULL,   -- same as H.230 MIV
3942    cancelSeenByAtLeastOneOther NULL,   -- same as H.230 cancel MIV
3943
3944    seenByAll   NULL,   -- like H.230 MIV
3945    cancelSeenByAll NULL,   -- like H.230 MIV
3946
3947    terminalYouAreSeeing    TerminalLabel,  -- same as H.230 VIN
3948
3949    requestForFloor NULL,   -- same as H.230 TIF
3950
3951    ...,
3952    withdrawChairToken  NULL,   -- same as H.230 CCR MC-> chair
3953    floorRequested  TerminalLabel,  -- same as H.230 TIF MC-> chair
3954    terminalYouAreSeeingInSubPictureNumber  TerminalYouAreSeeingInSubPictureNumber,
3955    videoIndicateCompose    VideoIndicateCompose,
3956    masterMCU   NULL,   -- same as H.230 MIM
3957    cancelMasterMCU NULL    -- same as H.230 cancel MIM
3958}
3959
3960TerminalYouAreSeeingInSubPictureNumber  ::= SEQUENCE
3961{
3962    terminalNumber  TerminalNumber,
3963    subPictureNumber    INTEGER (0..255),
3964    ...,
3965    mcuNumber   McuNumber
3966}
3967
3968VideoIndicateCompose    ::= SEQUENCE
3969{
3970    compositionNumber   INTEGER (0..255),
3971    ...
3972}
3973
3974-- =============================================================================
3975-- Indication Message: Miscellaneous H.230-like indication
3976-- =============================================================================
3977
3978MiscellaneousIndication ::=SEQUENCE
3979{
3980    logicalChannelNumber    LogicalChannelNumber,
3981    type            CHOICE
3982    {
3983        logicalChannelActive    NULL,   -- same as H.230 AIA and VIA
3984        logicalChannelInactive  NULL,   -- same as H.230 AIM and VIS
3985
3986        multipointConference    NULL,
3987        cancelMultipointConference  NULL,
3988
3989        multipointZeroComm  NULL,   -- same as H.230 MIZ
3990        cancelMultipointZeroComm    NULL,   -- same as H.230 cancel MIZ
3991
3992        multipointSecondaryStatus   NULL,   -- same as H.230 MIS
3993        cancelMultipointSecondaryStatus NULL,   -- same as H.230 cancel MIS
3994
3995        videoIndicateReadyToActivate    NULL,   -- same as H.230 VIR
3996
3997        videoTemporalSpatialTradeOff    INTEGER (0..31), -- indicates current
3998                                   -- trade-off
3999
4000        ...,
4001        videoNotDecodedMBs  SEQUENCE
4002        {
4003            firstMB INTEGER (1..8192),
4004            numberOfMBs INTEGER (1..8192),
4005            temporalReference   INTEGER (0..255),
4006            ...
4007        },
4008        transportCapability TransportCapability
4009    },
4010    ...
4011}
4012
4013-- =============================================================================
4014-- Indication Message: Jitter Indication
4015-- =============================================================================
4016
4017JitterIndication    ::=SEQUENCE
4018{
4019    scope       CHOICE
4020    {
4021        logicalChannelNumber    LogicalChannelNumber,
4022        resourceID  INTEGER (0..65535),
4023        wholeMultiplex  NULL
4024    },
4025    estimatedReceivedJitterMantissa INTEGER (0..3),
4026    estimatedReceivedJitterExponent INTEGER (0..7),
4027    skippedFrameCount   INTEGER (0..15) OPTIONAL,
4028    additionalDecoderBuffer INTEGER (0..262143) OPTIONAL,
4029                    -- 262143 is 2^18 - 1
4030    ...
4031}
4032
4033-- =============================================================================
4034-- Indication Message: H.223 logical channel skew
4035-- =============================================================================
4036
4037H223SkewIndication  ::=SEQUENCE
4038{
4039    logicalChannelNumber1   LogicalChannelNumber,
4040    logicalChannelNumber2   LogicalChannelNumber,
4041    skew        INTEGER (0..4095),  -- units milliseconds
4042    ...
4043}
4044
4045-- =============================================================================
4046-- Indication Message: H.225.0 maximum logical channel skew
4047-- =============================================================================
4048
4049H2250MaximumSkewIndication  ::=SEQUENCE
4050{
4051    logicalChannelNumber1   LogicalChannelNumber,
4052    logicalChannelNumber2   LogicalChannelNumber,
4053    maximumSkew INTEGER (0..4095),  -- units milliseconds
4054    ...
4055}
4056
4057-- =============================================================================
4058-- Indication Message: MC Location Indication
4059-- =============================================================================
4060
4061MCLocationIndication    ::=SEQUENCE
4062{
4063    signalAddress   TransportAddress, -- this is the
4064                                      -- H.323 Call Signalling
4065                                      -- address of the entity
4066                                      -- which contains the MC
4067    ...
4068}
4069
4070-- =============================================================================
4071-- Indication Message: Vendor Identification
4072-- =============================================================================
4073
4074    VendorIdentification    ::=SEQUENCE
4075    {
4076        vendor  NonStandardIdentifier,
4077        productNumber   OCTET STRING (SIZE(1..256)) OPTIONAL,
4078                    -- per  vendor
4079        versionNumber   OCTET STRING (SIZE(1..256)) OPTIONAL,
4080                    -- per productNumber
4081        ...
4082    }
4083
4084
4085-- =============================================================================
4086-- Indication Message: New ATM virtual channel indication
4087-- =============================================================================
4088
4089NewATMVCIndication  ::=SEQUENCE
4090{
4091    resourceID  INTEGER(0..65535),
4092    bitRate     INTEGER(1..65535),  -- units 64 kbit/s
4093    bitRateLockedToPCRClock BOOLEAN,
4094    bitRateLockedToNetworkClock BOOLEAN,
4095    aal         CHOICE
4096    {
4097        aal1        SEQUENCE
4098        {
4099            clockRecovery   CHOICE
4100            {
4101                nullClockRecovery   NULL,
4102                srtsClockRecovery   NULL,
4103                adaptiveClockRecovery   NULL,
4104                ...
4105            },
4106            errorCorrection CHOICE
4107            {
4108                nullErrorCorrection NULL,
4109                longInterleaver NULL,
4110                shortInterleaver    NULL,
4111                errorCorrectionOnly NULL,
4112                ...
4113            },
4114            structuredDataTransfer  BOOLEAN,
4115            partiallyFilledCells    BOOLEAN,
4116            ...
4117        },
4118        aal5        SEQUENCE
4119        {
4120            forwardMaximumSDUSize   INTEGER (0..65535), -- units octets
4121            backwardMaximumSDUSize  INTEGER (0..65535), -- units octets
4122            ...
4123        },
4124        ...
4125    },
4126    multiplex   CHOICE
4127    {
4128        noMultiplex NULL,
4129        transportStream NULL,
4130        programStream   NULL,
4131        ...
4132    },
4133    ...,
4134    reverseParameters   SEQUENCE
4135    {
4136        bitRate INTEGER(1..65535),  -- units 64 kbit/s
4137        bitRateLockedToPCRClock BOOLEAN,
4138        bitRateLockedToNetworkClock BOOLEAN,
4139        multiplex   CHOICE
4140        {
4141            noMultiplex NULL,
4142            transportStream NULL,
4143            programStream   NULL,
4144            ...
4145        },
4146        ...
4147    }
4148}
4149
4150-- =============================================================================
4151-- Indication Message: User input
4152-- =============================================================================
4153
4154IV8                 ::= OCTET STRING (SIZE(8))
4155                    -- initial value for
4156                    -- 64-bit block ciphers
4157IV16                    ::= OCTET STRING (SIZE(16))
4158                    -- initial value for
4159                    -- 128-bit block ciphers
4160
4161Params                  ::= SEQUENCE
4162{
4163    iv8         IV8 OPTIONAL, -- 8-octet initialization vector
4164    iv16            IV16 OPTIONAL, -- 16-octet initialization vector
4165    iv              OCTET STRING OPTIONAL,  -- arbitrary length
4166                                          -- initialization vector
4167    ...
4168}
4169
4170UserInputIndication ::=CHOICE
4171{
4172    nonStandard NonStandardParameter,
4173    alphanumeric    GeneralString,
4174    ...,
4175    userInputSupportIndication  CHOICE
4176    {
4177        nonStandard     NonStandardParameter,
4178        basicString NULL, -- indicates unsecured basic string
4179        iA5String   NULL, -- indicates unsecured IA5 string
4180        generalString   NULL, -- indicates unsecured general string
4181        ...,
4182        encryptedBasicString    NULL, -- indicates encrypted Basic string
4183        encryptedIA5String  NULL, -- indicates encrypted IA5 string
4184        encryptedGeneralString  NULL -- indicates encrypted general string
4185    },
4186    signal      SEQUENCE
4187    {
4188        signalType  IA5String (SIZE (1) ^ FROM ("0123456789#*ABCD!")),
4189                    -- holds dummy "!" if encryptedSignalType
4190                    -- is being used
4191        duration    INTEGER (1..65535) OPTIONAL,
4192                    -- milliseconds
4193        rtp         SEQUENCE
4194        {
4195            timestamp   INTEGER (0..4294967295) OPTIONAL,
4196            expirationTime  INTEGER (0..4294967295) OPTIONAL,
4197            logicalChannelNumber    LogicalChannelNumber,
4198            ...
4199        } OPTIONAL,
4200        ...,
4201        rtpPayloadIndication    NULL OPTIONAL,
4202        paramS  Params OPTIONAL, -- any "runtime" parameters
4203        encryptedSignalType OCTET STRING (SIZE(1)) OPTIONAL,
4204                    -- encrypted signalType
4205        algorithmOID    OBJECT IDENTIFIER OPTIONAL
4206    },
4207    signalUpdate    SEQUENCE
4208    {
4209        duration    INTEGER (1..65535), -- milliseconds
4210        rtp         SEQUENCE
4211        {
4212            logicalChannelNumber    LogicalChannelNumber,
4213            ...
4214        } OPTIONAL,
4215        ...
4216    },
4217    extendedAlphanumeric    SEQUENCE
4218    {
4219        alphanumeric    GeneralString, -- holds empty string if
4220                                                       -- encryptedAlphanumeric is
4221                                   -- being used
4222        rtpPayloadIndication    NULL OPTIONAL,
4223        ...,
4224        encryptedAlphanumeric   SEQUENCE
4225        {
4226            algorithmOID    OBJECT IDENTIFIER,
4227            paramS  Params OPTIONAL, -- any "runtime" parameters
4228            encrypted   OCTET STRING, -- general string encrypted
4229            ...
4230        } OPTIONAL
4231    },
4232    encryptedAlphanumeric   SEQUENCE
4233    {
4234        algorithmOID    OBJECT IDENTIFIER,
4235        paramS  Params OPTIONAL, -- any "runtime" parameters
4236        encrypted   OCTET STRING, -- basic string encrypted
4237        ...
4238    },      genericInformation          SEQUENCE OF GenericInformation
4239                                    -- generic information associated
4240                                    -- with the message
4241}
4242
4243-- =============================================================================
4244-- Indication Message: Flow Control
4245-- =============================================================================
4246
4247FlowControlIndication   ::=SEQUENCE
4248{
4249    scope           CHOICE
4250    {
4251        logicalChannelNumber    LogicalChannelNumber,
4252        resourceID  INTEGER (0..65535),
4253        wholeMultiplex  NULL
4254    },
4255    restriction CHOICE
4256    {
4257        maximumBitRate  INTEGER (0..16777215), -- units 100 bit/s
4258        noRestriction   NULL
4259    },
4260    ...
4261}
4262
4263-- =============================================================================
4264-- Indication Message: Mobile Multilink Reconfiguration indication
4265-- =============================================================================
4266
4267MobileMultilinkReconfigurationIndication    ::=SEQUENCE
4268{
4269    sampleSize  INTEGER (1..255),
4270    samplesPerFrame INTEGER (1..255),
4271    ...
4272}
4273
4274END
4275
4276