1MULTIMEDIA-SYSTEM-CONTROL DEFINITIONS AUTOMATIC TAGS ::=
2BEGIN
3
4-- Export all symbols
5
6-- ===================================================================================
7-- Top level Messages
8-- ===================================================================================
9
10MultimediaSystemControlMessage	::=CHOICE
11{
12	request	RequestMessage,
13	response	ResponseMessage,
14	command	CommandMessage,
15	indication	IndicationMessage,
16	...
17}
18
19-- A RequestMessage results in action and requires an immediate response
20
21RequestMessage	::=CHOICE
22{
23	nonStandard	NonStandardMessage,
24
25	masterSlaveDetermination	MasterSlaveDetermination,
26
27	terminalCapabilitySet	TerminalCapabilitySet,
28
29	openLogicalChannel	OpenLogicalChannel,
30	closeLogicalChannel	CloseLogicalChannel,
31
32	requestChannelClose	RequestChannelClose,
33
34	multiplexEntrySend	MultiplexEntrySend,
35
36	requestMultiplexEntry	RequestMultiplexEntry,
37
38	requestMode	RequestMode,
39
40	roundTripDelayRequest	RoundTripDelayRequest,
41
42	maintenanceLoopRequest	MaintenanceLoopRequest,
43
44	...,
45	communicationModeRequest	CommunicationModeRequest,
46	conferenceRequest	ConferenceRequest
47}
48
49-- A ResponseMessage is the response to a request Message
50
51ResponseMessage	::=CHOICE
52{
53	nonStandard	NonStandardMessage,
54
55	masterSlaveDeterminationAck	MasterSlaveDeterminationAck,
56	masterSlaveDeterminationReject	MasterSlaveDeterminationReject,
57
58	terminalCapabilitySetAck	TerminalCapabilitySetAck,
59	terminalCapabilitySetReject	TerminalCapabilitySetReject,
60
61	openLogicalChannelAck	OpenLogicalChannelAck,
62	openLogicalChannelReject	OpenLogicalChannelReject,
63	closeLogicalChannelAck	CloseLogicalChannelAck,
64
65	requestChannelCloseAck	RequestChannelCloseAck,
66	requestChannelCloseReject	RequestChannelCloseReject,
67
68	multiplexEntrySendAck	MultiplexEntrySendAck,
69	multiplexEntrySendReject	MultiplexEntrySendReject,
70
71	requestMultiplexEntryAck	RequestMultiplexEntryAck,
72	requestMultiplexEntryReject	RequestMultiplexEntryReject,
73
74	requestModeAck	RequestModeAck,
75	requestModeReject	RequestModeReject,
76
77	roundTripDelayResponse	RoundTripDelayResponse,
78
79	maintenanceLoopAck	MaintenanceLoopAck,
80	maintenanceLoopReject	MaintenanceLoopReject,
81
82	...,
83	communicationModeResponse	CommunicationModeResponse,
84
85	conferenceResponse	ConferenceResponse
86
87
88}
89
90-- A CommandMessage requires action, but no explicit response
91
92CommandMessage	::=CHOICE
93{
94	nonStandard	NonStandardMessage,
95
96	maintenanceLoopOffCommand	MaintenanceLoopOffCommand,
97
98	sendTerminalCapabilitySet	SendTerminalCapabilitySet,
99
100	encryptionCommand	EncryptionCommand,
101
102	flowControlCommand	FlowControlCommand,
103
104	endSessionCommand	EndSessionCommand,
105
106	miscellaneousCommand	MiscellaneousCommand,
107
108	...,
109	communicationModeCommand	CommunicationModeCommand,
110
111	conferenceCommand	ConferenceCommand,
112
113	h223MultiplexReconfiguration	H223MultiplexReconfiguration
114
115}
116
117-- An IndicationMessage is information that does not require action or response
118
119IndicationMessage	::=CHOICE
120{
121	nonStandard	NonStandardMessage,
122
123	functionNotUnderstood	FunctionNotUnderstood,
124
125	masterSlaveDeterminationRelease	MasterSlaveDeterminationRelease,
126
127	terminalCapabilitySetRelease	TerminalCapabilitySetRelease,
128
129	openLogicalChannelConfirm	OpenLogicalChannelConfirm,
130
131	requestChannelCloseRelease	RequestChannelCloseRelease,
132
133	multiplexEntrySendRelease	MultiplexEntrySendRelease,
134
135	requestMultiplexEntryRelease	RequestMultiplexEntryRelease,
136
137	requestModeRelease	RequestModeRelease,
138
139	miscellaneousIndication	MiscellaneousIndication,
140
141	jitterIndication	JitterIndication,
142
143	h223SkewIndication	H223SkewIndication,
144
145	newATMVCIndication	NewATMVCIndication,
146
147	userInput	UserInputIndication,
148	...,
149	h2250MaximumSkewIndication	H2250MaximumSkewIndication,
150
151	mcLocationIndication	MCLocationIndication,
152
153	conferenceIndication	ConferenceIndication,
154
155	vendorIdentification	VendorIdentification,
156
157	functionNotSupported	FunctionNotSupported
158
159}
160
161-- SequenceNumber is defined here as it is used in a number of Messages
162SequenceNumber	::=INTEGER (0..255)
163
164-- ===================================================================================
165-- Non standard Message definitions
166-- ===================================================================================
167
168NonStandardMessage	::=SEQUENCE
169{
170	nonStandardData	NonStandardParameter,
171	...
172}
173
174NonStandardParameter	::=SEQUENCE
175{
176	nonStandardIdentifier	NonStandardIdentifier,
177	data		OCTET STRING
178}
179
180NonStandardIdentifier	::=CHOICE
181{
182	object		OBJECT IDENTIFIER,
183	h221NonStandard	SEQUENCE
184	{
185		t35CountryCode	INTEGER (0..255),	-- country, per T.35
186		t35Extension	INTEGER (0..255),	-- assigned nationally
187		manufacturerCode	INTEGER (0..65535)	-- assigned nationally
188	}
189}
190
191-- ===================================================================================
192-- Master-slave determination definitions
193-- ===================================================================================
194
195MasterSlaveDetermination	::=SEQUENCE
196{
197	terminalType	INTEGER (0..255),
198	statusDeterminationNumber	INTEGER (0..16777215),
199	...
200}
201
202MasterSlaveDeterminationAck	::=SEQUENCE
203{
204	decision	CHOICE
205	{
206		master	NULL,
207		slave	NULL
208	},
209	...
210}
211
212MasterSlaveDeterminationReject	::=SEQUENCE
213{
214	cause		CHOICE
215	{
216		identicalNumbers	NULL,
217		...
218	},
219	...
220}
221
222MasterSlaveDeterminationRelease	::=SEQUENCE
223{
224	...
225}
226
227 -- ===================================================================================
228-- Capability exchange definitions
229-- ===================================================================================
230
231TerminalCapabilitySet	::=SEQUENCE
232{
233	sequenceNumber	SequenceNumber,
234
235	protocolIdentifier	OBJECT IDENTIFIER,
236				-- shall be set to the value
237				-- {itu-t (0) recommendation (0) h (8) 245 version (0) 3}
238
239
240	multiplexCapability	MultiplexCapability OPTIONAL,
241
242	capabilityTable	SET SIZE (1..256) OF CapabilityTableEntry OPTIONAL,
243
244	capabilityDescriptors	SET SIZE (1..256) OF CapabilityDescriptor OPTIONAL,
245
246	...
247}
248
249CapabilityTableEntry	::=SEQUENCE
250{
251	capabilityTableEntryNumber	CapabilityTableEntryNumber,
252	capability	Capability OPTIONAL
253}
254
255CapabilityDescriptor	::=SEQUENCE
256{
257	capabilityDescriptorNumber	CapabilityDescriptorNumber,
258	simultaneousCapabilities	SET SIZE (1..256) OF AlternativeCapabilitySet OPTIONAL
259}
260
261AlternativeCapabilitySet	::=SEQUENCE SIZE (1..256) OF CapabilityTableEntryNumber
262
263CapabilityTableEntryNumber	::=INTEGER (1..65535)
264
265CapabilityDescriptorNumber	::=INTEGER (0..255)
266
267TerminalCapabilitySetAck	::=SEQUENCE
268{
269	sequenceNumber	SequenceNumber,
270	...
271}
272
273TerminalCapabilitySetReject	::=SEQUENCE
274{
275	sequenceNumber	SequenceNumber,
276	cause		CHOICE
277	{
278		unspecified	NULL,
279		undefinedTableEntryUsed	NULL,
280		descriptorCapacityExceeded	NULL,
281		tableEntryCapacityExceeded	CHOICE
282		{
283			highestEntryNumberProcessed	CapabilityTableEntryNumber,
284			noneProcessed	NULL
285		},
286		...
287	},
288	...
289}
290
291TerminalCapabilitySetRelease	::=SEQUENCE
292{
293	...
294}
295
296-- ===================================================================================
297-- Capability exchange definitions: top level capability description
298-- ===================================================================================
299
300Capability		::=CHOICE
301{
302	nonStandard	NonStandardParameter,
303
304	receiveVideoCapability	VideoCapability,
305	transmitVideoCapability	VideoCapability,
306	receiveAndTransmitVideoCapability	VideoCapability,
307
308	receiveAudioCapability	AudioCapability,
309	transmitAudioCapability	AudioCapability,
310	receiveAndTransmitAudioCapability	AudioCapability,
311
312	receiveDataApplicationCapability	DataApplicationCapability,
313	transmitDataApplicationCapability	DataApplicationCapability,
314	receiveAndTransmitDataApplicationCapability	DataApplicationCapability,
315
316	h233EncryptionTransmitCapability	BOOLEAN,
317	h233EncryptionReceiveCapability	SEQUENCE
318	{
319		h233IVResponseTime	INTEGER (0..255),	-- units milliseconds
320		...
321	},
322	...,
323	conferenceCapability	ConferenceCapability,
324	h235SecurityCapability	H235SecurityCapability,
325	maxPendingReplacementFor	INTEGER (0..255),
326	receiveUserInputCapability	UserInputCapability,
327	transmitUserInputCapability	UserInputCapability,
328	receiveAndTransmitUserInputCapability	UserInputCapability
329
330}
331
332H235SecurityCapability	::=SEQUENCE
333{
334	encryptionAuthenticationAndIntegrity	EncryptionAuthenticationAndIntegrity,
335
336	mediaCapability	CapabilityTableEntryNumber,
337		-- Note: the mediaCapability shall refer to Capability Table Entries that do contain a transmit,
338		-- receive, or receiveAndTransmit AudioCapability, VideoCapability,
339		-- DataApplicationCapability, or similar capability indicated by a NonStandardParameter only
340
341	...
342}
343
344-- ===================================================================================
345-- Capability exchange definitions: Multiplex capabilities
346-- ===================================================================================
347
348MultiplexCapability	::=CHOICE
349{
350	nonStandard	NonStandardParameter,
351	h222Capability	H222Capability,
352	h223Capability	H223Capability,
353	v76Capability	V76Capability,
354	...,
355	h2250Capability	H2250Capability
356
357}
358
359H222Capability	::= SEQUENCE
360{
361	numberOfVCs	INTEGER (1..256),
362	vcCapability	SET OF VCCapability,
363	...
364}
365
366VCCapability	::=SEQUENCE
367{
368	aal1		SEQUENCE
369	{
370		nullClockRecovery	BOOLEAN,
371		srtsClockRecovery	BOOLEAN,
372		adaptiveClockRecovery	BOOLEAN,
373		nullErrorCorrection	BOOLEAN,
374		longInterleaver	BOOLEAN,
375		shortInterleaver	BOOLEAN,
376		errorCorrectionOnly	BOOLEAN,
377		structuredDataTransfer	BOOLEAN,
378		partiallyFilledCells	BOOLEAN,
379		...
380	} OPTIONAL,
381	aal5		SEQUENCE
382	{
383		forwardMaximumSDUSize	INTEGER (0..65535),	-- units octets
384		backwardMaximumSDUSize	INTEGER (0..65535),	-- units octets
385		...
386	} OPTIONAL,
387	transportStream	BOOLEAN,
388	programStream	BOOLEAN,
389	availableBitRates	SEQUENCE
390	{
391		type	CHOICE
392		{
393			singleBitRate	INTEGER (1..65535),	-- units 64 kbit/s
394			rangeOfBitRates	SEQUENCE
395			{
396				lowerBitRate	INTEGER (1..65535),	-- units 64 kbit/s
397				higherBitRate	INTEGER (1..65535)	-- units 64 kbit/s
398			}
399		},
400		...
401	},
402	...
403}
404
405H223Capability	::=SEQUENCE
406{
407	transportWithI-frames	BOOLEAN,	-- I-frame transport of H.245
408
409	videoWithAL1	BOOLEAN,
410	videoWithAL2	BOOLEAN,
411	videoWithAL3	BOOLEAN,
412	audioWithAL1	BOOLEAN,
413	audioWithAL2	BOOLEAN,
414	audioWithAL3	BOOLEAN,
415	dataWithAL1	BOOLEAN,
416	dataWithAL2	BOOLEAN,
417	dataWithAL3	BOOLEAN,
418
419	maximumAl2SDUSize	INTEGER (0..65535),	-- units octets
420	maximumAl3SDUSize	INTEGER (0..65535),	-- units octets
421
422	maximumDelayJitter	INTEGER (0..1023),	-- units milliseconds
423
424	h223MultiplexTableCapability	CHOICE
425	{
426		basic	NULL,
427		enhanced	SEQUENCE
428		{
429			maximumNestingDepth	INTEGER (1..15),
430			maximumElementListSize	INTEGER (2..255),
431			maximumSubElementListSize	INTEGER (2..255),
432			...
433		}
434	},
435	...,
436	maxMUXPDUSizeCapability	BOOLEAN,
437	nsrpSupport	BOOLEAN,
438	mobileOperationTransmitCapability	SEQUENCE
439	{
440		modeChangeCapability	BOOLEAN,
441		h223AnnexA	BOOLEAN,
442		h223AnnexADoubleFlag	BOOLEAN,
443		h223AnnexB	BOOLEAN,
444		h223AnnexBwithHeader	BOOLEAN,
445		...
446	} OPTIONAL,
447	h223AnnexCCapability	H223AnnexCCapability OPTIONAL
448
449}
450
451H223AnnexCCapability	::= SEQUENCE
452{
453	videoWithAL1M	BOOLEAN,
454	videoWithAL2M	BOOLEAN,
455	videoWithAL3M	BOOLEAN,
456	audioWithAL1M	BOOLEAN,
457	audioWithAL2M	BOOLEAN,
458	audioWithAL3M	BOOLEAN,
459	dataWithAL1M	BOOLEAN,
460	dataWithAL2M	BOOLEAN,
461	dataWithAL3M	BOOLEAN,
462 	alpduInterleaving	BOOLEAN,
463
464	maximumAL1MPDUSize	INTEGER (0..65535),	-- units octets
465	maximumAL2MSDUSize	INTEGER (0..65535),	-- units octets
466	maximumAL3MSDUSize	INTEGER (0..65535),	-- units octets
467	...
468}
469
470V76Capability	::=SEQUENCE
471{
472	suspendResumeCapabilitywAddress	BOOLEAN,
473	suspendResumeCapabilitywoAddress	BOOLEAN,
474	rejCapability	BOOLEAN,
475	sREJCapability	BOOLEAN,
476	mREJCapability	BOOLEAN,
477	crc8bitCapability	BOOLEAN,
478	crc16bitCapability	BOOLEAN,
479	crc32bitCapability	BOOLEAN,
480	uihCapability	BOOLEAN,
481	numOfDLCS	INTEGER (2..8191),
482	twoOctetAddressFieldCapability	BOOLEAN,
483	loopBackTestCapability	BOOLEAN,
484	n401Capability	INTEGER (1..4095),
485	maxWindowSizeCapability	INTEGER (1..127),
486	v75Capability	V75Capability,
487	...
488}
489
490V75Capability	::=SEQUENCE
491{
492	audioHeader	BOOLEAN,
493	...
494}
495
496H2250Capability	::=SEQUENCE
497{
498	maximumAudioDelayJitter	INTEGER(0..1023),	-- units in milliseconds
499	receiveMultipointCapability	MultipointCapability,
500	transmitMultipointCapability	MultipointCapability,
501	receiveAndTransmitMultipointCapability	MultipointCapability,
502	mcCapability	SEQUENCE
503	{
504		centralizedConferenceMC	BOOLEAN,
505		decentralizedConferenceMC	BOOLEAN,
506		...
507	},
508	rtcpVideoControlCapability	BOOLEAN,	-- FIR and NACK
509	mediaPacketizationCapability	MediaPacketizationCapability,
510	...,
511	transportCapability	TransportCapability OPTIONAL,
512	redundancyEncodingCapability	SEQUENCE SIZE(1..256) OF RedundancyEncodingCapability OPTIONAL,
513	logicalChannelSwitchingCapability	BOOLEAN,
514	t120DynamicPortCapability	BOOLEAN
515
516}
517
518MediaPacketizationCapability	::=SEQUENCE
519{
520	h261aVideoPacketization	BOOLEAN,
521	...,
522	rtpPayloadType	SEQUENCE SIZE(1..256) OF RTPPayloadType OPTIONAL
523}
524
525RSVPParameters	::=SEQUENCE
526{
527	qosMode	QOSMode OPTIONAL,
528	tokenRate	INTEGER (1..4294967295) OPTIONAL,
529				        -- rate in bytes/sec
530	bucketSize	INTEGER (1..4294967295) OPTIONAL,        -- size in bytes
531	peakRate	INTEGER (1..4294967295) OPTIONAL,
532				        -- peak bandwidth bytes/sec
533	minPoliced	INTEGER (1..4294967295) OPTIONAL,        --
534	maxPktSize	INTEGER (1..4294967295) OPTIONAL,        -- size in bytes
535	...
536}
537
538QOSMode		::=CHOICE
539{
540	guaranteedQOS	NULL,
541	controlledLoad	NULL,
542	...
543}
544
545-- Ed. Replace with ITU-T ATM Transfer Capability Types
546ATMParameters	::=SEQUENCE
547{
548	maxNTUSize	INTEGER(0..65535),        --units in octets
549	atmUBR	BOOLEAN,                       --unspecified bit rate
550	atmrtVBR	BOOLEAN,                       --real time variable bit rate
551	atmnrtVBR	BOOLEAN,                       --non real time variable bit rate
552	atmABR	BOOLEAN,                       --available bit rate
553	atmCBR	BOOLEAN,                       --constant bit rate
554	...
555}
556
557QOSCapability	::=SEQUENCE
558{
559	nonStandardData	NonStandardParameter OPTIONAL,
560	rsvpParameters	RSVPParameters OPTIONAL,
561	atmParameters	ATMParameters OPTIONAL,
562	...
563}
564
565MediaTransportType	::=CHOICE
566{
567	ip-UDP		NULL,
568	ip-TCP		NULL,
569	atm-AAL5-UNIDIR	NULL, -- virtual circuits used as unidirectional
570	atm-AAL5-BIDIR	NULL, -- virtual circuits used as bidirectional
571	...
572}
573
574MediaChannelCapability	::=SEQUENCE
575{
576		mediaTransport	MediaTransportType  OPTIONAL,
577			...
578}
579
580TransportCapability	::=SEQUENCE
581{
582  	nonStandard            	NonStandardParameter OPTIONAL,
583	qOSCapabilities	SEQUENCE SIZE(1..256) OF QOSCapability OPTIONAL,
584	mediaChannelCapabilities	SEQUENCE SIZE(1..256) OF MediaChannelCapability OPTIONAL,
585	...
586}
587
588RedundancyEncodingCapability	::=SEQUENCE
589{
590	redundancyEncodingMethod	RedundancyEncodingMethod,
591	primaryEncoding	CapabilityTableEntryNumber,
592	secondaryEncoding	SEQUENCE SIZE(1..256) OF CapabilityTableEntryNumber OPTIONAL,
593	...
594}
595
596RedundancyEncodingMethod	::=CHOICE
597{
598	nonStandard	NonStandardParameter,
599	rtpAudioRedundancyEncoding	NULL,
600	...,
601	rtpH263VideoRedundancyEncoding	RTPH263VideoRedundancyEncoding
602}
603
604RTPH263VideoRedundancyEncoding	::= SEQUENCE
605{
606	numberOfThreads	INTEGER (1..16),
607	framesBetweenSyncPoints	INTEGER (1..256),
608	frameToThreadMapping	CHOICE
609	{
610			roundrobin	NULL,
611			custom	SEQUENCE SIZE(1..256) OF
612				RTPH263VideoRedundancyFrameMapping,
613-- empty SEQUENCE for capability negotiation
614-- meaningful contents only OpenLogicalChannel
615			...
616	},
617	containedThreads	SEQUENCE SIZE(1..256) OF INTEGER (0..15) OPTIONAL,
618				-- only used for opening of logical channels
619	...
620}
621
622RTPH263VideoRedundancyFrameMapping	::= SEQUENCE
623{
624	threadNumber	INTEGER (0..15),
625	frameSequence	SEQUENCE SIZE(1..256) OF INTEGER (0..255),
626	...
627}
628
629MultipointCapability	::=SEQUENCE
630{
631	multicastCapability	BOOLEAN,
632	multiUniCastConference	BOOLEAN,
633	mediaDistributionCapability	SEQUENCE OF MediaDistributionCapability,
634	...
635}
636
637MediaDistributionCapability	::=SEQUENCE
638{
639	centralizedControl	BOOLEAN,
640	distributedControl	BOOLEAN,	-- for further study in H.323
641	centralizedAudio	BOOLEAN,
642	distributedAudio	BOOLEAN,
643	centralizedVideo	BOOLEAN,
644	distributedVideo	BOOLEAN,
645	centralizedData	SEQUENCE OF DataApplicationCapability OPTIONAL,
646	distributedData	SEQUENCE OF DataApplicationCapability OPTIONAL,
647						-- for further study in H.323
648	...
649}
650
651
652
653-- ===================================================================================
654-- Capability exchange definitions: Video capabilities
655-- ===================================================================================
656
657VideoCapability	::=CHOICE
658{
659	nonStandard	NonStandardParameter ,
660	h261VideoCapability	H261VideoCapability,
661	h262VideoCapability	H262VideoCapability,
662	h263VideoCapability	H263VideoCapability,
663	is11172VideoCapability	IS11172VideoCapability,
664	...
665}
666
667H261VideoCapability	::=SEQUENCE
668{
669	qcifMPI	INTEGER (1..4) OPTIONAL,	-- units 1/29.97 Hz
670	cifMPI		INTEGER (1..4) OPTIONAL,	-- units 1/29.97 Hz
671	temporalSpatialTradeOffCapability	BOOLEAN,
672	maxBitRate	INTEGER (1..19200),	-- units of 100 bit/s
673	stillImageTransmission	BOOLEAN,	-- Annex D of H.261
674	...
675}
676
677H262VideoCapability	::=SEQUENCE
678{
679	profileAndLevel-SPatML	BOOLEAN,
680	profileAndLevel-MPatLL	BOOLEAN,
681	profileAndLevel-MPatML	BOOLEAN,
682	profileAndLevel-MPatH-14	BOOLEAN,
683	profileAndLevel-MPatHL	BOOLEAN,
684	profileAndLevel-SNRatLL	BOOLEAN,
685	profileAndLevel-SNRatML	BOOLEAN,
686	profileAndLevel-SpatialatH-14	BOOLEAN,
687	profileAndLevel-HPatML	BOOLEAN,
688	profileAndLevel-HPatH-14	BOOLEAN,
689	profileAndLevel-HPatHL	BOOLEAN,
690	videoBitRate	INTEGER (0.. 1073741823) OPTIONAL,	-- units 400 bit/s
691	vbvBufferSize	INTEGER (0.. 262143) OPTIONAL,	-- units 16384 bits
692	samplesPerLine	INTEGER (0..16383) OPTIONAL,	-- units samples/line
693	linesPerFrame	INTEGER (0..16383) OPTIONAL,	-- units lines/frame
694	framesPerSecond	INTEGER (0..15) OPTIONAL,	-- frame_rate_code
695	luminanceSampleRate	INTEGER (0..4294967295) OPTIONAL,	-- units samples/sec
696	...
697}
698
699H263VideoCapability	::=SEQUENCE
700{
701	sqcifMPI	INTEGER (1..32) OPTIONAL,	-- units 1/29.97 Hz
702	qcifMPI	INTEGER (1..32) OPTIONAL,	-- units 1/29.97 Hz
703	cifMPI		INTEGER (1..32) OPTIONAL,	-- units 1/29.97 Hz
704	cif4MPI	INTEGER (1..32) OPTIONAL,	-- units 1/29.97 Hz
705	cif16MPI	INTEGER (1..32) OPTIONAL,	-- units 1/29.97 Hz
706	maxBitRate	INTEGER (1..192400),	-- units 100 bit/s
707	unrestrictedVector	BOOLEAN,
708	arithmeticCoding	BOOLEAN,
709	advancedPrediction	BOOLEAN,
710	pbFrames	BOOLEAN,
711	temporalSpatialTradeOffCapability	BOOLEAN,
712	hrd-B		INTEGER (0..524287) OPTIONAL,	-- units 128 bits
713	bppMaxKb	INTEGER (0..65535) OPTIONAL,	-- units 1024 bits
714	...,
715
716	slowSqcifMPI	INTEGER (1..3600) OPTIONAL,	-- units seconds/frame
717	slowQcifMPI	INTEGER (1..3600) OPTIONAL, --units seconds/frame
718	slowCifMPI	INTEGER (1..3600) OPTIONAL, --units seconds/frame
719	slowCif4MPI	INTEGER (1..3600) OPTIONAL, --units seconds/frame
720	slowCif16MPI	INTEGER (1..3600) OPTIONAL, --units seconds/frame
721	errorCompensation	BOOLEAN,
722
723	enhancementLayerInfo	EnhancementLayerInfo OPTIONAL,
724	h263Options	H263Options OPTIONAL
725
726}
727
728EnhancementLayerInfo	::=SEQUENCE
729{
730	baseBitRateConstrained	BOOLEAN,
731	snrEnhancement 	SET SIZE(1..14) OF EnhancementOptions OPTIONAL,
732	spatialEnhancement 	SET SIZE(1..14) OF EnhancementOptions OPTIONAL,
733	bPictureEnhancement	SET SIZE(1..14) OF BEnhancementParameters OPTIONAL,
734	...
735}
736
737BEnhancementParameters	::=SEQUENCE
738{
739	enhancementOptions	EnhancementOptions,
740	numberOfBPictures	INTEGER (1..64),
741	...
742}
743
744EnhancementOptions	::=SEQUENCE
745{
746	sqcifMPI	INTEGER (1..32) OPTIONAL,  -- units 1/29.97 Hz
747	qcifMPI	INTEGER (1..32) OPTIONAL,  -- units 1/29.97 Hz
748	cifMPI		INTEGER (1..32) OPTIONAL,  -- units 1/29.97 Hz
749	cif4MPI 	INTEGER (1..32) OPTIONAL,  -- units 1/29.97 Hz
750	cif16MPI	INTEGER (1..32) OPTIONAL,  -- units 1/29.97 Hz
751	maxBitRate	INTEGER (1..192400),             -- units 100 bit/s
752	unrestrictedVector	BOOLEAN,
753	arithmeticCoding	BOOLEAN,
754	temporalSpatialTradeOffCapability	BOOLEAN,
755	slowSqcifMPI	INTEGER (1..3600) OPTIONAL,  -- units econds/frame
756	slowQcifMPI	INTEGER (1..3600) OPTIONAL,   --units seconds/frame
757	slowCifMPI	INTEGER (1..3600) OPTIONAL,   --units seconds/frame
758	slowCif4MPI	INTEGER (1..3600) OPTIONAL,   --units seconds/frame
759	slowCif16MPI	INTEGER (1..3600) OPTIONAL,   --units seconds/frame
760	errorCompensation	BOOLEAN,
761	h263Options	H263Options OPTIONAL,
762	...
763}
764
765H263Options	::= SEQUENCE
766{
767	advancedIntraCodingMode	BOOLEAN,
768	deblockingFilterMode	BOOLEAN,
769	improvedPBFramesMode	BOOLEAN,
770
771	unlimitedMotionVectors	BOOLEAN,
772
773	fullPictureFreeze	BOOLEAN,
774	partialPictureFreezeAndRelease	BOOLEAN,
775	resizingPartPicFreezeAndRelease	BOOLEAN,
776	fullPictureSnapshot	BOOLEAN,
777	partialPictureSnapshot	BOOLEAN,
778	videoSegmentTagging	BOOLEAN,
779	progressiveRefinement	BOOLEAN,
780
781	dynamicPictureResizingByFour	BOOLEAN,
782	dynamicPictureResizingSixteenthPel	BOOLEAN,
783	dynamicWarpingHalfPel	BOOLEAN,
784	dynamicWarpingSixteenthPel	BOOLEAN,
785
786	independentSegmentDecoding	BOOLEAN,
787
788	slicesInOrder-NonRect	BOOLEAN,
789	slicesInOrder-Rect	BOOLEAN,
790	slicesNoOrder-NonRect	BOOLEAN,
791	slicesNoOrder-Rect	BOOLEAN,
792
793	alternateInterVLCMode	BOOLEAN,
794	modifiedQuantizationMode	BOOLEAN,
795	reducedResolutionUpdate	BOOLEAN,
796
797	transparencyParameters	TransparencyParameters OPTIONAL,
798	separateVideoBackChannel	BOOLEAN,
799	refPictureSelection	RefPictureSelection OPTIONAL,
800	customPictureClockFrequency	SET SIZE (1..16) OF CustomPictureClockFrequency	 OPTIONAL,
801	customPictureFormat	SET SIZE (1..16) OF CustomPictureFormat OPTIONAL,
802	modeCombos	SET SIZE (1..16) OF H263VideoModeCombos OPTIONAL,
803	...
804}
805
806TransparencyParameters	::= SEQUENCE
807{
808	presentationOrder	INTEGER(1..256),
809	offset-x	INTEGER(-262144..262143), -- 1/8 pixels
810	offset-y	INTEGER(-262144..262143), -- 1/8 pixels
811	scale-x		INTEGER(1..255),
812	scale-y		INTEGER(1..255),
813	...
814}
815
816RefPictureSelection	::=SEQUENCE
817{
818	additionalPictureMemory	SEQUENCE
819	{
820		sqcifAdditionalPictureMemory	INTEGER (1..256) OPTIONAL,	-- units frame
821		qcifAdditionalPictureMemory	INTEGER (1..256) OPTIONAL,	-- units frame
822		cifAdditionalPictureMemory	INTEGER (1..256) OPTIONAL,	-- units frame
823		cif4AdditionalPictureMemory	INTEGER (1..256) OPTIONAL,	-- units frame
824		cif16AdditionalPictureMemory	INTEGER (1..256) OPTIONAL,	-- units frame
825		bigCpfAdditionalPictureMemory	INTEGER (1..256) OPTIONAL,	-- units frame
826		...
827	} OPTIONAL,
828	videoMux	BOOLEAN,
829	videoBackChannelSend	CHOICE
830	{
831		none	NULL,
832		ackMessageOnly	NULL,
833		nackMessageOnly	NULL,
834		ackOrNackMessageOnly	NULL,
835		ackAndNackMessage	NULL,
836		...
837	},
838	...
839}
840
841CustomPictureClockFrequency	::=SEQUENCE
842{
843	clockConversionCode	INTEGER(1000..1001),
844	clockDivisor	INTEGER(1..127),
845	sqcifMPI	INTEGER (1..2048) OPTIONAL,
846	qcifMPI	INTEGER (1..2048) OPTIONAL,
847	cifMPI		INTEGER (1..2048) OPTIONAL,
848	cif4MPI	INTEGER (1..2048) OPTIONAL,
849	cif16MPI	INTEGER (1..2048) OPTIONAL,
850	...
851}
852
853CustomPictureFormat	::=SEQUENCE
854{
855	maxCustomPictureWidth	INTEGER(1..2048),	-- units 4 pixels
856	maxCustomPictureHeight	INTEGER(1..2048),	-- units 4 pixels
857	minCustomPictureWidth	INTEGER(1..2048),	-- units 4 pixels
858	minCustomPictureHeight	INTEGER(1..2048),	-- units 4 pixels
859	mPI			SEQUENCE
860	{
861		standardMPI	INTEGER (1..31) OPTIONAL,
862		customPCF	SET SIZE (1..16) OF SEQUENCE
863		{
864			clockConversionCode	INTEGER (1000..1001),
865			clockDivisor	INTEGER (1..127),
866			customMPI	INTEGER (1..2048),
867			...
868		} OPTIONAL,
869		...
870	},
871
872	pixelAspectInformation	CHOICE
873	{
874		anyPixelAspectRatio	BOOLEAN,
875		pixelAspectCode	SET SIZE (1..14) OF INTEGER(1..14),
876		extendedPAR	SET SIZE (1..256) OF SEQUENCE
877		{
878			width	INTEGER(1..255),
879			height	INTEGER(1..255),
880			...
881		},
882		...
883	} ,
884	...
885}
886
887H263VideoModeCombos	::= SEQUENCE
888{
889	h263VideoUncoupledModes	H263ModeComboFlags,
890	h263VideoCoupledModes	SET SIZE (1..16) OF H263ModeComboFlags,
891	...
892}
893
894H263ModeComboFlags	::= SEQUENCE
895{
896	unrestrictedVector	BOOLEAN,
897	arithmeticCoding	BOOLEAN,
898	advancedPrediction	BOOLEAN,
899	pbFrames	BOOLEAN,
900	advancedIntraCodingMode	BOOLEAN,
901	deblockingFilterMode	BOOLEAN,
902	unlimitedMotionVectors	BOOLEAN,
903	slicesInOrder-NonRect	BOOLEAN,
904	slicesInOrder-Rect	BOOLEAN,
905	slicesNoOrder-NonRect	BOOLEAN,
906	slicesNoOrder-Rect	BOOLEAN,
907	improvedPBFramesMode	BOOLEAN,
908	referencePicSelect	BOOLEAN,
909	dynamicPictureResizingByFour	BOOLEAN,
910	dynamicPictureResizingSixteenthPel	BOOLEAN,
911	dynamicWarpingHalfPel	BOOLEAN,
912	dynamicWarpingSixteenthPel	BOOLEAN,
913	reducedResolutionUpdate	BOOLEAN,
914	independentSegmentDecoding	BOOLEAN,
915	alternateInterVLCMode	BOOLEAN,
916	modifiedQuantizationMode	BOOLEAN,
917	...
918}
919
920IS11172VideoCapability	::=SEQUENCE
921{
922	constrainedBitstream	BOOLEAN,
923	videoBitRate	INTEGER (0.. 1073741823) OPTIONAL,	-- units 400 bit/s
924	vbvBufferSize	INTEGER (0.. 262143) OPTIONAL,	-- units 16384 bits
925	samplesPerLine	INTEGER (0..16383) OPTIONAL,	-- units samples/line
926	linesPerFrame	INTEGER (0..16383) OPTIONAL,	-- units lines/frame
927	pictureRate	INTEGER (0..15) OPTIONAL,
928	luminanceSampleRate	INTEGER (0..4294967295) OPTIONAL,	-- units samples/sec
929	...
930}
931
932-- ===================================================================================
933-- Capability exchange definitions: Audio capabilities
934-- ===================================================================================
935
936-- For an H.222 multiplex, the integers indicate the size of the STD buffer in units of 256 octets
937-- For an H.223 multiplex, the integers indicate the maximum number of audio frames per AL-SDU
938-- For an H.225.0 multiplex, the integers indicate the maximum number of audio frames per packet
939
940AudioCapability	::=CHOICE
941{
942	nonStandard	NonStandardParameter,
943	g711Alaw64k	INTEGER (1..256),
944	g711Alaw56k	INTEGER (1..256),
945	g711Ulaw64k	INTEGER (1..256),
946	g711Ulaw56k	INTEGER (1..256),
947
948	g722-64k	INTEGER (1..256),
949	g722-56k	INTEGER (1..256),
950	g722-48k	INTEGER (1..256),
951
952	g7231		SEQUENCE
953	{
954		maxAl-sduAudioFrames	INTEGER (1..256),
955		silenceSuppression	BOOLEAN
956	},
957
958	g728		INTEGER (1..256),
959	g729		INTEGER (1..256),
960	g729AnnexA	INTEGER (1..256),
961	is11172AudioCapability	IS11172AudioCapability,
962	is13818AudioCapability	IS13818AudioCapability,
963	 ...,
964	g729wAnnexB	INTEGER(1..256),
965	g729AnnexAwAnnexB	INTEGER(1..256),
966	g7231AnnexCCapability	G7231AnnexCCapability,
967	gsmFullRate	GSMAudioCapability,
968	gsmHalfRate	GSMAudioCapability,
969	gsmEnhancedFullRate	GSMAudioCapability
970}
971
972G7231AnnexCCapability	::= SEQUENCE
973{
974	maxAl-sduAudioFrames	INTEGER (1..256),
975	silenceSuppression	BOOLEAN,
976	g723AnnexCAudioMode	SEQUENCE
977	{
978		highRateMode0	INTEGER (27..78),	-- units octets
979		highRateMode1	INTEGER (27..78),	-- units octets
980		lowRateMode0	INTEGER (23..66),	-- units octets
981		lowRateMode1	INTEGER (23..66),	-- units octets
982		sidMode0	INTEGER (6..17),	-- units octets
983		sidMode1	INTEGER (6..17),	-- units octets
984		...
985	} OPTIONAL,
986	...
987}
988
989IS11172AudioCapability	::=SEQUENCE
990{
991	audioLayer1	BOOLEAN,
992	audioLayer2	BOOLEAN,
993	audioLayer3	BOOLEAN,
994
995	audioSampling32k	BOOLEAN,
996	audioSampling44k1	BOOLEAN,
997	audioSampling48k	BOOLEAN,
998
999	singleChannel	BOOLEAN,
1000	twoChannels	BOOLEAN,
1001
1002	bitRate	INTEGER (1..448),	-- units kbit/s
1003	...
1004}
1005
1006IS13818AudioCapability	::=SEQUENCE
1007{
1008	audioLayer1	BOOLEAN,
1009	audioLayer2	BOOLEAN,
1010	audioLayer3	BOOLEAN,
1011
1012	audioSampling16k	BOOLEAN,
1013	audioSampling22k05	BOOLEAN,
1014	audioSampling24k	BOOLEAN,
1015	audioSampling32k	BOOLEAN,
1016	audioSampling44k1	BOOLEAN,
1017	audioSampling48k	BOOLEAN,
1018
1019	singleChannel	BOOLEAN,
1020	twoChannels	BOOLEAN,
1021	threeChannels2-1	BOOLEAN,
1022	threeChannels3-0	BOOLEAN,
1023	fourChannels2-0-2-0	BOOLEAN,
1024	fourChannels2-2	BOOLEAN,
1025	fourChannels3-1	BOOLEAN,
1026	fiveChannels3-0-2-0	BOOLEAN,
1027	fiveChannels3-2	BOOLEAN,
1028
1029	lowFrequencyEnhancement	BOOLEAN,
1030
1031	multilingual	BOOLEAN,
1032
1033	bitRate	INTEGER (1..1130),	-- units kbit/s
1034	...
1035}
1036
1037GSMAudioCapability	::= SEQUENCE
1038{
1039	audioUnitSize	INTEGER (1..256),
1040	comfortNoise	BOOLEAN,
1041	scrambled	BOOLEAN,
1042	...
1043}
1044
1045-- ===================================================================================
1046-- Capability exchange definitions: Data capabilities
1047-- ===================================================================================
1048
1049DataApplicationCapability	::=SEQUENCE
1050{
1051	application	CHOICE
1052	{
1053		nonStandard	NonStandardParameter,
1054		t120	DataProtocolCapability,
1055		dsm-cc	DataProtocolCapability,
1056		userData	DataProtocolCapability,
1057		t84	SEQUENCE
1058		{
1059			t84Protocol	DataProtocolCapability,
1060			t84Profile	T84Profile
1061		},
1062		t434	DataProtocolCapability,
1063		h224	DataProtocolCapability,
1064		nlpid	SEQUENCE
1065		{
1066			nlpidProtocol	DataProtocolCapability,
1067			nlpidData	OCTET STRING
1068		},
1069		dsvdControl	NULL,
1070		h222DataPartitioning	DataProtocolCapability,
1071		...,
1072		t30fax	DataProtocolCapability,
1073		t140	DataProtocolCapability
1074	},
1075	maxBitRate	INTEGER (0..4294967295),	-- units 100 bit/s
1076	...
1077}
1078
1079DataProtocolCapability	::=CHOICE
1080{
1081	nonStandard	NonStandardParameter,
1082	v14buffered	NULL,
1083	v42lapm	NULL,	-- may negotiate to V.42bis
1084	hdlcFrameTunnelling	NULL,
1085	h310SeparateVCStack	NULL,
1086	h310SingleVCStack	NULL,
1087	transparent	NULL,
1088	...,
1089	segmentationAndReassembly	NULL,
1090	hdlcFrameTunnelingwSAR	NULL,
1091	v120		NULL,	-- as in H.230
1092	separateLANStack	NULL,
1093       v76wCompression         	CHOICE
1094	{
1095		transmitCompression     	CompressionType,
1096		receiveCompression  	CompressionType,
1097		transmitAndReceiveCompression 	CompressionType,
1098		...
1099	}
1100}
1101
1102CompressionType 	::=CHOICE
1103{
1104	v42bis		V42bis,
1105	...
1106}
1107
1108V42bis			::=SEQUENCE
1109{
1110	numberOfCodewords	INTEGER (1..65536),
1111	maximumStringLength	INTEGER (1..256),
1112	...
1113}
1114
1115T84Profile		::=CHOICE
1116{
1117	t84Unrestricted	NULL,
1118	t84Restricted	SEQUENCE
1119	{
1120		qcif	BOOLEAN,
1121		cif		BOOLEAN,
1122		ccir601Seq	BOOLEAN,
1123		ccir601Prog	BOOLEAN,
1124		hdtvSeq	BOOLEAN,
1125		hdtvProg	BOOLEAN,
1126
1127		g3FacsMH200x100	BOOLEAN,
1128		g3FacsMH200x200	BOOLEAN,
1129		g4FacsMMR200x100	BOOLEAN,
1130		g4FacsMMR200x200	BOOLEAN,
1131		jbig200x200Seq	BOOLEAN,
1132		jbig200x200Prog	BOOLEAN,
1133		jbig300x300Seq	BOOLEAN,
1134		jbig300x300Prog	BOOLEAN,
1135
1136		digPhotoLow	BOOLEAN,
1137		digPhotoMedSeq	BOOLEAN,
1138		digPhotoMedProg	BOOLEAN,
1139		digPhotoHighSeq	BOOLEAN,
1140		digPhotoHighProg	BOOLEAN,
1141
1142		...
1143	}
1144}
1145
1146-- ===================================================================================
1147-- Encryption Capability Definitions:
1148-- ===================================================================================
1149
1150EncryptionAuthenticationAndIntegrity	::=SEQUENCE
1151{
1152	encryptionCapability	EncryptionCapability OPTIONAL,
1153	authenticationCapability	AuthenticationCapability OPTIONAL,
1154	integrityCapability	IntegrityCapability OPTIONAL,
1155	...
1156}
1157
1158EncryptionCapability	::=SEQUENCE SIZE(1..256) OF MediaEncryptionAlgorithm
1159
1160MediaEncryptionAlgorithm	 ::=CHOICE
1161{
1162	nonStandard            	NonStandardParameter,
1163	algorithm	OBJECT IDENTIFIER,   -- many defined in ISO/IEC 9979
1164	...
1165}
1166
1167AuthenticationCapability	::=SEQUENCE
1168{
1169	nonStandard            	NonStandardParameter OPTIONAL,
1170	...
1171}
1172
1173IntegrityCapability	::=SEQUENCE
1174{
1175	nonStandard            	NonStandardParameter OPTIONAL,
1176	...
1177}
1178
1179-- ================================================================================
1180-- Capability Exchange Definitions: UserInput
1181-- ================================================================================
1182
1183UserInputCapability	::= CHOICE
1184{
1185	nonStandard	SEQUENCE SIZE(1..16) OF NonStandardParameter,
1186	basicString	NULL,  -- alphanumeric
1187	iA5String	NULL,  -- alphanumeric
1188	generalString	NULL,  -- alphanumeric
1189	dtmf		NULL,  -- supports dtmf using signal and signalUpdate
1190	hookflash	NULL,  -- supports hookflash using signal
1191	...
1192}
1193
1194-- ===================================================================================
1195-- Capability Exchange Definitions: Conference
1196-- ===================================================================================
1197
1198ConferenceCapability	::=SEQUENCE
1199{
1200	nonStandardData	SEQUENCE OF NonStandardParameter OPTIONAL,
1201	chairControlCapability	BOOLEAN,
1202	...
1203}
1204 -- ===================================================================================
1205-- Logical channel signalling definitions
1206-- ===================================================================================
1207
1208-- "Forward" is used to refer to transmission in the direction from the terminal making the
1209-- original request for a logical channel to the other terminal, and "reverse" is used to refer
1210-- to the opposite direction of transmission, in the case of a bi-directional channel request.
1211
1212OpenLogicalChannel	::=SEQUENCE
1213{
1214	forwardLogicalChannelNumber	LogicalChannelNumber,
1215
1216	forwardLogicalChannelParameters	SEQUENCE
1217	{
1218		portNumber	INTEGER (0..65535) OPTIONAL,
1219		dataType	DataType,
1220		multiplexParameters	CHOICE
1221		{
1222			h222LogicalChannelParameters	H222LogicalChannelParameters,
1223			h223LogicalChannelParameters	H223LogicalChannelParameters,
1224			v76LogicalChannelParameters	V76LogicalChannelParameters,
1225			...,
1226			h2250LogicalChannelParameters	H2250LogicalChannelParameters,
1227			none	NULL  -- for use with Separate Stack when
1228				  -- multiplexParameters are not required
1229				  -- or appropriate
1230
1231		},
1232		...,
1233		forwardLogicalChannelDependency	LogicalChannelNumber OPTIONAL,
1234			-- also used to refer to the primary logical channel when using video redundancy coding
1235		replacementFor	LogicalChannelNumber OPTIONAL
1236
1237	},
1238
1239	-- Used to specify the reverse channel for bi-directional open request
1240
1241	reverseLogicalChannelParameters	SEQUENCE
1242	{
1243		dataType	DataType,
1244		multiplexParameters	CHOICE
1245		{
1246			-- H.222 parameters are never present in reverse direction
1247			h223LogicalChannelParameters	H223LogicalChannelParameters,
1248			v76LogicalChannelParameters	V76LogicalChannelParameters,
1249			...,
1250			h2250LogicalChannelParameters H2250LogicalChannelParameters
1251
1252		} OPTIONAL,	-- Not present for H.222
1253		...,
1254		reverseLogicalChannelDependency	LogicalChannelNumber OPTIONAL,
1255			-- also used to refer to the primary logical channel when using video redundancy coding
1256		replacementFor	LogicalChannelNumber OPTIONAL
1257
1258	} OPTIONAL,	-- Not present for uni-directional channel request
1259	...,
1260	separateStack	NetworkAccessParameters OPTIONAL,
1261				-- for Open responder to establish the stack
1262	encryptionSync	EncryptionSync OPTIONAL	-- used only by Master
1263
1264
1265}
1266
1267LogicalChannelNumber	::=INTEGER (1..65535)
1268
1269NetworkAccessParameters	::=SEQUENCE
1270{
1271	distribution	CHOICE
1272	{
1273		unicast	NULL,
1274		multicast	NULL,	-- For Further Study in T.120
1275		...
1276	} OPTIONAL,
1277
1278	networkAddress	CHOICE
1279	{
1280		q2931Address	Q2931Address,
1281		e164Address	IA5String(SIZE(1..128)) (FROM ("0123456789#*,")),
1282		localAreaAddress	TransportAddress,
1283		...
1284	},
1285	associateConference	BOOLEAN,
1286	externalReference	OCTET STRING(SIZE(1..255)) OPTIONAL,
1287	...,
1288	t120SetupProcedure	CHOICE
1289	{
1290
1291		originateCall	NULL,
1292		waitForCall	NULL,
1293		issueQuery	NULL,
1294		...
1295	} OPTIONAL
1296}
1297
1298Q2931Address	::=SEQUENCE
1299{
1300	address	CHOICE
1301	{
1302		internationalNumber	NumericString(SIZE(1..16)),
1303		nsapAddress	OCTET STRING (SIZE(1..20)),
1304		...
1305	},
1306	subaddress	OCTET STRING (SIZE(1..20)) OPTIONAL,
1307	...
1308}
1309
1310V75Parameters	::= SEQUENCE
1311{
1312	audioHeaderPresent	BOOLEAN,
1313	 ...
1314}
1315
1316
1317DataType		::=CHOICE
1318{
1319	nonStandard	NonStandardParameter,
1320	nullData	NULL,
1321	videoData	VideoCapability,
1322	audioData	AudioCapability,
1323	data		DataApplicationCapability,
1324	encryptionData	EncryptionMode,
1325	...,
1326	h235Control	NonStandardParameter,
1327	h235Media	H235Media
1328}
1329
1330H235Media		::=SEQUENCE
1331{
1332	encryptionAuthenticationAndIntegrity	EncryptionAuthenticationAndIntegrity,
1333
1334	mediaType	CHOICE
1335	{
1336		nonStandard	NonStandardParameter,
1337		videoData	VideoCapability,
1338		audioData	AudioCapability,
1339		data	DataApplicationCapability,
1340		...
1341	},
1342
1343	...
1344}
1345
1346H222LogicalChannelParameters	::=SEQUENCE
1347{
1348	resourceID	INTEGER (0..65535),
1349	subChannelID	INTEGER (0..8191),
1350	pcr-pid	INTEGER (0..8191) OPTIONAL,
1351	programDescriptors	OCTET STRING OPTIONAL,
1352	streamDescriptors	OCTET STRING OPTIONAL,
1353	...
1354}
1355
1356H223LogicalChannelParameters	::=SEQUENCE
1357{
1358	adaptationLayerType	CHOICE
1359	{
1360		nonStandard	NonStandardParameter,
1361		al1Framed	NULL,
1362		al1NotFramed	NULL,
1363		al2WithoutSequenceNumbers	NULL,
1364		al2WithSequenceNumbers	NULL,
1365		al3		SEQUENCE
1366		{
1367			controlFieldOctets	INTEGER (0..2),
1368			sendBufferSize	INTEGER (0..16777215)	-- units octets
1369		},
1370		...,
1371		al1M	H223AL1MParameters,
1372		al2M	H223AL2MParameters,
1373		al3M	H223AL3MParameters
1374	},
1375
1376	segmentableFlag	BOOLEAN,
1377	...
1378}
1379
1380H223AL1MParameters	::=SEQUENCE
1381{
1382	transferMode	CHOICE
1383	{
1384		framed	NULL,
1385		unframed	NULL,
1386		...
1387	},
1388	headerFEC	CHOICE
1389	{
1390		sebch16-7	NULL,
1391		golay24-12	NULL,
1392		...
1393	},
1394	crcLength	CHOICE
1395	{
1396		crc4bit	NULL,
1397		crc12bit	NULL,
1398		crc20bit	NULL,
1399		crc28bit	NULL,
1400		...
1401	},
1402
1403	rcpcCodeRate	INTEGER (8..32),
1404
1405	arqType	CHOICE
1406	{
1407		noArq	NULL,
1408		typeIArq	H223AnnexCArqParameters,
1409		typeIIArq	H223AnnexCArqParameters,
1410		...
1411	},
1412	alpduInterleaving	BOOLEAN,
1413	alsduSplitting	BOOLEAN,
1414	...
1415}
1416
1417H223AL2MParameters	::=SEQUENCE
1418{
1419	headerFEC	CHOICE
1420	{
1421		sebch16-5	NULL,
1422		golay24-12	NULL,
1423		...
1424	},
1425	alpduInterleaving	BOOLEAN,
1426	...
1427}
1428
1429H223AL3MParameters	::=SEQUENCE
1430{
1431	headerFormat	CHOICE
1432	{
1433		sebch16-7	NULL,
1434		golay24-12	NULL,
1435		...
1436	},
1437	crcLength	CHOICE
1438	{
1439		crc4bit	NULL,
1440		crc12bit	NULL,
1441		crc20bit	NULL,
1442		crc28bit	NULL,
1443		...
1444	},
1445
1446	rcpcCodeRate	INTEGER (8..32),
1447
1448	arqType	CHOICE
1449	{
1450		noArq	NULL,
1451		typeIArq	H223AnnexCArqParameters,
1452		typeIIArq	H223AnnexCArqParameters,
1453		...
1454	},
1455
1456	alpduInterleaving	BOOLEAN,
1457	...
1458}
1459
1460
1461H223AnnexCArqParameters	::=SEQUENCE
1462{
1463	numberOfRetransmissions	CHOICE
1464	{
1465		finite	INTEGER (0..16),
1466		infinite	NULL,
1467		...
1468	},
1469	sendBufferSize	INTEGER (0..16777215),	-- units octets
1470	...
1471}
1472
1473V76LogicalChannelParameters	::=SEQUENCE
1474{
1475	hdlcParameters	V76HDLCParameters,
1476	suspendResume	CHOICE
1477	{
1478		noSuspendResume	NULL,
1479		suspendResumewAddress	NULL,
1480          	suspendResumewoAddress    	NULL,
1481		...
1482	},
1483	uIH			BOOLEAN,
1484	mode		CHOICE
1485	{
1486		eRM	SEQUENCE
1487		{
1488			windowSize	INTEGER (1..127) ,
1489			recovery	CHOICE
1490			{
1491				rej	NULL,
1492				sREJ	NULL,
1493				mSREJ	NULL,
1494				...
1495			},
1496			...
1497		},
1498	 	uNERM	NULL,
1499		...
1500	},
1501	v75Parameters	V75Parameters,
1502	...
1503}
1504
1505
1506
1507V76HDLCParameters	::=SEQUENCE
1508{
1509	crcLength	CRCLength,
1510	n401		INTEGER (1..4095),
1511	loopbackTestProcedure	BOOLEAN,
1512	...
1513}
1514
1515
1516CRCLength	::=CHOICE
1517{
1518	crc8bit		NULL,
1519	crc16bit	NULL,
1520	crc32bit	NULL,
1521	...
1522}
1523
1524H2250LogicalChannelParameters	::=SEQUENCE
1525{
1526	nonStandard	SEQUENCE OF NonStandardParameter OPTIONAL,
1527	sessionID	INTEGER(0..255),
1528	associatedSessionID	INTEGER(1..255) OPTIONAL,
1529	mediaChannel	TransportAddress OPTIONAL,
1530	mediaGuaranteedDelivery	BOOLEAN OPTIONAL,
1531	mediaControlChannel	TransportAddress OPTIONAL,  -- reverse RTCP channel
1532	mediaControlGuaranteedDelivery	BOOLEAN OPTIONAL,
1533	silenceSuppression	BOOLEAN OPTIONAL,
1534	destination	TerminalLabel OPTIONAL,
1535
1536	dynamicRTPPayloadType	INTEGER(96..127) OPTIONAL,
1537	mediaPacketization	CHOICE
1538	{
1539		h261aVideoPacketization	NULL,
1540		...,
1541		rtpPayloadType	RTPPayloadType
1542	} OPTIONAL,
1543	...,
1544	transportCapability	TransportCapability OPTIONAL,
1545	redundancyEncoding	RedundancyEncoding OPTIONAL,
1546	source		TerminalLabel OPTIONAL
1547}
1548
1549RTPPayloadType	::= SEQUENCE
1550{
1551	payloadDescriptor	CHOICE
1552	{
1553		nonStandardIdentifier	NonStandardParameter,
1554		rfc-number	INTEGER (1..32768, ...),
1555		oid	OBJECT IDENTIFIER,
1556		...
1557	},
1558	payloadType	INTEGER (0..127) OPTIONAL,
1559	...
1560}
1561
1562RedundancyEncoding	::=SEQUENCE
1563{
1564	redundancyEncodingMethod	RedundancyEncodingMethod,
1565	secondaryEncoding	DataType OPTIONAL,	-- depends on method
1566	...
1567}
1568
1569TransportAddress	::=CHOICE
1570{
1571	unicastAddress	UnicastAddress,
1572	multicastAddress	MulticastAddress,
1573	...
1574}
1575
1576UnicastAddress	::=CHOICE
1577{
1578	iPAddress	SEQUENCE
1579	{
1580		network	OCTET STRING (SIZE(4)),
1581		tsapIdentifier	INTEGER(0..65535),
1582		...
1583	},
1584	iPXAddress	SEQUENCE
1585	{
1586		node	OCTET STRING (SIZE(6)),
1587		netnum	OCTET STRING (SIZE(4)),
1588		tsapIdentifier	OCTET STRING (SIZE(2)),
1589		...
1590	},
1591	iP6Address	SEQUENCE
1592	{
1593		network	OCTET STRING (SIZE(16)),
1594		tsapIdentifier	INTEGER(0..65535),
1595		...
1596	},
1597	netBios	OCTET STRING (SIZE(16)),
1598	iPSourceRouteAddress	SEQUENCE
1599	{
1600		routing	CHOICE
1601		{
1602			strict	NULL,
1603			loose	NULL
1604		},
1605		network	OCTET STRING (SIZE(4)),
1606		tsapIdentifier	INTEGER(0..65535),
1607		route	SEQUENCE OF OCTET STRING (SIZE(4)),
1608		...
1609	},
1610	...,
1611	nsap		OCTET STRING (SIZE(1..20)),
1612	nonStandardAddress	NonStandardParameter
1613}
1614
1615MulticastAddress	::=CHOICE
1616{
1617	iPAddress	SEQUENCE
1618	{
1619		network	OCTET STRING (SIZE(4)),
1620		tsapIdentifier	INTEGER(0..65535),
1621		...
1622	},
1623	iP6Address	SEQUENCE
1624	{
1625		network	OCTET STRING (SIZE(16)),
1626		tsapIdentifier	INTEGER(0..65535),
1627		...
1628	},
1629	...,
1630	nsap		OCTET STRING (SIZE(1..20)),
1631	nonStandardAddress	NonStandardParameter
1632}
1633
1634EncryptionSync	::=SEQUENCE
1635					 -- used to supply new key and synchronization point
1636{
1637	nonStandard            	NonStandardParameter OPTIONAL,
1638	synchFlag	INTEGER(0..255) , 	-- may need to be larger for H.324, etc
1639					-- shall be the Dynamic Payload# for H.323
1640	h235Key	OCTET STRING (SIZE(1..65535)),  -- H.235 encoded value
1641	escrowentry	SEQUENCE SIZE(1..256) OF EscrowData OPTIONAL,
1642	...
1643}
1644
1645EscrowData	::=SEQUENCE
1646{
1647	escrowID	OBJECT IDENTIFIER,
1648	escrowValue	BIT STRING (SIZE(1..65535)),
1649	...
1650}
1651
1652OpenLogicalChannelAck	::=SEQUENCE
1653{
1654	forwardLogicalChannelNumber	LogicalChannelNumber,
1655
1656	reverseLogicalChannelParameters	SEQUENCE
1657	{
1658		reverseLogicalChannelNumber	LogicalChannelNumber,
1659		portNumber	INTEGER (0..65535) OPTIONAL,
1660		multiplexParameters	CHOICE
1661		{
1662			h222LogicalChannelParameters	H222LogicalChannelParameters,
1663			-- H.223 parameters are never present in reverse direction
1664			...,
1665			h2250LogicalChannelParameters H2250LogicalChannelParameters
1666
1667		} OPTIONAL,	-- Not present for H.223
1668		...,
1669		replacementFor	LogicalChannelNumber OPTIONAL
1670
1671	} OPTIONAL,	-- Not present for uni-directional channel request
1672	...,
1673	separateStack	NetworkAccessParameters OPTIONAL,
1674				-- for Open requester to establish the stack
1675	forwardMultiplexAckParameters	CHOICE
1676	{
1677		-- H.222 parameters are never present in the Ack
1678		-- H.223 parameters are never present in the Ack
1679		--V.76 parameters are never present in the Ack
1680		h2250LogicalChannelAckParameters H2250LogicalChannelAckParameters,
1681		...
1682	} OPTIONAL,
1683	encryptionSync	EncryptionSync OPTIONAL	-- used only by Master
1684}
1685
1686OpenLogicalChannelReject	::=SEQUENCE
1687{
1688	forwardLogicalChannelNumber	LogicalChannelNumber,
1689	cause		CHOICE
1690	{
1691		unspecified	NULL,
1692		unsuitableReverseParameters	NULL,
1693		dataTypeNotSupported	NULL,
1694		dataTypeNotAvailable	NULL,
1695		unknownDataType	NULL,
1696		dataTypeALCombinationNotSupported	NULL,
1697		...,
1698		multicastChannelNotAllowed	NULL,
1699		insufficientBandwidth	NULL,
1700		separateStackEstablishmentFailed	NULL,
1701		invalidSessionID	NULL,
1702		masterSlaveConflict	NULL,
1703		waitForCommunicationMode	NULL,
1704		invalidDependentChannel	NULL,
1705		replacementForRejected	NULL
1706	},
1707	...
1708}
1709
1710OpenLogicalChannelConfirm	::=SEQUENCE
1711{
1712	forwardLogicalChannelNumber	LogicalChannelNumber,
1713	...
1714}
1715
1716H2250LogicalChannelAckParameters	::=SEQUENCE
1717{
1718	nonStandard	SEQUENCE OF NonStandardParameter OPTIONAL,
1719	sessionID	INTEGER(1..255) OPTIONAL,
1720	mediaChannel	TransportAddress OPTIONAL,
1721	mediaControlChannel	TransportAddress OPTIONAL, -- forward RTCP channel
1722	dynamicRTPPayloadType	INTEGER(96..127) OPTIONAL, -- used only by the master or MC
1723	...,
1724	flowControlToZero	BOOLEAN
1725}
1726
1727
1728
1729CloseLogicalChannel	::=SEQUENCE
1730{
1731	forwardLogicalChannelNumber	LogicalChannelNumber,
1732	source		CHOICE
1733	{
1734		user	NULL,
1735		lcse	NULL
1736	},
1737	...,
1738	reason		CHOICE
1739	{
1740		unknown	NULL,
1741		reopen	NULL,
1742		reservationFailure	NULL,
1743		...
1744	}
1745}
1746
1747CloseLogicalChannelAck	::=SEQUENCE
1748{
1749	forwardLogicalChannelNumber	LogicalChannelNumber,
1750	...
1751}
1752
1753RequestChannelClose	::=SEQUENCE
1754{
1755	forwardLogicalChannelNumber	LogicalChannelNumber,
1756	...,
1757	qosCapability	QOSCapability OPTIONAL,
1758	reason		CHOICE
1759	{
1760		unknown	NULL,
1761		normal	NULL,
1762		reopen	NULL,
1763		reservationFailure	NULL,
1764		...
1765	}
1766}
1767
1768RequestChannelCloseAck	::=SEQUENCE
1769{
1770	forwardLogicalChannelNumber	LogicalChannelNumber,
1771	...
1772}
1773
1774RequestChannelCloseReject	::=SEQUENCE
1775{
1776	forwardLogicalChannelNumber	LogicalChannelNumber,
1777	cause		CHOICE
1778	{
1779		unspecified	NULL,
1780		...
1781	},
1782	...
1783}
1784
1785RequestChannelCloseRelease	::=SEQUENCE
1786{
1787	forwardLogicalChannelNumber	LogicalChannelNumber,
1788	...
1789}
1790
1791 -- ===================================================================================
1792-- H.223 multiplex table definitions
1793-- ===================================================================================
1794
1795MultiplexEntrySend	::=SEQUENCE
1796{
1797	sequenceNumber	SequenceNumber,
1798	multiplexEntryDescriptors	SET SIZE (1..15) OF MultiplexEntryDescriptor,
1799	...
1800}
1801
1802MultiplexEntryDescriptor	::=SEQUENCE
1803{
1804	multiplexTableEntryNumber	MultiplexTableEntryNumber,
1805	elementList	SEQUENCE SIZE (1..256) OF MultiplexElement OPTIONAL
1806}
1807
1808MultiplexElement	::=SEQUENCE
1809{
1810	type		CHOICE
1811	{
1812		logicalChannelNumber	INTEGER(0..65535),
1813		subElementList	SEQUENCE SIZE (2..255) OF MultiplexElement
1814	},
1815	repeatCount	CHOICE
1816	{
1817		finite	INTEGER (1..65535),	-- repeats of type
1818		untilClosingFlag	NULL	-- used for last element
1819	}
1820}
1821
1822MultiplexTableEntryNumber	::=INTEGER (1..15)
1823
1824MultiplexEntrySendAck	::=SEQUENCE
1825{
1826	sequenceNumber	SequenceNumber,
1827	multiplexTableEntryNumber	SET SIZE (1..15) OF MultiplexTableEntryNumber,
1828	...
1829}
1830
1831MultiplexEntrySendReject	::=SEQUENCE
1832{
1833	sequenceNumber	SequenceNumber,
1834	rejectionDescriptions	SET SIZE (1..15) OF MultiplexEntryRejectionDescriptions,
1835	...
1836}
1837
1838MultiplexEntryRejectionDescriptions	::=SEQUENCE
1839{
1840	multiplexTableEntryNumber	MultiplexTableEntryNumber,
1841	cause		CHOICE
1842	{
1843		unspecifiedCause	NULL,
1844		descriptorTooComplex	NULL,
1845		...
1846	},
1847	...
1848}
1849
1850MultiplexEntrySendRelease	::=SEQUENCE
1851{
1852	multiplexTableEntryNumber	SET SIZE (1..15) OF MultiplexTableEntryNumber,
1853	...
1854}
1855
1856RequestMultiplexEntry	::=SEQUENCE
1857{
1858	entryNumbers	SET SIZE (1..15) OF MultiplexTableEntryNumber,
1859	...
1860}
1861
1862RequestMultiplexEntryAck	::=SEQUENCE
1863{
1864	entryNumbers	SET SIZE (1..15) OF MultiplexTableEntryNumber,
1865	...
1866}
1867
1868RequestMultiplexEntryReject	::=SEQUENCE
1869{
1870	entryNumbers	SET SIZE (1..15) OF MultiplexTableEntryNumber,
1871	rejectionDescriptions	SET SIZE (1..15) OF RequestMultiplexEntryRejectionDescriptions,
1872	...
1873}
1874
1875RequestMultiplexEntryRejectionDescriptions	::=SEQUENCE
1876{
1877	multiplexTableEntryNumber	MultiplexTableEntryNumber,
1878	cause		CHOICE
1879	{
1880		unspecifiedCause	NULL,
1881		...
1882	},
1883	...
1884}
1885
1886RequestMultiplexEntryRelease	::=SEQUENCE
1887{
1888	entryNumbers	SET SIZE (1..15) OF MultiplexTableEntryNumber,
1889	...
1890}
1891
1892 -- ===================================================================================
1893-- Request mode definitions
1894-- ===================================================================================
1895
1896-- RequestMode is a list, in order or preference, of modes that a terminal would like
1897-- to have transmitted to it.
1898
1899RequestMode	::=SEQUENCE
1900{
1901	sequenceNumber	SequenceNumber,
1902	requestedModes	SEQUENCE SIZE (1..256) OF ModeDescription,
1903	...
1904}
1905
1906RequestModeAck	::=SEQUENCE
1907{
1908	sequenceNumber	SequenceNumber,
1909	response	CHOICE
1910	{
1911		willTransmitMostPreferredMode	NULL,
1912		willTransmitLessPreferredMode	NULL,
1913		...
1914	},
1915	...
1916}
1917
1918RequestModeReject	::=SEQUENCE
1919{
1920	sequenceNumber	SequenceNumber,
1921	cause		CHOICE
1922	{
1923		modeUnavailable	NULL,
1924		multipointConstraint	NULL,
1925		requestDenied	NULL,
1926		...
1927	},
1928	...
1929}
1930
1931RequestModeRelease	::=SEQUENCE
1932{
1933	...
1934}
1935
1936-- ===================================================================================
1937-- Request mode definitions: Mode description
1938-- ===================================================================================
1939
1940ModeDescription	::=SET SIZE (1..256) OF ModeElement
1941
1942ModeElement	::= SEQUENCE
1943{
1944	type		CHOICE
1945	{
1946		nonStandard	NonStandardParameter,
1947		videoMode	VideoMode,
1948		audioMode	AudioMode,
1949		dataMode	DataMode,
1950		encryptionMode	EncryptionMode,
1951		...,
1952		h235Mode	H235Mode
1953	},
1954
1955	h223ModeParameters	H223ModeParameters OPTIONAL,
1956	...,
1957	v76ModeParameters	V76ModeParameters OPTIONAL,
1958	h2250ModeParameters	H2250ModeParameters OPTIONAL
1959
1960
1961}
1962
1963H235Mode		::=SEQUENCE
1964{
1965	encryptionAuthenticationAndIntegrity	EncryptionAuthenticationAndIntegrity,
1966
1967	mediaMode	CHOICE
1968	{
1969		nonStandard	NonStandardParameter,
1970		videoMode	VideoMode,
1971		audioMode	AudioMode,
1972		dataMode	DataMode,
1973		...
1974	},
1975	...
1976}
1977
1978H223ModeParameters	::=SEQUENCE
1979{
1980	adaptationLayerType	CHOICE
1981	{
1982		nonStandard	NonStandardParameter,
1983		al1Framed	NULL,
1984		al1NotFramed	NULL,
1985		al2WithoutSequenceNumbers	NULL,
1986		al2WithSequenceNumbers	NULL,
1987		al3		SEQUENCE
1988		{
1989			controlFieldOctets	INTEGER(0..2),
1990			sendBufferSize	INTEGER(0..16777215)	-- units octets
1991		},
1992		...,
1993		al1M	H223AL1MParameters,
1994		al2M	H223AL2MParameters,
1995		al3M	H223AL3MParameters
1996
1997	},
1998
1999	segmentableFlag	BOOLEAN,
2000	...
2001}
2002
2003V76ModeParameters	::=CHOICE
2004{
2005	suspendResumewAddress	NULL,
2006	suspendResumewoAddress	NULL,
2007	...
2008}
2009
2010H2250ModeParameters	::=SEQUENCE
2011{
2012	redundancyEncodingMode	RedundancyEncodingMode OPTIONAL,
2013	...
2014}
2015
2016RedundancyEncodingMode	::=SEQUENCE
2017{
2018	redundancyEncodingMethod	RedundancyEncodingMethod,
2019	secondaryEncoding	CHOICE
2020	{
2021		nonStandard	NonStandardParameter,
2022		audioData	AudioMode,
2023		...
2024	} OPTIONAL,
2025	...
2026}
2027
2028-- ===================================================================================
2029-- Request mode definitions: Video modes
2030-- ===================================================================================
2031
2032VideoMode		::=CHOICE
2033{
2034	nonStandard	NonStandardParameter,
2035	h261VideoMode	H261VideoMode,
2036	h262VideoMode	H262VideoMode,
2037	h263VideoMode	H263VideoMode,
2038	is11172VideoMode	IS11172VideoMode,
2039	...
2040}
2041
2042H261VideoMode	::=SEQUENCE
2043{
2044	resolution	CHOICE
2045	{
2046		qcif	NULL,
2047		cif		NULL
2048	},
2049	bitRate	INTEGER (1..19200),	-- units 100 bit/s
2050	stillImageTransmission	BOOLEAN,
2051	...
2052}
2053
2054H262VideoMode	::=SEQUENCE
2055{
2056	profileAndLevel	CHOICE
2057	{
2058		profileAndLevel-SPatML	NULL,
2059		profileAndLevel-MPatLL	NULL,
2060		profileAndLevel-MPatML	NULL,
2061		profileAndLevel-MPatH-14	NULL,
2062		profileAndLevel-MPatHL	NULL,
2063		profileAndLevel-SNRatLL	NULL,
2064		profileAndLevel-SNRatML	NULL,
2065		profileAndLevel-SpatialatH-14	NULL,
2066		profileAndLevel-HPatML	NULL,
2067		profileAndLevel-HPatH-14	NULL,
2068		profileAndLevel-HPatHL	NULL,
2069		...
2070	},
2071	videoBitRate	INTEGER(0..1073741823) OPTIONAL,	-- units 400bit/s
2072	vbvBufferSize	INTEGER(0..262143) OPTIONAL,	-- units 16384bits
2073	samplesPerLine	INTEGER(0..16383) OPTIONAL,	-- units samples/line
2074	linesPerFrame	INTEGER(0..16383) OPTIONAL,	-- units lines/frame
2075	framesPerSecond	INTEGER(0..15) OPTIONAL,	-- frame_rate_code
2076	luminanceSampleRate	INTEGER(0..4294967295) OPTIONAL,	-- units samples/sec
2077	...
2078}
2079
2080H263VideoMode	::=SEQUENCE
2081{
2082	resolution	CHOICE
2083	{
2084		sqcif	NULL,
2085		qcif	NULL,
2086		cif		NULL,
2087		cif4	NULL,
2088		cif16	NULL,
2089		...
2090	},
2091	bitRate	INTEGER (1..19200),	-- units 100 bit/s
2092	unrestrictedVector	BOOLEAN,
2093	arithmeticCoding	BOOLEAN,
2094	advancedPrediction	BOOLEAN,
2095	pbFrames	BOOLEAN,
2096	...,
2097
2098	errorCompensation	BOOLEAN,
2099	enhancementLayerInfo	EnhancementLayerInfo OPTIONAL,
2100	h263Options	H263Options OPTIONAL
2101}
2102
2103IS11172VideoMode	::=SEQUENCE
2104{
2105	constrainedBitstream	BOOLEAN,
2106	videoBitRate	INTEGER(0..1073741823) OPTIONAL,	-- units 400bit/s
2107	vbvBufferSize	INTEGER(0..262143) OPTIONAL,	-- units 16384bits
2108	samplesPerLine	INTEGER(0..16383) OPTIONAL,	-- units samples/line
2109	linesPerFrame	INTEGER(0..16383) OPTIONAL,	-- units lines/frame
2110	pictureRate	INTEGER(0..15) OPTIONAL,
2111	luminanceSampleRate	INTEGER(0..4294967295) OPTIONAL,	-- units samples/sec
2112	...
2113}
2114
2115-- ===================================================================================
2116-- Request mode definitions: Audio modes
2117-- ===================================================================================
2118
2119AudioMode	::=CHOICE
2120{
2121	nonStandard	NonStandardParameter,
2122	g711Alaw64k	NULL,
2123	g711Alaw56k	NULL,
2124	g711Ulaw64k	NULL,
2125	g711Ulaw56k	NULL,
2126
2127	g722-64k	NULL,
2128	g722-56k	NULL,
2129	g722-48k	NULL,
2130
2131	g728		NULL,
2132	g729		NULL,
2133	g729AnnexA	NULL,
2134
2135	g7231		CHOICE
2136	{
2137		noSilenceSuppressionLowRate	NULL,
2138		noSilenceSuppressionHighRate	NULL,
2139		silenceSuppressionLowRate	NULL,
2140		silenceSuppressionHighRate	NULL
2141	},
2142
2143	is11172AudioMode	IS11172AudioMode,
2144	is13818AudioMode	IS13818AudioMode,
2145
2146	...,
2147	g729wAnnexB	INTEGER(1..256),
2148	g729AnnexAwAnnexB	INTEGER(1..256),
2149	g7231AnnexCMode	G7231AnnexCMode,
2150	gsmFullRate	GSMAudioCapability,
2151	gsmHalfRate	GSMAudioCapability,
2152	gsmEnhancedFullRate	GSMAudioCapability
2153
2154}
2155
2156IS11172AudioMode	::=SEQUENCE
2157{
2158	audioLayer	CHOICE
2159	{
2160		audioLayer1	NULL,
2161		audioLayer2	NULL,
2162		audioLayer3	NULL
2163	},
2164
2165	audioSampling	CHOICE
2166	{
2167		audioSampling32k	NULL,
2168		audioSampling44k1	NULL,
2169		audioSampling48k	NULL
2170	},
2171
2172	multichannelType	CHOICE
2173	{
2174		singleChannel	NULL,
2175		twoChannelStereo	NULL,
2176		twoChannelDual	NULL
2177	},
2178
2179	bitRate	INTEGER (1..448),	--units kbit/s
2180	...
2181}
2182
2183IS13818AudioMode	::=SEQUENCE
2184{
2185	audioLayer	CHOICE
2186	{
2187		audioLayer1	NULL,
2188		audioLayer2	NULL,
2189		audioLayer3	NULL
2190	},
2191
2192	audioSampling	CHOICE
2193	{
2194		audioSampling16k	NULL,
2195		audioSampling22k05	NULL,
2196		audioSampling24k	NULL,
2197		audioSampling32k	NULL,
2198		audioSampling44k1	NULL,
2199		audioSampling48k	NULL
2200	},
2201
2202	multichannelType	CHOICE
2203	{
2204		singleChannel	NULL,
2205		twoChannelStereo	NULL,
2206		twoChannelDual	NULL,
2207		threeChannels2-1	NULL,
2208		threeChannels3-0	NULL,
2209		fourChannels2-0-2-0	NULL,
2210		fourChannels2-2	NULL,
2211		fourChannels3-1	NULL,
2212		fiveChannels3-0-2-0	NULL,
2213		fiveChannels3-2	NULL
2214	},
2215
2216	lowFrequencyEnhancement	BOOLEAN,
2217
2218	multilingual	BOOLEAN,
2219
2220	bitRate	INTEGER (1..1130),	--units kbit/s
2221	...
2222}
2223
2224G7231AnnexCMode	::= SEQUENCE
2225{
2226	maxAl-sduAudioFrames	INTEGER (1..256),
2227	silenceSuppression	BOOLEAN,
2228	g723AnnexCAudioMode	SEQUENCE
2229	{
2230		highRateMode0	INTEGER (27..78),	-- units octets
2231		highRateMode1	INTEGER (27..78),	-- units octets
2232		lowRateMode0	INTEGER (23..66),	-- units octets
2233		lowRateMode1	INTEGER (23..66),	-- units octets
2234		sidMode0	INTEGER (6..17),	-- units octets
2235		sidMode1	INTEGER (6..17),	-- units octets
2236		...
2237	},
2238	...
2239}
2240
2241-- ===================================================================================
2242-- Request mode definitions: Data modes
2243-- ===================================================================================
2244
2245DataMode		::=SEQUENCE
2246{
2247	application	CHOICE
2248	{
2249		nonStandard	NonStandardParameter,
2250		t120	DataProtocolCapability,
2251		dsm-cc	DataProtocolCapability,
2252		userData	DataProtocolCapability,
2253		t84	DataProtocolCapability,
2254		t434	DataProtocolCapability,
2255		h224	DataProtocolCapability,
2256		nlpid	SEQUENCE
2257		{
2258			nlpidProtocol	DataProtocolCapability,
2259			nlpidData	OCTET STRING
2260		},
2261		dsvdControl	NULL,
2262		h222DataPartitioning	DataProtocolCapability,
2263		...,
2264		t30fax	DataProtocolCapability,
2265		t140	DataProtocolCapability
2266	},
2267	bitRate	INTEGER (0..4294967295),	-- units 100 bit/s
2268	...
2269}
2270
2271-- ===================================================================================
2272-- Request mode definitions: Encryption modes
2273-- ===================================================================================
2274
2275EncryptionMode	::=CHOICE
2276{
2277	nonStandard	NonStandardParameter,
2278	h233Encryption	NULL,
2279	...
2280}
2281
2282 -- ===================================================================================
2283-- Round Trip Delay definitions
2284-- ===================================================================================
2285
2286RoundTripDelayRequest	::=SEQUENCE
2287{
2288	sequenceNumber	SequenceNumber,
2289	...
2290}
2291
2292RoundTripDelayResponse	::=SEQUENCE
2293{
2294	sequenceNumber	SequenceNumber,
2295	...
2296}
2297
2298-- ===================================================================================
2299-- Maintenance Loop definitions
2300-- ===================================================================================
2301
2302MaintenanceLoopRequest	::=SEQUENCE
2303{
2304	type		CHOICE
2305	{
2306		systemLoop	NULL,
2307		mediaLoop	LogicalChannelNumber,
2308		logicalChannelLoop	LogicalChannelNumber,
2309		...
2310	},
2311	...
2312}
2313
2314MaintenanceLoopAck	::=SEQUENCE
2315{
2316	type		CHOICE
2317	{
2318		systemLoop	NULL,
2319		mediaLoop	LogicalChannelNumber,
2320		logicalChannelLoop	LogicalChannelNumber,
2321		...
2322	},
2323	...
2324}
2325
2326MaintenanceLoopReject	::=SEQUENCE
2327{
2328	type		CHOICE
2329	{
2330		systemLoop	NULL,
2331		mediaLoop	LogicalChannelNumber,
2332		logicalChannelLoop	LogicalChannelNumber,
2333		...
2334	},
2335	cause		CHOICE
2336	{
2337		canNotPerformLoop	NULL,
2338		...
2339	},
2340	...
2341}
2342
2343MaintenanceLoopOffCommand	::=SEQUENCE
2344{
2345	...
2346}
2347
2348-- ===================================================================================
2349-- Communication Mode definitions
2350-- ===================================================================================
2351
2352CommunicationModeCommand	::=SEQUENCE
2353{
2354	communicationModeTable	SET SIZE(1..256) OF CommunicationModeTableEntry,
2355	...
2356}
2357
2358CommunicationModeRequest	::=SEQUENCE
2359{
2360	...
2361}
2362
2363CommunicationModeResponse	::=CHOICE
2364{
2365	communicationModeTable	SET SIZE(1..256) OF CommunicationModeTableEntry,
2366	...
2367}
2368
2369CommunicationModeTableEntry	::=SEQUENCE
2370{
2371	nonStandard	SEQUENCE OF NonStandardParameter OPTIONAL,
2372	sessionID	INTEGER(1..255),
2373	associatedSessionID	INTEGER(1..255) OPTIONAL,
2374
2375	terminalLabel	TerminalLabel OPTIONAL, -- if not present,
2376					-- it refers to all participants
2377					-- in the conference
2378	sessionDescription	BMPString (SIZE(1..128)) ,
2379				  -- Basic ISO/IEC 10646-1 (Unicode)
2380	dataType	CHOICE
2381	{
2382		videoData	VideoCapability,
2383		audioData	AudioCapability,
2384		data	DataApplicationCapability,
2385		...
2386	},
2387	mediaChannel	TransportAddress OPTIONAL,
2388	mediaGuaranteedDelivery	BOOLEAN OPTIONAL,
2389	mediaControlChannel	TransportAddress OPTIONAL,  -- reverse RTCP channel
2390	mediaControlGuaranteedDelivery	BOOLEAN OPTIONAL,
2391	...,
2392	redundancyEncoding	RedundancyEncoding OPTIONAL,
2393	sessionDependency	INTEGER (1..255) OPTIONAL,
2394	destination	TerminalLabel OPTIONAL
2395}
2396
2397-- ===================================================================================
2398-- Conference Request definitions
2399-- ===================================================================================
2400
2401ConferenceRequest	::=CHOICE
2402{
2403
2404	terminalListRequest	NULL,                    -- same as H.230 TCU (term->MC)
2405
2406	makeMeChair	NULL,                    -- same as H.230 CCA (term->MC)
2407	cancelMakeMeChair	NULL,                    -- same as H.230 CIS (term->MC)
2408
2409	dropTerminal	TerminalLabel,       -- same as H.230 CCD(term->MC)
2410
2411	requestTerminalID	TerminalLabel,       -- sames as TCP (term->MC)
2412
2413	enterH243Password	NULL,                    -- same as H.230 TCS1(MC->term)
2414	enterH243TerminalID	NULL,                    -- same as H.230 TCS2/TCI
2415						--  (MC->term)
2416	enterH243ConferenceID	NULL,                    -- same as H.230 TCS3 (MC->term)
2417	...,
2418	enterExtensionAddress	NULL,                     -- same as H.230 TCS4 (GW->term)
2419	requestChairTokenOwner	NULL,                    -- same as H.230 TCA (term->MC)
2420	requestTerminalCertificate 	SEQUENCE
2421	{
2422		terminalLabel	TerminalLabel OPTIONAL,
2423		certSelectionCriteria	CertSelectionCriteria OPTIONAL,
2424		sRandom	INTEGER (1..4294967295) OPTIONAL,
2425					-- this is the requester's challenge
2426		...
2427	},
2428	broadcastMyLogicalChannel	LogicalChannelNumber,	-- similar to H.230 MCV
2429	makeTerminalBroadcaster	TerminalLabel,	-- similar to H.230 VCB
2430	sendThisSource	TerminalLabel,	-- similar to H.230 VCS
2431	requestAllTerminalIDs	NULL,
2432	remoteMCRequest	RemoteMCRequest
2433}
2434
2435CertSelectionCriteria	::=SEQUENCE SIZE (1..16) OF Criteria
2436
2437Criteria			::=SEQUENCE
2438{
2439	field		OBJECT IDENTIFIER, -- may include certificate type
2440	value		OCTET STRING (SIZE(1..65535)),
2441	...
2442}
2443
2444TerminalLabel	::=SEQUENCE
2445{
2446		mcuNumber	McuNumber,
2447		terminalNumber	TerminalNumber,
2448		...
2449}
2450
2451McuNumber	::=INTEGER(0..192)
2452TerminalNumber	::=INTEGER(0..192)
2453
2454-- ===================================================================================
2455-- Conference Response definitions
2456-- ===================================================================================
2457
2458ConferenceResponse	::=CHOICE
2459{
2460	mCTerminalIDResponse	SEQUENCE             -- response to TCP(same as TIP)
2461	{				-- sent by MC only
2462		terminalLabel	TerminalLabel,
2463		terminalID	TerminalID,
2464		...
2465	},
2466
2467	terminalIDResponse	SEQUENCE	-- response to TCS2 or TCI
2468	{				-- same as IIS
2469		terminalLabel	TerminalLabel,	-- (term->MC)
2470		terminalID	TerminalID,
2471		...
2472	},
2473
2474	conferenceIDResponse	SEQUENCE	-- response to TCS3
2475	{				-- same as IIS
2476		terminalLabel	TerminalLabel,	-- (term->MC)
2477		conferenceID	ConferenceID,
2478		...
2479	},
2480
2481	passwordResponse	SEQUENCE	-- response to TCS1
2482	{				-- same as IIS
2483		terminalLabel	TerminalLabel,	-- (term->MC)
2484		password	Password,
2485		...
2486	},
2487
2488	terminalListResponse	SET SIZE (1..256) OF TerminalLabel,
2489
2490	videoCommandReject	NULL,	-- same as H.230 VCR
2491	terminalDropReject	NULL,	-- same as H.230 CIR
2492
2493	makeMeChairResponse	CHOICE	-- same as H.230 CCR
2494	{
2495		grantedChairToken	NULL,	-- same as H.230 CIT
2496		deniedChairToken	NULL,	-- same as H.230 CCR
2497		...
2498	},
2499	...,
2500	extensionAddressResponse	SEQUENCE	-- response to TCS4
2501	{
2502		extensionAddress	TerminalID,	-- same as IIS (term->GW)
2503		...
2504	},
2505	chairTokenOwnerResponse	SEQUENCE    -- response to TCA(same as TIR) sent by MC only
2506	{
2507		terminalLabel	TerminalLabel,
2508		terminalID	TerminalID,
2509		...
2510	},
2511	terminalCertificateResponse  	SEQUENCE
2512	{
2513       		terminalLabel           	TerminalLabel OPTIONAL,
2514       		certificateResponse           	OCTET STRING (SIZE(1..65535)) OPTIONAL,
2515		...
2516   	},
2517	broadcastMyLogicalChannelResponse	CHOICE
2518	{
2519		grantedBroadcastMyLogicalChannel	NULL,
2520		deniedBroadcastMyLogicalChannel	NULL,
2521		...
2522	},
2523	makeTerminalBroadcasterResponse	CHOICE
2524	{
2525		grantedMakeTerminalBroadcaster	NULL,
2526		deniedMakeTerminalBroadcaster	NULL,
2527		...
2528	},
2529	sendThisSourceResponse	CHOICE
2530	{
2531		grantedSendThisSource	NULL,
2532		deniedSendThisSource	NULL,
2533		...
2534	},
2535	requestAllTerminalIDsResponse	RequestAllTerminalIDsResponse,
2536	remoteMCResponse	RemoteMCResponse
2537}
2538
2539TerminalID 	::=OCTET STRING (SIZE(1..128))	-- as per H.230
2540ConferenceID	::=OCTET STRING (SIZE(1..32))
2541Password		::=OCTET STRING (SIZE(1..32))
2542
2543RequestAllTerminalIDsResponse 	::=SEQUENCE
2544{
2545	terminalInformation	SEQUENCE OF TerminalInformation,
2546	...
2547}
2548
2549TerminalInformation	::=SEQUENCE
2550{
2551	terminalLabel	TerminalLabel,
2552	terminalID	TerminalID,
2553	...
2554}
2555
2556-- ===================================================================================
2557-- Remote MC Request definitions
2558-- ===================================================================================
2559
2560	RemoteMCRequest	::=CHOICE
2561	{
2562		masterActivate	NULL,
2563		slaveActivate	NULL,
2564		deActivate	NULL,
2565		...
2566	}
2567
2568	RemoteMCResponse	::=CHOICE
2569	{
2570		accept	NULL,
2571		reject	CHOICE
2572		{
2573			unspecified	NULL,
2574			functionNotSupported	NULL,
2575			...
2576		},
2577		...
2578	}
2579
2580-- ===================================================================================
2581-- Command Message definitions
2582-- ===================================================================================
2583
2584-- ===================================================================================
2585-- Command Message : Send Terminal Capability Set
2586-- ===================================================================================
2587
2588SendTerminalCapabilitySet	::=CHOICE
2589{
2590	specificRequest	SEQUENCE
2591	{
2592		multiplexCapability	BOOLEAN,
2593
2594		capabilityTableEntryNumbers	SET SIZE (1..65535) OF CapabilityTableEntryNumber OPTIONAL,
2595
2596		capabilityDescriptorNumbers	SET SIZE (1..256) OF CapabilityDescriptorNumber OPTIONAL,
2597		...
2598	},
2599	genericRequest	NULL,
2600	...
2601}
2602
2603-- ===================================================================================
2604-- Command Message : Encryption
2605-- ===================================================================================
2606
2607EncryptionCommand	::=CHOICE
2608{
2609	encryptionSE	OCTET STRING,	-- per H.233, but no error protection
2610	encryptionIVRequest	NULL,	-- requests new IV
2611	encryptionAlgorithmID	SEQUENCE
2612	{
2613		h233AlgorithmIdentifier	SequenceNumber,
2614		associatedAlgorithm	NonStandardParameter
2615	},
2616	...
2617}
2618
2619-- ===================================================================================
2620-- Command Message : Flow Control
2621-- ===================================================================================
2622
2623FlowControlCommand	::=SEQUENCE
2624{
2625	scope		CHOICE
2626	{
2627		logicalChannelNumber	LogicalChannelNumber,
2628		resourceID	INTEGER (0..65535),
2629		wholeMultiplex	NULL
2630	},
2631	restriction	CHOICE
2632	{
2633		maximumBitRate	INTEGER (0..16777215),	-- units 100 bit/s
2634		noRestriction	NULL
2635	},
2636	...
2637}
2638
2639-- ===================================================================================
2640-- Command Message : Change or End Session
2641-- ===================================================================================
2642
2643EndSessionCommand	::=CHOICE
2644{
2645	nonStandard	NonStandardParameter,
2646
2647	disconnect	NULL,
2648
2649	gstnOptions	CHOICE
2650	{
2651		telephonyMode	NULL,
2652		v8bis	NULL,
2653		v34DSVD	NULL,
2654		v34DuplexFAX	NULL,
2655		v34H324	NULL,
2656		...
2657	},
2658
2659	...,
2660	isdnOptions	CHOICE
2661	{
2662		telephonyMode	NULL,
2663		v140	NULL,
2664		terminalOnHold	NULL,
2665		...
2666	}
2667}
2668
2669-- ===================================================================================
2670-- Command Message : Conference Commands
2671-- ===================================================================================
2672
2673ConferenceCommand	::=CHOICE
2674{
2675	broadcastMyLogicalChannel	LogicalChannelNumber,	-- similar to H.230 MCV
2676	cancelBroadcastMyLogicalChannel	LogicalChannelNumber, -- similar to H.230 Cancel-MCV
2677
2678	makeTerminalBroadcaster	TerminalLabel,	-- same as H.230 VCB
2679	cancelMakeTerminalBroadcaster	NULL,	-- same as H.230 Cancel-VCB
2680
2681	sendThisSource	TerminalLabel,	-- same as H.230 VCS
2682	cancelSendThisSource	NULL,	-- same as H.230 cancel VCS
2683
2684	dropConference	NULL,	-- same as H.230 CCK
2685	...,
2686	substituteConferenceIDCommand	SubstituteConferenceIDCommand
2687}
2688
2689SubstituteConferenceIDCommand	::=SEQUENCE
2690{
2691	conferenceIdentifier	OCTET STRING (SIZE(16)),
2692	...
2693}
2694
2695-- ===================================================================================
2696-- Command Message : Miscellaneous H.230-like commands
2697-- ===================================================================================
2698
2699MiscellaneousCommand	::=SEQUENCE
2700{
2701	logicalChannelNumber	LogicalChannelNumber,
2702	type		CHOICE
2703	{
2704		equaliseDelay	NULL,	-- same as H.230 ACE
2705		zeroDelay	NULL,	-- same as H.230 ACZ
2706		multipointModeCommand	NULL,
2707		cancelMultipointModeCommand	NULL,
2708		videoFreezePicture	NULL,
2709		videoFastUpdatePicture	NULL,
2710
2711		videoFastUpdateGOB	SEQUENCE
2712		{
2713			firstGOB	INTEGER (0..17),
2714			numberOfGOBs	INTEGER (1..18)
2715		},
2716
2717		videoTemporalSpatialTradeOff	INTEGER (0..31),	-- commands a trade-off value
2718
2719		videoSendSyncEveryGOB	NULL,
2720		videoSendSyncEveryGOBCancel	NULL,
2721
2722		...,
2723		videoFastUpdateMB	SEQUENCE
2724		{
2725			firstGOB	INTEGER (0..255) OPTIONAL,
2726			firstMB	INTEGER (1..8192) OPTIONAL,
2727			numberOfMBs	INTEGER (1..8192),
2728			...
2729		},
2730		maxH223MUXPDUsize	INTEGER(1..65535),	-- units octets
2731		encryptionUpdate	EncryptionSync,
2732		encryptionUpdateRequest	EncryptionUpdateRequest,
2733		switchReceiveMediaOff	NULL,
2734		switchReceiveMediaOn	NULL,
2735
2736		progressiveRefinementStart	SEQUENCE
2737		{
2738			repeatCount	CHOICE
2739			{
2740				doOneProgression		NULL,
2741				doContinuousProgressions		NULL,
2742				doOneIndependentProgression	NULL,
2743				doContinuousIndependentProgressions	NULL,
2744				...
2745			},
2746			...
2747		},
2748		progressiveRefinementAbortOne		NULL,
2749		progressiveRefinementAbortContinuous		NULL
2750
2751	},
2752
2753	...
2754}
2755
2756KeyProtectionMethod	::=SEQUENCE -- specify how the new key is to be protected
2757{
2758	secureChannel	BOOLEAN,
2759	sharedSecret	BOOLEAN,
2760	certProtectedKey	BOOLEAN,
2761	...
2762}
2763
2764EncryptionUpdateRequest	::=SEQUENCE
2765{
2766	keyProtectionMethod	KeyProtectionMethod OPTIONAL,
2767	...
2768}
2769
2770-- ===================================================================================
2771-- Command Message : H.223 Multiplex Reconfiguration
2772-- ===================================================================================
2773
2774H223MultiplexReconfiguration	::=CHOICE
2775{
2776	h223ModeChange	CHOICE
2777	{
2778		toLevel0	NULL,
2779		toLevel1	NULL,
2780		toLevel2	NULL,
2781		toLevel2withOptionalHeader	NULL,
2782		...
2783	},
2784
2785	h223AnnexADoubleFlag	CHOICE
2786	{
2787		start	NULL,
2788		stop	NULL,
2789		...
2790	},
2791
2792	...
2793}
2794 -- ===================================================================================
2795-- Indication Message definitions
2796-- ===================================================================================
2797
2798-- ===================================================================================
2799-- Indication Message : Function not understood
2800-- ===================================================================================
2801
2802-- This is used to return a request, response or command that is not understood
2803
2804FunctionNotUnderstood	::=CHOICE
2805{
2806	request	RequestMessage,
2807	response	ResponseMessage,
2808	command	CommandMessage
2809}
2810
2811-- ===================================================================================
2812-- Indication Message : Function not Supported
2813-- ===================================================================================
2814
2815-- This is used to return a complete request, response or command that is not recognized
2816
2817FunctionNotSupported	::=SEQUENCE
2818{
2819	cause		CHOICE
2820	{
2821		syntaxError	NULL,
2822		semanticError	NULL,
2823		unknownFunction	NULL,
2824		...
2825	},
2826	returnedFunction	OCTET STRING OPTIONAL,
2827	...
2828}
2829
2830-- ===================================================================================
2831-- Indication Message : Conference
2832-- ===================================================================================
2833
2834ConferenceIndication	::=CHOICE
2835{
2836	sbeNumber		INTEGER (0..9),	-- same as H.230 SBE Number
2837
2838	terminalNumberAssign		TerminalLabel,	-- same as H.230 TIA
2839
2840	terminalJoinedConference		TerminalLabel,	-- same as H.230 TIN
2841
2842	terminalLeftConference		TerminalLabel,	-- same as H.230 TID
2843
2844	seenByAtLeastOneOther		NULL,	-- same as H.230 MIV
2845	cancelSeenByAtLeastOneOther		NULL,	-- same as H.230 cancel MIV
2846
2847	seenByAll		NULL,	-- like H.230 MIV
2848	cancelSeenByAll		NULL,	-- like H.230 MIV
2849
2850	terminalYouAreSeeing		TerminalLabel,	-- same as H.230 VIN
2851
2852	requestForFloor	NULL,	-- same as H.230 TIF
2853
2854	...,
2855	withdrawChairToken	NULL,	-- same as H.230 CCR
2856					-- MC-> chair
2857	floorRequested	TerminalLabel	-- same as H.230 TIF
2858					-- MC-> chair
2859}
2860
2861
2862-- ===================================================================================
2863-- Indication Message : Miscellaneous H.230-like indication
2864-- ===================================================================================
2865
2866MiscellaneousIndication	::=SEQUENCE
2867{
2868	logicalChannelNumber	LogicalChannelNumber,
2869	type		CHOICE
2870	{
2871		logicalChannelActive	NULL,	-- same as H.230 AIA and VIA
2872		logicalChannelInactive	NULL,	-- same as H.230 AIM and VIS
2873
2874		multipointConference	NULL,
2875		cancelMultipointConference	NULL,
2876
2877		multipointZeroComm	NULL,	-- same as H.230 MIZ
2878		cancelMultipointZeroComm	NULL,	-- same as H.230 cancel MIZ
2879
2880		multipointSecondaryStatus	NULL,	-- same as H.230 MIS
2881		cancelMultipointSecondaryStatus	NULL,	-- same as H.230 cancel MIS
2882
2883		videoIndicateReadyToActivate	NULL,	-- same as H.230 VIR
2884
2885		videoTemporalSpatialTradeOff	INTEGER (0..31),	-- indicates current trade-off
2886
2887		...,
2888		videoNotDecodedMBs	SEQUENCE
2889		{
2890			firstMB	INTEGER (1..8192),
2891			numberOfMBs	INTEGER (1..8192),
2892			temporalReference	INTEGER (0..255),
2893			...
2894		},
2895		transportCapability	TransportCapability
2896	},
2897	...
2898}
2899
2900-- ===================================================================================
2901-- Indication Message : Jitter Indication
2902-- ===================================================================================
2903
2904JitterIndication	::=SEQUENCE
2905{
2906	scope		CHOICE
2907	{
2908		logicalChannelNumber	LogicalChannelNumber,
2909		resourceID	INTEGER (0..65535),
2910		wholeMultiplex	NULL
2911	},
2912	estimatedReceivedJitterMantissa	INTEGER (0..3),
2913	estimatedReceivedJitterExponent	INTEGER (0..7),
2914	skippedFrameCount	INTEGER (0..15) OPTIONAL,
2915	additionalDecoderBuffer	INTEGER (0..262143) OPTIONAL,	-- 262143 is 2^18 - 1
2916	...
2917}
2918
2919-- ===================================================================================
2920-- Indication Message : H.223 logical channel skew
2921-- ===================================================================================
2922
2923H223SkewIndication	::=SEQUENCE
2924{
2925	logicalChannelNumber1	LogicalChannelNumber,
2926	logicalChannelNumber2	LogicalChannelNumber,
2927	skew		INTEGER (0..4095),	-- units milliseconds
2928	...
2929}
2930
2931-- ===================================================================================
2932-- Indication Message : H.225.0 maximum logical channel skew
2933-- ===================================================================================
2934
2935H2250MaximumSkewIndication	::=SEQUENCE
2936{
2937	logicalChannelNumber1	LogicalChannelNumber,
2938	logicalChannelNumber2	LogicalChannelNumber,
2939	maximumSkew	INTEGER (0..4095),	-- units milliseconds
2940	...
2941}
2942
2943-- ===================================================================================
2944-- Indication Message : MC Location Indication
2945-- ===================================================================================
2946
2947MCLocationIndication	::=SEQUENCE
2948{
2949	signalAddress	TransportAddress, -- this is the H.323 Call Signalling
2950					-- address of the entity which
2951					-- contains the MC
2952	...
2953}
2954
2955-- ===================================================================================
2956-- Indication Message : Vendor Identification
2957-- ===================================================================================
2958
2959	VendorIdentification		::=SEQUENCE
2960	{
2961		vendor				NonStandardIdentifier,
2962		productNumber		OCTET STRING (SIZE(1..256)) OPTIONAL,  -- per  vendor
2963		versionNumber		OCTET STRING (SIZE(1..256)) OPTIONAL,  -- per productNumber
2964		...
2965	}
2966
2967
2968-- ===================================================================================
2969-- Indication Message : New ATM virtual channel indication
2970-- ===================================================================================
2971
2972NewATMVCIndication	::=SEQUENCE
2973{
2974	resourceID	INTEGER(0..65535),
2975	bitRate	INTEGER(1..65535),	-- units 64 kbit/s
2976	bitRateLockedToPCRClock	BOOLEAN,
2977	bitRateLockedToNetworkClock	BOOLEAN,
2978	aal			CHOICE
2979	{
2980		aal1	SEQUENCE
2981		{
2982			clockRecovery	CHOICE
2983			{
2984				nullClockRecovery	NULL,
2985				srtsClockRecovery	NULL,
2986				adaptiveClockRecovery	NULL,
2987				...
2988			},
2989			errorCorrection	CHOICE
2990			{
2991				nullErrorCorrection	NULL,
2992				longInterleaver	NULL,
2993				shortInterleaver	NULL,
2994				errorCorrectionOnly	NULL,
2995				...
2996			},
2997			structuredDataTransfer	BOOLEAN,
2998			partiallyFilledCells	BOOLEAN,
2999			...
3000		},
3001		aal5	SEQUENCE
3002		{
3003			forwardMaximumSDUSize	INTEGER (0..65535),	-- units octets
3004			backwardMaximumSDUSize	INTEGER (0..65535),	-- units octets
3005			...
3006		},
3007		...
3008	},
3009	multiplex	CHOICE
3010	{
3011		noMultiplex	NULL,
3012		transportStream	NULL,
3013		programStream	NULL,
3014		...
3015	},
3016	...,
3017	reverseParameters	SEQUENCE
3018	{
3019		bitRate	INTEGER(1..65535),	-- units 64 kbit/s
3020		bitRateLockedToPCRClock	BOOLEAN,
3021		bitRateLockedToNetworkClock	BOOLEAN,
3022		multiplex	CHOICE
3023		{
3024			noMultiplex	NULL,
3025			transportStream	NULL,
3026			programStream	NULL,
3027			...
3028		},
3029		...
3030	}
3031}
3032
3033-- ===================================================================================
3034-- Indication Message : user input
3035-- ===================================================================================
3036
3037UserInputIndication	::=CHOICE
3038{
3039	nonStandard	NonStandardParameter,
3040	alphanumeric	GeneralString,
3041	...,
3042	userInputSupportIndication	CHOICE
3043	{
3044		nonStandard 	NonStandardParameter,
3045		basicString	NULL,
3046		iA5String	NULL,
3047		generalString	NULL,
3048		...
3049	},
3050	signal			SEQUENCE
3051	{
3052		signalType	IA5String (SIZE (1) ^ FROM ("0123456789#*ABCD!")),
3053--		signalType	IA5String (SIZE (1)) (FROM ("0123456789#*ABCD!")),
3054		duration	INTEGER (1..65535) OPTIONAL,  -- milliseconds
3055		rtp			SEQUENCE
3056		{
3057			timestamp	INTEGER (0..4294967295) OPTIONAL,
3058			expirationTime	INTEGER (0..4294967295) OPTIONAL,
3059			logicalChannelNumber	LogicalChannelNumber,
3060			...
3061		} OPTIONAL,
3062		...
3063	},
3064	signalUpdate	SEQUENCE
3065	{
3066		duration	INTEGER (1..65535),  -- milliseconds
3067		rtp			SEQUENCE
3068		{
3069			logicalChannelNumber	LogicalChannelNumber,
3070			...
3071		} OPTIONAL,
3072		...
3073	}
3074}
3075
3076
3077END
3078
3079
3080
3081
3082
3083
3084
3085