Home | History | Annotate | Download | only in include
      1 /* ------------------------------------------------------------------
      2  * Copyright (C) 1998-2009 PacketVideo
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     13  * express or implied.
     14  * See the License for the specific language governing permissions
     15  * and limitations under the License.
     16  * -------------------------------------------------------------------
     17  */
     18 // ============================================================(Auto)=
     19 // FILE: h245def.h
     20 //
     21 // DESC: H.245 Structure definitions for PER encode/decode routines
     22 // -------------------------------------------------------------------
     23 //  Copyright (c) 1998- 2000, PacketVideo Corporation.
     24 //                   All Rights Reserved.
     25 // ===================================================================
     26 
     27 #ifndef H245DEF
     28 #define H245DEF
     29 
     30 #include "genericper.h"
     31 
     32 typedef struct _MultimediaSystemControlMessage     /* CHOICE */
     33 {
     34     uint16 index;
     35     union
     36     {
     37         struct _RequestMessage *request;
     38         struct _ResponseMessage *response;
     39         struct _CommandMessage *command;
     40         struct _IndicationMessage *indication;
     41         /*[...]*/
     42     };
     43 } S_MultimediaSystemControlMessage;
     44 typedef S_MultimediaSystemControlMessage *PS_MultimediaSystemControlMessage;
     45 
     46 /*-------------------------------------------------------*/
     47 
     48 typedef struct _RequestMessage     /* CHOICE */
     49 {
     50     uint16 index;
     51     union
     52     {
     53         struct _NonStandardMessage *nonStandard;
     54         struct _MasterSlaveDetermination *masterSlaveDetermination;
     55         struct _TerminalCapabilitySet *terminalCapabilitySet;
     56         struct _OpenLogicalChannel *openLogicalChannel;
     57         struct _CloseLogicalChannel *closeLogicalChannel;
     58         struct _RequestChannelClose *requestChannelClose;
     59         struct _MultiplexEntrySend *multiplexEntrySend;
     60         struct _RequestMultiplexEntry *requestMultiplexEntry;
     61         struct _RequestMode *requestMode;
     62         struct _RoundTripDelayRequest *roundTripDelayRequest;
     63         struct _MaintenanceLoopRequest *maintenanceLoopRequest;
     64         /*[...]*/
     65         struct _CommunicationModeRequest *communicationModeRequest;
     66         struct _ConferenceRequest *conferenceRequest;
     67         struct _MultilinkRequest *multilinkRequest;
     68         struct _LogicalChannelRateRequest *logicalChannelRateRequest;
     69     };
     70 } S_RequestMessage;
     71 typedef S_RequestMessage *PS_RequestMessage;
     72 
     73 /*-------------------------------------------------------*/
     74 
     75 typedef struct _ResponseMessage     /* CHOICE */
     76 {
     77     uint16 index;
     78     union
     79     {
     80         struct _NonStandardMessage *nonStandard;
     81         struct _MasterSlaveDeterminationAck *masterSlaveDeterminationAck;
     82         struct _MasterSlaveDeterminationReject *masterSlaveDeterminationReject;
     83         struct _TerminalCapabilitySetAck *terminalCapabilitySetAck;
     84         struct _TerminalCapabilitySetReject *terminalCapabilitySetReject;
     85         struct _OpenLogicalChannelAck *openLogicalChannelAck;
     86         struct _OpenLogicalChannelReject *openLogicalChannelReject;
     87         struct _CloseLogicalChannelAck *closeLogicalChannelAck;
     88         struct _RequestChannelCloseAck *requestChannelCloseAck;
     89         struct _RequestChannelCloseReject *requestChannelCloseReject;
     90         struct _MultiplexEntrySendAck *multiplexEntrySendAck;
     91         struct _MultiplexEntrySendReject *multiplexEntrySendReject;
     92         struct _RequestMultiplexEntryAck *requestMultiplexEntryAck;
     93         struct _RequestMultiplexEntryReject *requestMultiplexEntryReject;
     94         struct _RequestModeAck *requestModeAck;
     95         struct _RequestModeReject *requestModeReject;
     96         struct _RoundTripDelayResponse *roundTripDelayResponse;
     97         struct _MaintenanceLoopAck *maintenanceLoopAck;
     98         struct _MaintenanceLoopReject *maintenanceLoopReject;
     99         /*[...]*/
    100         struct _CommunicationModeResponse *communicationModeResponse;
    101         struct _ConferenceResponse *conferenceResponse;
    102         struct _MultilinkResponse *multilinkResponse;
    103         struct _LogicalChannelRateAcknowledge *logicalChannelRateAcknowledge;
    104         struct _LogicalChannelRateReject *logicalChannelRateReject;
    105     };
    106 } S_ResponseMessage;
    107 typedef S_ResponseMessage *PS_ResponseMessage;
    108 
    109 /*-------------------------------------------------------*/
    110 
    111 typedef struct _CommandMessage     /* CHOICE */
    112 {
    113     uint16 index;
    114     union
    115     {
    116         struct _NonStandardMessage *nonStandard;
    117         struct _MaintenanceLoopOffCommand *maintenanceLoopOffCommand;
    118         struct _SendTerminalCapabilitySet *sendTerminalCapabilitySet;
    119         struct _EncryptionCommand *encryptionCommand;
    120         struct _FlowControlCommand *flowControlCommand;
    121         struct _EndSessionCommand *endSessionCommand;
    122         struct _MiscellaneousCommand *miscellaneousCommand;
    123         /*[...]*/
    124         struct _CommunicationModeCommand *communicationModeCommand;
    125         struct _ConferenceCommand *conferenceCommand;
    126         struct _H223MultiplexReconfiguration *h223MultiplexReconfiguration;
    127         struct _NewATMVCCommand *newATMVCCommand;
    128     };
    129 } S_CommandMessage;
    130 typedef S_CommandMessage *PS_CommandMessage;
    131 
    132 /*-------------------------------------------------------*/
    133 
    134 typedef struct _IndicationMessage     /* CHOICE */
    135 {
    136     uint16 index;
    137     union
    138     {
    139         struct _NonStandardMessage *nonStandard;
    140         struct _FunctionNotUnderstood *functionNotUnderstood;
    141         struct _MasterSlaveDeterminationRelease *masterSlaveDeterminationRelease;
    142         struct _TerminalCapabilitySetRelease *terminalCapabilitySetRelease;
    143         struct _OpenLogicalChannelConfirm *openLogicalChannelConfirm;
    144         struct _RequestChannelCloseRelease *requestChannelCloseRelease;
    145         struct _MultiplexEntrySendRelease *multiplexEntrySendRelease;
    146         struct _RequestMultiplexEntryRelease *requestMultiplexEntryRelease;
    147         struct _RequestModeRelease *requestModeRelease;
    148         struct _MiscellaneousIndication *miscellaneousIndication;
    149         struct _JitterIndication *jitterIndication;
    150         struct _H223SkewIndication *h223SkewIndication;
    151         struct _NewATMVCIndication *newATMVCIndication;
    152         struct _UserInputIndication *userInput;
    153         /*[...]*/
    154         struct _H2250MaximumSkewIndication *h2250MaximumSkewIndication;
    155         struct _MCLocationIndication *mcLocationIndication;
    156         struct _ConferenceIndication *conferenceIndication;
    157         struct _VendorIdentification *vendorIdentification;
    158         struct _FunctionNotSupported *functionNotSupported;
    159         struct _MultilinkIndication *multilinkIndication;
    160         struct _LogicalChannelRateRelease *logicalChannelRateRelease;
    161         struct _FlowControlIndication *flowControlIndication;
    162     };
    163 } S_IndicationMessage;
    164 typedef S_IndicationMessage *PS_IndicationMessage;
    165 
    166 /*-------------------------------------------------------*/
    167 
    168 typedef struct _NonStandardIdentifier     /* CHOICE */
    169 {
    170     uint16 index;
    171     union
    172     {
    173         PS_OBJECTIDENT object;
    174         struct _H221NonStandard *h221NonStandard;
    175     };
    176 } S_NonStandardIdentifier;
    177 typedef S_NonStandardIdentifier *PS_NonStandardIdentifier;
    178 
    179 /*-------------------------------------------------------*/
    180 
    181 typedef struct _NonStandardParameter     /* SEQUENCE */
    182 {
    183     struct _NonStandardIdentifier nonStandardIdentifier;
    184     S_OCTETSTRING data;
    185 } S_NonStandardParameter;
    186 typedef S_NonStandardParameter *PS_NonStandardParameter;
    187 
    188 /*-------------------------------------------------------*/
    189 
    190 typedef struct _NonStandardMessage     /* SEQUENCE */
    191 {
    192     struct _NonStandardParameter nonStandardData;
    193     /*[...]*/
    194 } S_NonStandardMessage;
    195 typedef S_NonStandardMessage *PS_NonStandardMessage;
    196 
    197 /*-------------------------------------------------------*/
    198 
    199 typedef struct _H221NonStandard     /* SEQUENCE */
    200 {
    201     uint8 t35CountryCode;
    202     uint8 t35Extension;
    203     uint16 manufacturerCode;
    204 } S_H221NonStandard;
    205 typedef S_H221NonStandard *PS_H221NonStandard;
    206 
    207 /*-------------------------------------------------------*/
    208 
    209 typedef struct _MasterSlaveDetermination     /* SEQUENCE */
    210 {
    211     uint8 terminalType;
    212     uint32 statusDeterminationNumber;
    213     /*[...]*/
    214 } S_MasterSlaveDetermination;
    215 typedef S_MasterSlaveDetermination *PS_MasterSlaveDetermination;
    216 
    217 /*-------------------------------------------------------*/
    218 
    219 typedef struct _Decision     /* CHOICE */
    220 {
    221     uint16 index;
    222     /* (NULL) master */
    223     /* (NULL) slave */
    224 } S_Decision;
    225 typedef S_Decision *PS_Decision;
    226 
    227 /*-------------------------------------------------------*/
    228 
    229 typedef struct _MasterSlaveDeterminationAck     /* SEQUENCE */
    230 {
    231     struct _Decision decision;
    232     /*[...]*/
    233 } S_MasterSlaveDeterminationAck;
    234 typedef S_MasterSlaveDeterminationAck *PS_MasterSlaveDeterminationAck;
    235 
    236 /*-------------------------------------------------------*/
    237 
    238 typedef struct _MsdRejectCause     /* CHOICE */
    239 {
    240     uint16 index;
    241     /* (NULL) identicalNumbers */
    242     /*[...]*/
    243 } S_MsdRejectCause;
    244 typedef S_MsdRejectCause *PS_MsdRejectCause;
    245 
    246 /*-------------------------------------------------------*/
    247 
    248 typedef struct _MasterSlaveDeterminationReject     /* SEQUENCE */
    249 {
    250     struct _MsdRejectCause msdRejectCause;
    251     /*[...]*/
    252 } S_MasterSlaveDeterminationReject;
    253 typedef S_MasterSlaveDeterminationReject *PS_MasterSlaveDeterminationReject;
    254 
    255 /*-------------------------------------------------------*/
    256 
    257 typedef struct _MasterSlaveDeterminationRelease     /* SEQUENCE */
    258 {
    259     uint8(empty_sequence);
    260     /*[...]*/
    261 } S_MasterSlaveDeterminationRelease;
    262 typedef S_MasterSlaveDeterminationRelease *PS_MasterSlaveDeterminationRelease;
    263 
    264 /*-------------------------------------------------------*/
    265 
    266 typedef struct _CapabilityDescriptor     /* SEQUENCE */
    267 {
    268 uint32 option_of_simultaneousCapabilities :
    269     1;
    270     uint8 capabilityDescriptorNumber;
    271     uint16 size_of_simultaneousCapabilities;
    272     struct _AlternativeCapabilitySet *simultaneousCapabilities;
    273 } S_CapabilityDescriptor;
    274 typedef S_CapabilityDescriptor *PS_CapabilityDescriptor;
    275 
    276 /*-------------------------------------------------------*/
    277 
    278 typedef struct _AlternativeCapabilitySet     /* SEQUENCE OF */
    279 {
    280     uint32* item;
    281     uint16 size;
    282 } S_AlternativeCapabilitySet;
    283 typedef S_AlternativeCapabilitySet *PS_AlternativeCapabilitySet;
    284 
    285 /*-------------------------------------------------------*/
    286 
    287 typedef struct _TerminalCapabilitySetAck     /* SEQUENCE */
    288 {
    289     uint8 sequenceNumber;
    290     /*[...]*/
    291 } S_TerminalCapabilitySetAck;
    292 typedef S_TerminalCapabilitySetAck *PS_TerminalCapabilitySetAck;
    293 
    294 /*-------------------------------------------------------*/
    295 
    296 typedef struct _TcsRejectCause     /* CHOICE */
    297 {
    298     uint16 index;
    299     union
    300     {
    301         /* (NULL) unspecified */
    302         /* (NULL) undefinedTableEntryUsed */
    303         /* (NULL) descriptorCapacityExceeded */
    304         struct _TableEntryCapacityExceeded *tableEntryCapacityExceeded;
    305         /*[...]*/
    306     };
    307 } S_TcsRejectCause;
    308 typedef S_TcsRejectCause *PS_TcsRejectCause;
    309 
    310 /*-------------------------------------------------------*/
    311 
    312 typedef struct _TerminalCapabilitySetReject     /* SEQUENCE */
    313 {
    314     uint8 sequenceNumber;
    315     struct _TcsRejectCause tcsRejectCause;
    316     /*[...]*/
    317 } S_TerminalCapabilitySetReject;
    318 typedef S_TerminalCapabilitySetReject *PS_TerminalCapabilitySetReject;
    319 
    320 /*-------------------------------------------------------*/
    321 
    322 typedef struct _TableEntryCapacityExceeded     /* CHOICE */
    323 {
    324     uint16 index;
    325     union
    326     {
    327         uint16 highestEntryNumberProcessed;
    328         /* (NULL) noneProcessed */
    329     };
    330 } S_TableEntryCapacityExceeded;
    331 typedef S_TableEntryCapacityExceeded *PS_TableEntryCapacityExceeded;
    332 
    333 /*-------------------------------------------------------*/
    334 
    335 typedef struct _TerminalCapabilitySetRelease     /* SEQUENCE */
    336 {
    337     uint8(empty_sequence);
    338     /*[...]*/
    339 } S_TerminalCapabilitySetRelease;
    340 typedef S_TerminalCapabilitySetRelease *PS_TerminalCapabilitySetRelease;
    341 
    342 /*-------------------------------------------------------*/
    343 
    344 typedef struct _Capability     /* CHOICE */
    345 {
    346     uint16 index;
    347     union
    348     {
    349         struct _NonStandardParameter *nonStandard;
    350         struct _VideoCapability *receiveVideoCapability;
    351         struct _VideoCapability *transmitVideoCapability;
    352         struct _VideoCapability *receiveAndTransmitVideoCapability;
    353         struct _AudioCapability *receiveAudioCapability;
    354         struct _AudioCapability *transmitAudioCapability;
    355         struct _AudioCapability *receiveAndTransmitAudioCapability;
    356         struct _DataApplicationCapability *receiveDataApplicationCapability;
    357         struct _DataApplicationCapability *transmitDataApplicationCapability;
    358         struct _DataApplicationCapability *receiveAndTransmitDataApplicationCapability;
    359         uint8 h233EncryptionTransmitCapability;
    360         struct _H233EncryptionReceiveCapability *h233EncryptionReceiveCapability;
    361         /*[...]*/
    362         struct _ConferenceCapability *conferenceCapability;
    363         struct _H235SecurityCapability *h235SecurityCapability;
    364         uint8 maxPendingReplacementFor;
    365         struct _UserInputCapability *receiveUserInputCapability;
    366         struct _UserInputCapability *transmitUserInputCapability;
    367         struct _UserInputCapability *receiveAndTransmitUserInputCapability;
    368         struct _GenericCapability *genericControlCapability;
    369     };
    370 } S_Capability;
    371 typedef S_Capability *PS_Capability;
    372 
    373 /*-------------------------------------------------------*/
    374 
    375 typedef struct _CapabilityTableEntry     /* SEQUENCE */
    376 {
    377 uint32 option_of_capability :
    378     1;
    379     uint16 capabilityTableEntryNumber;
    380     struct _Capability capability;
    381 } S_CapabilityTableEntry;
    382 typedef S_CapabilityTableEntry *PS_CapabilityTableEntry;
    383 
    384 /*-------------------------------------------------------*/
    385 
    386 typedef struct _H233EncryptionReceiveCapability     /* SEQUENCE */
    387 {
    388     uint8 h233IVResponseTime;
    389     /*[...]*/
    390 } S_H233EncryptionReceiveCapability;
    391 typedef S_H233EncryptionReceiveCapability *PS_H233EncryptionReceiveCapability;
    392 
    393 /*-------------------------------------------------------*/
    394 
    395 typedef struct _MultiplexCapability     /* CHOICE */
    396 {
    397     uint16 index;
    398     union
    399     {
    400         struct _NonStandardParameter *nonStandard;
    401         struct _H222Capability *h222Capability;
    402         struct _H223Capability *h223Capability;
    403         struct _V76Capability *v76Capability;
    404         /*[...]*/
    405         struct _H2250Capability *h2250Capability;
    406         struct _GenericCapability *genericMultiplexCapability;
    407     };
    408 } S_MultiplexCapability;
    409 typedef S_MultiplexCapability *PS_MultiplexCapability;
    410 
    411 /*-------------------------------------------------------*/
    412 
    413 typedef struct _TerminalCapabilitySet     /* SEQUENCE */
    414 {
    415 uint32 option_of_multiplexCapability :
    416     1;
    417 uint32 option_of_capabilityTable :
    418     1;
    419 uint32 option_of_capabilityDescriptors :
    420     1;
    421     uint8 sequenceNumber;
    422     S_OBJECTIDENT protocolIdentifier;
    423     struct _MultiplexCapability multiplexCapability;
    424     uint16 size_of_capabilityTable;
    425     struct _CapabilityTableEntry *capabilityTable;
    426     uint16 size_of_capabilityDescriptors;
    427     struct _CapabilityDescriptor *capabilityDescriptors;
    428     /*[...]*/
    429 uint32 option_of_genericInformation :
    430     1;
    431     uint16 size_of_genericInformation;
    432     struct _GenericInformation *genericInformation;
    433 } S_TerminalCapabilitySet;
    434 typedef S_TerminalCapabilitySet *PS_TerminalCapabilitySet;
    435 
    436 /*-------------------------------------------------------*/
    437 
    438 typedef struct _H222Capability     /* SEQUENCE */
    439 {
    440     uint16 numberOfVCs;
    441     uint16 size_of_vcCapability;
    442     struct _VCCapability *vcCapability;
    443     /*[...]*/
    444 } S_H222Capability;
    445 typedef S_H222Capability *PS_H222Capability;
    446 
    447 /*-------------------------------------------------------*/
    448 
    449 typedef struct _Aal1ViaGateway     /* SEQUENCE */
    450 {
    451     uint16 size_of_gatewayAddress;
    452     struct _Q2931Address *gatewayAddress;
    453 uint32 nullClockRecovery :
    454     1;
    455 uint32 srtsClockRecovery :
    456     1;
    457 uint32 adaptiveClockRecovery :
    458     1;
    459 uint32 nullErrorCorrection :
    460     1;
    461 uint32 longInterleaver :
    462     1;
    463 uint32 shortInterleaver :
    464     1;
    465 uint32 errorCorrectionOnly :
    466     1;
    467 uint32 structuredDataTransfer :
    468     1;
    469 uint32 partiallyFilledCells :
    470     1;
    471     /*[...]*/
    472 } S_Aal1ViaGateway;
    473 typedef S_Aal1ViaGateway *PS_Aal1ViaGateway;
    474 
    475 /*-------------------------------------------------------*/
    476 
    477 typedef struct _VccAal5Type     /* CHOICE */
    478 {
    479     uint16 index;
    480     union
    481     {
    482         uint16 singleBitRate;
    483         struct _RangeOfBitRates *rangeOfBitRates;
    484     };
    485 } S_VccAal5Type;
    486 typedef S_VccAal5Type *PS_VccAal5Type;
    487 
    488 /*-------------------------------------------------------*/
    489 
    490 typedef struct _AvailableBitRates     /* SEQUENCE */
    491 {
    492     struct _VccAal5Type vccAal5Type;
    493     /*[...]*/
    494 } S_AvailableBitRates;
    495 typedef S_AvailableBitRates *PS_AvailableBitRates;
    496 
    497 /*-------------------------------------------------------*/
    498 
    499 typedef struct _RangeOfBitRates     /* SEQUENCE */
    500 {
    501     uint16 lowerBitRate;
    502     uint16 higherBitRate;
    503 } S_RangeOfBitRates;
    504 typedef S_RangeOfBitRates *PS_RangeOfBitRates;
    505 
    506 /*-------------------------------------------------------*/
    507 
    508 typedef struct _VccAal5     /* SEQUENCE */
    509 {
    510     uint16 forwardMaximumSDUSize;
    511     uint16 backwardMaximumSDUSize;
    512     /*[...]*/
    513 } S_VccAal5;
    514 typedef S_VccAal5 *PS_VccAal5;
    515 
    516 /*-------------------------------------------------------*/
    517 
    518 typedef struct _VccAal1     /* SEQUENCE */
    519 {
    520 uint32 nullClockRecovery :
    521     1;
    522 uint32 srtsClockRecovery :
    523     1;
    524 uint32 adaptiveClockRecovery :
    525     1;
    526 uint32 nullErrorCorrection :
    527     1;
    528 uint32 longInterleaver :
    529     1;
    530 uint32 shortInterleaver :
    531     1;
    532 uint32 errorCorrectionOnly :
    533     1;
    534 uint32 structuredDataTransfer :
    535     1;
    536 uint32 partiallyFilledCells :
    537     1;
    538     /*[...]*/
    539 } S_VccAal1;
    540 typedef S_VccAal1 *PS_VccAal1;
    541 
    542 /*-------------------------------------------------------*/
    543 
    544 typedef struct _VCCapability     /* SEQUENCE */
    545 {
    546 uint32 option_of_vccAal1 :
    547     1;
    548 uint32 option_of_vccAal5 :
    549     1;
    550     struct _VccAal1 vccAal1;
    551     struct _VccAal5 vccAal5;
    552 uint32 transportStream :
    553     1;
    554 uint32 programStream :
    555     1;
    556     struct _AvailableBitRates availableBitRates;
    557     /*[...]*/
    558 uint32 option_of_aal1ViaGateway :
    559     1;
    560     struct _Aal1ViaGateway aal1ViaGateway;
    561 } S_VCCapability;
    562 typedef S_VCCapability *PS_VCCapability;
    563 
    564 /*-------------------------------------------------------*/
    565 
    566 typedef struct _MobileOperationTransmitCapability     /* SEQUENCE */
    567 {
    568 uint32 modeChangeCapability :
    569     1;
    570 uint32 h223AnnexA :
    571     1;
    572 uint32 h223AnnexADoubleFlag :
    573     1;
    574 uint32 h223AnnexB :
    575     1;
    576 uint32 h223AnnexBwithHeader :
    577     1;
    578     /*[...]*/
    579 } S_MobileOperationTransmitCapability;
    580 typedef S_MobileOperationTransmitCapability *PS_MobileOperationTransmitCapability;
    581 
    582 /*-------------------------------------------------------*/
    583 
    584 typedef struct _H223MultiplexTableCapability     /* CHOICE */
    585 {
    586     uint16 index;
    587     union
    588     {
    589         /* (NULL) basic */
    590         struct _Enhanced *enhanced;
    591     };
    592 } S_H223MultiplexTableCapability;
    593 typedef S_H223MultiplexTableCapability *PS_H223MultiplexTableCapability;
    594 
    595 /*-------------------------------------------------------*/
    596 
    597 typedef struct _Enhanced     /* SEQUENCE */
    598 {
    599     uint8 maximumNestingDepth;
    600     uint8 maximumElementListSize;
    601     uint8 maximumSubElementListSize;
    602     /*[...]*/
    603 } S_Enhanced;
    604 typedef S_Enhanced *PS_Enhanced;
    605 
    606 /*-------------------------------------------------------*/
    607 
    608 typedef struct _H223AnnexCCapability     /* SEQUENCE */
    609 {
    610 uint32 videoWithAL1M :
    611     1;
    612 uint32 videoWithAL2M :
    613     1;
    614 uint32 videoWithAL3M :
    615     1;
    616 uint32 audioWithAL1M :
    617     1;
    618 uint32 audioWithAL2M :
    619     1;
    620 uint32 audioWithAL3M :
    621     1;
    622 uint32 dataWithAL1M :
    623     1;
    624 uint32 dataWithAL2M :
    625     1;
    626 uint32 dataWithAL3M :
    627     1;
    628 uint32 alpduInterleaving :
    629     1;
    630     uint16 maximumAL1MPDUSize;
    631     uint16 maximumAL2MSDUSize;
    632     uint16 maximumAL3MSDUSize;
    633     /*[...]*/
    634 uint32 option_of_rsCodeCapability :
    635     1;
    636 uint32 rsCodeCapability :
    637     1;
    638 } S_H223AnnexCCapability;
    639 typedef S_H223AnnexCCapability *PS_H223AnnexCCapability;
    640 
    641 /*-------------------------------------------------------*/
    642 
    643 typedef struct _H223Capability     /* SEQUENCE */
    644 {
    645 uint32 transportWithI_frames :
    646     1;
    647 uint32 videoWithAL1 :
    648     1;
    649 uint32 videoWithAL2 :
    650     1;
    651 uint32 videoWithAL3 :
    652     1;
    653 uint32 audioWithAL1 :
    654     1;
    655 uint32 audioWithAL2 :
    656     1;
    657 uint32 audioWithAL3 :
    658     1;
    659 uint32 dataWithAL1 :
    660     1;
    661 uint32 dataWithAL2 :
    662     1;
    663 uint32 dataWithAL3 :
    664     1;
    665     uint16 maximumAl2SDUSize;
    666     uint16 maximumAl3SDUSize;
    667     uint16 maximumDelayJitter;
    668     struct _H223MultiplexTableCapability h223MultiplexTableCapability;
    669     /*[...]*/
    670 uint32 option_of_maxMUXPDUSizeCapability :
    671     1;
    672 uint32 option_of_nsrpSupport :
    673     1;
    674 uint32 option_of_mobileOperationTransmitCapability :
    675     1;
    676 uint32 option_of_h223AnnexCCapability :
    677     1;
    678 uint32 maxMUXPDUSizeCapability :
    679     1;
    680 uint32 nsrpSupport :
    681     1;
    682     struct _MobileOperationTransmitCapability mobileOperationTransmitCapability;
    683     struct _H223AnnexCCapability h223AnnexCCapability;
    684 } S_H223Capability;
    685 typedef S_H223Capability *PS_H223Capability;
    686 
    687 /*-------------------------------------------------------*/
    688 
    689 typedef struct _V75Capability     /* SEQUENCE */
    690 {
    691 uint32 audioHeader :
    692     1;
    693     /*[...]*/
    694 } S_V75Capability;
    695 typedef S_V75Capability *PS_V75Capability;
    696 
    697 /*-------------------------------------------------------*/
    698 
    699 typedef struct _V76Capability     /* SEQUENCE */
    700 {
    701 uint32 suspendResumeCapabilitywAddress :
    702     1;
    703 uint32 suspendResumeCapabilitywoAddress :
    704     1;
    705 uint32 rejCapability :
    706     1;
    707 uint32 sREJCapability :
    708     1;
    709 uint32 mREJCapability :
    710     1;
    711 uint32 crc8bitCapability :
    712     1;
    713 uint32 crc16bitCapability :
    714     1;
    715 uint32 crc32bitCapability :
    716     1;
    717 uint32 uihCapability :
    718     1;
    719     uint16 numOfDLCS;
    720 uint32 twoOctetAddressFieldCapability :
    721     1;
    722 uint32 loopBackTestCapability :
    723     1;
    724     uint16 n401Capability;
    725     uint8 maxWindowSizeCapability;
    726     struct _V75Capability v75Capability;
    727     /*[...]*/
    728 } S_V76Capability;
    729 typedef S_V76Capability *PS_V76Capability;
    730 
    731 /*-------------------------------------------------------*/
    732 
    733 typedef struct _McCapability     /* SEQUENCE */
    734 {
    735 uint32 centralizedConferenceMC :
    736     1;
    737 uint32 decentralizedConferenceMC :
    738     1;
    739     /*[...]*/
    740 } S_McCapability;
    741 typedef S_McCapability *PS_McCapability;
    742 
    743 /*-------------------------------------------------------*/
    744 
    745 typedef struct _MediaPacketizationCapability     /* SEQUENCE */
    746 {
    747 uint32 h261aVideoPacketization :
    748     1;
    749     /*[...]*/
    750 uint32 option_of_rtpPayloadType :
    751     1;
    752     uint16 size_of_rtpPayloadType;
    753     struct _RTPPayloadType *rtpPayloadType;
    754 } S_MediaPacketizationCapability;
    755 typedef S_MediaPacketizationCapability *PS_MediaPacketizationCapability;
    756 
    757 /*-------------------------------------------------------*/
    758 
    759 typedef struct _QOSMode     /* CHOICE */
    760 {
    761     uint16 index;
    762     /* (NULL) guaranteedQOS */
    763     /* (NULL) controlledLoad */
    764     /*[...]*/
    765 } S_QOSMode;
    766 typedef S_QOSMode *PS_QOSMode;
    767 
    768 /*-------------------------------------------------------*/
    769 
    770 typedef struct _RSVPParameters     /* SEQUENCE */
    771 {
    772 uint32 option_of_qosMode :
    773     1;
    774 uint32 option_of_tokenRate :
    775     1;
    776 uint32 option_of_bucketSize :
    777     1;
    778 uint32 option_of_peakRate :
    779     1;
    780 uint32 option_of_minPoliced :
    781     1;
    782 uint32 option_of_maxPktSize :
    783     1;
    784     struct _QOSMode qosMode;
    785     uint32 tokenRate;
    786     uint32 bucketSize;
    787     uint32 peakRate;
    788     uint32 minPoliced;
    789     uint32 maxPktSize;
    790     /*[...]*/
    791 } S_RSVPParameters;
    792 typedef S_RSVPParameters *PS_RSVPParameters;
    793 
    794 /*-------------------------------------------------------*/
    795 
    796 typedef struct _ATMParameters     /* SEQUENCE */
    797 {
    798     uint16 maxNTUSize;
    799 uint32 atmUBR :
    800     1;
    801 uint32 atmrtVBR :
    802     1;
    803 uint32 atmnrtVBR :
    804     1;
    805 uint32 atmABR :
    806     1;
    807 uint32 atmCBR :
    808     1;
    809     /*[...]*/
    810 } S_ATMParameters;
    811 typedef S_ATMParameters *PS_ATMParameters;
    812 
    813 /*-------------------------------------------------------*/
    814 
    815 typedef struct _QOSCapability     /* SEQUENCE */
    816 {
    817 uint32 option_of_nonStandardData :
    818     1;
    819 uint32 option_of_rsvpParameters :
    820     1;
    821 uint32 option_of_atmParameters :
    822     1;
    823     struct _NonStandardParameter nonStandardData;
    824     struct _RSVPParameters rsvpParameters;
    825     struct _ATMParameters atmParameters;
    826     /*[...]*/
    827 } S_QOSCapability;
    828 typedef S_QOSCapability *PS_QOSCapability;
    829 
    830 /*-------------------------------------------------------*/
    831 
    832 typedef struct _MediaTransportType     /* CHOICE */
    833 {
    834     uint16 index;
    835     union
    836     {
    837         /* (NULL) ip_UDP */
    838         /* (NULL) ip_TCP */
    839         /* (NULL) atm_AAL5_UNIDIR */
    840         /* (NULL) atm_AAL5_BIDIR */
    841         /*[...]*/
    842         struct _Atm_AAL5_compressed *atm_AAL5_compressed;
    843     };
    844 } S_MediaTransportType;
    845 typedef S_MediaTransportType *PS_MediaTransportType;
    846 
    847 /*-------------------------------------------------------*/
    848 
    849 typedef struct _Atm_AAL5_compressed     /* SEQUENCE */
    850 {
    851 uint32 variable_delta :
    852     1;
    853     /*[...]*/
    854 } S_Atm_AAL5_compressed;
    855 typedef S_Atm_AAL5_compressed *PS_Atm_AAL5_compressed;
    856 
    857 /*-------------------------------------------------------*/
    858 
    859 typedef struct _MediaChannelCapability     /* SEQUENCE */
    860 {
    861 uint32 option_of_mediaTransport :
    862     1;
    863     struct _MediaTransportType mediaTransport;
    864     /*[...]*/
    865 } S_MediaChannelCapability;
    866 typedef S_MediaChannelCapability *PS_MediaChannelCapability;
    867 
    868 /*-------------------------------------------------------*/
    869 
    870 typedef struct _TransportCapability     /* SEQUENCE */
    871 {
    872 uint32 option_of_nonStandard :
    873     1;
    874 uint32 option_of_qOSCapabilities :
    875     1;
    876 uint32 option_of_mediaChannelCapabilities :
    877     1;
    878     struct _NonStandardParameter nonStandard;
    879     uint16 size_of_qOSCapabilities;
    880     struct _QOSCapability *qOSCapabilities;
    881     uint16 size_of_mediaChannelCapabilities;
    882     struct _MediaChannelCapability *mediaChannelCapabilities;
    883     /*[...]*/
    884 } S_TransportCapability;
    885 typedef S_TransportCapability *PS_TransportCapability;
    886 
    887 /*-------------------------------------------------------*/
    888 
    889 typedef struct _RedundancyEncodingMethod     /* CHOICE */
    890 {
    891     uint16 index;
    892     union
    893     {
    894         struct _NonStandardParameter *nonStandard;
    895         /* (NULL) rtpAudioRedundancyEncoding */
    896         /*[...]*/
    897         struct _RTPH263VideoRedundancyEncoding *rtpH263VideoRedundancyEncoding;
    898     };
    899 } S_RedundancyEncodingMethod;
    900 typedef S_RedundancyEncodingMethod *PS_RedundancyEncodingMethod;
    901 
    902 /*-------------------------------------------------------*/
    903 
    904 typedef struct _RedundancyEncodingCapability     /* SEQUENCE */
    905 {
    906 uint32 option_of_secondaryEncoding :
    907     1;
    908     struct _RedundancyEncodingMethod redundancyEncodingMethod;
    909     uint16 primaryEncoding;
    910     uint16 size_of_secondaryEncoding;
    911     uint32* secondaryEncoding;
    912     /*[...]*/
    913 } S_RedundancyEncodingCapability;
    914 typedef S_RedundancyEncodingCapability *PS_RedundancyEncodingCapability;
    915 
    916 /*-------------------------------------------------------*/
    917 
    918 typedef struct _FrameToThreadMapping     /* CHOICE */
    919 {
    920     uint16 index;
    921     union
    922     {
    923         /* (NULL) roundrobin */
    924         struct _RTPH263VideoRedundancyFrameMapping *custom;
    925         /*[...]*/
    926     };
    927     uint16 size;
    928 } S_FrameToThreadMapping;
    929 typedef S_FrameToThreadMapping *PS_FrameToThreadMapping;
    930 
    931 /*-------------------------------------------------------*/
    932 
    933 typedef struct _RTPH263VideoRedundancyEncoding     /* SEQUENCE */
    934 {
    935 uint32 option_of_containedThreads :
    936     1;
    937     uint8 numberOfThreads;
    938     uint16 framesBetweenSyncPoints;
    939     struct _FrameToThreadMapping frameToThreadMapping;
    940     uint16 size_of_containedThreads;
    941     uint32* containedThreads;
    942     /*[...]*/
    943 } S_RTPH263VideoRedundancyEncoding;
    944 typedef S_RTPH263VideoRedundancyEncoding *PS_RTPH263VideoRedundancyEncoding;
    945 
    946 /*-------------------------------------------------------*/
    947 
    948 typedef struct _RTPH263VideoRedundancyFrameMapping     /* SEQUENCE */
    949 {
    950     uint8 threadNumber;
    951     uint16 size_of_frameSequence;
    952     uint32* frameSequence;
    953     /*[...]*/
    954 } S_RTPH263VideoRedundancyFrameMapping;
    955 typedef S_RTPH263VideoRedundancyFrameMapping *PS_RTPH263VideoRedundancyFrameMapping;
    956 
    957 /*-------------------------------------------------------*/
    958 
    959 typedef struct _MultipointCapability     /* SEQUENCE */
    960 {
    961 uint32 multicastCapability :
    962     1;
    963 uint32 multiUniCastConference :
    964     1;
    965     uint16 size_of_mediaDistributionCapability;
    966     struct _MediaDistributionCapability *mediaDistributionCapability;
    967     /*[...]*/
    968 } S_MultipointCapability;
    969 typedef S_MultipointCapability *PS_MultipointCapability;
    970 
    971 /*-------------------------------------------------------*/
    972 
    973 typedef struct _H2250Capability     /* SEQUENCE */
    974 {
    975     uint16 maximumAudioDelayJitter;
    976     struct _MultipointCapability receiveMultipointCapability;
    977     struct _MultipointCapability transmitMultipointCapability;
    978     struct _MultipointCapability receiveAndTransmitMultipointCapability;
    979     struct _McCapability mcCapability;
    980 uint32 rtcpVideoControlCapability :
    981     1;
    982     struct _MediaPacketizationCapability mediaPacketizationCapability;
    983     /*[...]*/
    984 uint32 option_of_transportCapability :
    985     1;
    986 uint32 option_of_redundancyEncodingCapability :
    987     1;
    988 uint32 option_of_logicalChannelSwitchingCapability :
    989     1;
    990 uint32 option_of_t120DynamicPortCapability :
    991     1;
    992     struct _TransportCapability transportCapability;
    993     uint16 size_of_redundancyEncodingCapability;
    994     struct _RedundancyEncodingCapability *redundancyEncodingCapability;
    995 uint32 logicalChannelSwitchingCapability :
    996     1;
    997 uint32 t120DynamicPortCapability :
    998     1;
    999 } S_H2250Capability;
   1000 typedef S_H2250Capability *PS_H2250Capability;
   1001 
   1002 /*-------------------------------------------------------*/
   1003 
   1004 typedef struct _MediaDistributionCapability     /* SEQUENCE */
   1005 {
   1006 uint32 option_of_centralizedData :
   1007     1;
   1008 uint32 option_of_distributedData :
   1009     1;
   1010 uint32 centralizedControl :
   1011     1;
   1012 uint32 distributedControl :
   1013     1;
   1014 uint32 centralizedAudio :
   1015     1;
   1016 uint32 distributedAudio :
   1017     1;
   1018 uint32 centralizedVideo :
   1019     1;
   1020 uint32 distributedVideo :
   1021     1;
   1022     uint16 size_of_centralizedData;
   1023     struct _DataApplicationCapability *centralizedData;
   1024     uint16 size_of_distributedData;
   1025     struct _DataApplicationCapability *distributedData;
   1026     /*[...]*/
   1027 } S_MediaDistributionCapability;
   1028 typedef S_MediaDistributionCapability *PS_MediaDistributionCapability;
   1029 
   1030 /*-------------------------------------------------------*/
   1031 
   1032 typedef struct _VideoCapability     /* CHOICE */
   1033 {
   1034     uint16 index;
   1035     union
   1036     {
   1037         struct _NonStandardParameter *nonStandard;
   1038         struct _H261VideoCapability *h261VideoCapability;
   1039         struct _H262VideoCapability *h262VideoCapability;
   1040         struct _H263VideoCapability *h263VideoCapability;
   1041         struct _IS11172VideoCapability *is11172VideoCapability;
   1042         /*[...]*/
   1043         struct _GenericCapability *genericVideoCapability;
   1044     };
   1045 } S_VideoCapability;
   1046 typedef S_VideoCapability *PS_VideoCapability;
   1047 
   1048 /*-------------------------------------------------------*/
   1049 
   1050 typedef struct _H261VideoCapability     /* SEQUENCE */
   1051 {
   1052 uint32 option_of_qcifMPI :
   1053     1;
   1054 uint32 option_of_cifMPI :
   1055     1;
   1056     uint8 qcifMPI;
   1057     uint8 cifMPI;
   1058 uint32 temporalSpatialTradeOffCapability :
   1059     1;
   1060     uint16 maxBitRate;
   1061 uint32 stillImageTransmission :
   1062     1;
   1063     /*[...]*/
   1064 } S_H261VideoCapability;
   1065 typedef S_H261VideoCapability *PS_H261VideoCapability;
   1066 
   1067 /*-------------------------------------------------------*/
   1068 
   1069 typedef struct _H262VideoCapability     /* SEQUENCE */
   1070 {
   1071 uint32 option_of_videoBitRate :
   1072     1;
   1073 uint32 option_of_vbvBufferSize :
   1074     1;
   1075 uint32 option_of_samplesPerLine :
   1076     1;
   1077 uint32 option_of_linesPerFrame :
   1078     1;
   1079 uint32 option_of_framesPerSecond :
   1080     1;
   1081 uint32 option_of_luminanceSampleRate :
   1082     1;
   1083 uint32 profileAndLevel_SPatML :
   1084     1;
   1085 uint32 profileAndLevel_MPatLL :
   1086     1;
   1087 uint32 profileAndLevel_MPatML :
   1088     1;
   1089 uint32 profileAndLevel_MPatH_14 :
   1090     1;
   1091 uint32 profileAndLevel_MPatHL :
   1092     1;
   1093 uint32 profileAndLevel_SNRatLL :
   1094     1;
   1095 uint32 profileAndLevel_SNRatML :
   1096     1;
   1097 uint32 profileAndLevel_SpatialatH_14 :
   1098     1;
   1099 uint32 profileAndLevel_HPatML :
   1100     1;
   1101 uint32 profileAndLevel_HPatH_14 :
   1102     1;
   1103 uint32 profileAndLevel_HPatHL :
   1104     1;
   1105     uint32 videoBitRate;
   1106     uint32 vbvBufferSize;
   1107     uint16 samplesPerLine;
   1108     uint16 linesPerFrame;
   1109     uint8 framesPerSecond;
   1110     uint32 luminanceSampleRate;
   1111     /*[...]*/
   1112 } S_H262VideoCapability;
   1113 typedef S_H262VideoCapability *PS_H262VideoCapability;
   1114 
   1115 /*-------------------------------------------------------*/
   1116 
   1117 typedef struct _EnhancementLayerInfo     /* SEQUENCE */
   1118 {
   1119 uint32 option_of_snrEnhancement :
   1120     1;
   1121 uint32 option_of_spatialEnhancement :
   1122     1;
   1123 uint32 option_of_bPictureEnhancement :
   1124     1;
   1125 uint32 baseBitRateConstrained :
   1126     1;
   1127     uint16 size_of_snrEnhancement;
   1128     struct _EnhancementOptions *snrEnhancement;
   1129     uint16 size_of_spatialEnhancement;
   1130     struct _EnhancementOptions *spatialEnhancement;
   1131     uint16 size_of_bPictureEnhancement;
   1132     struct _BEnhancementParameters *bPictureEnhancement;
   1133     /*[...]*/
   1134 } S_EnhancementLayerInfo;
   1135 typedef S_EnhancementLayerInfo *PS_EnhancementLayerInfo;
   1136 
   1137 /*-------------------------------------------------------*/
   1138 
   1139 typedef struct _TransparencyParameters     /* SEQUENCE */
   1140 {
   1141     uint16 presentationOrder;
   1142     int32 offset_x;
   1143     int32 offset_y;
   1144     uint8 scale_x;
   1145     uint8 scale_y;
   1146     /*[...]*/
   1147 } S_TransparencyParameters;
   1148 typedef S_TransparencyParameters *PS_TransparencyParameters;
   1149 
   1150 /*-------------------------------------------------------*/
   1151 
   1152 typedef struct _VideoBackChannelSend     /* CHOICE */
   1153 {
   1154     uint16 index;
   1155     /* (NULL) none */
   1156     /* (NULL) ackMessageOnly */
   1157     /* (NULL) nackMessageOnly */
   1158     /* (NULL) ackOrNackMessageOnly */
   1159     /* (NULL) ackAndNackMessage */
   1160     /*[...]*/
   1161 } S_VideoBackChannelSend;
   1162 typedef S_VideoBackChannelSend *PS_VideoBackChannelSend;
   1163 
   1164 /*-------------------------------------------------------*/
   1165 
   1166 typedef struct _AdditionalPictureMemory     /* SEQUENCE */
   1167 {
   1168 uint32 option_of_sqcifAdditionalPictureMemory :
   1169     1;
   1170 uint32 option_of_qcifAdditionalPictureMemory :
   1171     1;
   1172 uint32 option_of_cifAdditionalPictureMemory :
   1173     1;
   1174 uint32 option_of_cif4AdditionalPictureMemory :
   1175     1;
   1176 uint32 option_of_cif16AdditionalPictureMemory :
   1177     1;
   1178 uint32 option_of_bigCpfAdditionalPictureMemory :
   1179     1;
   1180     uint16 sqcifAdditionalPictureMemory;
   1181     uint16 qcifAdditionalPictureMemory;
   1182     uint16 cifAdditionalPictureMemory;
   1183     uint16 cif4AdditionalPictureMemory;
   1184     uint16 cif16AdditionalPictureMemory;
   1185     uint16 bigCpfAdditionalPictureMemory;
   1186     /*[...]*/
   1187 } S_AdditionalPictureMemory;
   1188 typedef S_AdditionalPictureMemory *PS_AdditionalPictureMemory;
   1189 
   1190 /*-------------------------------------------------------*/
   1191 
   1192 typedef struct _RefPictureSelection     /* SEQUENCE */
   1193 {
   1194 uint32 option_of_additionalPictureMemory :
   1195     1;
   1196     struct _AdditionalPictureMemory additionalPictureMemory;
   1197 uint32 videoMux :
   1198     1;
   1199     struct _VideoBackChannelSend videoBackChannelSend;
   1200     /*[...]*/
   1201 } S_RefPictureSelection;
   1202 typedef S_RefPictureSelection *PS_RefPictureSelection;
   1203 
   1204 /*-------------------------------------------------------*/
   1205 
   1206 typedef struct _H263Options     /* SEQUENCE */
   1207 {
   1208 uint32 option_of_transparencyParameters :
   1209     1;
   1210 uint32 option_of_refPictureSelection :
   1211     1;
   1212 uint32 option_of_customPictureClockFrequency :
   1213     1;
   1214 uint32 option_of_customPictureFormat :
   1215     1;
   1216 uint32 option_of_modeCombos :
   1217     1;
   1218 uint32 advancedIntraCodingMode :
   1219     1;
   1220 uint32 deblockingFilterMode :
   1221     1;
   1222 uint32 improvedPBFramesMode :
   1223     1;
   1224 uint32 unlimitedMotionVectors :
   1225     1;
   1226 uint32 fullPictureFreeze :
   1227     1;
   1228 uint32 partialPictureFreezeAndRelease :
   1229     1;
   1230 uint32 resizingPartPicFreezeAndRelease :
   1231     1;
   1232 uint32 fullPictureSnapshot :
   1233     1;
   1234 uint32 partialPictureSnapshot :
   1235     1;
   1236 uint32 videoSegmentTagging :
   1237     1;
   1238 uint32 progressiveRefinement :
   1239     1;
   1240 uint32 dynamicPictureResizingByFour :
   1241     1;
   1242 uint32 dynamicPictureResizingSixteenthPel :
   1243     1;
   1244 uint32 dynamicWarpingHalfPel :
   1245     1;
   1246 uint32 dynamicWarpingSixteenthPel :
   1247     1;
   1248 uint32 independentSegmentDecoding :
   1249     1;
   1250 uint32 slicesInOrder_NonRect :
   1251     1;
   1252 uint32 slicesInOrder_Rect :
   1253     1;
   1254 uint32 slicesNoOrder_NonRect :
   1255     1;
   1256 uint32 slicesNoOrder_Rect :
   1257     1;
   1258 uint32 alternateInterVLCMode :
   1259     1;
   1260 uint32 modifiedQuantizationMode :
   1261     1;
   1262 uint32 reducedResolutionUpdate :
   1263     1;
   1264     struct _TransparencyParameters transparencyParameters;
   1265 uint32 separateVideoBackChannel :
   1266     1;
   1267     struct _RefPictureSelection refPictureSelection;
   1268     uint16 size_of_customPictureClockFrequency;
   1269     struct _CustomPictureClockFrequency *customPictureClockFrequency;
   1270     uint16 size_of_customPictureFormat;
   1271     struct _CustomPictureFormat *customPictureFormat;
   1272     uint16 size_of_modeCombos;
   1273     struct _H263VideoModeCombos *modeCombos;
   1274     /*[...]*/
   1275 } S_H263Options;
   1276 typedef S_H263Options *PS_H263Options;
   1277 
   1278 /*-------------------------------------------------------*/
   1279 
   1280 typedef struct _H263VideoCapability     /* SEQUENCE */
   1281 {
   1282 uint32 option_of_sqcifMPI :
   1283     1;
   1284 uint32 option_of_qcifMPI :
   1285     1;
   1286 uint32 option_of_cifMPI :
   1287     1;
   1288 uint32 option_of_cif4MPI :
   1289     1;
   1290 uint32 option_of_cif16MPI :
   1291     1;
   1292 uint32 option_of_hrd_B :
   1293     1;
   1294 uint32 option_of_bppMaxKb :
   1295     1;
   1296     uint8 sqcifMPI;
   1297     uint8 qcifMPI;
   1298     uint8 cifMPI;
   1299     uint8 cif4MPI;
   1300     uint8 cif16MPI;
   1301     uint32 maxBitRate;
   1302 uint32 unrestrictedVector :
   1303     1;
   1304 uint32 arithmeticCoding :
   1305     1;
   1306 uint32 advancedPrediction :
   1307     1;
   1308 uint32 pbFrames :
   1309     1;
   1310 uint32 temporalSpatialTradeOffCapability :
   1311     1;
   1312     uint32 hrd_B;
   1313     uint16 bppMaxKb;
   1314     /*[...]*/
   1315 uint32 option_of_slowSqcifMPI :
   1316     1;
   1317 uint32 option_of_slowQcifMPI :
   1318     1;
   1319 uint32 option_of_slowCifMPI :
   1320     1;
   1321 uint32 option_of_slowCif4MPI :
   1322     1;
   1323 uint32 option_of_slowCif16MPI :
   1324     1;
   1325 uint32 option_of_errorCompensation :
   1326     1;
   1327 uint32 option_of_enhancementLayerInfo :
   1328     1;
   1329 uint32 option_of_h263Options :
   1330     1;
   1331     uint16 slowSqcifMPI;
   1332     uint16 slowQcifMPI;
   1333     uint16 slowCifMPI;
   1334     uint16 slowCif4MPI;
   1335     uint16 slowCif16MPI;
   1336 uint32 errorCompensation :
   1337     1;
   1338     struct _EnhancementLayerInfo enhancementLayerInfo;
   1339     struct _H263Options h263Options;
   1340 } S_H263VideoCapability;
   1341 typedef S_H263VideoCapability *PS_H263VideoCapability;
   1342 
   1343 /*-------------------------------------------------------*/
   1344 
   1345 typedef struct _EnhancementOptions     /* SEQUENCE */
   1346 {
   1347 uint32 option_of_sqcifMPI :
   1348     1;
   1349 uint32 option_of_qcifMPI :
   1350     1;
   1351 uint32 option_of_cifMPI :
   1352     1;
   1353 uint32 option_of_cif4MPI :
   1354     1;
   1355 uint32 option_of_cif16MPI :
   1356     1;
   1357 uint32 option_of_slowSqcifMPI :
   1358     1;
   1359 uint32 option_of_slowQcifMPI :
   1360     1;
   1361 uint32 option_of_slowCifMPI :
   1362     1;
   1363 uint32 option_of_slowCif4MPI :
   1364     1;
   1365 uint32 option_of_slowCif16MPI :
   1366     1;
   1367 uint32 option_of_h263Options :
   1368     1;
   1369     uint8 sqcifMPI;
   1370     uint8 qcifMPI;
   1371     uint8 cifMPI;
   1372     uint8 cif4MPI;
   1373     uint8 cif16MPI;
   1374     uint32 maxBitRate;
   1375 uint32 unrestrictedVector :
   1376     1;
   1377 uint32 arithmeticCoding :
   1378     1;
   1379 uint32 temporalSpatialTradeOffCapability :
   1380     1;
   1381     uint16 slowSqcifMPI;
   1382     uint16 slowQcifMPI;
   1383     uint16 slowCifMPI;
   1384     uint16 slowCif4MPI;
   1385     uint16 slowCif16MPI;
   1386 uint32 errorCompensation :
   1387     1;
   1388     struct _H263Options h263Options;
   1389     /*[...]*/
   1390 } S_EnhancementOptions;
   1391 typedef S_EnhancementOptions *PS_EnhancementOptions;
   1392 
   1393 /*-------------------------------------------------------*/
   1394 
   1395 typedef struct _BEnhancementParameters     /* SEQUENCE */
   1396 {
   1397     struct _EnhancementOptions enhancementOptions;
   1398     uint8 numberOfBPictures;
   1399     /*[...]*/
   1400 } S_BEnhancementParameters;
   1401 typedef S_BEnhancementParameters *PS_BEnhancementParameters;
   1402 
   1403 /*-------------------------------------------------------*/
   1404 
   1405 typedef struct _CustomPictureClockFrequency     /* SEQUENCE */
   1406 {
   1407 uint32 option_of_sqcifMPI :
   1408     1;
   1409 uint32 option_of_qcifMPI :
   1410     1;
   1411 uint32 option_of_cifMPI :
   1412     1;
   1413 uint32 option_of_cif4MPI :
   1414     1;
   1415 uint32 option_of_cif16MPI :
   1416     1;
   1417     uint16 clockConversionCode;
   1418     uint8 clockDivisor;
   1419     uint16 sqcifMPI;
   1420     uint16 qcifMPI;
   1421     uint16 cifMPI;
   1422     uint16 cif4MPI;
   1423     uint16 cif16MPI;
   1424     /*[...]*/
   1425 } S_CustomPictureClockFrequency;
   1426 typedef S_CustomPictureClockFrequency *PS_CustomPictureClockFrequency;
   1427 
   1428 /*-------------------------------------------------------*/
   1429 
   1430 typedef struct _PixelAspectInformation     /* CHOICE */
   1431 {
   1432     uint16 index;
   1433     union
   1434     {
   1435         uint8 anyPixelAspectRatio;
   1436         uint32* pixelAspectCode;
   1437         struct _ExtendedPARItem *extendedPAR;
   1438         /*[...]*/
   1439     };
   1440     uint16 size;
   1441 } S_PixelAspectInformation;
   1442 typedef S_PixelAspectInformation *PS_PixelAspectInformation;
   1443 
   1444 /*-------------------------------------------------------*/
   1445 
   1446 typedef struct _ExtendedPARItem     /* SEQUENCE */
   1447 {
   1448     uint8 width;
   1449     uint8 height;
   1450     /*[...]*/
   1451 } S_ExtendedPARItem;
   1452 typedef S_ExtendedPARItem *PS_ExtendedPARItem;
   1453 
   1454 /*-------------------------------------------------------*/
   1455 
   1456 typedef struct _MPI     /* SEQUENCE */
   1457 {
   1458 uint32 option_of_standardMPI :
   1459     1;
   1460 uint32 option_of_customPCF :
   1461     1;
   1462     uint8 standardMPI;
   1463     uint16 size_of_customPCF;
   1464     struct _CustomPCFItem *customPCF;
   1465     /*[...]*/
   1466 } S_MPI;
   1467 typedef S_MPI *PS_MPI;
   1468 
   1469 /*-------------------------------------------------------*/
   1470 
   1471 typedef struct _CustomPictureFormat     /* SEQUENCE */
   1472 {
   1473     uint16 maxCustomPictureWidth;
   1474     uint16 maxCustomPictureHeight;
   1475     uint16 minCustomPictureWidth;
   1476     uint16 minCustomPictureHeight;
   1477     struct _MPI mPI;
   1478     struct _PixelAspectInformation pixelAspectInformation;
   1479     /*[...]*/
   1480 } S_CustomPictureFormat;
   1481 typedef S_CustomPictureFormat *PS_CustomPictureFormat;
   1482 
   1483 /*-------------------------------------------------------*/
   1484 
   1485 typedef struct _CustomPCFItem     /* SEQUENCE */
   1486 {
   1487     uint16 clockConversionCode;
   1488     uint8 clockDivisor;
   1489     uint16 customMPI;
   1490     /*[...]*/
   1491 } S_CustomPCFItem;
   1492 typedef S_CustomPCFItem *PS_CustomPCFItem;
   1493 
   1494 /*-------------------------------------------------------*/
   1495 
   1496 typedef struct _H263ModeComboFlags     /* SEQUENCE */
   1497 {
   1498 uint32 unrestrictedVector :
   1499     1;
   1500 uint32 arithmeticCoding :
   1501     1;
   1502 uint32 advancedPrediction :
   1503     1;
   1504 uint32 pbFrames :
   1505     1;
   1506 uint32 advancedIntraCodingMode :
   1507     1;
   1508 uint32 deblockingFilterMode :
   1509     1;
   1510 uint32 unlimitedMotionVectors :
   1511     1;
   1512 uint32 slicesInOrder_NonRect :
   1513     1;
   1514 uint32 slicesInOrder_Rect :
   1515     1;
   1516 uint32 slicesNoOrder_NonRect :
   1517     1;
   1518 uint32 slicesNoOrder_Rect :
   1519     1;
   1520 uint32 improvedPBFramesMode :
   1521     1;
   1522 uint32 referencePicSelect :
   1523     1;
   1524 uint32 dynamicPictureResizingByFour :
   1525     1;
   1526 uint32 dynamicPictureResizingSixteenthPel :
   1527     1;
   1528 uint32 dynamicWarpingHalfPel :
   1529     1;
   1530 uint32 dynamicWarpingSixteenthPel :
   1531     1;
   1532 uint32 reducedResolutionUpdate :
   1533     1;
   1534 uint32 independentSegmentDecoding :
   1535     1;
   1536 uint32 alternateInterVLCMode :
   1537     1;
   1538 uint32 modifiedQuantizationMode :
   1539     1;
   1540     /*[...]*/
   1541 } S_H263ModeComboFlags;
   1542 typedef S_H263ModeComboFlags *PS_H263ModeComboFlags;
   1543 
   1544 /*-------------------------------------------------------*/
   1545 
   1546 typedef struct _H263VideoModeCombos     /* SEQUENCE */
   1547 {
   1548     struct _H263ModeComboFlags h263VideoUncoupledModes;
   1549     uint16 size_of_h263VideoCoupledModes;
   1550     struct _H263ModeComboFlags *h263VideoCoupledModes;
   1551     /*[...]*/
   1552 } S_H263VideoModeCombos;
   1553 typedef S_H263VideoModeCombos *PS_H263VideoModeCombos;
   1554 
   1555 /*-------------------------------------------------------*/
   1556 
   1557 typedef struct _IS11172VideoCapability     /* SEQUENCE */
   1558 {
   1559 uint32 option_of_videoBitRate :
   1560     1;
   1561 uint32 option_of_vbvBufferSize :
   1562     1;
   1563 uint32 option_of_samplesPerLine :
   1564     1;
   1565 uint32 option_of_linesPerFrame :
   1566     1;
   1567 uint32 option_of_pictureRate :
   1568     1;
   1569 uint32 option_of_luminanceSampleRate :
   1570     1;
   1571 uint32 constrainedBitstream :
   1572     1;
   1573     uint32 videoBitRate;
   1574     uint32 vbvBufferSize;
   1575     uint16 samplesPerLine;
   1576     uint16 linesPerFrame;
   1577     uint8 pictureRate;
   1578     uint32 luminanceSampleRate;
   1579     /*[...]*/
   1580 } S_IS11172VideoCapability;
   1581 typedef S_IS11172VideoCapability *PS_IS11172VideoCapability;
   1582 
   1583 /*-------------------------------------------------------*/
   1584 
   1585 typedef struct _AudioCapability     /* CHOICE */
   1586 {
   1587     uint16 index;
   1588     union
   1589     {
   1590         struct _NonStandardParameter *nonStandard;
   1591         uint16 g711Alaw64k;
   1592         uint16 g711Alaw56k;
   1593         uint16 g711Ulaw64k;
   1594         uint16 g711Ulaw56k;
   1595         uint16 g722_64k;
   1596         uint16 g722_56k;
   1597         uint16 g722_48k;
   1598         struct _G7231 *g7231;
   1599         uint16 g728;
   1600         uint16 g729;
   1601         uint16 g729AnnexA;
   1602         struct _IS11172AudioCapability *is11172AudioCapability;
   1603         struct _IS13818AudioCapability *is13818AudioCapability;
   1604         /*[...]*/
   1605         uint16 g729wAnnexB;
   1606         uint16 g729AnnexAwAnnexB;
   1607         struct _G7231AnnexCCapability *g7231AnnexCCapability;
   1608         struct _GSMAudioCapability *gsmFullRate;
   1609         struct _GSMAudioCapability *gsmHalfRate;
   1610         struct _GSMAudioCapability *gsmEnhancedFullRate;
   1611         struct _GenericCapability *genericAudioCapability;
   1612         struct _G729Extensions *g729Extensions;
   1613     };
   1614 } S_AudioCapability;
   1615 typedef S_AudioCapability *PS_AudioCapability;
   1616 
   1617 /*-------------------------------------------------------*/
   1618 
   1619 typedef struct _G7231     /* SEQUENCE */
   1620 {
   1621     uint16 maxAl_sduAudioFrames;
   1622 uint32 silenceSuppression :
   1623     1;
   1624 } S_G7231;
   1625 typedef S_G7231 *PS_G7231;
   1626 
   1627 /*-------------------------------------------------------*/
   1628 
   1629 typedef struct _G729Extensions     /* SEQUENCE */
   1630 {
   1631 uint32 option_of_audioUnit :
   1632     1;
   1633     uint16 audioUnit;
   1634 uint32 annexA :
   1635     1;
   1636 uint32 annexB :
   1637     1;
   1638 uint32 annexD :
   1639     1;
   1640 uint32 annexE :
   1641     1;
   1642 uint32 annexF :
   1643     1;
   1644 uint32 annexG :
   1645     1;
   1646 uint32 annexH :
   1647     1;
   1648     /*[...]*/
   1649 } S_G729Extensions;
   1650 typedef S_G729Extensions *PS_G729Extensions;
   1651 
   1652 /*-------------------------------------------------------*/
   1653 
   1654 typedef struct _G723AnnexCAudioMode     /* SEQUENCE */
   1655 {
   1656     uint8 highRateMode0;
   1657     uint8 highRateMode1;
   1658     uint8 lowRateMode0;
   1659     uint8 lowRateMode1;
   1660     uint8 sidMode0;
   1661     uint8 sidMode1;
   1662     /*[...]*/
   1663 } S_G723AnnexCAudioMode;
   1664 typedef S_G723AnnexCAudioMode *PS_G723AnnexCAudioMode;
   1665 
   1666 /*-------------------------------------------------------*/
   1667 
   1668 typedef struct _G7231AnnexCCapability     /* SEQUENCE */
   1669 {
   1670 uint32 option_of_g723AnnexCAudioMode :
   1671     1;
   1672     uint16 maxAl_sduAudioFrames;
   1673 uint32 silenceSuppression :
   1674     1;
   1675     struct _G723AnnexCAudioMode g723AnnexCAudioMode;
   1676     /*[...]*/
   1677 } S_G7231AnnexCCapability;
   1678 typedef S_G7231AnnexCCapability *PS_G7231AnnexCCapability;
   1679 
   1680 /*-------------------------------------------------------*/
   1681 
   1682 typedef struct _IS11172AudioCapability     /* SEQUENCE */
   1683 {
   1684 uint32 audioLayer1 :
   1685     1;
   1686 uint32 audioLayer2 :
   1687     1;
   1688 uint32 audioLayer3 :
   1689     1;
   1690 uint32 audioSampling32k :
   1691     1;
   1692 uint32 audioSampling44k1 :
   1693     1;
   1694 uint32 audioSampling48k :
   1695     1;
   1696 uint32 singleChannel :
   1697     1;
   1698 uint32 twoChannels :
   1699     1;
   1700     uint16 bitRate;
   1701     /*[...]*/
   1702 } S_IS11172AudioCapability;
   1703 typedef S_IS11172AudioCapability *PS_IS11172AudioCapability;
   1704 
   1705 /*-------------------------------------------------------*/
   1706 
   1707 typedef struct _IS13818AudioCapability     /* SEQUENCE */
   1708 {
   1709 uint32 audioLayer1 :
   1710     1;
   1711 uint32 audioLayer2 :
   1712     1;
   1713 uint32 audioLayer3 :
   1714     1;
   1715 uint32 audioSampling16k :
   1716     1;
   1717 uint32 audioSampling22k05 :
   1718     1;
   1719 uint32 audioSampling24k :
   1720     1;
   1721 uint32 audioSampling32k :
   1722     1;
   1723 uint32 audioSampling44k1 :
   1724     1;
   1725 uint32 audioSampling48k :
   1726     1;
   1727 uint32 singleChannel :
   1728     1;
   1729 uint32 twoChannels :
   1730     1;
   1731 uint32 threeChannels2_1 :
   1732     1;
   1733 uint32 threeChannels3_0 :
   1734     1;
   1735 uint32 fourChannels2_0_2_0 :
   1736     1;
   1737 uint32 fourChannels2_2 :
   1738     1;
   1739 uint32 fourChannels3_1 :
   1740     1;
   1741 uint32 fiveChannels3_0_2_0 :
   1742     1;
   1743 uint32 fiveChannels3_2 :
   1744     1;
   1745 uint32 lowFrequencyEnhancement :
   1746     1;
   1747 uint32 multilingual :
   1748     1;
   1749     uint16 bitRate;
   1750     /*[...]*/
   1751 } S_IS13818AudioCapability;
   1752 typedef S_IS13818AudioCapability *PS_IS13818AudioCapability;
   1753 
   1754 /*-------------------------------------------------------*/
   1755 
   1756 typedef struct _GSMAudioCapability     /* SEQUENCE */
   1757 {
   1758     uint16 audioUnitSize;
   1759 uint32 comfortNoise :
   1760     1;
   1761 uint32 scrambled :
   1762     1;
   1763     /*[...]*/
   1764 } S_GSMAudioCapability;
   1765 typedef S_GSMAudioCapability *PS_GSMAudioCapability;
   1766 
   1767 /*-------------------------------------------------------*/
   1768 
   1769 typedef struct _Application     /* CHOICE */
   1770 {
   1771     uint16 index;
   1772     union
   1773     {
   1774         struct _NonStandardParameter *nonStandard;
   1775         struct _DataProtocolCapability *t120;
   1776         struct _DataProtocolCapability *dsm_cc;
   1777         struct _DataProtocolCapability *userData;
   1778         struct _T84 *t84;
   1779         struct _DataProtocolCapability *t434;
   1780         struct _DataProtocolCapability *h224;
   1781         struct _Nlpid *nlpid;
   1782         /* (NULL) dsvdControl */
   1783         struct _DataProtocolCapability *h222DataPartitioning;
   1784         /*[...]*/
   1785         struct _DataProtocolCapability *t30fax;
   1786         struct _DataProtocolCapability *t140;
   1787         struct _T38fax *t38fax;
   1788         struct _GenericCapability *genericDataCapability;
   1789     };
   1790 } S_Application;
   1791 typedef S_Application *PS_Application;
   1792 
   1793 /*-------------------------------------------------------*/
   1794 
   1795 typedef struct _DataApplicationCapability     /* SEQUENCE */
   1796 {
   1797     struct _Application application;
   1798     uint32 maxBitRate;
   1799     /*[...]*/
   1800 } S_DataApplicationCapability;
   1801 typedef S_DataApplicationCapability *PS_DataApplicationCapability;
   1802 
   1803 /*-------------------------------------------------------*/
   1804 
   1805 typedef struct _DataProtocolCapability     /* CHOICE */
   1806 {
   1807     uint16 index;
   1808     union
   1809     {
   1810         struct _NonStandardParameter *nonStandard;
   1811         /* (NULL) v14buffered */
   1812         /* (NULL) v42lapm */
   1813         /* (NULL) hdlcFrameTunnelling */
   1814         /* (NULL) h310SeparateVCStack */
   1815         /* (NULL) h310SingleVCStack */
   1816         /* (NULL) transparent */
   1817         /*[...]*/
   1818         /* (NULL) segmentationAndReassembly */
   1819         /* (NULL) hdlcFrameTunnelingwSAR */
   1820         /* (NULL) v120 */
   1821         /* (NULL) separateLANStack */
   1822         struct _V76wCompression *v76wCompression;
   1823         /* (NULL) tcp */
   1824         /* (NULL) udp */
   1825     };
   1826 } S_DataProtocolCapability;
   1827 typedef S_DataProtocolCapability *PS_DataProtocolCapability;
   1828 
   1829 /*-------------------------------------------------------*/
   1830 
   1831 typedef struct _Nlpid     /* SEQUENCE */
   1832 {
   1833     struct _DataProtocolCapability nlpidProtocol;
   1834     S_OCTETSTRING nlpidData;
   1835 } S_Nlpid;
   1836 typedef S_Nlpid *PS_Nlpid;
   1837 
   1838 /*-------------------------------------------------------*/
   1839 
   1840 typedef struct _V76wCompression     /* CHOICE */
   1841 {
   1842     uint16 index;
   1843     union
   1844     {
   1845         struct _CompressionType *transmitCompression;
   1846         struct _CompressionType *receiveCompression;
   1847         struct _CompressionType *transmitAndReceiveCompression;
   1848         /*[...]*/
   1849     };
   1850 } S_V76wCompression;
   1851 typedef S_V76wCompression *PS_V76wCompression;
   1852 
   1853 /*-------------------------------------------------------*/
   1854 
   1855 typedef struct _CompressionType     /* CHOICE */
   1856 {
   1857     uint16 index;
   1858     union
   1859     {
   1860         struct _V42bis *v42bis;
   1861         /*[...]*/
   1862     };
   1863 } S_CompressionType;
   1864 typedef S_CompressionType *PS_CompressionType;
   1865 
   1866 /*-------------------------------------------------------*/
   1867 
   1868 typedef struct _V42bis     /* SEQUENCE */
   1869 {
   1870     uint32 numberOfCodewords;
   1871     uint16 maximumStringLength;
   1872     /*[...]*/
   1873 } S_V42bis;
   1874 typedef S_V42bis *PS_V42bis;
   1875 
   1876 /*-------------------------------------------------------*/
   1877 
   1878 typedef struct _T84Profile     /* CHOICE */
   1879 {
   1880     uint16 index;
   1881     union
   1882     {
   1883         /* (NULL) t84Unrestricted */
   1884         struct _T84Restricted *t84Restricted;
   1885     };
   1886 } S_T84Profile;
   1887 typedef S_T84Profile *PS_T84Profile;
   1888 
   1889 /*-------------------------------------------------------*/
   1890 
   1891 typedef struct _T84     /* SEQUENCE */
   1892 {
   1893     struct _DataProtocolCapability t84Protocol;
   1894     struct _T84Profile t84Profile;
   1895 } S_T84;
   1896 typedef S_T84 *PS_T84;
   1897 
   1898 /*-------------------------------------------------------*/
   1899 
   1900 typedef struct _T84Restricted     /* SEQUENCE */
   1901 {
   1902 uint32 qcif :
   1903     1;
   1904 uint32 cif :
   1905     1;
   1906 uint32 ccir601Seq :
   1907     1;
   1908 uint32 ccir601Prog :
   1909     1;
   1910 uint32 hdtvSeq :
   1911     1;
   1912 uint32 hdtvProg :
   1913     1;
   1914 uint32 g3FacsMH200x100 :
   1915     1;
   1916 uint32 g3FacsMH200x200 :
   1917     1;
   1918 uint32 g4FacsMMR200x100 :
   1919     1;
   1920 uint32 g4FacsMMR200x200 :
   1921     1;
   1922 uint32 jbig200x200Seq :
   1923     1;
   1924 uint32 jbig200x200Prog :
   1925     1;
   1926 uint32 jbig300x300Seq :
   1927     1;
   1928 uint32 jbig300x300Prog :
   1929     1;
   1930 uint32 digPhotoLow :
   1931     1;
   1932 uint32 digPhotoMedSeq :
   1933     1;
   1934 uint32 digPhotoMedProg :
   1935     1;
   1936 uint32 digPhotoHighSeq :
   1937     1;
   1938 uint32 digPhotoHighProg :
   1939     1;
   1940     /*[...]*/
   1941 } S_T84Restricted;
   1942 typedef S_T84Restricted *PS_T84Restricted;
   1943 
   1944 /*-------------------------------------------------------*/
   1945 
   1946 typedef struct _T38FaxRateManagement     /* CHOICE */
   1947 {
   1948     uint16 index;
   1949     /* (NULL) localTCF */
   1950     /* (NULL) transferredTCF */
   1951     /*[...]*/
   1952 } S_T38FaxRateManagement;
   1953 typedef S_T38FaxRateManagement *PS_T38FaxRateManagement;
   1954 
   1955 /*-------------------------------------------------------*/
   1956 
   1957 typedef struct _T38FaxUdpEC     /* CHOICE */
   1958 {
   1959     uint16 index;
   1960     /* (NULL) t38UDPFEC */
   1961     /* (NULL) t38UDPRedundancy */
   1962     /*[...]*/
   1963 } S_T38FaxUdpEC;
   1964 typedef S_T38FaxUdpEC *PS_T38FaxUdpEC;
   1965 
   1966 /*-------------------------------------------------------*/
   1967 
   1968 typedef struct _T38FaxUdpOptions     /* SEQUENCE */
   1969 {
   1970 uint32 option_of_t38FaxMaxBuffer :
   1971     1;
   1972 uint32 option_of_t38FaxMaxDatagram :
   1973     1;
   1974     uint32 t38FaxMaxBuffer;
   1975     uint32 t38FaxMaxDatagram;
   1976     struct _T38FaxUdpEC t38FaxUdpEC;
   1977 } S_T38FaxUdpOptions;
   1978 typedef S_T38FaxUdpOptions *PS_T38FaxUdpOptions;
   1979 
   1980 /*-------------------------------------------------------*/
   1981 
   1982 typedef struct _T38FaxProfile     /* SEQUENCE */
   1983 {
   1984 uint32 fillBitRemoval :
   1985     1;
   1986 uint32 transcodingJBIG :
   1987     1;
   1988 uint32 transcodingMMR :
   1989     1;
   1990     /*[...]*/
   1991 uint32 option_of_version :
   1992     1;
   1993 uint32 option_of_t38FaxRateManagement :
   1994     1;
   1995 uint32 option_of_t38FaxUdpOptions :
   1996     1;
   1997     uint8 version;
   1998     struct _T38FaxRateManagement t38FaxRateManagement;
   1999     struct _T38FaxUdpOptions t38FaxUdpOptions;
   2000 } S_T38FaxProfile;
   2001 typedef S_T38FaxProfile *PS_T38FaxProfile;
   2002 
   2003 /*-------------------------------------------------------*/
   2004 
   2005 typedef struct _T38fax     /* SEQUENCE */
   2006 {
   2007     struct _DataProtocolCapability t38FaxProtocol;
   2008     struct _T38FaxProfile t38FaxProfile;
   2009 } S_T38fax;
   2010 typedef S_T38fax *PS_T38fax;
   2011 
   2012 /*-------------------------------------------------------*/
   2013 
   2014 typedef struct _EncryptionCapability     /* SEQUENCE OF */
   2015 {
   2016     struct _MediaEncryptionAlgorithm *item;
   2017     uint16 size;
   2018 } S_EncryptionCapability;
   2019 typedef S_EncryptionCapability *PS_EncryptionCapability;
   2020 
   2021 /*-------------------------------------------------------*/
   2022 
   2023 typedef struct _MediaEncryptionAlgorithm     /* CHOICE */
   2024 {
   2025     uint16 index;
   2026     union
   2027     {
   2028         struct _NonStandardParameter *nonStandard;
   2029         PS_OBJECTIDENT algorithm;
   2030         /*[...]*/
   2031     };
   2032 } S_MediaEncryptionAlgorithm;
   2033 typedef S_MediaEncryptionAlgorithm *PS_MediaEncryptionAlgorithm;
   2034 
   2035 /*-------------------------------------------------------*/
   2036 
   2037 typedef struct _AuthenticationCapability     /* SEQUENCE */
   2038 {
   2039 uint32 option_of_nonStandard :
   2040     1;
   2041     struct _NonStandardParameter nonStandard;
   2042     /*[...]*/
   2043 } S_AuthenticationCapability;
   2044 typedef S_AuthenticationCapability *PS_AuthenticationCapability;
   2045 
   2046 /*-------------------------------------------------------*/
   2047 
   2048 typedef struct _IntegrityCapability     /* SEQUENCE */
   2049 {
   2050 uint32 option_of_nonStandard :
   2051     1;
   2052     struct _NonStandardParameter nonStandard;
   2053     /*[...]*/
   2054 } S_IntegrityCapability;
   2055 typedef S_IntegrityCapability *PS_IntegrityCapability;
   2056 
   2057 /*-------------------------------------------------------*/
   2058 
   2059 typedef struct _EncryptionAuthenticationAndIntegrity     /* SEQUENCE */
   2060 {
   2061 uint32 option_of_encryptionCapability :
   2062     1;
   2063 uint32 option_of_authenticationCapability :
   2064     1;
   2065 uint32 option_of_integrityCapability :
   2066     1;
   2067     struct _EncryptionCapability encryptionCapability;
   2068     struct _AuthenticationCapability authenticationCapability;
   2069     struct _IntegrityCapability integrityCapability;
   2070     /*[...]*/
   2071 } S_EncryptionAuthenticationAndIntegrity;
   2072 typedef S_EncryptionAuthenticationAndIntegrity *PS_EncryptionAuthenticationAndIntegrity;
   2073 
   2074 /*-------------------------------------------------------*/
   2075 
   2076 typedef struct _H235SecurityCapability     /* SEQUENCE */
   2077 {
   2078     struct _EncryptionAuthenticationAndIntegrity encryptionAuthenticationAndIntegrity;
   2079     uint16 mediaCapability;
   2080     /*[...]*/
   2081 } S_H235SecurityCapability;
   2082 typedef S_H235SecurityCapability *PS_H235SecurityCapability;
   2083 
   2084 /*-------------------------------------------------------*/
   2085 
   2086 typedef struct _UserInputCapability     /* CHOICE */
   2087 {
   2088     uint16 index;
   2089     union
   2090     {
   2091         struct _NonStandardParameter *nonStandard;
   2092         /* (NULL) basicString */
   2093         /* (NULL) iA5String */
   2094         /* (NULL) generalString */
   2095         /* (NULL) dtmf */
   2096         /* (NULL) hookflash */
   2097         /*[...]*/
   2098     };
   2099     uint16 size;
   2100 } S_UserInputCapability;
   2101 typedef S_UserInputCapability *PS_UserInputCapability;
   2102 
   2103 /*-------------------------------------------------------*/
   2104 
   2105 typedef struct _ConferenceCapability     /* SEQUENCE */
   2106 {
   2107 uint32 option_of_nonStandardData :
   2108     1;
   2109     uint16 size_of_nonStandardData;
   2110     struct _NonStandardParameter *nonStandardData;
   2111 uint32 chairControlCapability :
   2112     1;
   2113     /*[...]*/
   2114 uint32 option_of_VideoIndicateMixingCapability :
   2115     1;
   2116 uint32 option_of_multipointVisualizationCapability :
   2117     1;
   2118 uint32 VideoIndicateMixingCapability :
   2119     1;
   2120 uint32 multipointVisualizationCapability :
   2121     1;
   2122 } S_ConferenceCapability;
   2123 typedef S_ConferenceCapability *PS_ConferenceCapability;
   2124 
   2125 /*-------------------------------------------------------*/
   2126 
   2127 typedef struct _CapabilityIdentifier     /* CHOICE */
   2128 {
   2129     uint16 index;
   2130     union
   2131     {
   2132         PS_OBJECTIDENT standard;
   2133         struct _NonStandardParameter *h221NonStandard;
   2134         PS_OCTETSTRING uuid;
   2135         PS_int8STRING domainBased;
   2136         /*[...]*/
   2137     };
   2138 } S_CapabilityIdentifier;
   2139 typedef S_CapabilityIdentifier *PS_CapabilityIdentifier;
   2140 
   2141 /*-------------------------------------------------------*/
   2142 
   2143 typedef struct _GenericInformation     /* SEQUENCE */
   2144 {
   2145 uint32 option_of_subMessageIdentifier :
   2146     1;
   2147 uint32 option_of_messageContent :
   2148     1;
   2149     struct _CapabilityIdentifier messageIdentifier;
   2150     uint8 subMessageIdentifier;
   2151     uint16 size_of_messageContent;
   2152     struct _GenericParameter *messageContent;
   2153     /*[...]*/
   2154 } S_GenericInformation;
   2155 typedef S_GenericInformation *PS_GenericInformation;
   2156 
   2157 /*-------------------------------------------------------*/
   2158 
   2159 typedef struct _GenericCapability     /* SEQUENCE */
   2160 {
   2161 uint32 option_of_maxBitRate :
   2162     1;
   2163 uint32 option_of_collapsing :
   2164     1;
   2165 uint32 option_of_nonCollapsing :
   2166     1;
   2167 uint32 option_of_nonCollapsingRaw :
   2168     1;
   2169 uint32 option_of_transport :
   2170     1;
   2171     struct _CapabilityIdentifier capabilityIdentifier;
   2172     uint32 maxBitRate;
   2173     uint16 size_of_collapsing;
   2174     struct _GenericParameter *collapsing;
   2175     uint16 size_of_nonCollapsing;
   2176     struct _GenericParameter *nonCollapsing;
   2177     S_OCTETSTRING nonCollapsingRaw;
   2178     struct _DataProtocolCapability transport;
   2179     /*[...]*/
   2180 } S_GenericCapability;
   2181 typedef S_GenericCapability *PS_GenericCapability;
   2182 
   2183 /*-------------------------------------------------------*/
   2184 
   2185 typedef struct _ParameterIdentifier     /* CHOICE */
   2186 {
   2187     uint16 index;
   2188     union
   2189     {
   2190         uint8 standard;
   2191         struct _NonStandardParameter *h221NonStandard;
   2192         PS_OCTETSTRING uuid;
   2193         PS_int8STRING domainBased;
   2194         /*[...]*/
   2195     };
   2196 } S_ParameterIdentifier;
   2197 typedef S_ParameterIdentifier *PS_ParameterIdentifier;
   2198 
   2199 /*-------------------------------------------------------*/
   2200 
   2201 typedef struct _ParameterValue     /* CHOICE */
   2202 {
   2203     uint16 index;
   2204     union
   2205     {
   2206         /* (NULL) logical */
   2207         uint8 booleanArray;
   2208         uint16 unsignedMin;
   2209         uint16 unsignedMax;
   2210         uint32 unsigned32Min;
   2211         uint32 unsigned32Max;
   2212         PS_OCTETSTRING octetString;
   2213         struct _GenericParameter *genericParameter;
   2214         /*[...]*/
   2215     };
   2216     uint16 size;
   2217 } S_ParameterValue;
   2218 typedef S_ParameterValue *PS_ParameterValue;
   2219 
   2220 /*-------------------------------------------------------*/
   2221 
   2222 typedef struct _GenericParameter     /* SEQUENCE */
   2223 {
   2224 uint32 option_of_supersedes :
   2225     1;
   2226     struct _ParameterIdentifier parameterIdentifier;
   2227     struct _ParameterValue parameterValue;
   2228     uint16 size_of_supersedes;
   2229     struct _ParameterIdentifier *supersedes;
   2230     /*[...]*/
   2231 } S_GenericParameter;
   2232 typedef S_GenericParameter *PS_GenericParameter;
   2233 
   2234 /*-------------------------------------------------------*/
   2235 
   2236 typedef struct _RlcMultiplexParameters     /* CHOICE */
   2237 {
   2238     uint16 index;
   2239     union
   2240     {
   2241         struct _H223LogicalChannelParameters *h223LogicalChannelParameters;
   2242         struct _V76LogicalChannelParameters *v76LogicalChannelParameters;
   2243         /*[...]*/
   2244         struct _H2250LogicalChannelParameters *h2250LogicalChannelParameters;
   2245     };
   2246 } S_RlcMultiplexParameters;
   2247 typedef S_RlcMultiplexParameters *PS_RlcMultiplexParameters;
   2248 
   2249 /*-------------------------------------------------------*/
   2250 
   2251 typedef struct _MultiplexParameters     /* CHOICE */
   2252 {
   2253     uint16 index;
   2254     union
   2255     {
   2256         struct _H222LogicalChannelParameters *h222LogicalChannelParameters;
   2257         struct _H223LogicalChannelParameters *h223LogicalChannelParameters;
   2258         struct _V76LogicalChannelParameters *v76LogicalChannelParameters;
   2259         /*[...]*/
   2260         struct _H2250LogicalChannelParameters *h2250LogicalChannelParameters;
   2261         /* (NULL) none */
   2262     };
   2263 } S_MultiplexParameters;
   2264 typedef S_MultiplexParameters *PS_MultiplexParameters;
   2265 
   2266 /*-------------------------------------------------------*/
   2267 
   2268 typedef struct _T120SetupProcedure     /* CHOICE */
   2269 {
   2270     uint16 index;
   2271     /* (NULL) originateCall */
   2272     /* (NULL) waitForCall */
   2273     /* (NULL) issueQuery */
   2274     /*[...]*/
   2275 } S_T120SetupProcedure;
   2276 typedef S_T120SetupProcedure *PS_T120SetupProcedure;
   2277 
   2278 /*-------------------------------------------------------*/
   2279 
   2280 typedef struct _NetworkAddress     /* CHOICE */
   2281 {
   2282     uint16 index;
   2283     union
   2284     {
   2285         struct _Q2931Address *q2931Address;
   2286         PS_int8STRING e164Address;
   2287         struct _TransportAddress *localAreaAddress;
   2288         /*[...]*/
   2289     };
   2290 } S_NetworkAddress;
   2291 typedef S_NetworkAddress *PS_NetworkAddress;
   2292 
   2293 /*-------------------------------------------------------*/
   2294 
   2295 typedef struct _Distribution     /* CHOICE */
   2296 {
   2297     uint16 index;
   2298     /* (NULL) unicast */
   2299     /* (NULL) multicast */
   2300     /*[...]*/
   2301 } S_Distribution;
   2302 typedef S_Distribution *PS_Distribution;
   2303 
   2304 /*-------------------------------------------------------*/
   2305 
   2306 typedef struct _NetworkAccessParameters     /* SEQUENCE */
   2307 {
   2308 uint32 option_of_distribution :
   2309     1;
   2310 uint32 option_of_externalReference :
   2311     1;
   2312     struct _Distribution distribution;
   2313     struct _NetworkAddress networkAddress;
   2314 uint32 associateConference :
   2315     1;
   2316     S_OCTETSTRING externalReference;
   2317     /*[...]*/
   2318 uint32 option_of_t120SetupProcedure :
   2319     1;
   2320     struct _T120SetupProcedure t120SetupProcedure;
   2321 } S_NetworkAccessParameters;
   2322 typedef S_NetworkAccessParameters *PS_NetworkAccessParameters;
   2323 
   2324 /*-------------------------------------------------------*/
   2325 
   2326 typedef struct _Address     /* CHOICE */
   2327 {
   2328     uint16 index;
   2329     union
   2330     {
   2331         PS_int8STRING internationalNumber;
   2332         PS_OCTETSTRING nsapAddress;
   2333         /*[...]*/
   2334     };
   2335 } S_Address;
   2336 typedef S_Address *PS_Address;
   2337 
   2338 /*-------------------------------------------------------*/
   2339 
   2340 typedef struct _Q2931Address     /* SEQUENCE */
   2341 {
   2342 uint32 option_of_subaddress :
   2343     1;
   2344     struct _Address address;
   2345     S_OCTETSTRING subaddress;
   2346     /*[...]*/
   2347 } S_Q2931Address;
   2348 typedef S_Q2931Address *PS_Q2931Address;
   2349 
   2350 /*-------------------------------------------------------*/
   2351 
   2352 typedef struct _V75Parameters     /* SEQUENCE */
   2353 {
   2354 uint32 audioHeaderPresent :
   2355     1;
   2356     /*[...]*/
   2357 } S_V75Parameters;
   2358 typedef S_V75Parameters *PS_V75Parameters;
   2359 
   2360 /*-------------------------------------------------------*/
   2361 
   2362 typedef struct _DataType     /* CHOICE */
   2363 {
   2364     uint16 index;
   2365     union
   2366     {
   2367         struct _NonStandardParameter *nonStandard;
   2368         /* (NULL) nullData */
   2369         struct _VideoCapability *videoData;
   2370         struct _AudioCapability *audioData;
   2371         struct _DataApplicationCapability *data;
   2372         struct _EncryptionMode *encryptionData;
   2373         /*[...]*/
   2374         struct _NonStandardParameter *h235Control;
   2375         struct _H235Media *h235Media;
   2376     };
   2377 } S_DataType;
   2378 typedef S_DataType *PS_DataType;
   2379 
   2380 /*-------------------------------------------------------*/
   2381 
   2382 typedef struct _ReverseLogicalChannelParameters     /* SEQUENCE */
   2383 {
   2384 uint32 option_of_rlcMultiplexParameters :
   2385     1;
   2386     struct _DataType dataType;
   2387     struct _RlcMultiplexParameters rlcMultiplexParameters;
   2388     /*[...]*/
   2389 uint32 option_of_reverseLogicalChannelDependency :
   2390     1;
   2391 uint32 option_of_replacementFor :
   2392     1;
   2393     uint16 reverseLogicalChannelDependency;
   2394     uint16 replacementFor;
   2395 } S_ReverseLogicalChannelParameters;
   2396 typedef S_ReverseLogicalChannelParameters *PS_ReverseLogicalChannelParameters;
   2397 
   2398 /*-------------------------------------------------------*/
   2399 
   2400 typedef struct _ForwardLogicalChannelParameters     /* SEQUENCE */
   2401 {
   2402 uint32 option_of_portNumber :
   2403     1;
   2404     uint16 portNumber;
   2405     struct _DataType dataType;
   2406     struct _MultiplexParameters multiplexParameters;
   2407     /*[...]*/
   2408 uint32 option_of_forwardLogicalChannelDependency :
   2409     1;
   2410 uint32 option_of_replacementFor :
   2411     1;
   2412     uint16 forwardLogicalChannelDependency;
   2413     uint16 replacementFor;
   2414 } S_ForwardLogicalChannelParameters;
   2415 typedef S_ForwardLogicalChannelParameters *PS_ForwardLogicalChannelParameters;
   2416 
   2417 /*-------------------------------------------------------*/
   2418 
   2419 typedef struct _MediaType     /* CHOICE */
   2420 {
   2421     uint16 index;
   2422     union
   2423     {
   2424         struct _NonStandardParameter *nonStandard;
   2425         struct _VideoCapability *videoData;
   2426         struct _AudioCapability *audioData;
   2427         struct _DataApplicationCapability *data;
   2428         /*[...]*/
   2429     };
   2430 } S_MediaType;
   2431 typedef S_MediaType *PS_MediaType;
   2432 
   2433 /*-------------------------------------------------------*/
   2434 
   2435 typedef struct _H235Media     /* SEQUENCE */
   2436 {
   2437     struct _EncryptionAuthenticationAndIntegrity encryptionAuthenticationAndIntegrity;
   2438     struct _MediaType mediaType;
   2439     /*[...]*/
   2440 } S_H235Media;
   2441 typedef S_H235Media *PS_H235Media;
   2442 
   2443 /*-------------------------------------------------------*/
   2444 
   2445 typedef struct _H222LogicalChannelParameters     /* SEQUENCE */
   2446 {
   2447 uint32 option_of_pcr_pid :
   2448     1;
   2449 uint32 option_of_programDescriptors :
   2450     1;
   2451 uint32 option_of_streamDescriptors :
   2452     1;
   2453     uint16 resourceID;
   2454     uint16 subChannelID;
   2455     uint16 pcr_pid;
   2456     S_OCTETSTRING programDescriptors;
   2457     S_OCTETSTRING streamDescriptors;
   2458     /*[...]*/
   2459 } S_H222LogicalChannelParameters;
   2460 typedef S_H222LogicalChannelParameters *PS_H222LogicalChannelParameters;
   2461 
   2462 /*-------------------------------------------------------*/
   2463 
   2464 typedef struct _AdaptationLayerType     /* CHOICE */
   2465 {
   2466     uint16 index;
   2467     union
   2468     {
   2469         struct _NonStandardParameter *nonStandard;
   2470         /* (NULL) al1Framed */
   2471         /* (NULL) al1NotFramed */
   2472         /* (NULL) al2WithoutSequenceNumbers */
   2473         /* (NULL) al2WithSequenceNumbers */
   2474         struct _Al3 *al3;
   2475         /*[...]*/
   2476         struct _H223AL1MParameters *al1M;
   2477         struct _H223AL2MParameters *al2M;
   2478         struct _H223AL3MParameters *al3M;
   2479     };
   2480 } S_AdaptationLayerType;
   2481 typedef S_AdaptationLayerType *PS_AdaptationLayerType;
   2482 
   2483 /*-------------------------------------------------------*/
   2484 
   2485 typedef struct _H223LogicalChannelParameters     /* SEQUENCE */
   2486 {
   2487     struct _AdaptationLayerType adaptationLayerType;
   2488 uint32 segmentableFlag :
   2489     1;
   2490     /*[...]*/
   2491 } S_H223LogicalChannelParameters;
   2492 typedef S_H223LogicalChannelParameters *PS_H223LogicalChannelParameters;
   2493 
   2494 /*-------------------------------------------------------*/
   2495 
   2496 typedef struct _Al3     /* SEQUENCE */
   2497 {
   2498     uint8 controlFieldOctets;
   2499     uint32 sendBufferSize;
   2500 } S_Al3;
   2501 typedef S_Al3 *PS_Al3;
   2502 
   2503 /*-------------------------------------------------------*/
   2504 
   2505 typedef struct _ArqType     /* CHOICE */
   2506 {
   2507     uint16 index;
   2508     union
   2509     {
   2510         /* (NULL) noArq */
   2511         struct _H223AnnexCArqParameters *typeIArq;
   2512         struct _H223AnnexCArqParameters *typeIIArq;
   2513         /*[...]*/
   2514     };
   2515 } S_ArqType;
   2516 typedef S_ArqType *PS_ArqType;
   2517 
   2518 /*-------------------------------------------------------*/
   2519 
   2520 typedef struct _CrcLength     /* CHOICE */
   2521 {
   2522     uint16 index;
   2523     /* (NULL) crc4bit */
   2524     /* (NULL) crc12bit */
   2525     /* (NULL) crc20bit */
   2526     /* (NULL) crc28bit */
   2527     /*[...]*/
   2528     /* (NULL) crc8bit */
   2529     /* (NULL) crc16bit */
   2530     /* (NULL) crc32bit */
   2531     /* (NULL) crcNotUsed */
   2532 } S_CrcLength;
   2533 typedef S_CrcLength *PS_CrcLength;
   2534 
   2535 /*-------------------------------------------------------*/
   2536 
   2537 typedef struct _HeaderFEC     /* CHOICE */
   2538 {
   2539     uint16 index;
   2540     /* (NULL) sebch16_7 */
   2541     /* (NULL) golay24_12 */
   2542     /*[...]*/
   2543 } S_HeaderFEC;
   2544 typedef S_HeaderFEC *PS_HeaderFEC;
   2545 
   2546 /*-------------------------------------------------------*/
   2547 
   2548 typedef struct _TransferMode     /* CHOICE */
   2549 {
   2550     uint16 index;
   2551     /* (NULL) framed */
   2552     /* (NULL) unframed */
   2553     /*[...]*/
   2554 } S_TransferMode;
   2555 typedef S_TransferMode *PS_TransferMode;
   2556 
   2557 /*-------------------------------------------------------*/
   2558 
   2559 typedef struct _H223AL1MParameters     /* SEQUENCE */
   2560 {
   2561     struct _TransferMode transferMode;
   2562     struct _HeaderFEC headerFEC;
   2563     struct _CrcLength crcLength;
   2564     uint8 rcpcCodeRate;
   2565     struct _ArqType arqType;
   2566 uint32 alpduInterleaving :
   2567     1;
   2568 uint32 alsduSplitting :
   2569     1;
   2570     /*[...]*/
   2571 uint32 option_of_rsCodeCorrection :
   2572     1;
   2573     uint8 rsCodeCorrection;
   2574 } S_H223AL1MParameters;
   2575 typedef S_H223AL1MParameters *PS_H223AL1MParameters;
   2576 
   2577 /*-------------------------------------------------------*/
   2578 
   2579 typedef struct _Al2HeaderFEC     /* CHOICE */
   2580 {
   2581     uint16 index;
   2582     /* (NULL) sebch16_5 */
   2583     /* (NULL) golay24_12 */
   2584     /*[...]*/
   2585 } S_Al2HeaderFEC;
   2586 typedef S_Al2HeaderFEC *PS_Al2HeaderFEC;
   2587 
   2588 /*-------------------------------------------------------*/
   2589 
   2590 typedef struct _H223AL2MParameters     /* SEQUENCE */
   2591 {
   2592     struct _Al2HeaderFEC al2HeaderFEC;
   2593 uint32 alpduInterleaving :
   2594     1;
   2595     /*[...]*/
   2596 } S_H223AL2MParameters;
   2597 typedef S_H223AL2MParameters *PS_H223AL2MParameters;
   2598 
   2599 /*-------------------------------------------------------*/
   2600 
   2601 typedef struct _Al3ArqType     /* CHOICE */
   2602 {
   2603     uint16 index;
   2604     union
   2605     {
   2606         /* (NULL) noArq */
   2607         struct _H223AnnexCArqParameters *typeIArq;
   2608         struct _H223AnnexCArqParameters *typeIIArq;
   2609         /*[...]*/
   2610     };
   2611 } S_Al3ArqType;
   2612 typedef S_Al3ArqType *PS_Al3ArqType;
   2613 
   2614 /*-------------------------------------------------------*/
   2615 
   2616 typedef struct _Al3CrcLength     /* CHOICE */
   2617 {
   2618     uint16 index;
   2619     /* (NULL) crc4bit */
   2620     /* (NULL) crc12bit */
   2621     /* (NULL) crc20bit */
   2622     /* (NULL) crc28bit */
   2623     /*[...]*/
   2624     /* (NULL) crc8bit */
   2625     /* (NULL) crc16bit */
   2626     /* (NULL) crc32bit */
   2627     /* (NULL) crcNotUsed */
   2628 } S_Al3CrcLength;
   2629 typedef S_Al3CrcLength *PS_Al3CrcLength;
   2630 
   2631 /*-------------------------------------------------------*/
   2632 
   2633 typedef struct _HeaderFormat     /* CHOICE */
   2634 {
   2635     uint16 index;
   2636     /* (NULL) sebch16_7 */
   2637     /* (NULL) golay24_12 */
   2638     /*[...]*/
   2639 } S_HeaderFormat;
   2640 typedef S_HeaderFormat *PS_HeaderFormat;
   2641 
   2642 /*-------------------------------------------------------*/
   2643 
   2644 typedef struct _H223AL3MParameters     /* SEQUENCE */
   2645 {
   2646     struct _HeaderFormat headerFormat;
   2647     struct _Al3CrcLength al3CrcLength;
   2648     uint8 rcpcCodeRate;
   2649     struct _Al3ArqType al3ArqType;
   2650 uint32 alpduInterleaving :
   2651     1;
   2652     /*[...]*/
   2653 uint32 option_of_rsCodeCorrection :
   2654     1;
   2655     uint8 rsCodeCorrection;
   2656 } S_H223AL3MParameters;
   2657 typedef S_H223AL3MParameters *PS_H223AL3MParameters;
   2658 
   2659 /*-------------------------------------------------------*/
   2660 
   2661 typedef struct _NumberOfRetransmissions     /* CHOICE */
   2662 {
   2663     uint16 index;
   2664     union
   2665     {
   2666         uint8 finite;
   2667         /* (NULL) infinite */
   2668         /*[...]*/
   2669     };
   2670 } S_NumberOfRetransmissions;
   2671 typedef S_NumberOfRetransmissions *PS_NumberOfRetransmissions;
   2672 
   2673 /*-------------------------------------------------------*/
   2674 
   2675 typedef struct _H223AnnexCArqParameters     /* SEQUENCE */
   2676 {
   2677     struct _NumberOfRetransmissions numberOfRetransmissions;
   2678     uint32 sendBufferSize;
   2679     /*[...]*/
   2680 } S_H223AnnexCArqParameters;
   2681 typedef S_H223AnnexCArqParameters *PS_H223AnnexCArqParameters;
   2682 
   2683 /*-------------------------------------------------------*/
   2684 
   2685 typedef struct _Mode     /* CHOICE */
   2686 {
   2687     uint16 index;
   2688     union
   2689     {
   2690         struct _ERM *eRM;
   2691         /* (NULL) uNERM */
   2692         /*[...]*/
   2693     };
   2694 } S_Mode;
   2695 typedef S_Mode *PS_Mode;
   2696 
   2697 /*-------------------------------------------------------*/
   2698 
   2699 typedef struct _Recovery     /* CHOICE */
   2700 {
   2701     uint16 index;
   2702     /* (NULL) rej */
   2703     /* (NULL) sREJ */
   2704     /* (NULL) mSREJ */
   2705     /*[...]*/
   2706 } S_Recovery;
   2707 typedef S_Recovery *PS_Recovery;
   2708 
   2709 /*-------------------------------------------------------*/
   2710 
   2711 typedef struct _ERM     /* SEQUENCE */
   2712 {
   2713     uint8 windowSize;
   2714     struct _Recovery recovery;
   2715     /*[...]*/
   2716 } S_ERM;
   2717 typedef S_ERM *PS_ERM;
   2718 
   2719 /*-------------------------------------------------------*/
   2720 
   2721 typedef struct _SuspendResume     /* CHOICE */
   2722 {
   2723     uint16 index;
   2724     /* (NULL) noSuspendResume */
   2725     /* (NULL) suspendResumewAddress */
   2726     /* (NULL) suspendResumewoAddress */
   2727     /*[...]*/
   2728 } S_SuspendResume;
   2729 typedef S_SuspendResume *PS_SuspendResume;
   2730 
   2731 /*-------------------------------------------------------*/
   2732 
   2733 typedef struct _CRCLength     /* CHOICE */
   2734 {
   2735     uint16 index;
   2736     /* (NULL) crc8bit */
   2737     /* (NULL) crc16bit */
   2738     /* (NULL) crc32bit */
   2739     /*[...]*/
   2740 } S_CRCLength;
   2741 typedef S_CRCLength *PS_CRCLength;
   2742 
   2743 /*-------------------------------------------------------*/
   2744 
   2745 typedef struct _V76HDLCParameters     /* SEQUENCE */
   2746 {
   2747     struct _CRCLength crcLength;
   2748     uint16 n401;
   2749 uint32 loopbackTestProcedure :
   2750     1;
   2751     /*[...]*/
   2752 } S_V76HDLCParameters;
   2753 typedef S_V76HDLCParameters *PS_V76HDLCParameters;
   2754 
   2755 /*-------------------------------------------------------*/
   2756 
   2757 typedef struct _V76LogicalChannelParameters     /* SEQUENCE */
   2758 {
   2759     struct _V76HDLCParameters hdlcParameters;
   2760     struct _SuspendResume suspendResume;
   2761 uint32 uIH :
   2762     1;
   2763     struct _Mode mode;
   2764     struct _V75Parameters v75Parameters;
   2765     /*[...]*/
   2766 } S_V76LogicalChannelParameters;
   2767 typedef S_V76LogicalChannelParameters *PS_V76LogicalChannelParameters;
   2768 
   2769 /*-------------------------------------------------------*/
   2770 
   2771 typedef struct _MediaPacketization     /* CHOICE */
   2772 {
   2773     uint16 index;
   2774     union
   2775     {
   2776         /* (NULL) h261aVideoPacketization */
   2777         /*[...]*/
   2778         struct _RTPPayloadType *rtpPayloadType;
   2779     };
   2780 } S_MediaPacketization;
   2781 typedef S_MediaPacketization *PS_MediaPacketization;
   2782 
   2783 /*-------------------------------------------------------*/
   2784 
   2785 typedef struct _PayloadDescriptor     /* CHOICE */
   2786 {
   2787     uint16 index;
   2788     union
   2789     {
   2790         struct _NonStandardParameter *nonStandardIdentifier;
   2791         uint16 rfc_number;
   2792         PS_OBJECTIDENT oid;
   2793         /*[...]*/
   2794     };
   2795 } S_PayloadDescriptor;
   2796 typedef S_PayloadDescriptor *PS_PayloadDescriptor;
   2797 
   2798 /*-------------------------------------------------------*/
   2799 
   2800 typedef struct _RTPPayloadType     /* SEQUENCE */
   2801 {
   2802 uint32 option_of_payloadType :
   2803     1;
   2804     struct _PayloadDescriptor payloadDescriptor;
   2805     uint8 payloadType;
   2806     /*[...]*/
   2807 } S_RTPPayloadType;
   2808 typedef S_RTPPayloadType *PS_RTPPayloadType;
   2809 
   2810 /*-------------------------------------------------------*/
   2811 
   2812 typedef struct _RedundancyEncoding     /* SEQUENCE */
   2813 {
   2814 uint32 option_of_secondaryEncoding :
   2815     1;
   2816     struct _RedundancyEncodingMethod redundancyEncodingMethod;
   2817     struct _DataType secondaryEncoding;
   2818     /*[...]*/
   2819 } S_RedundancyEncoding;
   2820 typedef S_RedundancyEncoding *PS_RedundancyEncoding;
   2821 
   2822 /*-------------------------------------------------------*/
   2823 
   2824 typedef struct _TransportAddress     /* CHOICE */
   2825 {
   2826     uint16 index;
   2827     union
   2828     {
   2829         struct _UnicastAddress *unicastAddress;
   2830         struct _MulticastAddress *multicastAddress;
   2831         /*[...]*/
   2832     };
   2833 } S_TransportAddress;
   2834 typedef S_TransportAddress *PS_TransportAddress;
   2835 
   2836 /*-------------------------------------------------------*/
   2837 
   2838 typedef struct _UnicastAddress     /* CHOICE */
   2839 {
   2840     uint16 index;
   2841     union
   2842     {
   2843         struct _IPAddress *iPAddress;
   2844         struct _IPXAddress *iPXAddress;
   2845         struct _IP6Address *iP6Address;
   2846         PS_OCTETSTRING netBios;
   2847         struct _IPSourceRouteAddress *iPSourceRouteAddress;
   2848         /*[...]*/
   2849         PS_OCTETSTRING nsap;
   2850         struct _NonStandardParameter *nonStandardAddress;
   2851     };
   2852 } S_UnicastAddress;
   2853 typedef S_UnicastAddress *PS_UnicastAddress;
   2854 
   2855 /*-------------------------------------------------------*/
   2856 
   2857 typedef struct _Routing     /* CHOICE */
   2858 {
   2859     uint16 index;
   2860     /* (NULL) strict */
   2861     /* (NULL) loose */
   2862 } S_Routing;
   2863 typedef S_Routing *PS_Routing;
   2864 
   2865 /*-------------------------------------------------------*/
   2866 
   2867 typedef struct _IPSourceRouteAddress     /* SEQUENCE */
   2868 {
   2869     struct _Routing routing;
   2870     S_OCTETSTRING network;
   2871     uint16 tsapIdentifier;
   2872     uint16 size_of_route;
   2873     PS_OCTETSTRING route;
   2874     /*[...]*/
   2875 } S_IPSourceRouteAddress;
   2876 typedef S_IPSourceRouteAddress *PS_IPSourceRouteAddress;
   2877 
   2878 /*-------------------------------------------------------*/
   2879 
   2880 typedef struct _IP6Address     /* SEQUENCE */
   2881 {
   2882     S_OCTETSTRING network;
   2883     uint16 tsapIdentifier;
   2884     /*[...]*/
   2885 } S_IP6Address;
   2886 typedef S_IP6Address *PS_IP6Address;
   2887 
   2888 /*-------------------------------------------------------*/
   2889 
   2890 typedef struct _IPXAddress     /* SEQUENCE */
   2891 {
   2892     S_OCTETSTRING node;
   2893     S_OCTETSTRING netnum;
   2894     S_OCTETSTRING tsapIdentifier;
   2895     /*[...]*/
   2896 } S_IPXAddress;
   2897 typedef S_IPXAddress *PS_IPXAddress;
   2898 
   2899 /*-------------------------------------------------------*/
   2900 
   2901 typedef struct _IPAddress     /* SEQUENCE */
   2902 {
   2903     S_OCTETSTRING network;
   2904     uint16 tsapIdentifier;
   2905     /*[...]*/
   2906 } S_IPAddress;
   2907 typedef S_IPAddress *PS_IPAddress;
   2908 
   2909 /*-------------------------------------------------------*/
   2910 
   2911 typedef struct _MulticastAddress     /* CHOICE */
   2912 {
   2913     uint16 index;
   2914     union
   2915     {
   2916         struct _MaIpAddress *maIpAddress;
   2917         struct _MaIp6Address *maIp6Address;
   2918         /*[...]*/
   2919         PS_OCTETSTRING nsap;
   2920         struct _NonStandardParameter *nonStandardAddress;
   2921     };
   2922 } S_MulticastAddress;
   2923 typedef S_MulticastAddress *PS_MulticastAddress;
   2924 
   2925 /*-------------------------------------------------------*/
   2926 
   2927 typedef struct _MaIp6Address     /* SEQUENCE */
   2928 {
   2929     S_OCTETSTRING network;
   2930     uint16 tsapIdentifier;
   2931     /*[...]*/
   2932 } S_MaIp6Address;
   2933 typedef S_MaIp6Address *PS_MaIp6Address;
   2934 
   2935 /*-------------------------------------------------------*/
   2936 
   2937 typedef struct _MaIpAddress     /* SEQUENCE */
   2938 {
   2939     S_OCTETSTRING network;
   2940     uint16 tsapIdentifier;
   2941     /*[...]*/
   2942 } S_MaIpAddress;
   2943 typedef S_MaIpAddress *PS_MaIpAddress;
   2944 
   2945 /*-------------------------------------------------------*/
   2946 
   2947 typedef struct _EncryptionSync     /* SEQUENCE */
   2948 {
   2949 uint32 option_of_nonStandard :
   2950     1;
   2951 uint32 option_of_escrowentry :
   2952     1;
   2953     struct _NonStandardParameter nonStandard;
   2954     uint8 synchFlag;
   2955     S_OCTETSTRING h235Key;
   2956     uint16 size_of_escrowentry;
   2957     struct _EscrowData *escrowentry;
   2958     /*[...]*/
   2959 } S_EncryptionSync;
   2960 typedef S_EncryptionSync *PS_EncryptionSync;
   2961 
   2962 /*-------------------------------------------------------*/
   2963 
   2964 typedef struct _OpenLogicalChannel     /* SEQUENCE */
   2965 {
   2966 uint32 option_of_reverseLogicalChannelParameters :
   2967     1;
   2968     uint16 forwardLogicalChannelNumber;
   2969     struct _ForwardLogicalChannelParameters forwardLogicalChannelParameters;
   2970     struct _ReverseLogicalChannelParameters reverseLogicalChannelParameters;
   2971     /*[...]*/
   2972 uint32 option_of_separateStack :
   2973     1;
   2974 uint32 option_of_encryptionSync :
   2975     1;
   2976     struct _NetworkAccessParameters separateStack;
   2977     struct _EncryptionSync encryptionSync;
   2978 } S_OpenLogicalChannel;
   2979 typedef S_OpenLogicalChannel *PS_OpenLogicalChannel;
   2980 
   2981 /*-------------------------------------------------------*/
   2982 
   2983 typedef struct _EscrowData     /* SEQUENCE */
   2984 {
   2985     S_OBJECTIDENT escrowID;
   2986     S_BITSTRING escrowValue;
   2987     /*[...]*/
   2988 } S_EscrowData;
   2989 typedef S_EscrowData *PS_EscrowData;
   2990 
   2991 /*-------------------------------------------------------*/
   2992 
   2993 typedef struct _ForwardMultiplexAckParameters     /* CHOICE */
   2994 {
   2995     uint16 index;
   2996     union
   2997     {
   2998         struct _H2250LogicalChannelAckParameters *h2250LogicalChannelAckParameters;
   2999         /*[...]*/
   3000     };
   3001 } S_ForwardMultiplexAckParameters;
   3002 typedef S_ForwardMultiplexAckParameters *PS_ForwardMultiplexAckParameters;
   3003 
   3004 /*-------------------------------------------------------*/
   3005 
   3006 typedef struct _AckMultiplexParameters     /* CHOICE */
   3007 {
   3008     uint16 index;
   3009     union
   3010     {
   3011         struct _H222LogicalChannelParameters *h222LogicalChannelParameters;
   3012         /*[...]*/
   3013         struct _H2250LogicalChannelParameters *h2250LogicalChannelParameters;
   3014     };
   3015 } S_AckMultiplexParameters;
   3016 typedef S_AckMultiplexParameters *PS_AckMultiplexParameters;
   3017 
   3018 /*-------------------------------------------------------*/
   3019 
   3020 typedef struct _AckReverseLogicalChannelParameters     /* SEQUENCE */
   3021 {
   3022 uint32 option_of_portNumber :
   3023     1;
   3024 uint32 option_of_ackMultiplexParameters :
   3025     1;
   3026     uint16 reverseLogicalChannelNumber;
   3027     uint16 portNumber;
   3028     struct _AckMultiplexParameters ackMultiplexParameters;
   3029     /*[...]*/
   3030 uint32 option_of_replacementFor :
   3031     1;
   3032     uint16 replacementFor;
   3033 } S_AckReverseLogicalChannelParameters;
   3034 typedef S_AckReverseLogicalChannelParameters *PS_AckReverseLogicalChannelParameters;
   3035 
   3036 /*-------------------------------------------------------*/
   3037 
   3038 typedef struct _OpenLogicalChannelAck     /* SEQUENCE */
   3039 {
   3040 uint32 option_of_ackReverseLogicalChannelParameters :
   3041     1;
   3042     uint16 forwardLogicalChannelNumber;
   3043     struct _AckReverseLogicalChannelParameters ackReverseLogicalChannelParameters;
   3044     /*[...]*/
   3045 uint32 option_of_separateStack :
   3046     1;
   3047 uint32 option_of_forwardMultiplexAckParameters :
   3048     1;
   3049 uint32 option_of_encryptionSync :
   3050     1;
   3051     struct _NetworkAccessParameters separateStack;
   3052     struct _ForwardMultiplexAckParameters forwardMultiplexAckParameters;
   3053     struct _EncryptionSync encryptionSync;
   3054 } S_OpenLogicalChannelAck;
   3055 typedef S_OpenLogicalChannelAck *PS_OpenLogicalChannelAck;
   3056 
   3057 /*-------------------------------------------------------*/
   3058 
   3059 typedef struct _OlcRejectCause     /* CHOICE */
   3060 {
   3061     uint16 index;
   3062     /* (NULL) unspecified */
   3063     /* (NULL) unsuitableReverseParameters */
   3064     /* (NULL) dataTypeNotSupported */
   3065     /* (NULL) dataTypeNotAvailable */
   3066     /* (NULL) unknownDataType */
   3067     /* (NULL) dataTypeALCombinationNotSupported */
   3068     /*[...]*/
   3069     /* (NULL) multicastChannelNotAllowed */
   3070     /* (NULL) insufficientBandwidth */
   3071     /* (NULL) separateStackEstablishmentFailed */
   3072     /* (NULL) invalidSessionID */
   3073     /* (NULL) masterSlaveConflict */
   3074     /* (NULL) waitForCommunicationMode */
   3075     /* (NULL) invalidDependentChannel */
   3076     /* (NULL) replacementForRejected */
   3077 } S_OlcRejectCause;
   3078 typedef S_OlcRejectCause *PS_OlcRejectCause;
   3079 
   3080 /*-------------------------------------------------------*/
   3081 
   3082 typedef struct _OpenLogicalChannelReject     /* SEQUENCE */
   3083 {
   3084     uint16 forwardLogicalChannelNumber;
   3085     struct _OlcRejectCause olcRejectCause;
   3086     /*[...]*/
   3087 } S_OpenLogicalChannelReject;
   3088 typedef S_OpenLogicalChannelReject *PS_OpenLogicalChannelReject;
   3089 
   3090 /*-------------------------------------------------------*/
   3091 
   3092 typedef struct _OpenLogicalChannelConfirm     /* SEQUENCE */
   3093 {
   3094     uint16 forwardLogicalChannelNumber;
   3095     /*[...]*/
   3096 } S_OpenLogicalChannelConfirm;
   3097 typedef S_OpenLogicalChannelConfirm *PS_OpenLogicalChannelConfirm;
   3098 
   3099 /*-------------------------------------------------------*/
   3100 
   3101 typedef struct _H2250LogicalChannelAckParameters     /* SEQUENCE */
   3102 {
   3103 uint32 option_of_nonStandard :
   3104     1;
   3105 uint32 option_of_sessionID :
   3106     1;
   3107 uint32 option_of_mediaChannel :
   3108     1;
   3109 uint32 option_of_mediaControlChannel :
   3110     1;
   3111 uint32 option_of_dynamicRTPPayloadType :
   3112     1;
   3113     uint16 size_of_nonStandard;
   3114     struct _NonStandardParameter *nonStandard;
   3115     uint8 sessionID;
   3116     struct _TransportAddress mediaChannel;
   3117     struct _TransportAddress mediaControlChannel;
   3118     uint8 dynamicRTPPayloadType;
   3119     /*[...]*/
   3120 uint32 option_of_flowControlToZero :
   3121     1;
   3122 uint32 option_of_portNumber :
   3123     1;
   3124 uint32 flowControlToZero :
   3125     1;
   3126     uint16 portNumber;
   3127 } S_H2250LogicalChannelAckParameters;
   3128 typedef S_H2250LogicalChannelAckParameters *PS_H2250LogicalChannelAckParameters;
   3129 
   3130 /*-------------------------------------------------------*/
   3131 
   3132 typedef struct _Reason     /* CHOICE */
   3133 {
   3134     uint16 index;
   3135     /* (NULL) unknown */
   3136     /* (NULL) reopen */
   3137     /* (NULL) reservationFailure */
   3138     /*[...]*/
   3139 } S_Reason;
   3140 typedef S_Reason *PS_Reason;
   3141 
   3142 /*-------------------------------------------------------*/
   3143 
   3144 typedef struct _Source     /* CHOICE */
   3145 {
   3146     uint16 index;
   3147     /* (NULL) user */
   3148     /* (NULL) lcse */
   3149 } S_Source;
   3150 typedef S_Source *PS_Source;
   3151 
   3152 /*-------------------------------------------------------*/
   3153 
   3154 typedef struct _CloseLogicalChannel     /* SEQUENCE */
   3155 {
   3156     uint16 forwardLogicalChannelNumber;
   3157     struct _Source source;
   3158     /*[...]*/
   3159 uint32 option_of_reason :
   3160     1;
   3161     struct _Reason reason;
   3162 } S_CloseLogicalChannel;
   3163 typedef S_CloseLogicalChannel *PS_CloseLogicalChannel;
   3164 
   3165 /*-------------------------------------------------------*/
   3166 
   3167 typedef struct _CloseLogicalChannelAck     /* SEQUENCE */
   3168 {
   3169     uint16 forwardLogicalChannelNumber;
   3170     /*[...]*/
   3171 } S_CloseLogicalChannelAck;
   3172 typedef S_CloseLogicalChannelAck *PS_CloseLogicalChannelAck;
   3173 
   3174 /*-------------------------------------------------------*/
   3175 
   3176 typedef struct _RccReason     /* CHOICE */
   3177 {
   3178     uint16 index;
   3179     /* (NULL) unknown */
   3180     /* (NULL) normal */
   3181     /* (NULL) reopen */
   3182     /* (NULL) reservationFailure */
   3183     /*[...]*/
   3184 } S_RccReason;
   3185 typedef S_RccReason *PS_RccReason;
   3186 
   3187 /*-------------------------------------------------------*/
   3188 
   3189 typedef struct _RequestChannelClose     /* SEQUENCE */
   3190 {
   3191     uint16 forwardLogicalChannelNumber;
   3192     /*[...]*/
   3193 uint32 option_of_qosCapability :
   3194     1;
   3195 uint32 option_of_rccReason :
   3196     1;
   3197     struct _QOSCapability qosCapability;
   3198     struct _RccReason rccReason;
   3199 } S_RequestChannelClose;
   3200 typedef S_RequestChannelClose *PS_RequestChannelClose;
   3201 
   3202 /*-------------------------------------------------------*/
   3203 
   3204 typedef struct _RequestChannelCloseAck     /* SEQUENCE */
   3205 {
   3206     uint16 forwardLogicalChannelNumber;
   3207     /*[...]*/
   3208 } S_RequestChannelCloseAck;
   3209 typedef S_RequestChannelCloseAck *PS_RequestChannelCloseAck;
   3210 
   3211 /*-------------------------------------------------------*/
   3212 
   3213 typedef struct _RccRejectCause     /* CHOICE */
   3214 {
   3215     uint16 index;
   3216     /* (NULL) unspecified */
   3217     /*[...]*/
   3218 } S_RccRejectCause;
   3219 typedef S_RccRejectCause *PS_RccRejectCause;
   3220 
   3221 /*-------------------------------------------------------*/
   3222 
   3223 typedef struct _RequestChannelCloseReject     /* SEQUENCE */
   3224 {
   3225     uint16 forwardLogicalChannelNumber;
   3226     struct _RccRejectCause rccRejectCause;
   3227     /*[...]*/
   3228 } S_RequestChannelCloseReject;
   3229 typedef S_RequestChannelCloseReject *PS_RequestChannelCloseReject;
   3230 
   3231 /*-------------------------------------------------------*/
   3232 
   3233 typedef struct _RequestChannelCloseRelease     /* SEQUENCE */
   3234 {
   3235     uint16 forwardLogicalChannelNumber;
   3236     /*[...]*/
   3237 } S_RequestChannelCloseRelease;
   3238 typedef S_RequestChannelCloseRelease *PS_RequestChannelCloseRelease;
   3239 
   3240 /*-------------------------------------------------------*/
   3241 
   3242 typedef struct _MultiplexEntrySend     /* SEQUENCE */
   3243 {
   3244     uint8 sequenceNumber;
   3245     uint16 size_of_multiplexEntryDescriptors;
   3246     struct _MultiplexEntryDescriptor *multiplexEntryDescriptors;
   3247     /*[...]*/
   3248 } S_MultiplexEntrySend;
   3249 typedef S_MultiplexEntrySend *PS_MultiplexEntrySend;
   3250 
   3251 /*-------------------------------------------------------*/
   3252 
   3253 typedef struct _MultiplexEntryDescriptor     /* SEQUENCE */
   3254 {
   3255 uint32 option_of_elementList :
   3256     1;
   3257     uint8 multiplexTableEntryNumber;
   3258     uint16 size_of_elementList;
   3259     struct _MultiplexElement *elementList;
   3260 } S_MultiplexEntryDescriptor;
   3261 typedef S_MultiplexEntryDescriptor *PS_MultiplexEntryDescriptor;
   3262 
   3263 /*-------------------------------------------------------*/
   3264 
   3265 typedef struct _RepeatCount     /* CHOICE */
   3266 {
   3267     uint16 index;
   3268     union
   3269     {
   3270         uint16 finite;
   3271         /* (NULL) untilClosingFlag */
   3272     };
   3273 } S_RepeatCount;
   3274 typedef S_RepeatCount *PS_RepeatCount;
   3275 
   3276 /*-------------------------------------------------------*/
   3277 
   3278 typedef struct _MuxType     /* CHOICE */
   3279 {
   3280     uint16 index;
   3281     union
   3282     {
   3283         uint16 logicalChannelNumber;
   3284         struct _MultiplexElement *subElementList;
   3285     };
   3286     uint16 size;
   3287 } S_MuxType;
   3288 typedef S_MuxType *PS_MuxType;
   3289 
   3290 /*-------------------------------------------------------*/
   3291 
   3292 typedef struct _MultiplexElement     /* SEQUENCE */
   3293 {
   3294     struct _MuxType muxType;
   3295     struct _RepeatCount repeatCount;
   3296 } S_MultiplexElement;
   3297 typedef S_MultiplexElement *PS_MultiplexElement;
   3298 
   3299 /*-------------------------------------------------------*/
   3300 
   3301 typedef struct _MultiplexEntrySendAck     /* SEQUENCE */
   3302 {
   3303     uint8 sequenceNumber;
   3304     uint16 size_of_multiplexTableEntryNumber;
   3305     uint32* multiplexTableEntryNumber;
   3306     /*[...]*/
   3307 } S_MultiplexEntrySendAck;
   3308 typedef S_MultiplexEntrySendAck *PS_MultiplexEntrySendAck;
   3309 
   3310 /*-------------------------------------------------------*/
   3311 
   3312 typedef struct _MultiplexEntrySendReject     /* SEQUENCE */
   3313 {
   3314     uint8 sequenceNumber;
   3315     uint16 size_of_rejectionDescriptions;
   3316     struct _MultiplexEntryRejectionDescriptions *rejectionDescriptions;
   3317     /*[...]*/
   3318 } S_MultiplexEntrySendReject;
   3319 typedef S_MultiplexEntrySendReject *PS_MultiplexEntrySendReject;
   3320 
   3321 /*-------------------------------------------------------*/
   3322 
   3323 typedef struct _MeRejectCause     /* CHOICE */
   3324 {
   3325     uint16 index;
   3326     /* (NULL) unspecifiedCause */
   3327     /* (NULL) descriptorTooComplex */
   3328     /*[...]*/
   3329 } S_MeRejectCause;
   3330 typedef S_MeRejectCause *PS_MeRejectCause;
   3331 
   3332 /*-------------------------------------------------------*/
   3333 
   3334 typedef struct _MultiplexEntryRejectionDescriptions     /* SEQUENCE */
   3335 {
   3336     uint8 multiplexTableEntryNumber;
   3337     struct _MeRejectCause meRejectCause;
   3338     /*[...]*/
   3339 } S_MultiplexEntryRejectionDescriptions;
   3340 typedef S_MultiplexEntryRejectionDescriptions *PS_MultiplexEntryRejectionDescriptions;
   3341 
   3342 /*-------------------------------------------------------*/
   3343 
   3344 typedef struct _MultiplexEntrySendRelease     /* SEQUENCE */
   3345 {
   3346     uint16 size_of_multiplexTableEntryNumber;
   3347     uint32* multiplexTableEntryNumber;
   3348     /*[...]*/
   3349 } S_MultiplexEntrySendRelease;
   3350 typedef S_MultiplexEntrySendRelease *PS_MultiplexEntrySendRelease;
   3351 
   3352 /*-------------------------------------------------------*/
   3353 
   3354 typedef struct _RequestMultiplexEntry     /* SEQUENCE */
   3355 {
   3356     uint16 size_of_entryNumbers;
   3357     uint32* entryNumbers;
   3358     /*[...]*/
   3359 } S_RequestMultiplexEntry;
   3360 typedef S_RequestMultiplexEntry *PS_RequestMultiplexEntry;
   3361 
   3362 /*-------------------------------------------------------*/
   3363 
   3364 typedef struct _RequestMultiplexEntryAck     /* SEQUENCE */
   3365 {
   3366     uint16 size_of_entryNumbers;
   3367     uint32* entryNumbers;
   3368     /*[...]*/
   3369 } S_RequestMultiplexEntryAck;
   3370 typedef S_RequestMultiplexEntryAck *PS_RequestMultiplexEntryAck;
   3371 
   3372 /*-------------------------------------------------------*/
   3373 
   3374 typedef struct _RequestMultiplexEntryReject     /* SEQUENCE */
   3375 {
   3376     uint16 size_of_entryNumbers;
   3377     uint32* entryNumbers;
   3378     uint16 size_of_rejectionDescriptions;
   3379     struct _RequestMultiplexEntryRejectionDescriptions *rejectionDescriptions;
   3380     /*[...]*/
   3381 } S_RequestMultiplexEntryReject;
   3382 typedef S_RequestMultiplexEntryReject *PS_RequestMultiplexEntryReject;
   3383 
   3384 /*-------------------------------------------------------*/
   3385 
   3386 typedef struct _RmeRejectCause     /* CHOICE */
   3387 {
   3388     uint16 index;
   3389     /* (NULL) unspecifiedCause */
   3390     /*[...]*/
   3391 } S_RmeRejectCause;
   3392 typedef S_RmeRejectCause *PS_RmeRejectCause;
   3393 
   3394 /*-------------------------------------------------------*/
   3395 
   3396 typedef struct _RequestMultiplexEntryRejectionDescriptions     /* SEQUENCE */
   3397 {
   3398     uint8 multiplexTableEntryNumber;
   3399     struct _RmeRejectCause rmeRejectCause;
   3400     /*[...]*/
   3401 } S_RequestMultiplexEntryRejectionDescriptions;
   3402 typedef S_RequestMultiplexEntryRejectionDescriptions *PS_RequestMultiplexEntryRejectionDescriptions;
   3403 
   3404 /*-------------------------------------------------------*/
   3405 
   3406 typedef struct _RequestMultiplexEntryRelease     /* SEQUENCE */
   3407 {
   3408     uint16 size_of_entryNumbers;
   3409     uint32* entryNumbers;
   3410     /*[...]*/
   3411 } S_RequestMultiplexEntryRelease;
   3412 typedef S_RequestMultiplexEntryRelease *PS_RequestMultiplexEntryRelease;
   3413 
   3414 /*-------------------------------------------------------*/
   3415 
   3416 typedef struct _RequestMode     /* SEQUENCE */
   3417 {
   3418     uint8 sequenceNumber;
   3419     uint16 size_of_requestedModes;
   3420     struct _ModeDescription *requestedModes;
   3421     /*[...]*/
   3422 } S_RequestMode;
   3423 typedef S_RequestMode *PS_RequestMode;
   3424 
   3425 /*-------------------------------------------------------*/
   3426 
   3427 typedef struct _Response     /* CHOICE */
   3428 {
   3429     uint16 index;
   3430     /* (NULL) willTransmitMostPreferredMode */
   3431     /* (NULL) willTransmitLessPreferredMode */
   3432     /*[...]*/
   3433 } S_Response;
   3434 typedef S_Response *PS_Response;
   3435 
   3436 /*-------------------------------------------------------*/
   3437 
   3438 typedef struct _RequestModeAck     /* SEQUENCE */
   3439 {
   3440     uint8 sequenceNumber;
   3441     struct _Response response;
   3442     /*[...]*/
   3443 } S_RequestModeAck;
   3444 typedef S_RequestModeAck *PS_RequestModeAck;
   3445 
   3446 /*-------------------------------------------------------*/
   3447 
   3448 typedef struct _RmRejectCause     /* CHOICE */
   3449 {
   3450     uint16 index;
   3451     /* (NULL) modeUnavailable */
   3452     /* (NULL) multipointConstraint */
   3453     /* (NULL) requestDenied */
   3454     /*[...]*/
   3455 } S_RmRejectCause;
   3456 typedef S_RmRejectCause *PS_RmRejectCause;
   3457 
   3458 /*-------------------------------------------------------*/
   3459 
   3460 typedef struct _RequestModeReject     /* SEQUENCE */
   3461 {
   3462     uint8 sequenceNumber;
   3463     struct _RmRejectCause rmRejectCause;
   3464     /*[...]*/
   3465 } S_RequestModeReject;
   3466 typedef S_RequestModeReject *PS_RequestModeReject;
   3467 
   3468 /*-------------------------------------------------------*/
   3469 
   3470 typedef struct _RequestModeRelease     /* SEQUENCE */
   3471 {
   3472     uint8(empty_sequence);
   3473     /*[...]*/
   3474 } S_RequestModeRelease;
   3475 typedef S_RequestModeRelease *PS_RequestModeRelease;
   3476 
   3477 /*-------------------------------------------------------*/
   3478 
   3479 typedef struct _ModeDescription     /* SET OF */
   3480 {
   3481     struct _ModeElement *item;
   3482     uint16 size;
   3483 } S_ModeDescription;
   3484 typedef S_ModeDescription *PS_ModeDescription;
   3485 
   3486 /*-------------------------------------------------------*/
   3487 
   3488 typedef struct _ModeType     /* CHOICE */
   3489 {
   3490     uint16 index;
   3491     union
   3492     {
   3493         struct _NonStandardParameter *nonStandard;
   3494         struct _VideoMode *videoMode;
   3495         struct _AudioMode *audioMode;
   3496         struct _DataMode *dataMode;
   3497         struct _EncryptionMode *encryptionMode;
   3498         /*[...]*/
   3499         struct _H235Mode *h235Mode;
   3500     };
   3501 } S_ModeType;
   3502 typedef S_ModeType *PS_ModeType;
   3503 
   3504 /*-------------------------------------------------------*/
   3505 
   3506 typedef struct _MediaMode     /* CHOICE */
   3507 {
   3508     uint16 index;
   3509     union
   3510     {
   3511         struct _NonStandardParameter *nonStandard;
   3512         struct _VideoMode *videoMode;
   3513         struct _AudioMode *audioMode;
   3514         struct _DataMode *dataMode;
   3515         /*[...]*/
   3516     };
   3517 } S_MediaMode;
   3518 typedef S_MediaMode *PS_MediaMode;
   3519 
   3520 /*-------------------------------------------------------*/
   3521 
   3522 typedef struct _H235Mode     /* SEQUENCE */
   3523 {
   3524     struct _EncryptionAuthenticationAndIntegrity encryptionAuthenticationAndIntegrity;
   3525     struct _MediaMode mediaMode;
   3526     /*[...]*/
   3527 } S_H235Mode;
   3528 typedef S_H235Mode *PS_H235Mode;
   3529 
   3530 /*-------------------------------------------------------*/
   3531 
   3532 typedef struct _ModeAdaptationLayerType     /* CHOICE */
   3533 {
   3534     uint16 index;
   3535     union
   3536     {
   3537         struct _NonStandardParameter *nonStandard;
   3538         /* (NULL) al1Framed */
   3539         /* (NULL) al1NotFramed */
   3540         /* (NULL) al2WithoutSequenceNumbers */
   3541         /* (NULL) al2WithSequenceNumbers */
   3542         struct _ModeAl3 *modeAl3;
   3543         /*[...]*/
   3544         struct _H223AL1MParameters *al1M;
   3545         struct _H223AL2MParameters *al2M;
   3546         struct _H223AL3MParameters *al3M;
   3547     };
   3548 } S_ModeAdaptationLayerType;
   3549 typedef S_ModeAdaptationLayerType *PS_ModeAdaptationLayerType;
   3550 
   3551 /*-------------------------------------------------------*/
   3552 
   3553 typedef struct _H223ModeParameters     /* SEQUENCE */
   3554 {
   3555     struct _ModeAdaptationLayerType modeAdaptationLayerType;
   3556 uint32 segmentableFlag :
   3557     1;
   3558     /*[...]*/
   3559 } S_H223ModeParameters;
   3560 typedef S_H223ModeParameters *PS_H223ModeParameters;
   3561 
   3562 /*-------------------------------------------------------*/
   3563 
   3564 typedef struct _ModeAl3     /* SEQUENCE */
   3565 {
   3566     uint8 controlFieldOctets;
   3567     uint32 sendBufferSize;
   3568 } S_ModeAl3;
   3569 typedef S_ModeAl3 *PS_ModeAl3;
   3570 
   3571 /*-------------------------------------------------------*/
   3572 
   3573 typedef struct _V76ModeParameters     /* CHOICE */
   3574 {
   3575     uint16 index;
   3576     /* (NULL) suspendResumewAddress */
   3577     /* (NULL) suspendResumewoAddress */
   3578     /*[...]*/
   3579 } S_V76ModeParameters;
   3580 typedef S_V76ModeParameters *PS_V76ModeParameters;
   3581 
   3582 /*-------------------------------------------------------*/
   3583 
   3584 typedef struct _SecondaryEncoding     /* CHOICE */
   3585 {
   3586     uint16 index;
   3587     union
   3588     {
   3589         struct _NonStandardParameter *nonStandard;
   3590         struct _AudioMode *audioData;
   3591         /*[...]*/
   3592     };
   3593 } S_SecondaryEncoding;
   3594 typedef S_SecondaryEncoding *PS_SecondaryEncoding;
   3595 
   3596 /*-------------------------------------------------------*/
   3597 
   3598 typedef struct _RedundancyEncodingMode     /* SEQUENCE */
   3599 {
   3600 uint32 option_of_secondaryEncoding :
   3601     1;
   3602     struct _RedundancyEncodingMethod redundancyEncodingMethod;
   3603     struct _SecondaryEncoding secondaryEncoding;
   3604     /*[...]*/
   3605 } S_RedundancyEncodingMode;
   3606 typedef S_RedundancyEncodingMode *PS_RedundancyEncodingMode;
   3607 
   3608 /*-------------------------------------------------------*/
   3609 
   3610 typedef struct _H2250ModeParameters     /* SEQUENCE */
   3611 {
   3612 uint32 option_of_redundancyEncodingMode :
   3613     1;
   3614     struct _RedundancyEncodingMode redundancyEncodingMode;
   3615     /*[...]*/
   3616 } S_H2250ModeParameters;
   3617 typedef S_H2250ModeParameters *PS_H2250ModeParameters;
   3618 
   3619 /*-------------------------------------------------------*/
   3620 
   3621 typedef struct _ModeElement     /* SEQUENCE */
   3622 {
   3623 uint32 option_of_h223ModeParameters :
   3624     1;
   3625     struct _ModeType modeType;
   3626     struct _H223ModeParameters h223ModeParameters;
   3627     /*[...]*/
   3628 uint32 option_of_v76ModeParameters :
   3629     1;
   3630 uint32 option_of_h2250ModeParameters :
   3631     1;
   3632 uint32 option_of_genericModeParameters :
   3633     1;
   3634     struct _V76ModeParameters v76ModeParameters;
   3635     struct _H2250ModeParameters h2250ModeParameters;
   3636     struct _GenericCapability genericModeParameters;
   3637 } S_ModeElement;
   3638 typedef S_ModeElement *PS_ModeElement;
   3639 
   3640 /*-------------------------------------------------------*/
   3641 
   3642 typedef struct _VideoMode     /* CHOICE */
   3643 {
   3644     uint16 index;
   3645     union
   3646     {
   3647         struct _NonStandardParameter *nonStandard;
   3648         struct _H261VideoMode *h261VideoMode;
   3649         struct _H262VideoMode *h262VideoMode;
   3650         struct _H263VideoMode *h263VideoMode;
   3651         struct _IS11172VideoMode *is11172VideoMode;
   3652         /*[...]*/
   3653         struct _GenericCapability *genericVideoMode;
   3654     };
   3655 } S_VideoMode;
   3656 typedef S_VideoMode *PS_VideoMode;
   3657 
   3658 /*-------------------------------------------------------*/
   3659 
   3660 typedef struct _Resolution     /* CHOICE */
   3661 {
   3662     uint16 index;
   3663     /* (NULL) qcif */
   3664     /* (NULL) cif */
   3665 } S_Resolution;
   3666 typedef S_Resolution *PS_Resolution;
   3667 
   3668 /*-------------------------------------------------------*/
   3669 
   3670 typedef struct _H261VideoMode     /* SEQUENCE */
   3671 {
   3672     struct _Resolution resolution;
   3673     uint16 bitRate;
   3674 uint32 stillImageTransmission :
   3675     1;
   3676     /*[...]*/
   3677 } S_H261VideoMode;
   3678 typedef S_H261VideoMode *PS_H261VideoMode;
   3679 
   3680 /*-------------------------------------------------------*/
   3681 
   3682 typedef struct _ProfileAndLevel     /* CHOICE */
   3683 {
   3684     uint16 index;
   3685     /* (NULL) profileAndLevel_SPatML */
   3686     /* (NULL) profileAndLevel_MPatLL */
   3687     /* (NULL) profileAndLevel_MPatML */
   3688     /* (NULL) profileAndLevel_MPatH_14 */
   3689     /* (NULL) profileAndLevel_MPatHL */
   3690     /* (NULL) profileAndLevel_SNRatLL */
   3691     /* (NULL) profileAndLevel_SNRatML */
   3692     /* (NULL) profileAndLevel_SpatialatH_14 */
   3693     /* (NULL) profileAndLevel_HPatML */
   3694     /* (NULL) profileAndLevel_HPatH_14 */
   3695     /* (NULL) profileAndLevel_HPatHL */
   3696     /*[...]*/
   3697 } S_ProfileAndLevel;
   3698 typedef S_ProfileAndLevel *PS_ProfileAndLevel;
   3699 
   3700 /*-------------------------------------------------------*/
   3701 
   3702 typedef struct _H262VideoMode     /* SEQUENCE */
   3703 {
   3704 uint32 option_of_videoBitRate :
   3705     1;
   3706 uint32 option_of_vbvBufferSize :
   3707     1;
   3708 uint32 option_of_samplesPerLine :
   3709     1;
   3710 uint32 option_of_linesPerFrame :
   3711     1;
   3712 uint32 option_of_framesPerSecond :
   3713     1;
   3714 uint32 option_of_luminanceSampleRate :
   3715     1;
   3716     struct _ProfileAndLevel profileAndLevel;
   3717     uint32 videoBitRate;
   3718     uint32 vbvBufferSize;
   3719     uint16 samplesPerLine;
   3720     uint16 linesPerFrame;
   3721     uint8 framesPerSecond;
   3722     uint32 luminanceSampleRate;
   3723     /*[...]*/
   3724 } S_H262VideoMode;
   3725 typedef S_H262VideoMode *PS_H262VideoMode;
   3726 
   3727 /*-------------------------------------------------------*/
   3728 
   3729 typedef struct _H263Resolution     /* CHOICE */
   3730 {
   3731     uint16 index;
   3732     /* (NULL) sqcif */
   3733     /* (NULL) qcif */
   3734     /* (NULL) cif */
   3735     /* (NULL) cif4 */
   3736     /* (NULL) cif16 */
   3737     /*[...]*/
   3738 } S_H263Resolution;
   3739 typedef S_H263Resolution *PS_H263Resolution;
   3740 
   3741 /*-------------------------------------------------------*/
   3742 
   3743 typedef struct _H263VideoMode     /* SEQUENCE */
   3744 {
   3745     struct _H263Resolution h263Resolution;
   3746     uint16 bitRate;
   3747 uint32 unrestrictedVector :
   3748     1;
   3749 uint32 arithmeticCoding :
   3750     1;
   3751 uint32 advancedPrediction :
   3752     1;
   3753 uint32 pbFrames :
   3754     1;
   3755     /*[...]*/
   3756 uint32 option_of_errorCompensation :
   3757     1;
   3758 uint32 option_of_enhancementLayerInfo :
   3759     1;
   3760 uint32 option_of_h263Options :
   3761     1;
   3762 uint32 errorCompensation :
   3763     1;
   3764     struct _EnhancementLayerInfo enhancementLayerInfo;
   3765     struct _H263Options h263Options;
   3766 } S_H263VideoMode;
   3767 typedef S_H263VideoMode *PS_H263VideoMode;
   3768 
   3769 /*-------------------------------------------------------*/
   3770 
   3771 typedef struct _IS11172VideoMode     /* SEQUENCE */
   3772 {
   3773 uint32 option_of_videoBitRate :
   3774     1;
   3775 uint32 option_of_vbvBufferSize :
   3776     1;
   3777 uint32 option_of_samplesPerLine :
   3778     1;
   3779 uint32 option_of_linesPerFrame :
   3780     1;
   3781 uint32 option_of_pictureRate :
   3782     1;
   3783 uint32 option_of_luminanceSampleRate :
   3784     1;
   3785 uint32 constrainedBitstream :
   3786     1;
   3787     uint32 videoBitRate;
   3788     uint32 vbvBufferSize;
   3789     uint16 samplesPerLine;
   3790     uint16 linesPerFrame;
   3791     uint8 pictureRate;
   3792     uint32 luminanceSampleRate;
   3793     /*[...]*/
   3794 } S_IS11172VideoMode;
   3795 typedef S_IS11172VideoMode *PS_IS11172VideoMode;
   3796 
   3797 /*-------------------------------------------------------*/
   3798 
   3799 typedef struct _AudioMode     /* CHOICE */
   3800 {
   3801     uint16 index;
   3802     union
   3803     {
   3804         struct _NonStandardParameter *nonStandard;
   3805         /* (NULL) g711Alaw64k */
   3806         /* (NULL) g711Alaw56k */
   3807         /* (NULL) g711Ulaw64k */
   3808         /* (NULL) g711Ulaw56k */
   3809         /* (NULL) g722_64k */
   3810         /* (NULL) g722_56k */
   3811         /* (NULL) g722_48k */
   3812         /* (NULL) g728 */
   3813         /* (NULL) g729 */
   3814         /* (NULL) g729AnnexA */
   3815         struct _ModeG7231 *modeG7231;
   3816         struct _IS11172AudioMode *is11172AudioMode;
   3817         struct _IS13818AudioMode *is13818AudioMode;
   3818         /*[...]*/
   3819         uint16 g729wAnnexB;
   3820         uint16 g729AnnexAwAnnexB;
   3821         struct _G7231AnnexCMode *g7231AnnexCMode;
   3822         struct _GSMAudioCapability *gsmFullRate;
   3823         struct _GSMAudioCapability *gsmHalfRate;
   3824         struct _GSMAudioCapability *gsmEnhancedFullRate;
   3825         struct _GenericCapability *genericAudioMode;
   3826         struct _G729Extensions *g729Extensions;
   3827     };
   3828 } S_AudioMode;
   3829 typedef S_AudioMode *PS_AudioMode;
   3830 
   3831 /*-------------------------------------------------------*/
   3832 
   3833 typedef struct _ModeG7231     /* CHOICE */
   3834 {
   3835     uint16 index;
   3836     /* (NULL) noSilenceSuppressionLowRate */
   3837     /* (NULL) noSilenceSuppressionHighRate */
   3838     /* (NULL) silenceSuppressionLowRate */
   3839     /* (NULL) silenceSuppressionHighRate */
   3840 } S_ModeG7231;
   3841 typedef S_ModeG7231 *PS_ModeG7231;
   3842 
   3843 /*-------------------------------------------------------*/
   3844 
   3845 typedef struct _MultichannelType     /* CHOICE */
   3846 {
   3847     uint16 index;
   3848     /* (NULL) singleChannel */
   3849     /* (NULL) twoChannelStereo */
   3850     /* (NULL) twoChannelDual */
   3851 } S_MultichannelType;
   3852 typedef S_MultichannelType *PS_MultichannelType;
   3853 
   3854 /*-------------------------------------------------------*/
   3855 
   3856 typedef struct _AudioSampling     /* CHOICE */
   3857 {
   3858     uint16 index;
   3859     /* (NULL) audioSampling32k */
   3860     /* (NULL) audioSampling44k1 */
   3861     /* (NULL) audioSampling48k */
   3862 } S_AudioSampling;
   3863 typedef S_AudioSampling *PS_AudioSampling;
   3864 
   3865 /*-------------------------------------------------------*/
   3866 
   3867 typedef struct _AudioLayer     /* CHOICE */
   3868 {
   3869     uint16 index;
   3870     /* (NULL) audioLayer1 */
   3871     /* (NULL) audioLayer2 */
   3872     /* (NULL) audioLayer3 */
   3873 } S_AudioLayer;
   3874 typedef S_AudioLayer *PS_AudioLayer;
   3875 
   3876 /*-------------------------------------------------------*/
   3877 
   3878 typedef struct _IS11172AudioMode     /* SEQUENCE */
   3879 {
   3880     struct _AudioLayer audioLayer;
   3881     struct _AudioSampling audioSampling;
   3882     struct _MultichannelType multichannelType;
   3883     uint16 bitRate;
   3884     /*[...]*/
   3885 } S_IS11172AudioMode;
   3886 typedef S_IS11172AudioMode *PS_IS11172AudioMode;
   3887 
   3888 /*-------------------------------------------------------*/
   3889 
   3890 typedef struct _Is13818MultichannelType     /* CHOICE */
   3891 {
   3892     uint16 index;
   3893     /* (NULL) singleChannel */
   3894     /* (NULL) twoChannelStereo */
   3895     /* (NULL) twoChannelDual */
   3896     /* (NULL) threeChannels2_1 */
   3897     /* (NULL) threeChannels3_0 */
   3898     /* (NULL) fourChannels2_0_2_0 */
   3899     /* (NULL) fourChannels2_2 */
   3900     /* (NULL) fourChannels3_1 */
   3901     /* (NULL) fiveChannels3_0_2_0 */
   3902     /* (NULL) fiveChannels3_2 */
   3903 } S_Is13818MultichannelType;
   3904 typedef S_Is13818MultichannelType *PS_Is13818MultichannelType;
   3905 
   3906 /*-------------------------------------------------------*/
   3907 
   3908 typedef struct _Is13818AudioSampling     /* CHOICE */
   3909 {
   3910     uint16 index;
   3911     /* (NULL) audioSampling16k */
   3912     /* (NULL) audioSampling22k05 */
   3913     /* (NULL) audioSampling24k */
   3914     /* (NULL) audioSampling32k */
   3915     /* (NULL) audioSampling44k1 */
   3916     /* (NULL) audioSampling48k */
   3917 } S_Is13818AudioSampling;
   3918 typedef S_Is13818AudioSampling *PS_Is13818AudioSampling;
   3919 
   3920 /*-------------------------------------------------------*/
   3921 
   3922 typedef struct _Is13818AudioLayer     /* CHOICE */
   3923 {
   3924     uint16 index;
   3925     /* (NULL) audioLayer1 */
   3926     /* (NULL) audioLayer2 */
   3927     /* (NULL) audioLayer3 */
   3928 } S_Is13818AudioLayer;
   3929 typedef S_Is13818AudioLayer *PS_Is13818AudioLayer;
   3930 
   3931 /*-------------------------------------------------------*/
   3932 
   3933 typedef struct _IS13818AudioMode     /* SEQUENCE */
   3934 {
   3935     struct _Is13818AudioLayer is13818AudioLayer;
   3936     struct _Is13818AudioSampling is13818AudioSampling;
   3937     struct _Is13818MultichannelType is13818MultichannelType;
   3938 uint32 lowFrequencyEnhancement :
   3939     1;
   3940 uint32 multilingual :
   3941     1;
   3942     uint16 bitRate;
   3943     /*[...]*/
   3944 } S_IS13818AudioMode;
   3945 typedef S_IS13818AudioMode *PS_IS13818AudioMode;
   3946 
   3947 /*-------------------------------------------------------*/
   3948 
   3949 typedef struct _ModeG723AnnexCAudioMode     /* SEQUENCE */
   3950 {
   3951     uint8 highRateMode0;
   3952     uint8 highRateMode1;
   3953     uint8 lowRateMode0;
   3954     uint8 lowRateMode1;
   3955     uint8 sidMode0;
   3956     uint8 sidMode1;
   3957     /*[...]*/
   3958 } S_ModeG723AnnexCAudioMode;
   3959 typedef S_ModeG723AnnexCAudioMode *PS_ModeG723AnnexCAudioMode;
   3960 
   3961 /*-------------------------------------------------------*/
   3962 
   3963 typedef struct _G7231AnnexCMode     /* SEQUENCE */
   3964 {
   3965     uint16 maxAl_sduAudioFrames;
   3966 uint32 silenceSuppression :
   3967     1;
   3968     struct _ModeG723AnnexCAudioMode modeG723AnnexCAudioMode;
   3969     /*[...]*/
   3970 } S_G7231AnnexCMode;
   3971 typedef S_G7231AnnexCMode *PS_G7231AnnexCMode;
   3972 
   3973 /*-------------------------------------------------------*/
   3974 
   3975 typedef struct _DmApplication     /* CHOICE */
   3976 {
   3977     uint16 index;
   3978     union
   3979     {
   3980         struct _NonStandardParameter *nonStandard;
   3981         struct _DataProtocolCapability *t120;
   3982         struct _DataProtocolCapability *dsm_cc;
   3983         struct _DataProtocolCapability *userData;
   3984         struct _DataProtocolCapability *t84;
   3985         struct _DataProtocolCapability *t434;
   3986         struct _DataProtocolCapability *h224;
   3987         struct _DmNlpid *dmNlpid;
   3988         /* (NULL) dsvdControl */
   3989         struct _DataProtocolCapability *h222DataPartitioning;
   3990         /*[...]*/
   3991         struct _DataProtocolCapability *t30fax;
   3992         struct _DataProtocolCapability *t140;
   3993         struct _DmT38fax *dmT38fax;
   3994         struct _GenericCapability *genericDataMode;
   3995     };
   3996 } S_DmApplication;
   3997 typedef S_DmApplication *PS_DmApplication;
   3998 
   3999 /*-------------------------------------------------------*/
   4000 
   4001 typedef struct _DataMode     /* SEQUENCE */
   4002 {
   4003     struct _DmApplication dmApplication;
   4004     uint32 bitRate;
   4005     /*[...]*/
   4006 } S_DataMode;
   4007 typedef S_DataMode *PS_DataMode;
   4008 
   4009 /*-------------------------------------------------------*/
   4010 
   4011 typedef struct _DmT38fax     /* SEQUENCE */
   4012 {
   4013     struct _DataProtocolCapability t38FaxProtocol;
   4014     struct _T38FaxProfile t38FaxProfile;
   4015 } S_DmT38fax;
   4016 typedef S_DmT38fax *PS_DmT38fax;
   4017 
   4018 /*-------------------------------------------------------*/
   4019 
   4020 typedef struct _DmNlpid     /* SEQUENCE */
   4021 {
   4022     struct _DataProtocolCapability nlpidProtocol;
   4023     S_OCTETSTRING nlpidData;
   4024 } S_DmNlpid;
   4025 typedef S_DmNlpid *PS_DmNlpid;
   4026 
   4027 /*-------------------------------------------------------*/
   4028 
   4029 typedef struct _EncryptionMode     /* CHOICE */
   4030 {
   4031     uint16 index;
   4032     union
   4033     {
   4034         struct _NonStandardParameter *nonStandard;
   4035         /* (NULL) h233Encryption */
   4036         /*[...]*/
   4037     };
   4038 } S_EncryptionMode;
   4039 typedef S_EncryptionMode *PS_EncryptionMode;
   4040 
   4041 /*-------------------------------------------------------*/
   4042 
   4043 typedef struct _RoundTripDelayRequest     /* SEQUENCE */
   4044 {
   4045     uint8 sequenceNumber;
   4046     /*[...]*/
   4047 } S_RoundTripDelayRequest;
   4048 typedef S_RoundTripDelayRequest *PS_RoundTripDelayRequest;
   4049 
   4050 /*-------------------------------------------------------*/
   4051 
   4052 typedef struct _RoundTripDelayResponse     /* SEQUENCE */
   4053 {
   4054     uint8 sequenceNumber;
   4055     /*[...]*/
   4056 } S_RoundTripDelayResponse;
   4057 typedef S_RoundTripDelayResponse *PS_RoundTripDelayResponse;
   4058 
   4059 /*-------------------------------------------------------*/
   4060 
   4061 typedef struct _MlRequestType     /* CHOICE */
   4062 {
   4063     uint16 index;
   4064     union
   4065     {
   4066         /* (NULL) systemLoop */
   4067         uint16 mediaLoop;
   4068         uint16 logicalChannelLoop;
   4069         /*[...]*/
   4070     };
   4071 } S_MlRequestType;
   4072 typedef S_MlRequestType *PS_MlRequestType;
   4073 
   4074 /*-------------------------------------------------------*/
   4075 
   4076 typedef struct _MaintenanceLoopRequest     /* SEQUENCE */
   4077 {
   4078     struct _MlRequestType mlRequestType;
   4079     /*[...]*/
   4080 } S_MaintenanceLoopRequest;
   4081 typedef S_MaintenanceLoopRequest *PS_MaintenanceLoopRequest;
   4082 
   4083 /*-------------------------------------------------------*/
   4084 
   4085 typedef struct _MlAckType     /* CHOICE */
   4086 {
   4087     uint16 index;
   4088     union
   4089     {
   4090         /* (NULL) systemLoop */
   4091         uint16 mediaLoop;
   4092         uint16 logicalChannelLoop;
   4093         /*[...]*/
   4094     };
   4095 } S_MlAckType;
   4096 typedef S_MlAckType *PS_MlAckType;
   4097 
   4098 /*-------------------------------------------------------*/
   4099 
   4100 typedef struct _MaintenanceLoopAck     /* SEQUENCE */
   4101 {
   4102     struct _MlAckType mlAckType;
   4103     /*[...]*/
   4104 } S_MaintenanceLoopAck;
   4105 typedef S_MaintenanceLoopAck *PS_MaintenanceLoopAck;
   4106 
   4107 /*-------------------------------------------------------*/
   4108 
   4109 typedef struct _MlRejectCause     /* CHOICE */
   4110 {
   4111     uint16 index;
   4112     /* (NULL) canNotPerformLoop */
   4113     /*[...]*/
   4114 } S_MlRejectCause;
   4115 typedef S_MlRejectCause *PS_MlRejectCause;
   4116 
   4117 /*-------------------------------------------------------*/
   4118 
   4119 typedef struct _MlRejectType     /* CHOICE */
   4120 {
   4121     uint16 index;
   4122     union
   4123     {
   4124         /* (NULL) systemLoop */
   4125         uint16 mediaLoop;
   4126         uint16 logicalChannelLoop;
   4127         /*[...]*/
   4128     };
   4129 } S_MlRejectType;
   4130 typedef S_MlRejectType *PS_MlRejectType;
   4131 
   4132 /*-------------------------------------------------------*/
   4133 
   4134 typedef struct _MaintenanceLoopReject     /* SEQUENCE */
   4135 {
   4136     struct _MlRejectType mlRejectType;
   4137     struct _MlRejectCause mlRejectCause;
   4138     /*[...]*/
   4139 } S_MaintenanceLoopReject;
   4140 typedef S_MaintenanceLoopReject *PS_MaintenanceLoopReject;
   4141 
   4142 /*-------------------------------------------------------*/
   4143 
   4144 typedef struct _MaintenanceLoopOffCommand     /* SEQUENCE */
   4145 {
   4146     uint8(empty_sequence);
   4147     /*[...]*/
   4148 } S_MaintenanceLoopOffCommand;
   4149 typedef S_MaintenanceLoopOffCommand *PS_MaintenanceLoopOffCommand;
   4150 
   4151 /*-------------------------------------------------------*/
   4152 
   4153 typedef struct _CommunicationModeCommand     /* SEQUENCE */
   4154 {
   4155     uint16 size_of_communicationModeTable;
   4156     struct _CommunicationModeTableEntry *communicationModeTable;
   4157     /*[...]*/
   4158 } S_CommunicationModeCommand;
   4159 typedef S_CommunicationModeCommand *PS_CommunicationModeCommand;
   4160 
   4161 /*-------------------------------------------------------*/
   4162 
   4163 typedef struct _CommunicationModeRequest     /* SEQUENCE */
   4164 {
   4165     uint8(empty_sequence);
   4166     /*[...]*/
   4167 } S_CommunicationModeRequest;
   4168 typedef S_CommunicationModeRequest *PS_CommunicationModeRequest;
   4169 
   4170 /*-------------------------------------------------------*/
   4171 
   4172 typedef struct _CommunicationModeResponse     /* CHOICE */
   4173 {
   4174     uint16 index;
   4175     union
   4176     {
   4177         struct _CommunicationModeTableEntry *communicationModeTable;
   4178         /*[...]*/
   4179     };
   4180     uint16 size;
   4181 } S_CommunicationModeResponse;
   4182 typedef S_CommunicationModeResponse *PS_CommunicationModeResponse;
   4183 
   4184 /*-------------------------------------------------------*/
   4185 
   4186 typedef struct _CmtDataType     /* CHOICE */
   4187 {
   4188     uint16 index;
   4189     union
   4190     {
   4191         struct _VideoCapability *videoData;
   4192         struct _AudioCapability *audioData;
   4193         struct _DataApplicationCapability *data;
   4194         /*[...]*/
   4195     };
   4196 } S_CmtDataType;
   4197 typedef S_CmtDataType *PS_CmtDataType;
   4198 
   4199 /*-------------------------------------------------------*/
   4200 
   4201 typedef struct _ConferenceRequest     /* CHOICE */
   4202 {
   4203     uint16 index;
   4204     union
   4205     {
   4206         /* (NULL) terminalListRequest */
   4207         /* (NULL) makeMeChair */
   4208         /* (NULL) cancelMakeMeChair */
   4209         struct _TerminalLabel *dropTerminal;
   4210         struct _TerminalLabel *requestTerminalID;
   4211         /* (NULL) enterH243Password */
   4212         /* (NULL) enterH243TerminalID */
   4213         /* (NULL) enterH243ConferenceID */
   4214         /*[...]*/
   4215         /* (NULL) enterExtensionAddress */
   4216         /* (NULL) requestChairTokenOwner */
   4217         struct _RequestTerminalCertificate *requestTerminalCertificate;
   4218         uint16 broadcastMyLogicalChannel;
   4219         struct _TerminalLabel *makeTerminalBroadcaster;
   4220         struct _TerminalLabel *sendThisSource;
   4221         /* (NULL) requestAllTerminalIDs */
   4222         struct _RemoteMCRequest *remoteMCRequest;
   4223     };
   4224 } S_ConferenceRequest;
   4225 typedef S_ConferenceRequest *PS_ConferenceRequest;
   4226 
   4227 /*-------------------------------------------------------*/
   4228 
   4229 typedef struct _CertSelectionCriteria     /* SEQUENCE OF */
   4230 {
   4231     struct _Criteria *item;
   4232     uint16 size;
   4233 } S_CertSelectionCriteria;
   4234 typedef S_CertSelectionCriteria *PS_CertSelectionCriteria;
   4235 
   4236 /*-------------------------------------------------------*/
   4237 
   4238 typedef struct _Criteria     /* SEQUENCE */
   4239 {
   4240     S_OBJECTIDENT field;
   4241     S_OCTETSTRING value;
   4242     /*[...]*/
   4243 } S_Criteria;
   4244 typedef S_Criteria *PS_Criteria;
   4245 
   4246 /*-------------------------------------------------------*/
   4247 
   4248 typedef struct _TerminalLabel     /* SEQUENCE */
   4249 {
   4250     uint8 mcuNumber;
   4251     uint8 terminalNumber;
   4252     /*[...]*/
   4253 } S_TerminalLabel;
   4254 typedef S_TerminalLabel *PS_TerminalLabel;
   4255 
   4256 /*-------------------------------------------------------*/
   4257 
   4258 typedef struct _H2250LogicalChannelParameters     /* SEQUENCE */
   4259 {
   4260 uint32 option_of_nonStandard :
   4261     1;
   4262 uint32 option_of_associatedSessionID :
   4263     1;
   4264 uint32 option_of_mediaChannel :
   4265     1;
   4266 uint32 option_of_mediaGuaranteedDelivery :
   4267     1;
   4268 uint32 option_of_mediaControlChannel :
   4269     1;
   4270 uint32 option_of_mediaControlGuaranteedDelivery :
   4271     1;
   4272 uint32 option_of_silenceSuppression :
   4273     1;
   4274 uint32 option_of_destination :
   4275     1;
   4276 uint32 option_of_dynamicRTPPayloadType :
   4277     1;
   4278 uint32 option_of_mediaPacketization :
   4279     1;
   4280     uint16 size_of_nonStandard;
   4281     struct _NonStandardParameter *nonStandard;
   4282     uint8 sessionID;
   4283     uint8 associatedSessionID;
   4284     struct _TransportAddress mediaChannel;
   4285 uint32 mediaGuaranteedDelivery :
   4286     1;
   4287     struct _TransportAddress mediaControlChannel;
   4288 uint32 mediaControlGuaranteedDelivery :
   4289     1;
   4290 uint32 silenceSuppression :
   4291     1;
   4292     struct _TerminalLabel destination;
   4293     uint8 dynamicRTPPayloadType;
   4294     struct _MediaPacketization mediaPacketization;
   4295     /*[...]*/
   4296 uint32 option_of_transportCapability :
   4297     1;
   4298 uint32 option_of_redundancyEncoding :
   4299     1;
   4300 uint32 option_of_source :
   4301     1;
   4302 uint32 option_of_symmetricMediaAddress :
   4303     1;
   4304     struct _TransportCapability transportCapability;
   4305     struct _RedundancyEncoding redundancyEncoding;
   4306     struct _TerminalLabel source;
   4307 uint32 symmetricMediaAddress :
   4308     1;
   4309 } S_H2250LogicalChannelParameters;
   4310 typedef S_H2250LogicalChannelParameters *PS_H2250LogicalChannelParameters;
   4311 
   4312 /*-------------------------------------------------------*/
   4313 
   4314 typedef struct _CommunicationModeTableEntry     /* SEQUENCE */
   4315 {
   4316 uint32 option_of_nonStandard :
   4317     1;
   4318 uint32 option_of_associatedSessionID :
   4319     1;
   4320 uint32 option_of_terminalLabel :
   4321     1;
   4322 uint32 option_of_mediaChannel :
   4323     1;
   4324 uint32 option_of_mediaGuaranteedDelivery :
   4325     1;
   4326 uint32 option_of_mediaControlChannel :
   4327     1;
   4328 uint32 option_of_mediaControlGuaranteedDelivery :
   4329     1;
   4330     uint16 size_of_nonStandard;
   4331     struct _NonStandardParameter *nonStandard;
   4332     uint8 sessionID;
   4333     uint8 associatedSessionID;
   4334     struct _TerminalLabel terminalLabel;
   4335     S_int8STRING sessionDescription;
   4336     struct _CmtDataType cmtDataType;
   4337     struct _TransportAddress mediaChannel;
   4338 uint32 mediaGuaranteedDelivery :
   4339     1;
   4340     struct _TransportAddress mediaControlChannel;
   4341 uint32 mediaControlGuaranteedDelivery :
   4342     1;
   4343     /*[...]*/
   4344 uint32 option_of_redundancyEncoding :
   4345     1;
   4346 uint32 option_of_sessionDependency :
   4347     1;
   4348 uint32 option_of_destination :
   4349     1;
   4350     struct _RedundancyEncoding redundancyEncoding;
   4351     uint8 sessionDependency;
   4352     struct _TerminalLabel destination;
   4353 } S_CommunicationModeTableEntry;
   4354 typedef S_CommunicationModeTableEntry *PS_CommunicationModeTableEntry;
   4355 
   4356 /*-------------------------------------------------------*/
   4357 
   4358 typedef struct _RequestTerminalCertificate     /* SEQUENCE */
   4359 {
   4360 uint32 option_of_terminalLabel :
   4361     1;
   4362 uint32 option_of_certSelectionCriteria :
   4363     1;
   4364 uint32 option_of_sRandom :
   4365     1;
   4366     struct _TerminalLabel terminalLabel;
   4367     struct _CertSelectionCriteria certSelectionCriteria;
   4368     uint32 sRandom;
   4369     /*[...]*/
   4370 } S_RequestTerminalCertificate;
   4371 typedef S_RequestTerminalCertificate *PS_RequestTerminalCertificate;
   4372 
   4373 /*-------------------------------------------------------*/
   4374 
   4375 typedef struct _ConferenceResponse     /* CHOICE */
   4376 {
   4377     uint16 index;
   4378     union
   4379     {
   4380         struct _MCTerminalIDResponse *mCTerminalIDResponse;
   4381         struct _TerminalIDResponse *terminalIDResponse;
   4382         struct _ConferenceIDResponse *conferenceIDResponse;
   4383         struct _PasswordResponse *passwordResponse;
   4384         struct _TerminalLabel *terminalListResponse;
   4385         /* (NULL) videoCommandReject */
   4386         /* (NULL) terminalDropReject */
   4387         struct _MakeMeChairResponse *makeMeChairResponse;
   4388         /*[...]*/
   4389         struct _ExtensionAddressResponse *extensionAddressResponse;
   4390         struct _ChairTokenOwnerResponse *chairTokenOwnerResponse;
   4391         struct _TerminalCertificateResponse *terminalCertificateResponse;
   4392         struct _BroadcastMyLogicalChannelResponse *broadcastMyLogicalChannelResponse;
   4393         struct _MakeTerminalBroadcasterResponse *makeTerminalBroadcasterResponse;
   4394         struct _SendThisSourceResponse *sendThisSourceResponse;
   4395         struct _RequestAllTerminalIDsResponse *requestAllTerminalIDsResponse;
   4396         struct _RemoteMCResponse *remoteMCResponse;
   4397     };
   4398     uint16 size;
   4399 } S_ConferenceResponse;
   4400 typedef S_ConferenceResponse *PS_ConferenceResponse;
   4401 
   4402 /*-------------------------------------------------------*/
   4403 
   4404 typedef struct _SendThisSourceResponse     /* CHOICE */
   4405 {
   4406     uint16 index;
   4407     /* (NULL) grantedSendThisSource */
   4408     /* (NULL) deniedSendThisSource */
   4409     /*[...]*/
   4410 } S_SendThisSourceResponse;
   4411 typedef S_SendThisSourceResponse *PS_SendThisSourceResponse;
   4412 
   4413 /*-------------------------------------------------------*/
   4414 
   4415 typedef struct _MakeTerminalBroadcasterResponse     /* CHOICE */
   4416 {
   4417     uint16 index;
   4418     /* (NULL) grantedMakeTerminalBroadcaster */
   4419     /* (NULL) deniedMakeTerminalBroadcaster */
   4420     /*[...]*/
   4421 } S_MakeTerminalBroadcasterResponse;
   4422 typedef S_MakeTerminalBroadcasterResponse *PS_MakeTerminalBroadcasterResponse;
   4423 
   4424 /*-------------------------------------------------------*/
   4425 
   4426 typedef struct _BroadcastMyLogicalChannelResponse     /* CHOICE */
   4427 {
   4428     uint16 index;
   4429     /* (NULL) grantedBroadcastMyLogicalChannel */
   4430     /* (NULL) deniedBroadcastMyLogicalChannel */
   4431     /*[...]*/
   4432 } S_BroadcastMyLogicalChannelResponse;
   4433 typedef S_BroadcastMyLogicalChannelResponse *PS_BroadcastMyLogicalChannelResponse;
   4434 
   4435 /*-------------------------------------------------------*/
   4436 
   4437 typedef struct _TerminalCertificateResponse     /* SEQUENCE */
   4438 {
   4439 uint32 option_of_terminalLabel :
   4440     1;
   4441 uint32 option_of_certificateResponse :
   4442     1;
   4443     struct _TerminalLabel terminalLabel;
   4444     S_OCTETSTRING certificateResponse;
   4445     /*[...]*/
   4446 } S_TerminalCertificateResponse;
   4447 typedef S_TerminalCertificateResponse *PS_TerminalCertificateResponse;
   4448 
   4449 /*-------------------------------------------------------*/
   4450 
   4451 typedef struct _ChairTokenOwnerResponse     /* SEQUENCE */
   4452 {
   4453     struct _TerminalLabel terminalLabel;
   4454     S_OCTETSTRING terminalID;
   4455     /*[...]*/
   4456 } S_ChairTokenOwnerResponse;
   4457 typedef S_ChairTokenOwnerResponse *PS_ChairTokenOwnerResponse;
   4458 
   4459 /*-------------------------------------------------------*/
   4460 
   4461 typedef struct _ExtensionAddressResponse     /* SEQUENCE */
   4462 {
   4463     S_OCTETSTRING extensionAddress;
   4464     /*[...]*/
   4465 } S_ExtensionAddressResponse;
   4466 typedef S_ExtensionAddressResponse *PS_ExtensionAddressResponse;
   4467 
   4468 /*-------------------------------------------------------*/
   4469 
   4470 typedef struct _MakeMeChairResponse     /* CHOICE */
   4471 {
   4472     uint16 index;
   4473     /* (NULL) grantedChairToken */
   4474     /* (NULL) deniedChairToken */
   4475     /*[...]*/
   4476 } S_MakeMeChairResponse;
   4477 typedef S_MakeMeChairResponse *PS_MakeMeChairResponse;
   4478 
   4479 /*-------------------------------------------------------*/
   4480 
   4481 typedef struct _PasswordResponse     /* SEQUENCE */
   4482 {
   4483     struct _TerminalLabel terminalLabel;
   4484     S_OCTETSTRING password;
   4485     /*[...]*/
   4486 } S_PasswordResponse;
   4487 typedef S_PasswordResponse *PS_PasswordResponse;
   4488 
   4489 /*-------------------------------------------------------*/
   4490 
   4491 typedef struct _ConferenceIDResponse     /* SEQUENCE */
   4492 {
   4493     struct _TerminalLabel terminalLabel;
   4494     S_OCTETSTRING conferenceID;
   4495     /*[...]*/
   4496 } S_ConferenceIDResponse;
   4497 typedef S_ConferenceIDResponse *PS_ConferenceIDResponse;
   4498 
   4499 /*-------------------------------------------------------*/
   4500 
   4501 typedef struct _TerminalIDResponse     /* SEQUENCE */
   4502 {
   4503     struct _TerminalLabel terminalLabel;
   4504     S_OCTETSTRING terminalID;
   4505     /*[...]*/
   4506 } S_TerminalIDResponse;
   4507 typedef S_TerminalIDResponse *PS_TerminalIDResponse;
   4508 
   4509 /*-------------------------------------------------------*/
   4510 
   4511 typedef struct _MCTerminalIDResponse     /* SEQUENCE */
   4512 {
   4513     struct _TerminalLabel terminalLabel;
   4514     S_OCTETSTRING terminalID;
   4515     /*[...]*/
   4516 } S_MCTerminalIDResponse;
   4517 typedef S_MCTerminalIDResponse *PS_MCTerminalIDResponse;
   4518 
   4519 /*-------------------------------------------------------*/
   4520 
   4521 typedef struct _RequestAllTerminalIDsResponse     /* SEQUENCE */
   4522 {
   4523     uint16 size_of_terminalInformation;
   4524     struct _TerminalInformation *terminalInformation;
   4525     /*[...]*/
   4526 } S_RequestAllTerminalIDsResponse;
   4527 typedef S_RequestAllTerminalIDsResponse *PS_RequestAllTerminalIDsResponse;
   4528 
   4529 /*-------------------------------------------------------*/
   4530 
   4531 typedef struct _TerminalInformation     /* SEQUENCE */
   4532 {
   4533     struct _TerminalLabel terminalLabel;
   4534     S_OCTETSTRING terminalID;
   4535     /*[...]*/
   4536 } S_TerminalInformation;
   4537 typedef S_TerminalInformation *PS_TerminalInformation;
   4538 
   4539 /*-------------------------------------------------------*/
   4540 
   4541 typedef struct _RemoteMCRequest     /* CHOICE */
   4542 {
   4543     uint16 index;
   4544     /* (NULL) masterActivate */
   4545     /* (NULL) slaveActivate */
   4546     /* (NULL) deActivate */
   4547     /*[...]*/
   4548 } S_RemoteMCRequest;
   4549 typedef S_RemoteMCRequest *PS_RemoteMCRequest;
   4550 
   4551 /*-------------------------------------------------------*/
   4552 
   4553 typedef struct _RemoteMCResponse     /* CHOICE */
   4554 {
   4555     uint16 index;
   4556     union
   4557     {
   4558         /* (NULL) accept */
   4559         struct _Reject *reject;
   4560         /*[...]*/
   4561     };
   4562 } S_RemoteMCResponse;
   4563 typedef S_RemoteMCResponse *PS_RemoteMCResponse;
   4564 
   4565 /*-------------------------------------------------------*/
   4566 
   4567 typedef struct _Reject     /* CHOICE */
   4568 {
   4569     uint16 index;
   4570     /* (NULL) unspecified */
   4571     /* (NULL) functionNotSupported */
   4572     /*[...]*/
   4573 } S_Reject;
   4574 typedef S_Reject *PS_Reject;
   4575 
   4576 /*-------------------------------------------------------*/
   4577 
   4578 typedef struct _MultilinkRequest     /* CHOICE */
   4579 {
   4580     uint16 index;
   4581     union
   4582     {
   4583         struct _NonStandardMessage *nonStandard;
   4584         struct _CallInformation *callInformation;
   4585         struct _AddConnection *addConnection;
   4586         struct _RemoveConnection *removeConnection;
   4587         struct _MaximumHeaderInterval *maximumHeaderInterval;
   4588         /*[...]*/
   4589     };
   4590 } S_MultilinkRequest;
   4591 typedef S_MultilinkRequest *PS_MultilinkRequest;
   4592 
   4593 /*-------------------------------------------------------*/
   4594 
   4595 typedef struct _RequestType     /* CHOICE */
   4596 {
   4597     uint16 index;
   4598     union
   4599     {
   4600         /* (NULL) currentIntervalInformation */
   4601         uint16 requestedInterval;
   4602         /*[...]*/
   4603     };
   4604 } S_RequestType;
   4605 typedef S_RequestType *PS_RequestType;
   4606 
   4607 /*-------------------------------------------------------*/
   4608 
   4609 typedef struct _MaximumHeaderInterval     /* SEQUENCE */
   4610 {
   4611     struct _RequestType requestType;
   4612     /*[...]*/
   4613 } S_MaximumHeaderInterval;
   4614 typedef S_MaximumHeaderInterval *PS_MaximumHeaderInterval;
   4615 
   4616 /*-------------------------------------------------------*/
   4617 
   4618 typedef struct _CallInformation     /* SEQUENCE */
   4619 {
   4620     uint16 maxNumberOfAdditionalConnections;
   4621     /*[...]*/
   4622 } S_CallInformation;
   4623 typedef S_CallInformation *PS_CallInformation;
   4624 
   4625 /*-------------------------------------------------------*/
   4626 
   4627 typedef struct _MultilinkResponse     /* CHOICE */
   4628 {
   4629     uint16 index;
   4630     union
   4631     {
   4632         struct _NonStandardMessage *nonStandard;
   4633         struct _RespCallInformation *respCallInformation;
   4634         struct _RespAddConnection *respAddConnection;
   4635         struct _RespRemoveConnection *respRemoveConnection;
   4636         struct _RespMaximumHeaderInterval *respMaximumHeaderInterval;
   4637         /*[...]*/
   4638     };
   4639 } S_MultilinkResponse;
   4640 typedef S_MultilinkResponse *PS_MultilinkResponse;
   4641 
   4642 /*-------------------------------------------------------*/
   4643 
   4644 typedef struct _RespMaximumHeaderInterval     /* SEQUENCE */
   4645 {
   4646     uint16 currentInterval;
   4647     /*[...]*/
   4648 } S_RespMaximumHeaderInterval;
   4649 typedef S_RespMaximumHeaderInterval *PS_RespMaximumHeaderInterval;
   4650 
   4651 /*-------------------------------------------------------*/
   4652 
   4653 typedef struct _ResponseCode     /* CHOICE */
   4654 {
   4655     uint16 index;
   4656     union
   4657     {
   4658         /* (NULL) accepted */
   4659         struct _Rejected *rejected;
   4660         /*[...]*/
   4661     };
   4662 } S_ResponseCode;
   4663 typedef S_ResponseCode *PS_ResponseCode;
   4664 
   4665 /*-------------------------------------------------------*/
   4666 
   4667 typedef struct _RespAddConnection     /* SEQUENCE */
   4668 {
   4669     uint8 sequenceNumber;
   4670     struct _ResponseCode responseCode;
   4671     /*[...]*/
   4672 } S_RespAddConnection;
   4673 typedef S_RespAddConnection *PS_RespAddConnection;
   4674 
   4675 /*-------------------------------------------------------*/
   4676 
   4677 typedef struct _Rejected     /* CHOICE */
   4678 {
   4679     uint16 index;
   4680     /* (NULL) connectionsNotAvailable */
   4681     /* (NULL) userRejected */
   4682     /*[...]*/
   4683 } S_Rejected;
   4684 typedef S_Rejected *PS_Rejected;
   4685 
   4686 /*-------------------------------------------------------*/
   4687 
   4688 typedef struct _MultilinkIndication     /* CHOICE */
   4689 {
   4690     uint16 index;
   4691     union
   4692     {
   4693         struct _NonStandardMessage *nonStandard;
   4694         struct _CrcDesired *crcDesired;
   4695         struct _ExcessiveError *excessiveError;
   4696         /*[...]*/
   4697     };
   4698 } S_MultilinkIndication;
   4699 typedef S_MultilinkIndication *PS_MultilinkIndication;
   4700 
   4701 /*-------------------------------------------------------*/
   4702 
   4703 typedef struct _CrcDesired     /* SEQUENCE */
   4704 {
   4705     uint8(empty_sequence);
   4706     /*[...]*/
   4707 } S_CrcDesired;
   4708 typedef S_CrcDesired *PS_CrcDesired;
   4709 
   4710 /*-------------------------------------------------------*/
   4711 
   4712 typedef struct _DialingInformation     /* CHOICE */
   4713 {
   4714     uint16 index;
   4715     union
   4716     {
   4717         struct _NonStandardMessage *nonStandard;
   4718         struct _DialingInformationNumber *differential;
   4719         uint16 infoNotAvailable;
   4720         /*[...]*/
   4721     };
   4722     uint16 size;
   4723 } S_DialingInformation;
   4724 typedef S_DialingInformation *PS_DialingInformation;
   4725 
   4726 /*-------------------------------------------------------*/
   4727 
   4728 typedef struct _AddConnection     /* SEQUENCE */
   4729 {
   4730     uint8 sequenceNumber;
   4731     struct _DialingInformation dialingInformation;
   4732     /*[...]*/
   4733 } S_AddConnection;
   4734 typedef S_AddConnection *PS_AddConnection;
   4735 
   4736 /*-------------------------------------------------------*/
   4737 
   4738 typedef struct _RespCallInformation     /* SEQUENCE */
   4739 {
   4740     struct _DialingInformation dialingInformation;
   4741     uint32 callAssociationNumber;
   4742     /*[...]*/
   4743 } S_RespCallInformation;
   4744 typedef S_RespCallInformation *PS_RespCallInformation;
   4745 
   4746 /*-------------------------------------------------------*/
   4747 
   4748 typedef struct _DialingInformationNumber     /* SEQUENCE */
   4749 {
   4750 uint32 option_of_subAddress :
   4751     1;
   4752     S_int8STRING networkAddress;
   4753     S_int8STRING subAddress;
   4754     uint16 size_of_networkType;
   4755     struct _DialingInformationNetworkType *networkType;
   4756     /*[...]*/
   4757 } S_DialingInformationNumber;
   4758 typedef S_DialingInformationNumber *PS_DialingInformationNumber;
   4759 
   4760 /*-------------------------------------------------------*/
   4761 
   4762 typedef struct _DialingInformationNetworkType     /* CHOICE */
   4763 {
   4764     uint16 index;
   4765     union
   4766     {
   4767         struct _NonStandardMessage *nonStandard;
   4768         /* (NULL) n_isdn */
   4769         /* (NULL) gstn */
   4770         /*[...]*/
   4771     };
   4772 } S_DialingInformationNetworkType;
   4773 typedef S_DialingInformationNetworkType *PS_DialingInformationNetworkType;
   4774 
   4775 /*-------------------------------------------------------*/
   4776 
   4777 typedef struct _ConnectionIdentifier     /* SEQUENCE */
   4778 {
   4779     uint32 channelTag;
   4780     uint32 sequenceNumber;
   4781     /*[...]*/
   4782 } S_ConnectionIdentifier;
   4783 typedef S_ConnectionIdentifier *PS_ConnectionIdentifier;
   4784 
   4785 /*-------------------------------------------------------*/
   4786 
   4787 typedef struct _RemoveConnection     /* SEQUENCE */
   4788 {
   4789     struct _ConnectionIdentifier connectionIdentifier;
   4790     /*[...]*/
   4791 } S_RemoveConnection;
   4792 typedef S_RemoveConnection *PS_RemoveConnection;
   4793 
   4794 /*-------------------------------------------------------*/
   4795 
   4796 typedef struct _RespRemoveConnection     /* SEQUENCE */
   4797 {
   4798     struct _ConnectionIdentifier connectionIdentifier;
   4799     /*[...]*/
   4800 } S_RespRemoveConnection;
   4801 typedef S_RespRemoveConnection *PS_RespRemoveConnection;
   4802 
   4803 /*-------------------------------------------------------*/
   4804 
   4805 typedef struct _ExcessiveError     /* SEQUENCE */
   4806 {
   4807     struct _ConnectionIdentifier connectionIdentifier;
   4808     /*[...]*/
   4809 } S_ExcessiveError;
   4810 typedef S_ExcessiveError *PS_ExcessiveError;
   4811 
   4812 /*-------------------------------------------------------*/
   4813 
   4814 typedef struct _LogicalChannelRateRequest     /* SEQUENCE */
   4815 {
   4816     uint8 sequenceNumber;
   4817     uint16 logicalChannelNumber;
   4818     uint32 maximumBitRate;
   4819     /*[...]*/
   4820 } S_LogicalChannelRateRequest;
   4821 typedef S_LogicalChannelRateRequest *PS_LogicalChannelRateRequest;
   4822 
   4823 /*-------------------------------------------------------*/
   4824 
   4825 typedef struct _LogicalChannelRateAcknowledge     /* SEQUENCE */
   4826 {
   4827     uint8 sequenceNumber;
   4828     uint16 logicalChannelNumber;
   4829     uint32 maximumBitRate;
   4830     /*[...]*/
   4831 } S_LogicalChannelRateAcknowledge;
   4832 typedef S_LogicalChannelRateAcknowledge *PS_LogicalChannelRateAcknowledge;
   4833 
   4834 /*-------------------------------------------------------*/
   4835 
   4836 typedef struct _LogicalChannelRateRejectReason     /* CHOICE */
   4837 {
   4838     uint16 index;
   4839     /* (NULL) undefinedReason */
   4840     /* (NULL) insufficientResources */
   4841     /*[...]*/
   4842 } S_LogicalChannelRateRejectReason;
   4843 typedef S_LogicalChannelRateRejectReason *PS_LogicalChannelRateRejectReason;
   4844 
   4845 /*-------------------------------------------------------*/
   4846 
   4847 typedef struct _LogicalChannelRateReject     /* SEQUENCE */
   4848 {
   4849 uint32 option_of_currentMaximumBitRate :
   4850     1;
   4851     uint8 sequenceNumber;
   4852     uint16 logicalChannelNumber;
   4853     struct _LogicalChannelRateRejectReason rejectReason;
   4854     uint32 currentMaximumBitRate;
   4855     /*[...]*/
   4856 } S_LogicalChannelRateReject;
   4857 typedef S_LogicalChannelRateReject *PS_LogicalChannelRateReject;
   4858 
   4859 /*-------------------------------------------------------*/
   4860 
   4861 typedef struct _LogicalChannelRateRelease     /* SEQUENCE */
   4862 {
   4863     uint8(empty_sequence);
   4864     /*[...]*/
   4865 } S_LogicalChannelRateRelease;
   4866 typedef S_LogicalChannelRateRelease *PS_LogicalChannelRateRelease;
   4867 
   4868 /*-------------------------------------------------------*/
   4869 
   4870 typedef struct _SendTerminalCapabilitySet     /* CHOICE */
   4871 {
   4872     uint16 index;
   4873     union
   4874     {
   4875         struct _SpecificRequest *specificRequest;
   4876         /* (NULL) genericRequest */
   4877         /*[...]*/
   4878     };
   4879 } S_SendTerminalCapabilitySet;
   4880 typedef S_SendTerminalCapabilitySet *PS_SendTerminalCapabilitySet;
   4881 
   4882 /*-------------------------------------------------------*/
   4883 
   4884 typedef struct _SpecificRequest     /* SEQUENCE */
   4885 {
   4886 uint32 option_of_capabilityTableEntryNumbers :
   4887     1;
   4888 uint32 option_of_capabilityDescriptorNumbers :
   4889     1;
   4890 uint32 multiplexCapability :
   4891     1;
   4892     uint16 size_of_capabilityTableEntryNumbers;
   4893     uint32* capabilityTableEntryNumbers;
   4894     uint16 size_of_capabilityDescriptorNumbers;
   4895     uint32* capabilityDescriptorNumbers;
   4896     /*[...]*/
   4897 } S_SpecificRequest;
   4898 typedef S_SpecificRequest *PS_SpecificRequest;
   4899 
   4900 /*-------------------------------------------------------*/
   4901 
   4902 typedef struct _EncryptionCommand     /* CHOICE */
   4903 {
   4904     uint16 index;
   4905     union
   4906     {
   4907         PS_OCTETSTRING encryptionSE;
   4908         /* (NULL) encryptionIVRequest */
   4909         struct _EncryptionAlgorithmID *encryptionAlgorithmID;
   4910         /*[...]*/
   4911     };
   4912 } S_EncryptionCommand;
   4913 typedef S_EncryptionCommand *PS_EncryptionCommand;
   4914 
   4915 /*-------------------------------------------------------*/
   4916 
   4917 typedef struct _EncryptionAlgorithmID     /* SEQUENCE */
   4918 {
   4919     uint8 h233AlgorithmIdentifier;
   4920     struct _NonStandardParameter associatedAlgorithm;
   4921 } S_EncryptionAlgorithmID;
   4922 typedef S_EncryptionAlgorithmID *PS_EncryptionAlgorithmID;
   4923 
   4924 /*-------------------------------------------------------*/
   4925 
   4926 typedef struct _FccRestriction     /* CHOICE */
   4927 {
   4928     uint16 index;
   4929     union
   4930     {
   4931         uint32 maximumBitRate;
   4932         /* (NULL) noRestriction */
   4933     };
   4934 } S_FccRestriction;
   4935 typedef S_FccRestriction *PS_FccRestriction;
   4936 
   4937 /*-------------------------------------------------------*/
   4938 
   4939 typedef struct _FccScope     /* CHOICE */
   4940 {
   4941     uint16 index;
   4942     union
   4943     {
   4944         uint16 logicalChannelNumber;
   4945         uint16 resourceID;
   4946         /* (NULL) wholeMultiplex */
   4947     };
   4948 } S_FccScope;
   4949 typedef S_FccScope *PS_FccScope;
   4950 
   4951 /*-------------------------------------------------------*/
   4952 
   4953 typedef struct _FlowControlCommand     /* SEQUENCE */
   4954 {
   4955     struct _FccScope fccScope;
   4956     struct _FccRestriction fccRestriction;
   4957     /*[...]*/
   4958 } S_FlowControlCommand;
   4959 typedef S_FlowControlCommand *PS_FlowControlCommand;
   4960 
   4961 /*-------------------------------------------------------*/
   4962 
   4963 typedef struct _EndSessionCommand     /* CHOICE */
   4964 {
   4965     uint16 index;
   4966     union
   4967     {
   4968         struct _NonStandardParameter *nonStandard;
   4969         /* (NULL) disconnect */
   4970         struct _GstnOptions *gstnOptions;
   4971         /*[...]*/
   4972         struct _IsdnOptions *isdnOptions;
   4973     };
   4974 } S_EndSessionCommand;
   4975 typedef S_EndSessionCommand *PS_EndSessionCommand;
   4976 
   4977 /*-------------------------------------------------------*/
   4978 
   4979 typedef struct _IsdnOptions     /* CHOICE */
   4980 {
   4981     uint16 index;
   4982     /* (NULL) telephonyMode */
   4983     /* (NULL) v140 */
   4984     /* (NULL) terminalOnHold */
   4985     /*[...]*/
   4986 } S_IsdnOptions;
   4987 typedef S_IsdnOptions *PS_IsdnOptions;
   4988 
   4989 /*-------------------------------------------------------*/
   4990 
   4991 typedef struct _GstnOptions     /* CHOICE */
   4992 {
   4993     uint16 index;
   4994     /* (NULL) telephonyMode */
   4995     /* (NULL) v8bis */
   4996     /* (NULL) v34DSVD */
   4997     /* (NULL) v34DuplexFAX */
   4998     /* (NULL) v34H324 */
   4999     /*[...]*/
   5000 } S_GstnOptions;
   5001 typedef S_GstnOptions *PS_GstnOptions;
   5002 
   5003 /*-------------------------------------------------------*/
   5004 
   5005 typedef struct _ConferenceCommand     /* CHOICE */
   5006 {
   5007     uint16 index;
   5008     union
   5009     {
   5010         uint16 broadcastMyLogicalChannel;
   5011         uint16 cancelBroadcastMyLogicalChannel;
   5012         struct _TerminalLabel *makeTerminalBroadcaster;
   5013         /* (NULL) cancelMakeTerminalBroadcaster */
   5014         struct _TerminalLabel *sendThisSource;
   5015         /* (NULL) cancelSendThisSource */
   5016         /* (NULL) dropConference */
   5017         /*[...]*/
   5018         struct _SubstituteConferenceIDCommand *substituteConferenceIDCommand;
   5019     };
   5020 } S_ConferenceCommand;
   5021 typedef S_ConferenceCommand *PS_ConferenceCommand;
   5022 
   5023 /*-------------------------------------------------------*/
   5024 
   5025 typedef struct _SubstituteConferenceIDCommand     /* SEQUENCE */
   5026 {
   5027     S_OCTETSTRING conferenceIdentifier;
   5028     /*[...]*/
   5029 } S_SubstituteConferenceIDCommand;
   5030 typedef S_SubstituteConferenceIDCommand *PS_SubstituteConferenceIDCommand;
   5031 
   5032 /*-------------------------------------------------------*/
   5033 
   5034 typedef struct _McType     /* CHOICE */
   5035 {
   5036     uint16 index;
   5037     union
   5038     {
   5039         /* (NULL) equaliseDelay */
   5040         /* (NULL) zeroDelay */
   5041         /* (NULL) multipointModeCommand */
   5042         /* (NULL) cancelMultipointModeCommand */
   5043         /* (NULL) videoFreezePicture */
   5044         /* (NULL) videoFastUpdatePicture */
   5045         struct _VideoFastUpdateGOB *videoFastUpdateGOB;
   5046         uint8 videoTemporalSpatialTradeOff;
   5047         /* (NULL) videoSendSyncEveryGOB */
   5048         /* (NULL) videoSendSyncEveryGOBCancel */
   5049         /*[...]*/
   5050         struct _VideoFastUpdateMB *videoFastUpdateMB;
   5051         uint16 maxH223MUXPDUsize;
   5052         struct _EncryptionSync *encryptionUpdate;
   5053         struct _EncryptionUpdateRequest *encryptionUpdateRequest;
   5054         /* (NULL) switchReceiveMediaOff */
   5055         /* (NULL) switchReceiveMediaOn */
   5056         struct _ProgressiveRefinementStart *progressiveRefinementStart;
   5057         /* (NULL) progressiveRefinementAbortOne */
   5058         /* (NULL) progressiveRefinementAbortContinuous */
   5059     };
   5060 } S_McType;
   5061 typedef S_McType *PS_McType;
   5062 
   5063 /*-------------------------------------------------------*/
   5064 
   5065 typedef struct _MiscellaneousCommand     /* SEQUENCE */
   5066 {
   5067     uint16 logicalChannelNumber;
   5068     struct _McType mcType;
   5069     /*[...]*/
   5070 } S_MiscellaneousCommand;
   5071 typedef S_MiscellaneousCommand *PS_MiscellaneousCommand;
   5072 
   5073 /*-------------------------------------------------------*/
   5074 
   5075 typedef struct _PrsRepeatCount     /* CHOICE */
   5076 {
   5077     uint16 index;
   5078     /* (NULL) doOneProgression */
   5079     /* (NULL) doContinuousProgressions */
   5080     /* (NULL) doOneIndependentProgression */
   5081     /* (NULL) doContinuousIndependentProgressions */
   5082     /*[...]*/
   5083 } S_PrsRepeatCount;
   5084 typedef S_PrsRepeatCount *PS_PrsRepeatCount;
   5085 
   5086 /*-------------------------------------------------------*/
   5087 
   5088 typedef struct _ProgressiveRefinementStart     /* SEQUENCE */
   5089 {
   5090     struct _PrsRepeatCount prsRepeatCount;
   5091     /*[...]*/
   5092 } S_ProgressiveRefinementStart;
   5093 typedef S_ProgressiveRefinementStart *PS_ProgressiveRefinementStart;
   5094 
   5095 /*-------------------------------------------------------*/
   5096 
   5097 typedef struct _VideoFastUpdateMB     /* SEQUENCE */
   5098 {
   5099 uint32 option_of_firstGOB :
   5100     1;
   5101 uint32 option_of_firstMB :
   5102     1;
   5103     uint8 firstGOB;
   5104     uint16 firstMB;
   5105     uint16 numberOfMBs;
   5106     /*[...]*/
   5107 } S_VideoFastUpdateMB;
   5108 typedef S_VideoFastUpdateMB *PS_VideoFastUpdateMB;
   5109 
   5110 /*-------------------------------------------------------*/
   5111 
   5112 typedef struct _VideoFastUpdateGOB     /* SEQUENCE */
   5113 {
   5114     uint8 firstGOB;
   5115     uint8 numberOfGOBs;
   5116 } S_VideoFastUpdateGOB;
   5117 typedef S_VideoFastUpdateGOB *PS_VideoFastUpdateGOB;
   5118 
   5119 /*-------------------------------------------------------*/
   5120 
   5121 typedef struct _KeyProtectionMethod     /* SEQUENCE */
   5122 {
   5123 uint32 secureChannel :
   5124     1;
   5125 uint32 sharedSecret :
   5126     1;
   5127 uint32 certProtectedKey :
   5128     1;
   5129     /*[...]*/
   5130 } S_KeyProtectionMethod;
   5131 typedef S_KeyProtectionMethod *PS_KeyProtectionMethod;
   5132 
   5133 /*-------------------------------------------------------*/
   5134 
   5135 typedef struct _EncryptionUpdateRequest     /* SEQUENCE */
   5136 {
   5137 uint32 option_of_keyProtectionMethod :
   5138     1;
   5139     struct _KeyProtectionMethod keyProtectionMethod;
   5140     /*[...]*/
   5141 } S_EncryptionUpdateRequest;
   5142 typedef S_EncryptionUpdateRequest *PS_EncryptionUpdateRequest;
   5143 
   5144 /*-------------------------------------------------------*/
   5145 
   5146 typedef struct _H223MultiplexReconfiguration     /* CHOICE */
   5147 {
   5148     uint16 index;
   5149     union
   5150     {
   5151         struct _H223ModeChange *h223ModeChange;
   5152         struct _H223AnnexADoubleFlag *h223AnnexADoubleFlag;
   5153         /*[...]*/
   5154     };
   5155 } S_H223MultiplexReconfiguration;
   5156 typedef S_H223MultiplexReconfiguration *PS_H223MultiplexReconfiguration;
   5157 
   5158 /*-------------------------------------------------------*/
   5159 
   5160 typedef struct _H223AnnexADoubleFlag     /* CHOICE */
   5161 {
   5162     uint16 index;
   5163     /* (NULL) start */
   5164     /* (NULL) stop */
   5165     /*[...]*/
   5166 } S_H223AnnexADoubleFlag;
   5167 typedef S_H223AnnexADoubleFlag *PS_H223AnnexADoubleFlag;
   5168 
   5169 /*-------------------------------------------------------*/
   5170 
   5171 typedef struct _H223ModeChange     /* CHOICE */
   5172 {
   5173     uint16 index;
   5174     /* (NULL) toLevel0 */
   5175     /* (NULL) toLevel1 */
   5176     /* (NULL) toLevel2 */
   5177     /* (NULL) toLevel2withOptionalHeader */
   5178     /*[...]*/
   5179 } S_H223ModeChange;
   5180 typedef S_H223ModeChange *PS_H223ModeChange;
   5181 
   5182 /*-------------------------------------------------------*/
   5183 
   5184 typedef struct _Multiplex     /* CHOICE */
   5185 {
   5186     uint16 index;
   5187     /* (NULL) noMultiplex */
   5188     /* (NULL) transportStream */
   5189     /* (NULL) programStream */
   5190     /*[...]*/
   5191 } S_Multiplex;
   5192 typedef S_Multiplex *PS_Multiplex;
   5193 
   5194 /*-------------------------------------------------------*/
   5195 
   5196 typedef struct _CmdReverseParameters     /* SEQUENCE */
   5197 {
   5198     uint16 bitRate;
   5199 uint32 bitRateLockedToPCRClock :
   5200     1;
   5201 uint32 bitRateLockedToNetworkClock :
   5202     1;
   5203     struct _Multiplex multiplex;
   5204     /*[...]*/
   5205 } S_CmdReverseParameters;
   5206 typedef S_CmdReverseParameters *PS_CmdReverseParameters;
   5207 
   5208 /*-------------------------------------------------------*/
   5209 
   5210 typedef struct _CmdMultiplex     /* CHOICE */
   5211 {
   5212     uint16 index;
   5213     /* (NULL) noMultiplex */
   5214     /* (NULL) transportStream */
   5215     /* (NULL) programStream */
   5216     /*[...]*/
   5217 } S_CmdMultiplex;
   5218 typedef S_CmdMultiplex *PS_CmdMultiplex;
   5219 
   5220 /*-------------------------------------------------------*/
   5221 
   5222 typedef struct _CmdAal     /* CHOICE */
   5223 {
   5224     uint16 index;
   5225     union
   5226     {
   5227         struct _CmdAal1 *cmdAal1;
   5228         struct _CmdAal5 *cmdAal5;
   5229         /*[...]*/
   5230     };
   5231 } S_CmdAal;
   5232 typedef S_CmdAal *PS_CmdAal;
   5233 
   5234 /*-------------------------------------------------------*/
   5235 
   5236 typedef struct _NewATMVCCommand     /* SEQUENCE */
   5237 {
   5238     uint16 resourceID;
   5239     uint16 bitRate;
   5240 uint32 bitRateLockedToPCRClock :
   5241     1;
   5242 uint32 bitRateLockedToNetworkClock :
   5243     1;
   5244     struct _CmdAal cmdAal;
   5245     struct _CmdMultiplex cmdMultiplex;
   5246     struct _CmdReverseParameters cmdReverseParameters;
   5247     /*[...]*/
   5248 } S_NewATMVCCommand;
   5249 typedef S_NewATMVCCommand *PS_NewATMVCCommand;
   5250 
   5251 /*-------------------------------------------------------*/
   5252 
   5253 typedef struct _CmdAal5     /* SEQUENCE */
   5254 {
   5255     uint16 forwardMaximumSDUSize;
   5256     uint16 backwardMaximumSDUSize;
   5257     /*[...]*/
   5258 } S_CmdAal5;
   5259 typedef S_CmdAal5 *PS_CmdAal5;
   5260 
   5261 /*-------------------------------------------------------*/
   5262 
   5263 typedef struct _CmdErrorCorrection     /* CHOICE */
   5264 {
   5265     uint16 index;
   5266     /* (NULL) nullErrorCorrection */
   5267     /* (NULL) longInterleaver */
   5268     /* (NULL) shortInterleaver */
   5269     /* (NULL) errorCorrectionOnly */
   5270     /*[...]*/
   5271 } S_CmdErrorCorrection;
   5272 typedef S_CmdErrorCorrection *PS_CmdErrorCorrection;
   5273 
   5274 /*-------------------------------------------------------*/
   5275 
   5276 typedef struct _CmdClockRecovery     /* CHOICE */
   5277 {
   5278     uint16 index;
   5279     /* (NULL) nullClockRecovery */
   5280     /* (NULL) srtsClockRecovery */
   5281     /* (NULL) adaptiveClockRecovery */
   5282     /*[...]*/
   5283 } S_CmdClockRecovery;
   5284 typedef S_CmdClockRecovery *PS_CmdClockRecovery;
   5285 
   5286 /*-------------------------------------------------------*/
   5287 
   5288 typedef struct _CmdAal1     /* SEQUENCE */
   5289 {
   5290     struct _CmdClockRecovery cmdClockRecovery;
   5291     struct _CmdErrorCorrection cmdErrorCorrection;
   5292 uint32 structuredDataTransfer :
   5293     1;
   5294 uint32 partiallyFilledCells :
   5295     1;
   5296     /*[...]*/
   5297 } S_CmdAal1;
   5298 typedef S_CmdAal1 *PS_CmdAal1;
   5299 
   5300 /*-------------------------------------------------------*/
   5301 
   5302 typedef struct _FunctionNotUnderstood     /* CHOICE */
   5303 {
   5304     uint16 index;
   5305     union
   5306     {
   5307         struct _RequestMessage *request;
   5308         struct _ResponseMessage *response;
   5309         struct _CommandMessage *command;
   5310     };
   5311 } S_FunctionNotUnderstood;
   5312 typedef S_FunctionNotUnderstood *PS_FunctionNotUnderstood;
   5313 
   5314 /*-------------------------------------------------------*/
   5315 
   5316 typedef struct _FnsCause     /* CHOICE */
   5317 {
   5318     uint16 index;
   5319     /* (NULL) syntaxError */
   5320     /* (NULL) semanticError */
   5321     /* (NULL) unknownFunction */
   5322     /*[...]*/
   5323 } S_FnsCause;
   5324 typedef S_FnsCause *PS_FnsCause;
   5325 
   5326 /*-------------------------------------------------------*/
   5327 
   5328 typedef struct _FunctionNotSupported     /* SEQUENCE */
   5329 {
   5330 uint32 option_of_returnedFunction :
   5331     1;
   5332     struct _FnsCause fnsCause;
   5333     S_OCTETSTRING returnedFunction;
   5334     /*[...]*/
   5335 } S_FunctionNotSupported;
   5336 typedef S_FunctionNotSupported *PS_FunctionNotSupported;
   5337 
   5338 /*-------------------------------------------------------*/
   5339 
   5340 typedef struct _ConferenceIndication     /* CHOICE */
   5341 {
   5342     uint16 index;
   5343     union
   5344     {
   5345         uint8 sbeNumber;
   5346         struct _TerminalLabel *terminalNumberAssign;
   5347         struct _TerminalLabel *terminalJoinedConference;
   5348         struct _TerminalLabel *terminalLeftConference;
   5349         /* (NULL) seenByAtLeastOneOther */
   5350         /* (NULL) cancelSeenByAtLeastOneOther */
   5351         /* (NULL) seenByAll */
   5352         /* (NULL) cancelSeenByAll */
   5353         struct _TerminalLabel *terminalYouAreSeeing;
   5354         /* (NULL) requestForFloor */
   5355         /*[...]*/
   5356         /* (NULL) withdrawChairToken */
   5357         struct _TerminalLabel *floorRequested;
   5358         struct _TerminalYouAreSeeingInSubPictureNumber *terminalYouAreSeeingInSubPictureNumber;
   5359         struct _VideoIndicateCompose *videoIndicateCompose;
   5360     };
   5361 } S_ConferenceIndication;
   5362 typedef S_ConferenceIndication *PS_ConferenceIndication;
   5363 
   5364 /*-------------------------------------------------------*/
   5365 
   5366 typedef struct _TerminalYouAreSeeingInSubPictureNumber     /* SEQUENCE */
   5367 {
   5368     uint8 terminalNumber;
   5369     uint8 subPictureNumber;
   5370     /*[...]*/
   5371 } S_TerminalYouAreSeeingInSubPictureNumber;
   5372 typedef S_TerminalYouAreSeeingInSubPictureNumber *PS_TerminalYouAreSeeingInSubPictureNumber;
   5373 
   5374 /*-------------------------------------------------------*/
   5375 
   5376 typedef struct _VideoIndicateCompose     /* SEQUENCE */
   5377 {
   5378     uint8 compositionNumber;
   5379     /*[...]*/
   5380 } S_VideoIndicateCompose;
   5381 typedef S_VideoIndicateCompose *PS_VideoIndicateCompose;
   5382 
   5383 /*-------------------------------------------------------*/
   5384 
   5385 typedef struct _MiType     /* CHOICE */
   5386 {
   5387     uint16 index;
   5388     union
   5389     {
   5390         /* (NULL) logicalChannelActive */
   5391         /* (NULL) logicalChannelInactive */
   5392         /* (NULL) multipointConference */
   5393         /* (NULL) cancelMultipointConference */
   5394         /* (NULL) multipointZeroComm */
   5395         /* (NULL) cancelMultipointZeroComm */
   5396         /* (NULL) multipointSecondaryStatus */
   5397         /* (NULL) cancelMultipointSecondaryStatus */
   5398         /* (NULL) videoIndicateReadyToActivate */
   5399         uint8 videoTemporalSpatialTradeOff;
   5400         /*[...]*/
   5401         struct _VideoNotDecodedMBs *videoNotDecodedMBs;
   5402         struct _TransportCapability *transportCapability;
   5403     };
   5404 } S_MiType;
   5405 typedef S_MiType *PS_MiType;
   5406 
   5407 /*-------------------------------------------------------*/
   5408 
   5409 typedef struct _MiscellaneousIndication     /* SEQUENCE */
   5410 {
   5411     uint16 logicalChannelNumber;
   5412     struct _MiType miType;
   5413     /*[...]*/
   5414 } S_MiscellaneousIndication;
   5415 typedef S_MiscellaneousIndication *PS_MiscellaneousIndication;
   5416 
   5417 /*-------------------------------------------------------*/
   5418 
   5419 typedef struct _VideoNotDecodedMBs     /* SEQUENCE */
   5420 {
   5421     uint16 firstMB;
   5422     uint16 numberOfMBs;
   5423     uint8 temporalReference;
   5424     /*[...]*/
   5425 } S_VideoNotDecodedMBs;
   5426 typedef S_VideoNotDecodedMBs *PS_VideoNotDecodedMBs;
   5427 
   5428 /*-------------------------------------------------------*/
   5429 
   5430 typedef struct _JiScope     /* CHOICE */
   5431 {
   5432     uint16 index;
   5433     union
   5434     {
   5435         uint16 logicalChannelNumber;
   5436         uint16 resourceID;
   5437         /* (NULL) wholeMultiplex */
   5438     };
   5439 } S_JiScope;
   5440 typedef S_JiScope *PS_JiScope;
   5441 
   5442 /*-------------------------------------------------------*/
   5443 
   5444 typedef struct _JitterIndication     /* SEQUENCE */
   5445 {
   5446 uint32 option_of_skippedFrameCount :
   5447     1;
   5448 uint32 option_of_additionalDecoderBuffer :
   5449     1;
   5450     struct _JiScope jiScope;
   5451     uint8 estimatedReceivedJitterMantissa;
   5452     uint8 estimatedReceivedJitterExponent;
   5453     uint8 skippedFrameCount;
   5454     uint32 additionalDecoderBuffer;
   5455     /*[...]*/
   5456 } S_JitterIndication;
   5457 typedef S_JitterIndication *PS_JitterIndication;
   5458 
   5459 /*-------------------------------------------------------*/
   5460 
   5461 typedef struct _H223SkewIndication     /* SEQUENCE */
   5462 {
   5463     uint16 logicalChannelNumber1;
   5464     uint16 logicalChannelNumber2;
   5465     uint16 skew;
   5466     /*[...]*/
   5467 } S_H223SkewIndication;
   5468 typedef S_H223SkewIndication *PS_H223SkewIndication;
   5469 
   5470 /*-------------------------------------------------------*/
   5471 
   5472 typedef struct _H2250MaximumSkewIndication     /* SEQUENCE */
   5473 {
   5474     uint16 logicalChannelNumber1;
   5475     uint16 logicalChannelNumber2;
   5476     uint16 maximumSkew;
   5477     /*[...]*/
   5478 } S_H2250MaximumSkewIndication;
   5479 typedef S_H2250MaximumSkewIndication *PS_H2250MaximumSkewIndication;
   5480 
   5481 /*-------------------------------------------------------*/
   5482 
   5483 typedef struct _MCLocationIndication     /* SEQUENCE */
   5484 {
   5485     struct _TransportAddress signalAddress;
   5486     /*[...]*/
   5487 } S_MCLocationIndication;
   5488 typedef S_MCLocationIndication *PS_MCLocationIndication;
   5489 
   5490 /*-------------------------------------------------------*/
   5491 
   5492 typedef struct _VendorIdentification     /* SEQUENCE */
   5493 {
   5494 uint32 option_of_productNumber :
   5495     1;
   5496 uint32 option_of_versionNumber :
   5497     1;
   5498     struct _NonStandardIdentifier vendor;
   5499     S_OCTETSTRING productNumber;
   5500     S_OCTETSTRING versionNumber;
   5501     /*[...]*/
   5502 } S_VendorIdentification;
   5503 typedef S_VendorIdentification *PS_VendorIdentification;
   5504 
   5505 /*-------------------------------------------------------*/
   5506 
   5507 typedef struct _IrpMultiplex     /* CHOICE */
   5508 {
   5509     uint16 index;
   5510     /* (NULL) noMultiplex */
   5511     /* (NULL) transportStream */
   5512     /* (NULL) programStream */
   5513     /*[...]*/
   5514 } S_IrpMultiplex;
   5515 typedef S_IrpMultiplex *PS_IrpMultiplex;
   5516 
   5517 /*-------------------------------------------------------*/
   5518 
   5519 typedef struct _IndReverseParameters     /* SEQUENCE */
   5520 {
   5521     uint16 bitRate;
   5522 uint32 bitRateLockedToPCRClock :
   5523     1;
   5524 uint32 bitRateLockedToNetworkClock :
   5525     1;
   5526     struct _IrpMultiplex irpMultiplex;
   5527     /*[...]*/
   5528 } S_IndReverseParameters;
   5529 typedef S_IndReverseParameters *PS_IndReverseParameters;
   5530 
   5531 /*-------------------------------------------------------*/
   5532 
   5533 typedef struct _IndMultiplex     /* CHOICE */
   5534 {
   5535     uint16 index;
   5536     /* (NULL) noMultiplex */
   5537     /* (NULL) transportStream */
   5538     /* (NULL) programStream */
   5539     /*[...]*/
   5540 } S_IndMultiplex;
   5541 typedef S_IndMultiplex *PS_IndMultiplex;
   5542 
   5543 /*-------------------------------------------------------*/
   5544 
   5545 typedef struct _IndAal     /* CHOICE */
   5546 {
   5547     uint16 index;
   5548     union
   5549     {
   5550         struct _IndAal1 *indAal1;
   5551         struct _IndAal5 *indAal5;
   5552         /*[...]*/
   5553     };
   5554 } S_IndAal;
   5555 typedef S_IndAal *PS_IndAal;
   5556 
   5557 /*-------------------------------------------------------*/
   5558 
   5559 typedef struct _NewATMVCIndication     /* SEQUENCE */
   5560 {
   5561     uint16 resourceID;
   5562     uint16 bitRate;
   5563 uint32 bitRateLockedToPCRClock :
   5564     1;
   5565 uint32 bitRateLockedToNetworkClock :
   5566     1;
   5567     struct _IndAal indAal;
   5568     struct _IndMultiplex indMultiplex;
   5569     /*[...]*/
   5570 uint32 option_of_indReverseParameters :
   5571     1;
   5572     struct _IndReverseParameters indReverseParameters;
   5573 } S_NewATMVCIndication;
   5574 typedef S_NewATMVCIndication *PS_NewATMVCIndication;
   5575 
   5576 /*-------------------------------------------------------*/
   5577 
   5578 typedef struct _IndAal5     /* SEQUENCE */
   5579 {
   5580     uint16 forwardMaximumSDUSize;
   5581     uint16 backwardMaximumSDUSize;
   5582     /*[...]*/
   5583 } S_IndAal5;
   5584 typedef S_IndAal5 *PS_IndAal5;
   5585 
   5586 /*-------------------------------------------------------*/
   5587 
   5588 typedef struct _IndErrorCorrection     /* CHOICE */
   5589 {
   5590     uint16 index;
   5591     /* (NULL) nullErrorCorrection */
   5592     /* (NULL) longInterleaver */
   5593     /* (NULL) shortInterleaver */
   5594     /* (NULL) errorCorrectionOnly */
   5595     /*[...]*/
   5596 } S_IndErrorCorrection;
   5597 typedef S_IndErrorCorrection *PS_IndErrorCorrection;
   5598 
   5599 /*-------------------------------------------------------*/
   5600 
   5601 typedef struct _IndClockRecovery     /* CHOICE */
   5602 {
   5603     uint16 index;
   5604     /* (NULL) nullClockRecovery */
   5605     /* (NULL) srtsClockRecovery */
   5606     /* (NULL) adaptiveClockRecovery */
   5607     /*[...]*/
   5608 } S_IndClockRecovery;
   5609 typedef S_IndClockRecovery *PS_IndClockRecovery;
   5610 
   5611 /*-------------------------------------------------------*/
   5612 
   5613 typedef struct _IndAal1     /* SEQUENCE */
   5614 {
   5615     struct _IndClockRecovery indClockRecovery;
   5616     struct _IndErrorCorrection indErrorCorrection;
   5617 uint32 structuredDataTransfer :
   5618     1;
   5619 uint32 partiallyFilledCells :
   5620     1;
   5621     /*[...]*/
   5622 } S_IndAal1;
   5623 typedef S_IndAal1 *PS_IndAal1;
   5624 
   5625 /*-------------------------------------------------------*/
   5626 
   5627 typedef struct _UserInputIndication     /* CHOICE */
   5628 {
   5629     uint16 index;
   5630     union
   5631     {
   5632         struct _NonStandardParameter *nonStandard;
   5633         PS_int8STRING alphanumeric;
   5634         /*[...]*/
   5635         struct _UserInputSupportIndication *userInputSupportIndication;
   5636         struct _Signal *signal;
   5637         struct _SignalUpdate *signalUpdate;
   5638     };
   5639 } S_UserInputIndication;
   5640 typedef S_UserInputIndication *PS_UserInputIndication;
   5641 
   5642 /*-------------------------------------------------------*/
   5643 
   5644 typedef struct _Rtp     /* SEQUENCE */
   5645 {
   5646     uint16 logicalChannelNumber;
   5647     /*[...]*/
   5648 } S_Rtp;
   5649 typedef S_Rtp *PS_Rtp;
   5650 
   5651 /*-------------------------------------------------------*/
   5652 
   5653 typedef struct _SignalUpdate     /* SEQUENCE */
   5654 {
   5655 uint32 option_of_rtp :
   5656     1;
   5657     uint16 duration;
   5658     struct _Rtp rtp;
   5659     /*[...]*/
   5660 } S_SignalUpdate;
   5661 typedef S_SignalUpdate *PS_SignalUpdate;
   5662 
   5663 /*-------------------------------------------------------*/
   5664 
   5665 typedef struct _SignalRtp     /* SEQUENCE */
   5666 {
   5667 uint32 option_of_timestamp :
   5668     1;
   5669 uint32 option_of_expirationTime :
   5670     1;
   5671     uint32 timestamp;
   5672     uint32 expirationTime;
   5673     uint16 logicalChannelNumber;
   5674     /*[...]*/
   5675 } S_SignalRtp;
   5676 typedef S_SignalRtp *PS_SignalRtp;
   5677 
   5678 /*-------------------------------------------------------*/
   5679 
   5680 typedef struct _Signal     /* SEQUENCE */
   5681 {
   5682 uint32 option_of_duration :
   5683     1;
   5684 uint32 option_of_signalRtp :
   5685     1;
   5686     S_int8STRING signalType;
   5687     uint16 duration;
   5688     struct _SignalRtp signalRtp;
   5689     /*[...]*/
   5690 } S_Signal;
   5691 typedef S_Signal *PS_Signal;
   5692 
   5693 /*-------------------------------------------------------*/
   5694 
   5695 typedef struct _UserInputSupportIndication     /* CHOICE */
   5696 {
   5697     uint16 index;
   5698     union
   5699     {
   5700         struct _NonStandardParameter *nonStandard;
   5701         /* (NULL) basicString */
   5702         /* (NULL) iA5String */
   5703         /* (NULL) generalString */
   5704         /*[...]*/
   5705     };
   5706 } S_UserInputSupportIndication;
   5707 typedef S_UserInputSupportIndication *PS_UserInputSupportIndication;
   5708 
   5709 /*-------------------------------------------------------*/
   5710 
   5711 typedef struct _FciRestriction     /* CHOICE */
   5712 {
   5713     uint16 index;
   5714     union
   5715     {
   5716         uint32 maximumBitRate;
   5717         /* (NULL) noRestriction */
   5718     };
   5719 } S_FciRestriction;
   5720 typedef S_FciRestriction *PS_FciRestriction;
   5721 
   5722 /*-------------------------------------------------------*/
   5723 
   5724 typedef struct _FciScope     /* CHOICE */
   5725 {
   5726     uint16 index;
   5727     union
   5728     {
   5729         uint16 logicalChannelNumber;
   5730         uint16 resourceID;
   5731         /* (NULL) wholeMultiplex */
   5732     };
   5733 } S_FciScope;
   5734 typedef S_FciScope *PS_FciScope;
   5735 
   5736 /*-------------------------------------------------------*/
   5737 
   5738 typedef struct _FlowControlIndication     /* SEQUENCE */
   5739 {
   5740     struct _FciScope fciScope;
   5741     struct _FciRestriction fciRestriction;
   5742     /*[...]*/
   5743 } S_FlowControlIndication;
   5744 typedef S_FlowControlIndication *PS_FlowControlIndication;
   5745 
   5746 /*-------------------------------------------------------*/
   5747 
   5748 #endif
   5749