From 18bd1239bee04427340a44f57f993ea92c264e41 Mon Sep 17 00:00:00 2001 From: Kenneth Lundin Date: Fri, 19 Feb 2010 14:01:57 +0000 Subject: OTP-8463 Support for EXTENSIBILITY IMPLIED and SET/SEQ OF NamedType is added. --- .../asn1_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn | 3084 ++++++++++++++++++++ 1 file changed, 3084 insertions(+) create mode 100644 lib/asn1/test/asn1_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn (limited to 'lib/asn1/test/asn1_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn') diff --git a/lib/asn1/test/asn1_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn b/lib/asn1/test/asn1_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn new file mode 100644 index 0000000000..afbc7dc5ef --- /dev/null +++ b/lib/asn1/test/asn1_SUITE_data/MULTIMEDIA-SYSTEM-CONTROL.asn @@ -0,0 +1,3084 @@ +MULTIMEDIA-SYSTEM-CONTROL DEFINITIONS AUTOMATIC TAGS ::= +BEGIN + +-- Export all symbols + +-- =================================================================================== +-- Top level Messages +-- =================================================================================== + +MultimediaSystemControlMessage ::=CHOICE +{ + request RequestMessage, + response ResponseMessage, + command CommandMessage, + indication IndicationMessage, + ... +} + +-- A RequestMessage results in action and requires an immediate response + +RequestMessage ::=CHOICE +{ + nonStandard NonStandardMessage, + + masterSlaveDetermination MasterSlaveDetermination, + + terminalCapabilitySet TerminalCapabilitySet, + + openLogicalChannel OpenLogicalChannel, + closeLogicalChannel CloseLogicalChannel, + + requestChannelClose RequestChannelClose, + + multiplexEntrySend MultiplexEntrySend, + + requestMultiplexEntry RequestMultiplexEntry, + + requestMode RequestMode, + + roundTripDelayRequest RoundTripDelayRequest, + + maintenanceLoopRequest MaintenanceLoopRequest, + + ..., + communicationModeRequest CommunicationModeRequest, + conferenceRequest ConferenceRequest +} + +-- A ResponseMessage is the response to a request Message + +ResponseMessage ::=CHOICE +{ + nonStandard NonStandardMessage, + + masterSlaveDeterminationAck MasterSlaveDeterminationAck, + masterSlaveDeterminationReject MasterSlaveDeterminationReject, + + terminalCapabilitySetAck TerminalCapabilitySetAck, + terminalCapabilitySetReject TerminalCapabilitySetReject, + + openLogicalChannelAck OpenLogicalChannelAck, + openLogicalChannelReject OpenLogicalChannelReject, + closeLogicalChannelAck CloseLogicalChannelAck, + + requestChannelCloseAck RequestChannelCloseAck, + requestChannelCloseReject RequestChannelCloseReject, + + multiplexEntrySendAck MultiplexEntrySendAck, + multiplexEntrySendReject MultiplexEntrySendReject, + + requestMultiplexEntryAck RequestMultiplexEntryAck, + requestMultiplexEntryReject RequestMultiplexEntryReject, + + requestModeAck RequestModeAck, + requestModeReject RequestModeReject, + + roundTripDelayResponse RoundTripDelayResponse, + + maintenanceLoopAck MaintenanceLoopAck, + maintenanceLoopReject MaintenanceLoopReject, + + ..., + communicationModeResponse CommunicationModeResponse, + + conferenceResponse ConferenceResponse + + +} + +-- A CommandMessage requires action, but no explicit response + +CommandMessage ::=CHOICE +{ + nonStandard NonStandardMessage, + + maintenanceLoopOffCommand MaintenanceLoopOffCommand, + + sendTerminalCapabilitySet SendTerminalCapabilitySet, + + encryptionCommand EncryptionCommand, + + flowControlCommand FlowControlCommand, + + endSessionCommand EndSessionCommand, + + miscellaneousCommand MiscellaneousCommand, + + ..., + communicationModeCommand CommunicationModeCommand, + + conferenceCommand ConferenceCommand, + + h223MultiplexReconfiguration H223MultiplexReconfiguration + +} + +-- An IndicationMessage is information that does not require action or response + +IndicationMessage ::=CHOICE +{ + nonStandard NonStandardMessage, + + functionNotUnderstood FunctionNotUnderstood, + + masterSlaveDeterminationRelease MasterSlaveDeterminationRelease, + + terminalCapabilitySetRelease TerminalCapabilitySetRelease, + + openLogicalChannelConfirm OpenLogicalChannelConfirm, + + requestChannelCloseRelease RequestChannelCloseRelease, + + multiplexEntrySendRelease MultiplexEntrySendRelease, + + requestMultiplexEntryRelease RequestMultiplexEntryRelease, + + requestModeRelease RequestModeRelease, + + miscellaneousIndication MiscellaneousIndication, + + jitterIndication JitterIndication, + + h223SkewIndication H223SkewIndication, + + newATMVCIndication NewATMVCIndication, + + userInput UserInputIndication, + ..., + h2250MaximumSkewIndication H2250MaximumSkewIndication, + + mcLocationIndication MCLocationIndication, + + conferenceIndication ConferenceIndication, + + vendorIdentification VendorIdentification, + + functionNotSupported FunctionNotSupported + +} + +-- SequenceNumber is defined here as it is used in a number of Messages +SequenceNumber ::=INTEGER (0..255) + +-- =================================================================================== +-- Non standard Message definitions +-- =================================================================================== + +NonStandardMessage ::=SEQUENCE +{ + nonStandardData NonStandardParameter, + ... +} + +NonStandardParameter ::=SEQUENCE +{ + nonStandardIdentifier NonStandardIdentifier, + data OCTET STRING +} + +NonStandardIdentifier ::=CHOICE +{ + object OBJECT IDENTIFIER, + h221NonStandard SEQUENCE + { + t35CountryCode INTEGER (0..255), -- country, per T.35 + t35Extension INTEGER (0..255), -- assigned nationally + manufacturerCode INTEGER (0..65535) -- assigned nationally + } +} + +-- =================================================================================== +-- Master-slave determination definitions +-- =================================================================================== + +MasterSlaveDetermination ::=SEQUENCE +{ + terminalType INTEGER (0..255), + statusDeterminationNumber INTEGER (0..16777215), + ... +} + +MasterSlaveDeterminationAck ::=SEQUENCE +{ + decision CHOICE + { + master NULL, + slave NULL + }, + ... +} + +MasterSlaveDeterminationReject ::=SEQUENCE +{ + cause CHOICE + { + identicalNumbers NULL, + ... + }, + ... +} + +MasterSlaveDeterminationRelease ::=SEQUENCE +{ + ... +} + + -- =================================================================================== +-- Capability exchange definitions +-- =================================================================================== + +TerminalCapabilitySet ::=SEQUENCE +{ + sequenceNumber SequenceNumber, + + protocolIdentifier OBJECT IDENTIFIER, + -- shall be set to the value + -- {itu-t (0) recommendation (0) h (8) 245 version (0) 3} + + + multiplexCapability MultiplexCapability OPTIONAL, + + capabilityTable SET SIZE (1..256) OF CapabilityTableEntry OPTIONAL, + + capabilityDescriptors SET SIZE (1..256) OF CapabilityDescriptor OPTIONAL, + + ... +} + +CapabilityTableEntry ::=SEQUENCE +{ + capabilityTableEntryNumber CapabilityTableEntryNumber, + capability Capability OPTIONAL +} + +CapabilityDescriptor ::=SEQUENCE +{ + capabilityDescriptorNumber CapabilityDescriptorNumber, + simultaneousCapabilities SET SIZE (1..256) OF AlternativeCapabilitySet OPTIONAL +} + +AlternativeCapabilitySet ::=SEQUENCE SIZE (1..256) OF CapabilityTableEntryNumber + +CapabilityTableEntryNumber ::=INTEGER (1..65535) + +CapabilityDescriptorNumber ::=INTEGER (0..255) + +TerminalCapabilitySetAck ::=SEQUENCE +{ + sequenceNumber SequenceNumber, + ... +} + +TerminalCapabilitySetReject ::=SEQUENCE +{ + sequenceNumber SequenceNumber, + cause CHOICE + { + unspecified NULL, + undefinedTableEntryUsed NULL, + descriptorCapacityExceeded NULL, + tableEntryCapacityExceeded CHOICE + { + highestEntryNumberProcessed CapabilityTableEntryNumber, + noneProcessed NULL + }, + ... + }, + ... +} + +TerminalCapabilitySetRelease ::=SEQUENCE +{ + ... +} + +-- =================================================================================== +-- Capability exchange definitions: top level capability description +-- =================================================================================== + +Capability ::=CHOICE +{ + nonStandard NonStandardParameter, + + receiveVideoCapability VideoCapability, + transmitVideoCapability VideoCapability, + receiveAndTransmitVideoCapability VideoCapability, + + receiveAudioCapability AudioCapability, + transmitAudioCapability AudioCapability, + receiveAndTransmitAudioCapability AudioCapability, + + receiveDataApplicationCapability DataApplicationCapability, + transmitDataApplicationCapability DataApplicationCapability, + receiveAndTransmitDataApplicationCapability DataApplicationCapability, + + h233EncryptionTransmitCapability BOOLEAN, + h233EncryptionReceiveCapability SEQUENCE + { + h233IVResponseTime INTEGER (0..255), -- units milliseconds + ... + }, + ..., + conferenceCapability ConferenceCapability, + h235SecurityCapability H235SecurityCapability, + maxPendingReplacementFor INTEGER (0..255), + receiveUserInputCapability UserInputCapability, + transmitUserInputCapability UserInputCapability, + receiveAndTransmitUserInputCapability UserInputCapability + +} + +H235SecurityCapability ::=SEQUENCE +{ + encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity, + + mediaCapability CapabilityTableEntryNumber, + -- Note: the mediaCapability shall refer to Capability Table Entries that do contain a transmit, + -- receive, or receiveAndTransmit AudioCapability, VideoCapability, + -- DataApplicationCapability, or similar capability indicated by a NonStandardParameter only + + ... +} + +-- =================================================================================== +-- Capability exchange definitions: Multiplex capabilities +-- =================================================================================== + +MultiplexCapability ::=CHOICE +{ + nonStandard NonStandardParameter, + h222Capability H222Capability, + h223Capability H223Capability, + v76Capability V76Capability, + ..., + h2250Capability H2250Capability + +} + +H222Capability ::= SEQUENCE +{ + numberOfVCs INTEGER (1..256), + vcCapability SET OF VCCapability, + ... +} + +VCCapability ::=SEQUENCE +{ + aal1 SEQUENCE + { + nullClockRecovery BOOLEAN, + srtsClockRecovery BOOLEAN, + adaptiveClockRecovery BOOLEAN, + nullErrorCorrection BOOLEAN, + longInterleaver BOOLEAN, + shortInterleaver BOOLEAN, + errorCorrectionOnly BOOLEAN, + structuredDataTransfer BOOLEAN, + partiallyFilledCells BOOLEAN, + ... + } OPTIONAL, + aal5 SEQUENCE + { + forwardMaximumSDUSize INTEGER (0..65535), -- units octets + backwardMaximumSDUSize INTEGER (0..65535), -- units octets + ... + } OPTIONAL, + transportStream BOOLEAN, + programStream BOOLEAN, + availableBitRates SEQUENCE + { + type CHOICE + { + singleBitRate INTEGER (1..65535), -- units 64 kbit/s + rangeOfBitRates SEQUENCE + { + lowerBitRate INTEGER (1..65535), -- units 64 kbit/s + higherBitRate INTEGER (1..65535) -- units 64 kbit/s + } + }, + ... + }, + ... +} + +H223Capability ::=SEQUENCE +{ + transportWithI-frames BOOLEAN, -- I-frame transport of H.245 + + videoWithAL1 BOOLEAN, + videoWithAL2 BOOLEAN, + videoWithAL3 BOOLEAN, + audioWithAL1 BOOLEAN, + audioWithAL2 BOOLEAN, + audioWithAL3 BOOLEAN, + dataWithAL1 BOOLEAN, + dataWithAL2 BOOLEAN, + dataWithAL3 BOOLEAN, + + maximumAl2SDUSize INTEGER (0..65535), -- units octets + maximumAl3SDUSize INTEGER (0..65535), -- units octets + + maximumDelayJitter INTEGER (0..1023), -- units milliseconds + + h223MultiplexTableCapability CHOICE + { + basic NULL, + enhanced SEQUENCE + { + maximumNestingDepth INTEGER (1..15), + maximumElementListSize INTEGER (2..255), + maximumSubElementListSize INTEGER (2..255), + ... + } + }, + ..., + maxMUXPDUSizeCapability BOOLEAN, + nsrpSupport BOOLEAN, + mobileOperationTransmitCapability SEQUENCE + { + modeChangeCapability BOOLEAN, + h223AnnexA BOOLEAN, + h223AnnexADoubleFlag BOOLEAN, + h223AnnexB BOOLEAN, + h223AnnexBwithHeader BOOLEAN, + ... + } OPTIONAL, + h223AnnexCCapability H223AnnexCCapability OPTIONAL + +} + +H223AnnexCCapability ::= SEQUENCE +{ + videoWithAL1M BOOLEAN, + videoWithAL2M BOOLEAN, + videoWithAL3M BOOLEAN, + audioWithAL1M BOOLEAN, + audioWithAL2M BOOLEAN, + audioWithAL3M BOOLEAN, + dataWithAL1M BOOLEAN, + dataWithAL2M BOOLEAN, + dataWithAL3M BOOLEAN, + alpduInterleaving BOOLEAN, + + maximumAL1MPDUSize INTEGER (0..65535), -- units octets + maximumAL2MSDUSize INTEGER (0..65535), -- units octets + maximumAL3MSDUSize INTEGER (0..65535), -- units octets + ... +} + +V76Capability ::=SEQUENCE +{ + suspendResumeCapabilitywAddress BOOLEAN, + suspendResumeCapabilitywoAddress BOOLEAN, + rejCapability BOOLEAN, + sREJCapability BOOLEAN, + mREJCapability BOOLEAN, + crc8bitCapability BOOLEAN, + crc16bitCapability BOOLEAN, + crc32bitCapability BOOLEAN, + uihCapability BOOLEAN, + numOfDLCS INTEGER (2..8191), + twoOctetAddressFieldCapability BOOLEAN, + loopBackTestCapability BOOLEAN, + n401Capability INTEGER (1..4095), + maxWindowSizeCapability INTEGER (1..127), + v75Capability V75Capability, + ... +} + +V75Capability ::=SEQUENCE +{ + audioHeader BOOLEAN, + ... +} + +H2250Capability ::=SEQUENCE +{ + maximumAudioDelayJitter INTEGER(0..1023), -- units in milliseconds + receiveMultipointCapability MultipointCapability, + transmitMultipointCapability MultipointCapability, + receiveAndTransmitMultipointCapability MultipointCapability, + mcCapability SEQUENCE + { + centralizedConferenceMC BOOLEAN, + decentralizedConferenceMC BOOLEAN, + ... + }, + rtcpVideoControlCapability BOOLEAN, -- FIR and NACK + mediaPacketizationCapability MediaPacketizationCapability, + ..., + transportCapability TransportCapability OPTIONAL, + redundancyEncodingCapability SEQUENCE SIZE(1..256) OF RedundancyEncodingCapability OPTIONAL, + logicalChannelSwitchingCapability BOOLEAN, + t120DynamicPortCapability BOOLEAN + +} + +MediaPacketizationCapability ::=SEQUENCE +{ + h261aVideoPacketization BOOLEAN, + ..., + rtpPayloadType SEQUENCE SIZE(1..256) OF RTPPayloadType OPTIONAL +} + +RSVPParameters ::=SEQUENCE +{ + qosMode QOSMode OPTIONAL, + tokenRate INTEGER (1..4294967295) OPTIONAL, + -- rate in bytes/sec + bucketSize INTEGER (1..4294967295) OPTIONAL, -- size in bytes + peakRate INTEGER (1..4294967295) OPTIONAL, + -- peak bandwidth bytes/sec + minPoliced INTEGER (1..4294967295) OPTIONAL, -- + maxPktSize INTEGER (1..4294967295) OPTIONAL, -- size in bytes + ... +} + +QOSMode ::=CHOICE +{ + guaranteedQOS NULL, + controlledLoad NULL, + ... +} + +-- Ed. Replace with ITU-T ATM Transfer Capability Types +ATMParameters ::=SEQUENCE +{ + maxNTUSize INTEGER(0..65535), --units in octets + atmUBR BOOLEAN, --unspecified bit rate + atmrtVBR BOOLEAN, --real time variable bit rate + atmnrtVBR BOOLEAN, --non real time variable bit rate + atmABR BOOLEAN, --available bit rate + atmCBR BOOLEAN, --constant bit rate + ... +} + +QOSCapability ::=SEQUENCE +{ + nonStandardData NonStandardParameter OPTIONAL, + rsvpParameters RSVPParameters OPTIONAL, + atmParameters ATMParameters OPTIONAL, + ... +} + +MediaTransportType ::=CHOICE +{ + ip-UDP NULL, + ip-TCP NULL, + atm-AAL5-UNIDIR NULL, -- virtual circuits used as unidirectional + atm-AAL5-BIDIR NULL, -- virtual circuits used as bidirectional + ... +} + +MediaChannelCapability ::=SEQUENCE +{ + mediaTransport MediaTransportType OPTIONAL, + ... +} + +TransportCapability ::=SEQUENCE +{ + nonStandard NonStandardParameter OPTIONAL, + qOSCapabilities SEQUENCE SIZE(1..256) OF QOSCapability OPTIONAL, + mediaChannelCapabilities SEQUENCE SIZE(1..256) OF MediaChannelCapability OPTIONAL, + ... +} + +RedundancyEncodingCapability ::=SEQUENCE +{ + redundancyEncodingMethod RedundancyEncodingMethod, + primaryEncoding CapabilityTableEntryNumber, + secondaryEncoding SEQUENCE SIZE(1..256) OF CapabilityTableEntryNumber OPTIONAL, + ... +} + +RedundancyEncodingMethod ::=CHOICE +{ + nonStandard NonStandardParameter, + rtpAudioRedundancyEncoding NULL, + ..., + rtpH263VideoRedundancyEncoding RTPH263VideoRedundancyEncoding +} + +RTPH263VideoRedundancyEncoding ::= SEQUENCE +{ + numberOfThreads INTEGER (1..16), + framesBetweenSyncPoints INTEGER (1..256), + frameToThreadMapping CHOICE + { + roundrobin NULL, + custom SEQUENCE SIZE(1..256) OF + RTPH263VideoRedundancyFrameMapping, +-- empty SEQUENCE for capability negotiation +-- meaningful contents only OpenLogicalChannel + ... + }, + containedThreads SEQUENCE SIZE(1..256) OF INTEGER (0..15) OPTIONAL, + -- only used for opening of logical channels + ... +} + +RTPH263VideoRedundancyFrameMapping ::= SEQUENCE +{ + threadNumber INTEGER (0..15), + frameSequence SEQUENCE SIZE(1..256) OF INTEGER (0..255), + ... +} + +MultipointCapability ::=SEQUENCE +{ + multicastCapability BOOLEAN, + multiUniCastConference BOOLEAN, + mediaDistributionCapability SEQUENCE OF MediaDistributionCapability, + ... +} + +MediaDistributionCapability ::=SEQUENCE +{ + centralizedControl BOOLEAN, + distributedControl BOOLEAN, -- for further study in H.323 + centralizedAudio BOOLEAN, + distributedAudio BOOLEAN, + centralizedVideo BOOLEAN, + distributedVideo BOOLEAN, + centralizedData SEQUENCE OF DataApplicationCapability OPTIONAL, + distributedData SEQUENCE OF DataApplicationCapability OPTIONAL, + -- for further study in H.323 + ... +} + + + +-- =================================================================================== +-- Capability exchange definitions: Video capabilities +-- =================================================================================== + +VideoCapability ::=CHOICE +{ + nonStandard NonStandardParameter , + h261VideoCapability H261VideoCapability, + h262VideoCapability H262VideoCapability, + h263VideoCapability H263VideoCapability, + is11172VideoCapability IS11172VideoCapability, + ... +} + +H261VideoCapability ::=SEQUENCE +{ + qcifMPI INTEGER (1..4) OPTIONAL, -- units 1/29.97 Hz + cifMPI INTEGER (1..4) OPTIONAL, -- units 1/29.97 Hz + temporalSpatialTradeOffCapability BOOLEAN, + maxBitRate INTEGER (1..19200), -- units of 100 bit/s + stillImageTransmission BOOLEAN, -- Annex D of H.261 + ... +} + +H262VideoCapability ::=SEQUENCE +{ + profileAndLevel-SPatML BOOLEAN, + profileAndLevel-MPatLL BOOLEAN, + profileAndLevel-MPatML BOOLEAN, + profileAndLevel-MPatH-14 BOOLEAN, + profileAndLevel-MPatHL BOOLEAN, + profileAndLevel-SNRatLL BOOLEAN, + profileAndLevel-SNRatML BOOLEAN, + profileAndLevel-SpatialatH-14 BOOLEAN, + profileAndLevel-HPatML BOOLEAN, + profileAndLevel-HPatH-14 BOOLEAN, + profileAndLevel-HPatHL BOOLEAN, + videoBitRate INTEGER (0.. 1073741823) OPTIONAL, -- units 400 bit/s + vbvBufferSize INTEGER (0.. 262143) OPTIONAL, -- units 16384 bits + samplesPerLine INTEGER (0..16383) OPTIONAL, -- units samples/line + linesPerFrame INTEGER (0..16383) OPTIONAL, -- units lines/frame + framesPerSecond INTEGER (0..15) OPTIONAL, -- frame_rate_code + luminanceSampleRate INTEGER (0..4294967295) OPTIONAL, -- units samples/sec + ... +} + +H263VideoCapability ::=SEQUENCE +{ + sqcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz + qcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz + cifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz + cif4MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz + cif16MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz + maxBitRate INTEGER (1..192400), -- units 100 bit/s + unrestrictedVector BOOLEAN, + arithmeticCoding BOOLEAN, + advancedPrediction BOOLEAN, + pbFrames BOOLEAN, + temporalSpatialTradeOffCapability BOOLEAN, + hrd-B INTEGER (0..524287) OPTIONAL, -- units 128 bits + bppMaxKb INTEGER (0..65535) OPTIONAL, -- units 1024 bits + ..., + + slowSqcifMPI INTEGER (1..3600) OPTIONAL, -- units seconds/frame + slowQcifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame + slowCifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame + slowCif4MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame + slowCif16MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame + errorCompensation BOOLEAN, + + enhancementLayerInfo EnhancementLayerInfo OPTIONAL, + h263Options H263Options OPTIONAL + +} + +EnhancementLayerInfo ::=SEQUENCE +{ + baseBitRateConstrained BOOLEAN, + snrEnhancement SET SIZE(1..14) OF EnhancementOptions OPTIONAL, + spatialEnhancement SET SIZE(1..14) OF EnhancementOptions OPTIONAL, + bPictureEnhancement SET SIZE(1..14) OF BEnhancementParameters OPTIONAL, + ... +} + +BEnhancementParameters ::=SEQUENCE +{ + enhancementOptions EnhancementOptions, + numberOfBPictures INTEGER (1..64), + ... +} + +EnhancementOptions ::=SEQUENCE +{ + sqcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz + qcifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz + cifMPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz + cif4MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz + cif16MPI INTEGER (1..32) OPTIONAL, -- units 1/29.97 Hz + maxBitRate INTEGER (1..192400), -- units 100 bit/s + unrestrictedVector BOOLEAN, + arithmeticCoding BOOLEAN, + temporalSpatialTradeOffCapability BOOLEAN, + slowSqcifMPI INTEGER (1..3600) OPTIONAL, -- units econds/frame + slowQcifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame + slowCifMPI INTEGER (1..3600) OPTIONAL, --units seconds/frame + slowCif4MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame + slowCif16MPI INTEGER (1..3600) OPTIONAL, --units seconds/frame + errorCompensation BOOLEAN, + h263Options H263Options OPTIONAL, + ... +} + +H263Options ::= SEQUENCE +{ + advancedIntraCodingMode BOOLEAN, + deblockingFilterMode BOOLEAN, + improvedPBFramesMode BOOLEAN, + + unlimitedMotionVectors BOOLEAN, + + fullPictureFreeze BOOLEAN, + partialPictureFreezeAndRelease BOOLEAN, + resizingPartPicFreezeAndRelease BOOLEAN, + fullPictureSnapshot BOOLEAN, + partialPictureSnapshot BOOLEAN, + videoSegmentTagging BOOLEAN, + progressiveRefinement BOOLEAN, + + dynamicPictureResizingByFour BOOLEAN, + dynamicPictureResizingSixteenthPel BOOLEAN, + dynamicWarpingHalfPel BOOLEAN, + dynamicWarpingSixteenthPel BOOLEAN, + + independentSegmentDecoding BOOLEAN, + + slicesInOrder-NonRect BOOLEAN, + slicesInOrder-Rect BOOLEAN, + slicesNoOrder-NonRect BOOLEAN, + slicesNoOrder-Rect BOOLEAN, + + alternateInterVLCMode BOOLEAN, + modifiedQuantizationMode BOOLEAN, + reducedResolutionUpdate BOOLEAN, + + transparencyParameters TransparencyParameters OPTIONAL, + separateVideoBackChannel BOOLEAN, + refPictureSelection RefPictureSelection OPTIONAL, + customPictureClockFrequency SET SIZE (1..16) OF CustomPictureClockFrequency OPTIONAL, + customPictureFormat SET SIZE (1..16) OF CustomPictureFormat OPTIONAL, + modeCombos SET SIZE (1..16) OF H263VideoModeCombos OPTIONAL, + ... +} + +TransparencyParameters ::= SEQUENCE +{ + presentationOrder INTEGER(1..256), + offset-x INTEGER(-262144..262143), -- 1/8 pixels + offset-y INTEGER(-262144..262143), -- 1/8 pixels + scale-x INTEGER(1..255), + scale-y INTEGER(1..255), + ... +} + +RefPictureSelection ::=SEQUENCE +{ + additionalPictureMemory SEQUENCE + { + sqcifAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame + qcifAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame + cifAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame + cif4AdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame + cif16AdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame + bigCpfAdditionalPictureMemory INTEGER (1..256) OPTIONAL, -- units frame + ... + } OPTIONAL, + videoMux BOOLEAN, + videoBackChannelSend CHOICE + { + none NULL, + ackMessageOnly NULL, + nackMessageOnly NULL, + ackOrNackMessageOnly NULL, + ackAndNackMessage NULL, + ... + }, + ... +} + +CustomPictureClockFrequency ::=SEQUENCE +{ + clockConversionCode INTEGER(1000..1001), + clockDivisor INTEGER(1..127), + sqcifMPI INTEGER (1..2048) OPTIONAL, + qcifMPI INTEGER (1..2048) OPTIONAL, + cifMPI INTEGER (1..2048) OPTIONAL, + cif4MPI INTEGER (1..2048) OPTIONAL, + cif16MPI INTEGER (1..2048) OPTIONAL, + ... +} + +CustomPictureFormat ::=SEQUENCE +{ + maxCustomPictureWidth INTEGER(1..2048), -- units 4 pixels + maxCustomPictureHeight INTEGER(1..2048), -- units 4 pixels + minCustomPictureWidth INTEGER(1..2048), -- units 4 pixels + minCustomPictureHeight INTEGER(1..2048), -- units 4 pixels + mPI SEQUENCE + { + standardMPI INTEGER (1..31) OPTIONAL, + customPCF SET SIZE (1..16) OF SEQUENCE + { + clockConversionCode INTEGER (1000..1001), + clockDivisor INTEGER (1..127), + customMPI INTEGER (1..2048), + ... + } OPTIONAL, + ... + }, + + pixelAspectInformation CHOICE + { + anyPixelAspectRatio BOOLEAN, + pixelAspectCode SET SIZE (1..14) OF INTEGER(1..14), + extendedPAR SET SIZE (1..256) OF SEQUENCE + { + width INTEGER(1..255), + height INTEGER(1..255), + ... + }, + ... + } , + ... +} + +H263VideoModeCombos ::= SEQUENCE +{ + h263VideoUncoupledModes H263ModeComboFlags, + h263VideoCoupledModes SET SIZE (1..16) OF H263ModeComboFlags, + ... +} + +H263ModeComboFlags ::= SEQUENCE +{ + unrestrictedVector BOOLEAN, + arithmeticCoding BOOLEAN, + advancedPrediction BOOLEAN, + pbFrames BOOLEAN, + advancedIntraCodingMode BOOLEAN, + deblockingFilterMode BOOLEAN, + unlimitedMotionVectors BOOLEAN, + slicesInOrder-NonRect BOOLEAN, + slicesInOrder-Rect BOOLEAN, + slicesNoOrder-NonRect BOOLEAN, + slicesNoOrder-Rect BOOLEAN, + improvedPBFramesMode BOOLEAN, + referencePicSelect BOOLEAN, + dynamicPictureResizingByFour BOOLEAN, + dynamicPictureResizingSixteenthPel BOOLEAN, + dynamicWarpingHalfPel BOOLEAN, + dynamicWarpingSixteenthPel BOOLEAN, + reducedResolutionUpdate BOOLEAN, + independentSegmentDecoding BOOLEAN, + alternateInterVLCMode BOOLEAN, + modifiedQuantizationMode BOOLEAN, + ... +} + +IS11172VideoCapability ::=SEQUENCE +{ + constrainedBitstream BOOLEAN, + videoBitRate INTEGER (0.. 1073741823) OPTIONAL, -- units 400 bit/s + vbvBufferSize INTEGER (0.. 262143) OPTIONAL, -- units 16384 bits + samplesPerLine INTEGER (0..16383) OPTIONAL, -- units samples/line + linesPerFrame INTEGER (0..16383) OPTIONAL, -- units lines/frame + pictureRate INTEGER (0..15) OPTIONAL, + luminanceSampleRate INTEGER (0..4294967295) OPTIONAL, -- units samples/sec + ... +} + +-- =================================================================================== +-- Capability exchange definitions: Audio capabilities +-- =================================================================================== + +-- For an H.222 multiplex, the integers indicate the size of the STD buffer in units of 256 octets +-- For an H.223 multiplex, the integers indicate the maximum number of audio frames per AL-SDU +-- For an H.225.0 multiplex, the integers indicate the maximum number of audio frames per packet + +AudioCapability ::=CHOICE +{ + nonStandard NonStandardParameter, + g711Alaw64k INTEGER (1..256), + g711Alaw56k INTEGER (1..256), + g711Ulaw64k INTEGER (1..256), + g711Ulaw56k INTEGER (1..256), + + g722-64k INTEGER (1..256), + g722-56k INTEGER (1..256), + g722-48k INTEGER (1..256), + + g7231 SEQUENCE + { + maxAl-sduAudioFrames INTEGER (1..256), + silenceSuppression BOOLEAN + }, + + g728 INTEGER (1..256), + g729 INTEGER (1..256), + g729AnnexA INTEGER (1..256), + is11172AudioCapability IS11172AudioCapability, + is13818AudioCapability IS13818AudioCapability, + ..., + g729wAnnexB INTEGER(1..256), + g729AnnexAwAnnexB INTEGER(1..256), + g7231AnnexCCapability G7231AnnexCCapability, + gsmFullRate GSMAudioCapability, + gsmHalfRate GSMAudioCapability, + gsmEnhancedFullRate GSMAudioCapability +} + +G7231AnnexCCapability ::= SEQUENCE +{ + maxAl-sduAudioFrames INTEGER (1..256), + silenceSuppression BOOLEAN, + g723AnnexCAudioMode SEQUENCE + { + highRateMode0 INTEGER (27..78), -- units octets + highRateMode1 INTEGER (27..78), -- units octets + lowRateMode0 INTEGER (23..66), -- units octets + lowRateMode1 INTEGER (23..66), -- units octets + sidMode0 INTEGER (6..17), -- units octets + sidMode1 INTEGER (6..17), -- units octets + ... + } OPTIONAL, + ... +} + +IS11172AudioCapability ::=SEQUENCE +{ + audioLayer1 BOOLEAN, + audioLayer2 BOOLEAN, + audioLayer3 BOOLEAN, + + audioSampling32k BOOLEAN, + audioSampling44k1 BOOLEAN, + audioSampling48k BOOLEAN, + + singleChannel BOOLEAN, + twoChannels BOOLEAN, + + bitRate INTEGER (1..448), -- units kbit/s + ... +} + +IS13818AudioCapability ::=SEQUENCE +{ + audioLayer1 BOOLEAN, + audioLayer2 BOOLEAN, + audioLayer3 BOOLEAN, + + audioSampling16k BOOLEAN, + audioSampling22k05 BOOLEAN, + audioSampling24k BOOLEAN, + audioSampling32k BOOLEAN, + audioSampling44k1 BOOLEAN, + audioSampling48k BOOLEAN, + + singleChannel BOOLEAN, + twoChannels BOOLEAN, + threeChannels2-1 BOOLEAN, + threeChannels3-0 BOOLEAN, + fourChannels2-0-2-0 BOOLEAN, + fourChannels2-2 BOOLEAN, + fourChannels3-1 BOOLEAN, + fiveChannels3-0-2-0 BOOLEAN, + fiveChannels3-2 BOOLEAN, + + lowFrequencyEnhancement BOOLEAN, + + multilingual BOOLEAN, + + bitRate INTEGER (1..1130), -- units kbit/s + ... +} + +GSMAudioCapability ::= SEQUENCE +{ + audioUnitSize INTEGER (1..256), + comfortNoise BOOLEAN, + scrambled BOOLEAN, + ... +} + +-- =================================================================================== +-- Capability exchange definitions: Data capabilities +-- =================================================================================== + +DataApplicationCapability ::=SEQUENCE +{ + application CHOICE + { + nonStandard NonStandardParameter, + t120 DataProtocolCapability, + dsm-cc DataProtocolCapability, + userData DataProtocolCapability, + t84 SEQUENCE + { + t84Protocol DataProtocolCapability, + t84Profile T84Profile + }, + t434 DataProtocolCapability, + h224 DataProtocolCapability, + nlpid SEQUENCE + { + nlpidProtocol DataProtocolCapability, + nlpidData OCTET STRING + }, + dsvdControl NULL, + h222DataPartitioning DataProtocolCapability, + ..., + t30fax DataProtocolCapability, + t140 DataProtocolCapability + }, + maxBitRate INTEGER (0..4294967295), -- units 100 bit/s + ... +} + +DataProtocolCapability ::=CHOICE +{ + nonStandard NonStandardParameter, + v14buffered NULL, + v42lapm NULL, -- may negotiate to V.42bis + hdlcFrameTunnelling NULL, + h310SeparateVCStack NULL, + h310SingleVCStack NULL, + transparent NULL, + ..., + segmentationAndReassembly NULL, + hdlcFrameTunnelingwSAR NULL, + v120 NULL, -- as in H.230 + separateLANStack NULL, + v76wCompression CHOICE + { + transmitCompression CompressionType, + receiveCompression CompressionType, + transmitAndReceiveCompression CompressionType, + ... + } +} + +CompressionType ::=CHOICE +{ + v42bis V42bis, + ... +} + +V42bis ::=SEQUENCE +{ + numberOfCodewords INTEGER (1..65536), + maximumStringLength INTEGER (1..256), + ... +} + +T84Profile ::=CHOICE +{ + t84Unrestricted NULL, + t84Restricted SEQUENCE + { + qcif BOOLEAN, + cif BOOLEAN, + ccir601Seq BOOLEAN, + ccir601Prog BOOLEAN, + hdtvSeq BOOLEAN, + hdtvProg BOOLEAN, + + g3FacsMH200x100 BOOLEAN, + g3FacsMH200x200 BOOLEAN, + g4FacsMMR200x100 BOOLEAN, + g4FacsMMR200x200 BOOLEAN, + jbig200x200Seq BOOLEAN, + jbig200x200Prog BOOLEAN, + jbig300x300Seq BOOLEAN, + jbig300x300Prog BOOLEAN, + + digPhotoLow BOOLEAN, + digPhotoMedSeq BOOLEAN, + digPhotoMedProg BOOLEAN, + digPhotoHighSeq BOOLEAN, + digPhotoHighProg BOOLEAN, + + ... + } +} + +-- =================================================================================== +-- Encryption Capability Definitions: +-- =================================================================================== + +EncryptionAuthenticationAndIntegrity ::=SEQUENCE +{ + encryptionCapability EncryptionCapability OPTIONAL, + authenticationCapability AuthenticationCapability OPTIONAL, + integrityCapability IntegrityCapability OPTIONAL, + ... +} + +EncryptionCapability ::=SEQUENCE SIZE(1..256) OF MediaEncryptionAlgorithm + +MediaEncryptionAlgorithm ::=CHOICE +{ + nonStandard NonStandardParameter, + algorithm OBJECT IDENTIFIER, -- many defined in ISO/IEC 9979 + ... +} + +AuthenticationCapability ::=SEQUENCE +{ + nonStandard NonStandardParameter OPTIONAL, + ... +} + +IntegrityCapability ::=SEQUENCE +{ + nonStandard NonStandardParameter OPTIONAL, + ... +} + +-- ================================================================================ +-- Capability Exchange Definitions: UserInput +-- ================================================================================ + +UserInputCapability ::= CHOICE +{ + nonStandard SEQUENCE SIZE(1..16) OF NonStandardParameter, + basicString NULL, -- alphanumeric + iA5String NULL, -- alphanumeric + generalString NULL, -- alphanumeric + dtmf NULL, -- supports dtmf using signal and signalUpdate + hookflash NULL, -- supports hookflash using signal + ... +} + +-- =================================================================================== +-- Capability Exchange Definitions: Conference +-- =================================================================================== + +ConferenceCapability ::=SEQUENCE +{ + nonStandardData SEQUENCE OF NonStandardParameter OPTIONAL, + chairControlCapability BOOLEAN, + ... +} + -- =================================================================================== +-- Logical channel signalling definitions +-- =================================================================================== + +-- "Forward" is used to refer to transmission in the direction from the terminal making the +-- original request for a logical channel to the other terminal, and "reverse" is used to refer +-- to the opposite direction of transmission, in the case of a bi-directional channel request. + +OpenLogicalChannel ::=SEQUENCE +{ + forwardLogicalChannelNumber LogicalChannelNumber, + + forwardLogicalChannelParameters SEQUENCE + { + portNumber INTEGER (0..65535) OPTIONAL, + dataType DataType, + multiplexParameters CHOICE + { + h222LogicalChannelParameters H222LogicalChannelParameters, + h223LogicalChannelParameters H223LogicalChannelParameters, + v76LogicalChannelParameters V76LogicalChannelParameters, + ..., + h2250LogicalChannelParameters H2250LogicalChannelParameters, + none NULL -- for use with Separate Stack when + -- multiplexParameters are not required + -- or appropriate + + }, + ..., + forwardLogicalChannelDependency LogicalChannelNumber OPTIONAL, + -- also used to refer to the primary logical channel when using video redundancy coding + replacementFor LogicalChannelNumber OPTIONAL + + }, + + -- Used to specify the reverse channel for bi-directional open request + + reverseLogicalChannelParameters SEQUENCE + { + dataType DataType, + multiplexParameters CHOICE + { + -- H.222 parameters are never present in reverse direction + h223LogicalChannelParameters H223LogicalChannelParameters, + v76LogicalChannelParameters V76LogicalChannelParameters, + ..., + h2250LogicalChannelParameters H2250LogicalChannelParameters + + } OPTIONAL, -- Not present for H.222 + ..., + reverseLogicalChannelDependency LogicalChannelNumber OPTIONAL, + -- also used to refer to the primary logical channel when using video redundancy coding + replacementFor LogicalChannelNumber OPTIONAL + + } OPTIONAL, -- Not present for uni-directional channel request + ..., + separateStack NetworkAccessParameters OPTIONAL, + -- for Open responder to establish the stack + encryptionSync EncryptionSync OPTIONAL -- used only by Master + + +} + +LogicalChannelNumber ::=INTEGER (1..65535) + +NetworkAccessParameters ::=SEQUENCE +{ + distribution CHOICE + { + unicast NULL, + multicast NULL, -- For Further Study in T.120 + ... + } OPTIONAL, + + networkAddress CHOICE + { + q2931Address Q2931Address, + e164Address IA5String(SIZE(1..128)) (FROM ("0123456789#*,")), + localAreaAddress TransportAddress, + ... + }, + associateConference BOOLEAN, + externalReference OCTET STRING(SIZE(1..255)) OPTIONAL, + ..., + t120SetupProcedure CHOICE + { + + originateCall NULL, + waitForCall NULL, + issueQuery NULL, + ... + } OPTIONAL +} + +Q2931Address ::=SEQUENCE +{ + address CHOICE + { + internationalNumber NumericString(SIZE(1..16)), + nsapAddress OCTET STRING (SIZE(1..20)), + ... + }, + subaddress OCTET STRING (SIZE(1..20)) OPTIONAL, + ... +} + +V75Parameters ::= SEQUENCE +{ + audioHeaderPresent BOOLEAN, + ... +} + + +DataType ::=CHOICE +{ + nonStandard NonStandardParameter, + nullData NULL, + videoData VideoCapability, + audioData AudioCapability, + data DataApplicationCapability, + encryptionData EncryptionMode, + ..., + h235Control NonStandardParameter, + h235Media H235Media +} + +H235Media ::=SEQUENCE +{ + encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity, + + mediaType CHOICE + { + nonStandard NonStandardParameter, + videoData VideoCapability, + audioData AudioCapability, + data DataApplicationCapability, + ... + }, + + ... +} + +H222LogicalChannelParameters ::=SEQUENCE +{ + resourceID INTEGER (0..65535), + subChannelID INTEGER (0..8191), + pcr-pid INTEGER (0..8191) OPTIONAL, + programDescriptors OCTET STRING OPTIONAL, + streamDescriptors OCTET STRING OPTIONAL, + ... +} + +H223LogicalChannelParameters ::=SEQUENCE +{ + adaptationLayerType CHOICE + { + nonStandard NonStandardParameter, + al1Framed NULL, + al1NotFramed NULL, + al2WithoutSequenceNumbers NULL, + al2WithSequenceNumbers NULL, + al3 SEQUENCE + { + controlFieldOctets INTEGER (0..2), + sendBufferSize INTEGER (0..16777215) -- units octets + }, + ..., + al1M H223AL1MParameters, + al2M H223AL2MParameters, + al3M H223AL3MParameters + }, + + segmentableFlag BOOLEAN, + ... +} + +H223AL1MParameters ::=SEQUENCE +{ + transferMode CHOICE + { + framed NULL, + unframed NULL, + ... + }, + headerFEC CHOICE + { + sebch16-7 NULL, + golay24-12 NULL, + ... + }, + crcLength CHOICE + { + crc4bit NULL, + crc12bit NULL, + crc20bit NULL, + crc28bit NULL, + ... + }, + + rcpcCodeRate INTEGER (8..32), + + arqType CHOICE + { + noArq NULL, + typeIArq H223AnnexCArqParameters, + typeIIArq H223AnnexCArqParameters, + ... + }, + alpduInterleaving BOOLEAN, + alsduSplitting BOOLEAN, + ... +} + +H223AL2MParameters ::=SEQUENCE +{ + headerFEC CHOICE + { + sebch16-5 NULL, + golay24-12 NULL, + ... + }, + alpduInterleaving BOOLEAN, + ... +} + +H223AL3MParameters ::=SEQUENCE +{ + headerFormat CHOICE + { + sebch16-7 NULL, + golay24-12 NULL, + ... + }, + crcLength CHOICE + { + crc4bit NULL, + crc12bit NULL, + crc20bit NULL, + crc28bit NULL, + ... + }, + + rcpcCodeRate INTEGER (8..32), + + arqType CHOICE + { + noArq NULL, + typeIArq H223AnnexCArqParameters, + typeIIArq H223AnnexCArqParameters, + ... + }, + + alpduInterleaving BOOLEAN, + ... +} + + +H223AnnexCArqParameters ::=SEQUENCE +{ + numberOfRetransmissions CHOICE + { + finite INTEGER (0..16), + infinite NULL, + ... + }, + sendBufferSize INTEGER (0..16777215), -- units octets + ... +} + +V76LogicalChannelParameters ::=SEQUENCE +{ + hdlcParameters V76HDLCParameters, + suspendResume CHOICE + { + noSuspendResume NULL, + suspendResumewAddress NULL, + suspendResumewoAddress NULL, + ... + }, + uIH BOOLEAN, + mode CHOICE + { + eRM SEQUENCE + { + windowSize INTEGER (1..127) , + recovery CHOICE + { + rej NULL, + sREJ NULL, + mSREJ NULL, + ... + }, + ... + }, + uNERM NULL, + ... + }, + v75Parameters V75Parameters, + ... +} + + + +V76HDLCParameters ::=SEQUENCE +{ + crcLength CRCLength, + n401 INTEGER (1..4095), + loopbackTestProcedure BOOLEAN, + ... +} + + +CRCLength ::=CHOICE +{ + crc8bit NULL, + crc16bit NULL, + crc32bit NULL, + ... +} + +H2250LogicalChannelParameters ::=SEQUENCE +{ + nonStandard SEQUENCE OF NonStandardParameter OPTIONAL, + sessionID INTEGER(0..255), + associatedSessionID INTEGER(1..255) OPTIONAL, + mediaChannel TransportAddress OPTIONAL, + mediaGuaranteedDelivery BOOLEAN OPTIONAL, + mediaControlChannel TransportAddress OPTIONAL, -- reverse RTCP channel + mediaControlGuaranteedDelivery BOOLEAN OPTIONAL, + silenceSuppression BOOLEAN OPTIONAL, + destination TerminalLabel OPTIONAL, + + dynamicRTPPayloadType INTEGER(96..127) OPTIONAL, + mediaPacketization CHOICE + { + h261aVideoPacketization NULL, + ..., + rtpPayloadType RTPPayloadType + } OPTIONAL, + ..., + transportCapability TransportCapability OPTIONAL, + redundancyEncoding RedundancyEncoding OPTIONAL, + source TerminalLabel OPTIONAL +} + +RTPPayloadType ::= SEQUENCE +{ + payloadDescriptor CHOICE + { + nonStandardIdentifier NonStandardParameter, + rfc-number INTEGER (1..32768, ...), + oid OBJECT IDENTIFIER, + ... + }, + payloadType INTEGER (0..127) OPTIONAL, + ... +} + +RedundancyEncoding ::=SEQUENCE +{ + redundancyEncodingMethod RedundancyEncodingMethod, + secondaryEncoding DataType OPTIONAL, -- depends on method + ... +} + +TransportAddress ::=CHOICE +{ + unicastAddress UnicastAddress, + multicastAddress MulticastAddress, + ... +} + +UnicastAddress ::=CHOICE +{ + iPAddress SEQUENCE + { + network OCTET STRING (SIZE(4)), + tsapIdentifier INTEGER(0..65535), + ... + }, + iPXAddress SEQUENCE + { + node OCTET STRING (SIZE(6)), + netnum OCTET STRING (SIZE(4)), + tsapIdentifier OCTET STRING (SIZE(2)), + ... + }, + iP6Address SEQUENCE + { + network OCTET STRING (SIZE(16)), + tsapIdentifier INTEGER(0..65535), + ... + }, + netBios OCTET STRING (SIZE(16)), + iPSourceRouteAddress SEQUENCE + { + routing CHOICE + { + strict NULL, + loose NULL + }, + network OCTET STRING (SIZE(4)), + tsapIdentifier INTEGER(0..65535), + route SEQUENCE OF OCTET STRING (SIZE(4)), + ... + }, + ..., + nsap OCTET STRING (SIZE(1..20)), + nonStandardAddress NonStandardParameter +} + +MulticastAddress ::=CHOICE +{ + iPAddress SEQUENCE + { + network OCTET STRING (SIZE(4)), + tsapIdentifier INTEGER(0..65535), + ... + }, + iP6Address SEQUENCE + { + network OCTET STRING (SIZE(16)), + tsapIdentifier INTEGER(0..65535), + ... + }, + ..., + nsap OCTET STRING (SIZE(1..20)), + nonStandardAddress NonStandardParameter +} + +EncryptionSync ::=SEQUENCE + -- used to supply new key and synchronization point +{ + nonStandard NonStandardParameter OPTIONAL, + synchFlag INTEGER(0..255) , -- may need to be larger for H.324, etc + -- shall be the Dynamic Payload# for H.323 + h235Key OCTET STRING (SIZE(1..65535)), -- H.235 encoded value + escrowentry SEQUENCE SIZE(1..256) OF EscrowData OPTIONAL, + ... +} + +EscrowData ::=SEQUENCE +{ + escrowID OBJECT IDENTIFIER, + escrowValue BIT STRING (SIZE(1..65535)), + ... +} + +OpenLogicalChannelAck ::=SEQUENCE +{ + forwardLogicalChannelNumber LogicalChannelNumber, + + reverseLogicalChannelParameters SEQUENCE + { + reverseLogicalChannelNumber LogicalChannelNumber, + portNumber INTEGER (0..65535) OPTIONAL, + multiplexParameters CHOICE + { + h222LogicalChannelParameters H222LogicalChannelParameters, + -- H.223 parameters are never present in reverse direction + ..., + h2250LogicalChannelParameters H2250LogicalChannelParameters + + } OPTIONAL, -- Not present for H.223 + ..., + replacementFor LogicalChannelNumber OPTIONAL + + } OPTIONAL, -- Not present for uni-directional channel request + ..., + separateStack NetworkAccessParameters OPTIONAL, + -- for Open requester to establish the stack + forwardMultiplexAckParameters CHOICE + { + -- H.222 parameters are never present in the Ack + -- H.223 parameters are never present in the Ack + --V.76 parameters are never present in the Ack + h2250LogicalChannelAckParameters H2250LogicalChannelAckParameters, + ... + } OPTIONAL, + encryptionSync EncryptionSync OPTIONAL -- used only by Master +} + +OpenLogicalChannelReject ::=SEQUENCE +{ + forwardLogicalChannelNumber LogicalChannelNumber, + cause CHOICE + { + unspecified NULL, + unsuitableReverseParameters NULL, + dataTypeNotSupported NULL, + dataTypeNotAvailable NULL, + unknownDataType NULL, + dataTypeALCombinationNotSupported NULL, + ..., + multicastChannelNotAllowed NULL, + insufficientBandwidth NULL, + separateStackEstablishmentFailed NULL, + invalidSessionID NULL, + masterSlaveConflict NULL, + waitForCommunicationMode NULL, + invalidDependentChannel NULL, + replacementForRejected NULL + }, + ... +} + +OpenLogicalChannelConfirm ::=SEQUENCE +{ + forwardLogicalChannelNumber LogicalChannelNumber, + ... +} + +H2250LogicalChannelAckParameters ::=SEQUENCE +{ + nonStandard SEQUENCE OF NonStandardParameter OPTIONAL, + sessionID INTEGER(1..255) OPTIONAL, + mediaChannel TransportAddress OPTIONAL, + mediaControlChannel TransportAddress OPTIONAL, -- forward RTCP channel + dynamicRTPPayloadType INTEGER(96..127) OPTIONAL, -- used only by the master or MC + ..., + flowControlToZero BOOLEAN +} + + + +CloseLogicalChannel ::=SEQUENCE +{ + forwardLogicalChannelNumber LogicalChannelNumber, + source CHOICE + { + user NULL, + lcse NULL + }, + ..., + reason CHOICE + { + unknown NULL, + reopen NULL, + reservationFailure NULL, + ... + } +} + +CloseLogicalChannelAck ::=SEQUENCE +{ + forwardLogicalChannelNumber LogicalChannelNumber, + ... +} + +RequestChannelClose ::=SEQUENCE +{ + forwardLogicalChannelNumber LogicalChannelNumber, + ..., + qosCapability QOSCapability OPTIONAL, + reason CHOICE + { + unknown NULL, + normal NULL, + reopen NULL, + reservationFailure NULL, + ... + } +} + +RequestChannelCloseAck ::=SEQUENCE +{ + forwardLogicalChannelNumber LogicalChannelNumber, + ... +} + +RequestChannelCloseReject ::=SEQUENCE +{ + forwardLogicalChannelNumber LogicalChannelNumber, + cause CHOICE + { + unspecified NULL, + ... + }, + ... +} + +RequestChannelCloseRelease ::=SEQUENCE +{ + forwardLogicalChannelNumber LogicalChannelNumber, + ... +} + + -- =================================================================================== +-- H.223 multiplex table definitions +-- =================================================================================== + +MultiplexEntrySend ::=SEQUENCE +{ + sequenceNumber SequenceNumber, + multiplexEntryDescriptors SET SIZE (1..15) OF MultiplexEntryDescriptor, + ... +} + +MultiplexEntryDescriptor ::=SEQUENCE +{ + multiplexTableEntryNumber MultiplexTableEntryNumber, + elementList SEQUENCE SIZE (1..256) OF MultiplexElement OPTIONAL +} + +MultiplexElement ::=SEQUENCE +{ + type CHOICE + { + logicalChannelNumber INTEGER(0..65535), + subElementList SEQUENCE SIZE (2..255) OF MultiplexElement + }, + repeatCount CHOICE + { + finite INTEGER (1..65535), -- repeats of type + untilClosingFlag NULL -- used for last element + } +} + +MultiplexTableEntryNumber ::=INTEGER (1..15) + +MultiplexEntrySendAck ::=SEQUENCE +{ + sequenceNumber SequenceNumber, + multiplexTableEntryNumber SET SIZE (1..15) OF MultiplexTableEntryNumber, + ... +} + +MultiplexEntrySendReject ::=SEQUENCE +{ + sequenceNumber SequenceNumber, + rejectionDescriptions SET SIZE (1..15) OF MultiplexEntryRejectionDescriptions, + ... +} + +MultiplexEntryRejectionDescriptions ::=SEQUENCE +{ + multiplexTableEntryNumber MultiplexTableEntryNumber, + cause CHOICE + { + unspecifiedCause NULL, + descriptorTooComplex NULL, + ... + }, + ... +} + +MultiplexEntrySendRelease ::=SEQUENCE +{ + multiplexTableEntryNumber SET SIZE (1..15) OF MultiplexTableEntryNumber, + ... +} + +RequestMultiplexEntry ::=SEQUENCE +{ + entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber, + ... +} + +RequestMultiplexEntryAck ::=SEQUENCE +{ + entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber, + ... +} + +RequestMultiplexEntryReject ::=SEQUENCE +{ + entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber, + rejectionDescriptions SET SIZE (1..15) OF RequestMultiplexEntryRejectionDescriptions, + ... +} + +RequestMultiplexEntryRejectionDescriptions ::=SEQUENCE +{ + multiplexTableEntryNumber MultiplexTableEntryNumber, + cause CHOICE + { + unspecifiedCause NULL, + ... + }, + ... +} + +RequestMultiplexEntryRelease ::=SEQUENCE +{ + entryNumbers SET SIZE (1..15) OF MultiplexTableEntryNumber, + ... +} + + -- =================================================================================== +-- Request mode definitions +-- =================================================================================== + +-- RequestMode is a list, in order or preference, of modes that a terminal would like +-- to have transmitted to it. + +RequestMode ::=SEQUENCE +{ + sequenceNumber SequenceNumber, + requestedModes SEQUENCE SIZE (1..256) OF ModeDescription, + ... +} + +RequestModeAck ::=SEQUENCE +{ + sequenceNumber SequenceNumber, + response CHOICE + { + willTransmitMostPreferredMode NULL, + willTransmitLessPreferredMode NULL, + ... + }, + ... +} + +RequestModeReject ::=SEQUENCE +{ + sequenceNumber SequenceNumber, + cause CHOICE + { + modeUnavailable NULL, + multipointConstraint NULL, + requestDenied NULL, + ... + }, + ... +} + +RequestModeRelease ::=SEQUENCE +{ + ... +} + +-- =================================================================================== +-- Request mode definitions: Mode description +-- =================================================================================== + +ModeDescription ::=SET SIZE (1..256) OF ModeElement + +ModeElement ::= SEQUENCE +{ + type CHOICE + { + nonStandard NonStandardParameter, + videoMode VideoMode, + audioMode AudioMode, + dataMode DataMode, + encryptionMode EncryptionMode, + ..., + h235Mode H235Mode + }, + + h223ModeParameters H223ModeParameters OPTIONAL, + ..., + v76ModeParameters V76ModeParameters OPTIONAL, + h2250ModeParameters H2250ModeParameters OPTIONAL + + +} + +H235Mode ::=SEQUENCE +{ + encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity, + + mediaMode CHOICE + { + nonStandard NonStandardParameter, + videoMode VideoMode, + audioMode AudioMode, + dataMode DataMode, + ... + }, + ... +} + +H223ModeParameters ::=SEQUENCE +{ + adaptationLayerType CHOICE + { + nonStandard NonStandardParameter, + al1Framed NULL, + al1NotFramed NULL, + al2WithoutSequenceNumbers NULL, + al2WithSequenceNumbers NULL, + al3 SEQUENCE + { + controlFieldOctets INTEGER(0..2), + sendBufferSize INTEGER(0..16777215) -- units octets + }, + ..., + al1M H223AL1MParameters, + al2M H223AL2MParameters, + al3M H223AL3MParameters + + }, + + segmentableFlag BOOLEAN, + ... +} + +V76ModeParameters ::=CHOICE +{ + suspendResumewAddress NULL, + suspendResumewoAddress NULL, + ... +} + +H2250ModeParameters ::=SEQUENCE +{ + redundancyEncodingMode RedundancyEncodingMode OPTIONAL, + ... +} + +RedundancyEncodingMode ::=SEQUENCE +{ + redundancyEncodingMethod RedundancyEncodingMethod, + secondaryEncoding CHOICE + { + nonStandard NonStandardParameter, + audioData AudioMode, + ... + } OPTIONAL, + ... +} + +-- =================================================================================== +-- Request mode definitions: Video modes +-- =================================================================================== + +VideoMode ::=CHOICE +{ + nonStandard NonStandardParameter, + h261VideoMode H261VideoMode, + h262VideoMode H262VideoMode, + h263VideoMode H263VideoMode, + is11172VideoMode IS11172VideoMode, + ... +} + +H261VideoMode ::=SEQUENCE +{ + resolution CHOICE + { + qcif NULL, + cif NULL + }, + bitRate INTEGER (1..19200), -- units 100 bit/s + stillImageTransmission BOOLEAN, + ... +} + +H262VideoMode ::=SEQUENCE +{ + profileAndLevel CHOICE + { + profileAndLevel-SPatML NULL, + profileAndLevel-MPatLL NULL, + profileAndLevel-MPatML NULL, + profileAndLevel-MPatH-14 NULL, + profileAndLevel-MPatHL NULL, + profileAndLevel-SNRatLL NULL, + profileAndLevel-SNRatML NULL, + profileAndLevel-SpatialatH-14 NULL, + profileAndLevel-HPatML NULL, + profileAndLevel-HPatH-14 NULL, + profileAndLevel-HPatHL NULL, + ... + }, + videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400bit/s + vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16384bits + samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line + linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame + framesPerSecond INTEGER(0..15) OPTIONAL, -- frame_rate_code + luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec + ... +} + +H263VideoMode ::=SEQUENCE +{ + resolution CHOICE + { + sqcif NULL, + qcif NULL, + cif NULL, + cif4 NULL, + cif16 NULL, + ... + }, + bitRate INTEGER (1..19200), -- units 100 bit/s + unrestrictedVector BOOLEAN, + arithmeticCoding BOOLEAN, + advancedPrediction BOOLEAN, + pbFrames BOOLEAN, + ..., + + errorCompensation BOOLEAN, + enhancementLayerInfo EnhancementLayerInfo OPTIONAL, + h263Options H263Options OPTIONAL +} + +IS11172VideoMode ::=SEQUENCE +{ + constrainedBitstream BOOLEAN, + videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400bit/s + vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16384bits + samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line + linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame + pictureRate INTEGER(0..15) OPTIONAL, + luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec + ... +} + +-- =================================================================================== +-- Request mode definitions: Audio modes +-- =================================================================================== + +AudioMode ::=CHOICE +{ + nonStandard NonStandardParameter, + g711Alaw64k NULL, + g711Alaw56k NULL, + g711Ulaw64k NULL, + g711Ulaw56k NULL, + + g722-64k NULL, + g722-56k NULL, + g722-48k NULL, + + g728 NULL, + g729 NULL, + g729AnnexA NULL, + + g7231 CHOICE + { + noSilenceSuppressionLowRate NULL, + noSilenceSuppressionHighRate NULL, + silenceSuppressionLowRate NULL, + silenceSuppressionHighRate NULL + }, + + is11172AudioMode IS11172AudioMode, + is13818AudioMode IS13818AudioMode, + + ..., + g729wAnnexB INTEGER(1..256), + g729AnnexAwAnnexB INTEGER(1..256), + g7231AnnexCMode G7231AnnexCMode, + gsmFullRate GSMAudioCapability, + gsmHalfRate GSMAudioCapability, + gsmEnhancedFullRate GSMAudioCapability + +} + +IS11172AudioMode ::=SEQUENCE +{ + audioLayer CHOICE + { + audioLayer1 NULL, + audioLayer2 NULL, + audioLayer3 NULL + }, + + audioSampling CHOICE + { + audioSampling32k NULL, + audioSampling44k1 NULL, + audioSampling48k NULL + }, + + multichannelType CHOICE + { + singleChannel NULL, + twoChannelStereo NULL, + twoChannelDual NULL + }, + + bitRate INTEGER (1..448), --units kbit/s + ... +} + +IS13818AudioMode ::=SEQUENCE +{ + audioLayer CHOICE + { + audioLayer1 NULL, + audioLayer2 NULL, + audioLayer3 NULL + }, + + audioSampling CHOICE + { + audioSampling16k NULL, + audioSampling22k05 NULL, + audioSampling24k NULL, + audioSampling32k NULL, + audioSampling44k1 NULL, + audioSampling48k NULL + }, + + multichannelType CHOICE + { + singleChannel NULL, + twoChannelStereo NULL, + twoChannelDual NULL, + threeChannels2-1 NULL, + threeChannels3-0 NULL, + fourChannels2-0-2-0 NULL, + fourChannels2-2 NULL, + fourChannels3-1 NULL, + fiveChannels3-0-2-0 NULL, + fiveChannels3-2 NULL + }, + + lowFrequencyEnhancement BOOLEAN, + + multilingual BOOLEAN, + + bitRate INTEGER (1..1130), --units kbit/s + ... +} + +G7231AnnexCMode ::= SEQUENCE +{ + maxAl-sduAudioFrames INTEGER (1..256), + silenceSuppression BOOLEAN, + g723AnnexCAudioMode SEQUENCE + { + highRateMode0 INTEGER (27..78), -- units octets + highRateMode1 INTEGER (27..78), -- units octets + lowRateMode0 INTEGER (23..66), -- units octets + lowRateMode1 INTEGER (23..66), -- units octets + sidMode0 INTEGER (6..17), -- units octets + sidMode1 INTEGER (6..17), -- units octets + ... + }, + ... +} + +-- =================================================================================== +-- Request mode definitions: Data modes +-- =================================================================================== + +DataMode ::=SEQUENCE +{ + application CHOICE + { + nonStandard NonStandardParameter, + t120 DataProtocolCapability, + dsm-cc DataProtocolCapability, + userData DataProtocolCapability, + t84 DataProtocolCapability, + t434 DataProtocolCapability, + h224 DataProtocolCapability, + nlpid SEQUENCE + { + nlpidProtocol DataProtocolCapability, + nlpidData OCTET STRING + }, + dsvdControl NULL, + h222DataPartitioning DataProtocolCapability, + ..., + t30fax DataProtocolCapability, + t140 DataProtocolCapability + }, + bitRate INTEGER (0..4294967295), -- units 100 bit/s + ... +} + +-- =================================================================================== +-- Request mode definitions: Encryption modes +-- =================================================================================== + +EncryptionMode ::=CHOICE +{ + nonStandard NonStandardParameter, + h233Encryption NULL, + ... +} + + -- =================================================================================== +-- Round Trip Delay definitions +-- =================================================================================== + +RoundTripDelayRequest ::=SEQUENCE +{ + sequenceNumber SequenceNumber, + ... +} + +RoundTripDelayResponse ::=SEQUENCE +{ + sequenceNumber SequenceNumber, + ... +} + +-- =================================================================================== +-- Maintenance Loop definitions +-- =================================================================================== + +MaintenanceLoopRequest ::=SEQUENCE +{ + type CHOICE + { + systemLoop NULL, + mediaLoop LogicalChannelNumber, + logicalChannelLoop LogicalChannelNumber, + ... + }, + ... +} + +MaintenanceLoopAck ::=SEQUENCE +{ + type CHOICE + { + systemLoop NULL, + mediaLoop LogicalChannelNumber, + logicalChannelLoop LogicalChannelNumber, + ... + }, + ... +} + +MaintenanceLoopReject ::=SEQUENCE +{ + type CHOICE + { + systemLoop NULL, + mediaLoop LogicalChannelNumber, + logicalChannelLoop LogicalChannelNumber, + ... + }, + cause CHOICE + { + canNotPerformLoop NULL, + ... + }, + ... +} + +MaintenanceLoopOffCommand ::=SEQUENCE +{ + ... +} + +-- =================================================================================== +-- Communication Mode definitions +-- =================================================================================== + +CommunicationModeCommand ::=SEQUENCE +{ + communicationModeTable SET SIZE(1..256) OF CommunicationModeTableEntry, + ... +} + +CommunicationModeRequest ::=SEQUENCE +{ + ... +} + +CommunicationModeResponse ::=CHOICE +{ + communicationModeTable SET SIZE(1..256) OF CommunicationModeTableEntry, + ... +} + +CommunicationModeTableEntry ::=SEQUENCE +{ + nonStandard SEQUENCE OF NonStandardParameter OPTIONAL, + sessionID INTEGER(1..255), + associatedSessionID INTEGER(1..255) OPTIONAL, + + terminalLabel TerminalLabel OPTIONAL, -- if not present, + -- it refers to all participants + -- in the conference + sessionDescription BMPString (SIZE(1..128)) , + -- Basic ISO/IEC 10646-1 (Unicode) + dataType CHOICE + { + videoData VideoCapability, + audioData AudioCapability, + data DataApplicationCapability, + ... + }, + mediaChannel TransportAddress OPTIONAL, + mediaGuaranteedDelivery BOOLEAN OPTIONAL, + mediaControlChannel TransportAddress OPTIONAL, -- reverse RTCP channel + mediaControlGuaranteedDelivery BOOLEAN OPTIONAL, + ..., + redundancyEncoding RedundancyEncoding OPTIONAL, + sessionDependency INTEGER (1..255) OPTIONAL, + destination TerminalLabel OPTIONAL +} + +-- =================================================================================== +-- Conference Request definitions +-- =================================================================================== + +ConferenceRequest ::=CHOICE +{ + + terminalListRequest NULL, -- same as H.230 TCU (term->MC) + + makeMeChair NULL, -- same as H.230 CCA (term->MC) + cancelMakeMeChair NULL, -- same as H.230 CIS (term->MC) + + dropTerminal TerminalLabel, -- same as H.230 CCD(term->MC) + + requestTerminalID TerminalLabel, -- sames as TCP (term->MC) + + enterH243Password NULL, -- same as H.230 TCS1(MC->term) + enterH243TerminalID NULL, -- same as H.230 TCS2/TCI + -- (MC->term) + enterH243ConferenceID NULL, -- same as H.230 TCS3 (MC->term) + ..., + enterExtensionAddress NULL, -- same as H.230 TCS4 (GW->term) + requestChairTokenOwner NULL, -- same as H.230 TCA (term->MC) + requestTerminalCertificate SEQUENCE + { + terminalLabel TerminalLabel OPTIONAL, + certSelectionCriteria CertSelectionCriteria OPTIONAL, + sRandom INTEGER (1..4294967295) OPTIONAL, + -- this is the requester's challenge + ... + }, + broadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 MCV + makeTerminalBroadcaster TerminalLabel, -- similar to H.230 VCB + sendThisSource TerminalLabel, -- similar to H.230 VCS + requestAllTerminalIDs NULL, + remoteMCRequest RemoteMCRequest +} + +CertSelectionCriteria ::=SEQUENCE SIZE (1..16) OF Criteria + +Criteria ::=SEQUENCE +{ + field OBJECT IDENTIFIER, -- may include certificate type + value OCTET STRING (SIZE(1..65535)), + ... +} + +TerminalLabel ::=SEQUENCE +{ + mcuNumber McuNumber, + terminalNumber TerminalNumber, + ... +} + +McuNumber ::=INTEGER(0..192) +TerminalNumber ::=INTEGER(0..192) + +-- =================================================================================== +-- Conference Response definitions +-- =================================================================================== + +ConferenceResponse ::=CHOICE +{ + mCTerminalIDResponse SEQUENCE -- response to TCP(same as TIP) + { -- sent by MC only + terminalLabel TerminalLabel, + terminalID TerminalID, + ... + }, + + terminalIDResponse SEQUENCE -- response to TCS2 or TCI + { -- same as IIS + terminalLabel TerminalLabel, -- (term->MC) + terminalID TerminalID, + ... + }, + + conferenceIDResponse SEQUENCE -- response to TCS3 + { -- same as IIS + terminalLabel TerminalLabel, -- (term->MC) + conferenceID ConferenceID, + ... + }, + + passwordResponse SEQUENCE -- response to TCS1 + { -- same as IIS + terminalLabel TerminalLabel, -- (term->MC) + password Password, + ... + }, + + terminalListResponse SET SIZE (1..256) OF TerminalLabel, + + videoCommandReject NULL, -- same as H.230 VCR + terminalDropReject NULL, -- same as H.230 CIR + + makeMeChairResponse CHOICE -- same as H.230 CCR + { + grantedChairToken NULL, -- same as H.230 CIT + deniedChairToken NULL, -- same as H.230 CCR + ... + }, + ..., + extensionAddressResponse SEQUENCE -- response to TCS4 + { + extensionAddress TerminalID, -- same as IIS (term->GW) + ... + }, + chairTokenOwnerResponse SEQUENCE -- response to TCA(same as TIR) sent by MC only + { + terminalLabel TerminalLabel, + terminalID TerminalID, + ... + }, + terminalCertificateResponse SEQUENCE + { + terminalLabel TerminalLabel OPTIONAL, + certificateResponse OCTET STRING (SIZE(1..65535)) OPTIONAL, + ... + }, + broadcastMyLogicalChannelResponse CHOICE + { + grantedBroadcastMyLogicalChannel NULL, + deniedBroadcastMyLogicalChannel NULL, + ... + }, + makeTerminalBroadcasterResponse CHOICE + { + grantedMakeTerminalBroadcaster NULL, + deniedMakeTerminalBroadcaster NULL, + ... + }, + sendThisSourceResponse CHOICE + { + grantedSendThisSource NULL, + deniedSendThisSource NULL, + ... + }, + requestAllTerminalIDsResponse RequestAllTerminalIDsResponse, + remoteMCResponse RemoteMCResponse +} + +TerminalID ::=OCTET STRING (SIZE(1..128)) -- as per H.230 +ConferenceID ::=OCTET STRING (SIZE(1..32)) +Password ::=OCTET STRING (SIZE(1..32)) + +RequestAllTerminalIDsResponse ::=SEQUENCE +{ + terminalInformation SEQUENCE OF TerminalInformation, + ... +} + +TerminalInformation ::=SEQUENCE +{ + terminalLabel TerminalLabel, + terminalID TerminalID, + ... +} + +-- =================================================================================== +-- Remote MC Request definitions +-- =================================================================================== + + RemoteMCRequest ::=CHOICE + { + masterActivate NULL, + slaveActivate NULL, + deActivate NULL, + ... + } + + RemoteMCResponse ::=CHOICE + { + accept NULL, + reject CHOICE + { + unspecified NULL, + functionNotSupported NULL, + ... + }, + ... + } + +-- =================================================================================== +-- Command Message definitions +-- =================================================================================== + +-- =================================================================================== +-- Command Message : Send Terminal Capability Set +-- =================================================================================== + +SendTerminalCapabilitySet ::=CHOICE +{ + specificRequest SEQUENCE + { + multiplexCapability BOOLEAN, + + capabilityTableEntryNumbers SET SIZE (1..65535) OF CapabilityTableEntryNumber OPTIONAL, + + capabilityDescriptorNumbers SET SIZE (1..256) OF CapabilityDescriptorNumber OPTIONAL, + ... + }, + genericRequest NULL, + ... +} + +-- =================================================================================== +-- Command Message : Encryption +-- =================================================================================== + +EncryptionCommand ::=CHOICE +{ + encryptionSE OCTET STRING, -- per H.233, but no error protection + encryptionIVRequest NULL, -- requests new IV + encryptionAlgorithmID SEQUENCE + { + h233AlgorithmIdentifier SequenceNumber, + associatedAlgorithm NonStandardParameter + }, + ... +} + +-- =================================================================================== +-- Command Message : Flow Control +-- =================================================================================== + +FlowControlCommand ::=SEQUENCE +{ + scope CHOICE + { + logicalChannelNumber LogicalChannelNumber, + resourceID INTEGER (0..65535), + wholeMultiplex NULL + }, + restriction CHOICE + { + maximumBitRate INTEGER (0..16777215), -- units 100 bit/s + noRestriction NULL + }, + ... +} + +-- =================================================================================== +-- Command Message : Change or End Session +-- =================================================================================== + +EndSessionCommand ::=CHOICE +{ + nonStandard NonStandardParameter, + + disconnect NULL, + + gstnOptions CHOICE + { + telephonyMode NULL, + v8bis NULL, + v34DSVD NULL, + v34DuplexFAX NULL, + v34H324 NULL, + ... + }, + + ..., + isdnOptions CHOICE + { + telephonyMode NULL, + v140 NULL, + terminalOnHold NULL, + ... + } +} + +-- =================================================================================== +-- Command Message : Conference Commands +-- =================================================================================== + +ConferenceCommand ::=CHOICE +{ + broadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 MCV + cancelBroadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 Cancel-MCV + + makeTerminalBroadcaster TerminalLabel, -- same as H.230 VCB + cancelMakeTerminalBroadcaster NULL, -- same as H.230 Cancel-VCB + + sendThisSource TerminalLabel, -- same as H.230 VCS + cancelSendThisSource NULL, -- same as H.230 cancel VCS + + dropConference NULL, -- same as H.230 CCK + ..., + substituteConferenceIDCommand SubstituteConferenceIDCommand +} + +SubstituteConferenceIDCommand ::=SEQUENCE +{ + conferenceIdentifier OCTET STRING (SIZE(16)), + ... +} + +-- =================================================================================== +-- Command Message : Miscellaneous H.230-like commands +-- =================================================================================== + +MiscellaneousCommand ::=SEQUENCE +{ + logicalChannelNumber LogicalChannelNumber, + type CHOICE + { + equaliseDelay NULL, -- same as H.230 ACE + zeroDelay NULL, -- same as H.230 ACZ + multipointModeCommand NULL, + cancelMultipointModeCommand NULL, + videoFreezePicture NULL, + videoFastUpdatePicture NULL, + + videoFastUpdateGOB SEQUENCE + { + firstGOB INTEGER (0..17), + numberOfGOBs INTEGER (1..18) + }, + + videoTemporalSpatialTradeOff INTEGER (0..31), -- commands a trade-off value + + videoSendSyncEveryGOB NULL, + videoSendSyncEveryGOBCancel NULL, + + ..., + videoFastUpdateMB SEQUENCE + { + firstGOB INTEGER (0..255) OPTIONAL, + firstMB INTEGER (1..8192) OPTIONAL, + numberOfMBs INTEGER (1..8192), + ... + }, + maxH223MUXPDUsize INTEGER(1..65535), -- units octets + encryptionUpdate EncryptionSync, + encryptionUpdateRequest EncryptionUpdateRequest, + switchReceiveMediaOff NULL, + switchReceiveMediaOn NULL, + + progressiveRefinementStart SEQUENCE + { + repeatCount CHOICE + { + doOneProgression NULL, + doContinuousProgressions NULL, + doOneIndependentProgression NULL, + doContinuousIndependentProgressions NULL, + ... + }, + ... + }, + progressiveRefinementAbortOne NULL, + progressiveRefinementAbortContinuous NULL + + }, + + ... +} + +KeyProtectionMethod ::=SEQUENCE -- specify how the new key is to be protected +{ + secureChannel BOOLEAN, + sharedSecret BOOLEAN, + certProtectedKey BOOLEAN, + ... +} + +EncryptionUpdateRequest ::=SEQUENCE +{ + keyProtectionMethod KeyProtectionMethod OPTIONAL, + ... +} + +-- =================================================================================== +-- Command Message : H.223 Multiplex Reconfiguration +-- =================================================================================== + +H223MultiplexReconfiguration ::=CHOICE +{ + h223ModeChange CHOICE + { + toLevel0 NULL, + toLevel1 NULL, + toLevel2 NULL, + toLevel2withOptionalHeader NULL, + ... + }, + + h223AnnexADoubleFlag CHOICE + { + start NULL, + stop NULL, + ... + }, + + ... +} + -- =================================================================================== +-- Indication Message definitions +-- =================================================================================== + +-- =================================================================================== +-- Indication Message : Function not understood +-- =================================================================================== + +-- This is used to return a request, response or command that is not understood + +FunctionNotUnderstood ::=CHOICE +{ + request RequestMessage, + response ResponseMessage, + command CommandMessage +} + +-- =================================================================================== +-- Indication Message : Function not Supported +-- =================================================================================== + +-- This is used to return a complete request, response or command that is not recognized + +FunctionNotSupported ::=SEQUENCE +{ + cause CHOICE + { + syntaxError NULL, + semanticError NULL, + unknownFunction NULL, + ... + }, + returnedFunction OCTET STRING OPTIONAL, + ... +} + +-- =================================================================================== +-- Indication Message : Conference +-- =================================================================================== + +ConferenceIndication ::=CHOICE +{ + sbeNumber INTEGER (0..9), -- same as H.230 SBE Number + + terminalNumberAssign TerminalLabel, -- same as H.230 TIA + + terminalJoinedConference TerminalLabel, -- same as H.230 TIN + + terminalLeftConference TerminalLabel, -- same as H.230 TID + + seenByAtLeastOneOther NULL, -- same as H.230 MIV + cancelSeenByAtLeastOneOther NULL, -- same as H.230 cancel MIV + + seenByAll NULL, -- like H.230 MIV + cancelSeenByAll NULL, -- like H.230 MIV + + terminalYouAreSeeing TerminalLabel, -- same as H.230 VIN + + requestForFloor NULL, -- same as H.230 TIF + + ..., + withdrawChairToken NULL, -- same as H.230 CCR + -- MC-> chair + floorRequested TerminalLabel -- same as H.230 TIF + -- MC-> chair +} + + +-- =================================================================================== +-- Indication Message : Miscellaneous H.230-like indication +-- =================================================================================== + +MiscellaneousIndication ::=SEQUENCE +{ + logicalChannelNumber LogicalChannelNumber, + type CHOICE + { + logicalChannelActive NULL, -- same as H.230 AIA and VIA + logicalChannelInactive NULL, -- same as H.230 AIM and VIS + + multipointConference NULL, + cancelMultipointConference NULL, + + multipointZeroComm NULL, -- same as H.230 MIZ + cancelMultipointZeroComm NULL, -- same as H.230 cancel MIZ + + multipointSecondaryStatus NULL, -- same as H.230 MIS + cancelMultipointSecondaryStatus NULL, -- same as H.230 cancel MIS + + videoIndicateReadyToActivate NULL, -- same as H.230 VIR + + videoTemporalSpatialTradeOff INTEGER (0..31), -- indicates current trade-off + + ..., + videoNotDecodedMBs SEQUENCE + { + firstMB INTEGER (1..8192), + numberOfMBs INTEGER (1..8192), + temporalReference INTEGER (0..255), + ... + }, + transportCapability TransportCapability + }, + ... +} + +-- =================================================================================== +-- Indication Message : Jitter Indication +-- =================================================================================== + +JitterIndication ::=SEQUENCE +{ + scope CHOICE + { + logicalChannelNumber LogicalChannelNumber, + resourceID INTEGER (0..65535), + wholeMultiplex NULL + }, + estimatedReceivedJitterMantissa INTEGER (0..3), + estimatedReceivedJitterExponent INTEGER (0..7), + skippedFrameCount INTEGER (0..15) OPTIONAL, + additionalDecoderBuffer INTEGER (0..262143) OPTIONAL, -- 262143 is 2^18 - 1 + ... +} + +-- =================================================================================== +-- Indication Message : H.223 logical channel skew +-- =================================================================================== + +H223SkewIndication ::=SEQUENCE +{ + logicalChannelNumber1 LogicalChannelNumber, + logicalChannelNumber2 LogicalChannelNumber, + skew INTEGER (0..4095), -- units milliseconds + ... +} + +-- =================================================================================== +-- Indication Message : H.225.0 maximum logical channel skew +-- =================================================================================== + +H2250MaximumSkewIndication ::=SEQUENCE +{ + logicalChannelNumber1 LogicalChannelNumber, + logicalChannelNumber2 LogicalChannelNumber, + maximumSkew INTEGER (0..4095), -- units milliseconds + ... +} + +-- =================================================================================== +-- Indication Message : MC Location Indication +-- =================================================================================== + +MCLocationIndication ::=SEQUENCE +{ + signalAddress TransportAddress, -- this is the H.323 Call Signalling + -- address of the entity which + -- contains the MC + ... +} + +-- =================================================================================== +-- Indication Message : Vendor Identification +-- =================================================================================== + + VendorIdentification ::=SEQUENCE + { + vendor NonStandardIdentifier, + productNumber OCTET STRING (SIZE(1..256)) OPTIONAL, -- per vendor + versionNumber OCTET STRING (SIZE(1..256)) OPTIONAL, -- per productNumber + ... + } + + +-- =================================================================================== +-- Indication Message : New ATM virtual channel indication +-- =================================================================================== + +NewATMVCIndication ::=SEQUENCE +{ + resourceID INTEGER(0..65535), + bitRate INTEGER(1..65535), -- units 64 kbit/s + bitRateLockedToPCRClock BOOLEAN, + bitRateLockedToNetworkClock BOOLEAN, + aal CHOICE + { + aal1 SEQUENCE + { + clockRecovery CHOICE + { + nullClockRecovery NULL, + srtsClockRecovery NULL, + adaptiveClockRecovery NULL, + ... + }, + errorCorrection CHOICE + { + nullErrorCorrection NULL, + longInterleaver NULL, + shortInterleaver NULL, + errorCorrectionOnly NULL, + ... + }, + structuredDataTransfer BOOLEAN, + partiallyFilledCells BOOLEAN, + ... + }, + aal5 SEQUENCE + { + forwardMaximumSDUSize INTEGER (0..65535), -- units octets + backwardMaximumSDUSize INTEGER (0..65535), -- units octets + ... + }, + ... + }, + multiplex CHOICE + { + noMultiplex NULL, + transportStream NULL, + programStream NULL, + ... + }, + ..., + reverseParameters SEQUENCE + { + bitRate INTEGER(1..65535), -- units 64 kbit/s + bitRateLockedToPCRClock BOOLEAN, + bitRateLockedToNetworkClock BOOLEAN, + multiplex CHOICE + { + noMultiplex NULL, + transportStream NULL, + programStream NULL, + ... + }, + ... + } +} + +-- =================================================================================== +-- Indication Message : user input +-- =================================================================================== + +UserInputIndication ::=CHOICE +{ + nonStandard NonStandardParameter, + alphanumeric GeneralString, + ..., + userInputSupportIndication CHOICE + { + nonStandard NonStandardParameter, + basicString NULL, + iA5String NULL, + generalString NULL, + ... + }, + signal SEQUENCE + { + signalType IA5String (SIZE (1) ^ FROM ("0123456789#*ABCD!")), +-- signalType IA5String (SIZE (1)) (FROM ("0123456789#*ABCD!")), + duration INTEGER (1..65535) OPTIONAL, -- milliseconds + rtp SEQUENCE + { + timestamp INTEGER (0..4294967295) OPTIONAL, + expirationTime INTEGER (0..4294967295) OPTIONAL, + logicalChannelNumber LogicalChannelNumber, + ... + } OPTIONAL, + ... + }, + signalUpdate SEQUENCE + { + duration INTEGER (1..65535), -- milliseconds + rtp SEQUENCE + { + logicalChannelNumber LogicalChannelNumber, + ... + } OPTIONAL, + ... + } +} + + +END + + + + + + + -- cgit v1.2.3