• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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