-- -- Abstract Syntax Notion (ASN.1) file for H.245 Version 17 -- -- File provided by Packetizer, Inc. - https://www.packetizer.com -- Last Updated: 24 September 2022 -- -- History of changes: -- 2022-09-24 - Initial H.245v17 ASN.1 file -- 2022-09-27 - For consistency, renamed ExtendedDataCapability as -- ExtendedDataApplicationCapability -- 2022-09-30 - Changed the field names associated with -- ExtendedDataApplicationCapability -- 2024-04-14 - Editorial changes (non-technical) -- 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, multilinkRequest MultilinkRequest, logicalChannelRateRequest LogicalChannelRateRequest, genericRequest GenericMessage } -- A ResponseMessage is the response to a RequestMessage 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, multilinkResponse MultilinkResponse, logicalChannelRateAcknowledge LogicalChannelRateAcknowledge, logicalChannelRateReject LogicalChannelRateReject, genericResponse GenericMessage } -- 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, newATMVCCommand NewATMVCCommand, mobileMultilinkReconfigurationCommand MobileMultilinkReconfigurationCommand, genericCommand GenericMessage } -- 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, multilinkIndication MultilinkIndication, logicalChannelRateRelease LogicalChannelRateRelease, flowControlIndication FlowControlIndication, mobileMultilinkReconfigurationIndication MobileMultilinkReconfigurationIndication, genericIndication GenericMessage } -- SequenceNumber is defined here as it is used in a number of Messages SequenceNumber ::= INTEGER (0..255) -- ============================================================================= -- Generic Message definitions -- ============================================================================= GenericMessage ::= SEQUENCE { messageIdentifier CapabilityIdentifier, subMessageIdentifier INTEGER (0..127) OPTIONAL, messageContent SEQUENCE OF GenericParameter OPTIONAL, ... } GenericInformation ::= GenericMessage -- ============================================================================= -- 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 Annex A/T.35 t35Extension INTEGER (0..255), -- assigned nationally unless -- t35CountryCode is binary -- 1111 1111, in which case it -- shall contain the country -- code according to -- Annex B/T.35 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) 17} multiplexCapability MultiplexCapability OPTIONAL, capabilityTable SET SIZE (1..256) OF CapabilityTableEntry OPTIONAL, capabilityDescriptors SET SIZE (1..256) OF CapabilityDescriptor OPTIONAL, ..., genericInformation SEQUENCE OF GenericInformation OPTIONAL -- generic information associated -- with the message } 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, ..., genericInformation SEQUENCE OF GenericInformation OPTIONAL -- generic information associated -- with the message } TerminalCapabilitySetReject ::= SEQUENCE { sequenceNumber SequenceNumber, cause CHOICE { unspecified NULL, undefinedTableEntryUsed NULL, descriptorCapacityExceeded NULL, tableEntryCapacityExceeded CHOICE { highestEntryNumberProcessed CapabilityTableEntryNumber, noneProcessed NULL }, ... }, ..., genericInformation SEQUENCE OF GenericInformation OPTIONAL -- generic information associated -- with the message } TerminalCapabilitySetRelease ::= SEQUENCE { ..., genericInformation SEQUENCE OF GenericInformation OPTIONAL -- generic information associated -- with the message } -- ============================================================================= -- 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, genericControlCapability GenericCapability, receiveMultiplexedStreamCapability MultiplexedStreamCapability, transmitMultiplexedStreamCapability MultiplexedStreamCapability, receiveAndTransmitMultiplexedStreamCapability MultiplexedStreamCapability, receiveRTPAudioTelephonyEventCapability AudioTelephonyEventCapability, receiveRTPAudioToneCapability AudioToneCapability, depFecCapability DepFECCapability, -- Deprecated, do not use multiplePayloadStreamCapability MultiplePayloadStreamCapability, fecCapability FECCapability, redundancyEncodingCap RedundancyEncodingCapability, oneOfCapabilities AlternativeCapabilitySet } H235SecurityCapability ::= SEQUENCE { encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity, mediaCapability CapabilityTableEntryNumber, -- NOTE - The mediaCapability shall refer to Capability Table Entries -- that do contain, directly or indirectly, one or more transmit, -- receive, or receiveAndTransmit AudioCapability, VideoCapability, -- DataApplicationCapability, or similar capabilities indicated by a -- NonStandardParameter or GenericCapability only ... } -- ============================================================================= -- Datagram Transport Layer Security (DTLS) parameters definitions -- ============================================================================= DTLSSecurityCapability ::= SEQUENCE { hashFunction SEQUENCE OF IA5String ( SIZE (1..65535) ), setupInformation IA5String ( SIZE (1..65535) ) OPTIONAL, connectionInformation IA5String ( SIZE (1..65535) ) OPTIONAL, fingerprint IA5String ( SIZE (1..65535) ) OPTIONAL, ... } -- ============================================================================= -- Capability exchange definitions: Multiplex capabilities -- ============================================================================= MultiplexCapability ::= CHOICE { nonStandard NonStandardParameter, h222Capability H222Capability, h223Capability H223Capability, v76Capability V76Capability, ..., h2250Capability H2250Capability, genericMultiplexCapability GenericCapability } 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 } }, ... }, ..., aal1ViaGateway SEQUENCE { gatewayAddress SET SIZE(1..256) OF Q2931Address, nullClockRecovery BOOLEAN, srtsClockRecovery BOOLEAN, adaptiveClockRecovery BOOLEAN, nullErrorCorrection BOOLEAN, longInterleaver BOOLEAN, shortInterleaver BOOLEAN, errorCorrectionOnly BOOLEAN, structuredDataTransfer BOOLEAN, partiallyFilledCells BOOLEAN, ... } OPTIONAL } 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, bitRate INTEGER (1..19200) OPTIONAL, -- units of 100 bit/s mobileMultilinkFrameCapability SEQUENCE { maximumSampleSize INTEGER (1..255), -- units octets maximumPayloadLength INTEGER (1..65025), -- units octets ... } 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 ..., rsCodeCapability BOOLEAN OPTIONAL } 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/s bucketSize INTEGER (1..4294967295) OPTIONAL, -- size in bytes peakRate INTEGER (1..4294967295) OPTIONAL, -- peak bandwidth bytes/s minPoliced INTEGER (1..4294967295) OPTIONAL, -- rate in bytes/s maxPktSize INTEGER (1..4294967295) OPTIONAL, -- size in bytes ... } QOSMode ::= CHOICE { guaranteedQOS NULL, controlledLoad NULL, ... } 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 ... } ServicePriorityValue ::= SEQUENCE { nonStandardParameter NonStandardParameter OPTIONAL, ..., value INTEGER (0..255) } ServicePriority ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, servicePrioritySignalled BOOLEAN, servicePriorityValue ServicePriorityValue OPTIONAL, ..., serviceClass INTEGER (0..4095) OPTIONAL, serviceSubclass INTEGER (0..255) OPTIONAL } AuthorizationParameters ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, ... } QOSType ::= CHOICE { desired NULL, required NULL, ... } QOSClass ::= CHOICE { class0 NULL, class1 NULL, class2 NULL, class3 NULL, class4 NULL, class5 NULL, ... } QOSDescriptor ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, qosType QOSType, qosClass QOSClass, ... } GenericTransportParameters ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, averageRate INTEGER (1..4294967295) OPTIONAL, -- average bandwidth bytes/s burst INTEGER (1..4294967295) OPTIONAL, -- size in bytes peakRate INTEGER (1..4294967295) OPTIONAL, -- peak bandwidth bytes/s maxPktSize INTEGER (1..4294967295) OPTIONAL, -- size in bytes ... } QOSCapability ::= SEQUENCE { nonStandardData NonStandardParameter OPTIONAL, rsvpParameters RSVPParameters OPTIONAL, atmParameters ATMParameters OPTIONAL, ..., localQoS BOOLEAN OPTIONAL, genericTransportParameters GenericTransportParameters OPTIONAL, servicePriority ServicePriority OPTIONAL, authorizationParameter AuthorizationParameters OPTIONAL, qosDescriptor QOSDescriptor OPTIONAL, dscpValue INTEGER (0..63) 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 ..., atm-AAL5-compressed SEQUENCE { variable-delta BOOLEAN, ... }, sctp SctpParam, udp-dtls-sctp SEQUENCE OF SctpParam, tcp-dtls-sctp SEQUENCE OF SctpParam, sctp-dtls SctpParam } 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, -- must be Audio, Video, or Data capabilities, not derived -- capabilities; redundancy order is inferred from number of -- secondary encodings ... } 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 ITU-T Rec. H.323 centralizedAudio BOOLEAN, distributedAudio BOOLEAN, centralizedVideo BOOLEAN, distributedVideo BOOLEAN, centralizedData SEQUENCE OF DataApplicationCapability OPTIONAL, distributedData SEQUENCE OF DataApplicationCapability OPTIONAL, -- for further study in ITU-T Rec. H.323 ... } -- ============================================================================= -- Capability exchange definitions: Video capabilities -- ============================================================================= VideoCapability ::= CHOICE { nonStandard NonStandardParameter, h261VideoCapability H261VideoCapability, h262VideoCapability H262VideoCapability, h263VideoCapability H263VideoCapability, is11172VideoCapability IS11172VideoCapability, ..., genericVideoCapability GenericCapability, extendedVideoCapability ExtendedVideoCapability } ExtendedVideoCapability ::= SEQUENCE { videoCapability SEQUENCE OF VideoCapability, videoCapabilityExtension SEQUENCE OF GenericCapability OPTIONAL, ... } 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/H.261 ..., videoBadMBsCap BOOLEAN } 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 16 384 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/s ..., videoBadMBsCap BOOLEAN } 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 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, 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, ..., videoBadMBsCap BOOLEAN, h263Version3Options H263Version3Options } 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, ... }, ..., enhancedReferencePicSelect SEQUENCE { subPictureRemovalParameters SEQUENCE { mpuHorizMBs INTEGER (1..128), mpuVertMBs INTEGER (1..72), mpuTotalNumber INTEGER (1..65536), ... } OPTIONAL, ... } } 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, ..., enhancedReferencePicSelect BOOLEAN, h263Version3Options H263Version3Options} H263Version3Options ::= SEQUENCE { dataPartitionedSlices BOOLEAN, fixedPointIDCT0 BOOLEAN, interlacedFields BOOLEAN, currentPictureHeaderRepetition BOOLEAN, previousPictureHeaderRepetition BOOLEAN, nextPictureHeaderRepetition BOOLEAN, pictureNumber BOOLEAN, spareReferencePictures BOOLEAN, ... } IS11172VideoCapability ::= SEQUENCE { constrainedBitstream BOOLEAN, videoBitRate INTEGER (0.. 1073741823) OPTIONAL, -- units 400 bit/s vbvBufferSize INTEGER (0.. 262143) OPTIONAL, -- units 16 384 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/s ..., videoBadMBsCap BOOLEAN } -- ============================================================================= -- 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, genericAudioCapability GenericCapability, g729Extensions G729Extensions, vbd VBDCapability, audioTelephonyEvent NoPTAudioTelephonyEventCapability, audioTone NoPTAudioToneCapability, extendedAudioCapability ExtendedAudioCapability } ExtendedAudioCapability ::= SEQUENCE { audioCapability SEQUENCE OF AudioCapability, audioCapabilityExtension SEQUENCE OF GenericCapability OPTIONAL, ... } G729Extensions ::= SEQUENCE { audioUnit INTEGER (1..256) OPTIONAL, annexA BOOLEAN, annexB BOOLEAN, annexD BOOLEAN, annexE BOOLEAN, annexF BOOLEAN, annexG BOOLEAN, annexH BOOLEAN, ... } 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, ... } VBDCapability ::= SEQUENCE { type AudioCapability, -- shall not be "vbd" ... } -- ============================================================================= -- 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, t38fax SEQUENCE { t38FaxProtocol DataProtocolCapability, t38FaxProfile T38FaxProfile }, genericDataCapability GenericCapability, dataChannel SEQUENCE OF DataChannel, extendedDataApplicationCapability ExtendedDataApplicationCapability }, maxBitRate INTEGER (0..4294967295), -- units 100 bit/s ... } ExtendedDataApplicationCapability ::= SEQUENCE { dataApplicationCapability SEQUENCE OF DataApplicationCapability, dataApplicationCapabilityExtension SEQUENCE OF GenericCapability OPTIONAL, ... } DataProtocolCapability ::= CHOICE { nonStandard NonStandardParameter, v14buffered NULL, v42lapm NULL, -- may negotiate to V.42 bis 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, ... }, tcp NULL, udp NULL, sctp SctpParam, udp-dtls-sctp SEQUENCE OF SctpParam, tcp-dtls-sctp SEQUENCE OF SctpParam, sctp-dtls SctpParam } 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, ... } } T38FaxProfile ::= SEQUENCE { fillBitRemoval BOOLEAN, transcodingJBIG BOOLEAN, transcodingMMR BOOLEAN, ..., version INTEGER (0..255), -- Version 0, the default, refers to -- T.38 (2005) t38FaxRateManagement T38FaxRateManagement, -- The default Data Rate Management is -- determined by the choice of -- DataProtocolCapability t38FaxUdpOptions T38FaxUdpOptions OPTIONAL, -- For UDP, t38UDPRedundancy is the default t38FaxTcpOptions T38FaxTcpOptions OPTIONAL } T38FaxRateManagement ::= CHOICE { localTCF NULL, transferredTCF NULL, ... } T38FaxUdpOptions ::= SEQUENCE { t38FaxMaxBuffer INTEGER OPTIONAL, t38FaxMaxDatagram INTEGER OPTIONAL, t38FaxUdpEC CHOICE { t38UDPFEC NULL, t38UDPRedundancy NULL, ... } } T38FaxTcpOptions ::= SEQUENCE { t38TCPBidirectionalMode BOOLEAN, ... } DataChannel ::= SEQUENCE { dataChannelProfile SEQUENCE OF DataChannelProfile OPTIONAL, ... } DataChannelProfile ::= SEQUENCE { ordered BOOLEAN OPTIONAL, priority INTEGER (0..65535) OPTIONAL, reliabilityParm CHOICE { maxRetr INTEGER (0..4294967295), maxTime INTEGER (0..4294967295), ... } OPTIONAL, label IA5String ( SIZE (1..65535) ) OPTIONAL, protocol IA5String ( SIZE (1..65535) ) OPTIONAL, genericInformation SEQUENCE OF GenericInformation OPTIONAL, establishmentType CHOICE { sctpStreamID INTEGER (0..65535), dcep NULL, ... }, ... } SCTPChunkType ::= INTEGER (0..255) SctpParam ::= SEQUENCE { appPPID SEQUENCE OF INTEGER (1..4294967295) OPTIONAL, -- 0 reserved maxMessageSize INTEGER OPTIONAL, sctpExtensions SEQUENCE OF SCTPChunkType OPTIONAL, genericInformation SEQUENCE OF GenericInformation OPTIONAL, sctpPort INTEGER (0..65535) OPTIONAL, ... } -- ============================================================================= -- Encryption Capability Definitions -- ============================================================================= EncryptionAuthenticationAndIntegrity ::= SEQUENCE { encryptionCapability EncryptionCapability OPTIONAL, authenticationCapability AuthenticationCapability OPTIONAL, integrityCapability IntegrityCapability OPTIONAL, ..., genericH235SecurityCapability GenericCapability OPTIONAL, dtlsSecurityCapability DTLSSecurityCapability OPTIONAL } EncryptionCapability ::= SEQUENCE SIZE(1..256) OF MediaEncryptionAlgorithm MediaEncryptionAlgorithm ::= CHOICE { nonStandard NonStandardParameter, algorithm OBJECT IDENTIFIER, -- many defined inter alia in -- ITU-T H.235 series ... } AuthenticationCapability ::= SEQUENCE { nonStandard NonStandardParameter OPTIONAL, ..., antiSpamAlgorithm OBJECT IDENTIFIER 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 ..., extendedAlphanumeric NULL, encryptedBasicString NULL, -- encrypted Basic string in -- encryptedAlphanumeric encryptedIA5String NULL, -- encrypted IA5 string in -- encryptedSignalType encryptedGeneralString NULL, -- encrypted general string in -- extendedAlphanumeric.encryptedalphanumeric secureDTMF NULL, -- secure DTMF using encryptedSignalType genericUserInputCapability GenericCapability } -- ============================================================================= -- Capability Exchange Definitions: Conference -- ============================================================================= ConferenceCapability ::= SEQUENCE { nonStandardData SEQUENCE OF NonStandardParameter OPTIONAL, chairControlCapability BOOLEAN, ..., videoIndicateMixingCapability BOOLEAN, multipointVisualizationCapability BOOLEAN OPTIONAL -- same as H.230 MVC } -- ============================================================================= -- Capability Exchange Definitions: Generic Capability -- ============================================================================= GenericCapability ::= SEQUENCE { capabilityIdentifier CapabilityIdentifier, maxBitRate INTEGER (0..4294967295) OPTIONAL, -- Units 100 bit/s collapsing SEQUENCE OF GenericParameter OPTIONAL, nonCollapsing SEQUENCE OF GenericParameter OPTIONAL, nonCollapsingRaw OCTET STRING OPTIONAL, -- Typically contains ASN.1 -- PER encoded data describing capability transport DataProtocolCapability OPTIONAL, ... } CapabilityIdentifier ::= CHOICE { standard OBJECT IDENTIFIER, -- e.g., { itu-t (0) recommendation (0) h (8) 267 -- version (0) 2 subIdentifier (0)} h221NonStandard NonStandardParameter, uuid OCTET STRING ( SIZE (16) ), domainBased IA5String ( SIZE (1..64) ), ... } -- NOTE - The ranges of parameter values have been selected to ensure that the -- GenericParameter preamble, standard part of ParameterIdentifier and the -- encoding of that choice, and the preamble of ParameterValue to fit into -- 2 octets. GenericParameter ::= SEQUENCE { parameterIdentifier ParameterIdentifier, parameterValue ParameterValue, supersedes SEQUENCE OF ParameterIdentifier OPTIONAL, ... } ParameterIdentifier ::= CHOICE { standard INTEGER (0..127), -- Assigned by Capability specifications h221NonStandard NonStandardParameter, -- Note - NonStandardIdentifier -- is not sufficient in -- this case uuid OCTET STRING ( SIZE (16) ), -- For non-standard domainBased IA5String ( SIZE (1..64) ), ... } ParameterValue ::= CHOICE { logical NULL, -- Only acceptable if -- all entities -- include this option booleanArray INTEGER (0..255), -- array of 8 logical types unsignedMin INTEGER (0..65535), -- Look for min common value unsignedMax INTEGER (0..65535), -- Look for max common value unsigned32Min INTEGER (0..4294967295), -- Look for min common value unsigned32Max INTEGER (0..4294967295), -- Look for max common value octetString OCTET STRING, -- non-collapsing octet string genericParameter SEQUENCE OF GenericParameter, ... } -- ============================================================================= -- Capability Exchange Definitions: Multiplexed Stream Capability -- ============================================================================= MultiplexedStreamCapability ::= SEQUENCE { multiplexFormat MultiplexFormat, controlOnMuxStream BOOLEAN, capabilityOnMuxStream SET SIZE (1..256) OF AlternativeCapabilitySet OPTIONAL, ... } MultiplexFormat ::= CHOICE { nonStandard NonStandardParameter, h222Capability H222Capability, h223Capability H223Capability, ... } -- ============================================================================= -- Capability Exchange Definitions: AudioTelephonyEventCapability and AudioToneCapability --============================================================================== AudioTelephonyEventCapability ::= SEQUENCE { dynamicRTPPayloadType INTEGER (96..127), audioTelephoneEvent GeneralString, -- As per in RFC 4733 ... } AudioToneCapability ::= SEQUENCE { dynamicRTPPayloadType INTEGER (96..127), ... } -- The following definitions are as above but without a Payload Type field NoPTAudioTelephonyEventCapability ::= SEQUENCE { audioTelephoneEvent GeneralString, -- As per in RFC 4733 ... } NoPTAudioToneCapability ::= SEQUENCE { ... } -- ============================================================================= -- Capability Exchange Definitions: MultiplePayloadStreamCapability -- ============================================================================= MultiplePayloadStreamCapability ::= SEQUENCE { capabilities SET SIZE(1..256) OF AlternativeCapabilitySet, ... } -- ============================================================================= -- Capability Exchange Definitions: FECCapability -- ============================================================================= DepFECCapability ::= CHOICE -- Deprecated, do not use { rfc2733 SEQUENCE { redundancyEncoding BOOLEAN, separateStream SEQUENCE { separatePort BOOLEAN, samePort BOOLEAN, ... }, ... }, ... } FECCapability ::= SEQUENCE { protectedCapability CapabilityTableEntryNumber, fecScheme OBJECT IDENTIFIER OPTIONAL, -- identifies encoding scheme rfc2733Format CHOICE { rfc2733rfc2198 MaxRedundancy, -- RFC 2198 rfc2733sameport MaxRedundancy, -- separate packet, same port rfc2733diffport MaxRedundancy -- separate packet and port } OPTIONAL, ... } MaxRedundancy ::= INTEGER (1..MAX) -- ============================================================================= -- 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 bidirectional 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 bidirectional 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 unidirectional channel request ..., separateStack NetworkAccessParameters OPTIONAL, -- for Open responder to establish the stack encryptionSync EncryptionSync OPTIONAL, genericInformation SEQUENCE OF GenericInformation OPTIONAL -- generic information associated -- with the message } 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, multiplexedStream MultiplexedStreamParameter, redundancyEncoding RedundancyEncoding, multiplePayloadStream MultiplePayloadStream, depFec DepFECData, -- Deprecated, do not use fec FECData } H235Media ::= SEQUENCE { encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity, mediaType CHOICE { nonStandard NonStandardParameter, videoData VideoCapability, audioData AudioCapability, data DataApplicationCapability, ..., redundancyEncoding RedundancyEncoding, multiplePayloadStream MultiplePayloadStream, depFec DepFECData, -- Deprecated, do not use fec FECData }, ... } MultiplexedStreamParameter ::= SEQUENCE { multiplexFormat MultiplexFormat, controlOnMuxStream BOOLEAN, ... } 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, ..., crc8bit NULL, crc16bit NULL, crc32bit NULL, crcNotUsed NULL }, rcpcCodeRate INTEGER (8..32), arqType CHOICE { noArq NULL, typeIArq H223AnnexCArqParameters, typeIIArq H223AnnexCArqParameters, ... }, alpduInterleaving BOOLEAN, alsduSplitting BOOLEAN, ..., rsCodeCorrection INTEGER (0..127) OPTIONAL } 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, ..., crc8bit NULL, crc16bit NULL, crc32bit NULL, crcNotUsed NULL }, rcpcCodeRate INTEGER (8..32), arqType CHOICE { noArq NULL, typeIArq H223AnnexCArqParameters, typeIIArq H223AnnexCArqParameters, ... }, alpduInterleaving BOOLEAN, ..., rsCodeCorrection INTEGER (0..127) OPTIONAL } 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, nominalAudioLevel INTEGER (0..63) OPTIONAL -- units of negative dBov -- (-26 dBov is 26) } 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 ..., -- The sequence below may be used in place of the above secondaryEncoding field rtpRedundancyEncoding SEQUENCE { primary RedundancyEncodingElement OPTIONAL, -- Present when redundancyEncoding -- is selected as the dataType -- in an OpenLogicalChannel or -- as part of a MultiplePayloadStream secondary SEQUENCE OF RedundancyEncodingElement OPTIONAL, ... } OPTIONAL } RedundancyEncodingElement ::= SEQUENCE { dataType DataType, payloadType INTEGER (0..127) OPTIONAL, ... } MultiplePayloadStream ::= SEQUENCE { elements SEQUENCE OF MultiplePayloadStreamElement, ... } MultiplePayloadStreamElement ::= SEQUENCE { dataType DataType, payloadType INTEGER (0..127) OPTIONAL, ... } DepFECData ::= CHOICE -- Deprecated, do not use { rfc2733 SEQUENCE { mode CHOICE { redundancyEncoding NULL, separateStream CHOICE { differentPort SEQUENCE { protectedSessionID INTEGER (1..255), protectedPayloadType INTEGER (0..127) OPTIONAL, ... }, samePort SEQUENCE { protectedPayloadType INTEGER (0..127), ... }, ... }, ... }, ... } } FECData ::= CHOICE { rfc2733 SEQUENCE { protectedPayloadType INTEGER (0..127), fecScheme OBJECT IDENTIFIER OPTIONAL, pktMode CHOICE { rfc2198coding NULL, rfc2733sameport SEQUENCE { ... }, rfc2733diffport SEQUENCE { protectedChannel LogicalChannelNumber, ... }, ... }, ... }, ... } 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.0 encoded value escrowentry SEQUENCE SIZE(1..256) OF EscrowData OPTIONAL, ..., genericParameter GenericParameter 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 unidirectional 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 genericInformation SEQUENCE OF GenericInformation OPTIONAL, -- generic information associated with the message dtlsSecurityCapability DTLSSecurityCapability OPTIONAL } 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, securityDenied NULL, qoSControlNotSupported NULL -- added for callee to indicate -- that requested QoS support cannot be -- supported. }, ..., genericInformation SEQUENCE OF GenericInformation OPTIONAL -- generic information associated with the message } OpenLogicalChannelConfirm ::= SEQUENCE { forwardLogicalChannelNumber LogicalChannelNumber, ..., genericInformation SEQUENCE OF GenericInformation OPTIONAL -- generic information associated with the message } 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, portNumber INTEGER (0..65535) OPTIONAL, multiplePayloadStream MultiplePayloadStream OPTIONAL } CloseLogicalChannel ::= SEQUENCE { forwardLogicalChannelNumber LogicalChannelNumber, source CHOICE { user NULL, lcse NULL }, ..., reason CHOICE { unknown NULL, reopen NULL, reservationFailure NULL, ..., networkErrorCode INTEGER (0..255) -- Indicates the error code -- received from the network } } CloseLogicalChannelAck ::= SEQUENCE { forwardLogicalChannelNumber LogicalChannelNumber, ... } RequestChannelClose ::= SEQUENCE { forwardLogicalChannelNumber LogicalChannelNumber, ..., qosCapability QOSCapability OPTIONAL, reason CHOICE { unknown NULL, normal NULL, reopen NULL, reservationFailure NULL, ..., networkErrorCode INTEGER (0..255) -- Indicates the error code -- received from the network } } 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 ModeElementType ::= CHOICE { nonStandard NonStandardParameter, videoMode VideoMode, audioMode AudioMode, dataMode DataMode, encryptionMode EncryptionMode, ..., h235Mode H235Mode, multiplexedStreamMode MultiplexedStreamParameter, redundancyEncodingDTMode RedundancyEncodingDTMode, multiplePayloadStreamMode MultiplePayloadStreamMode, depFecMode DepFECMode, -- deprecated, do not use fecMode FECMode } ModeElement ::= SEQUENCE { type ModeElementType, h223ModeParameters H223ModeParameters OPTIONAL, ..., v76ModeParameters V76ModeParameters OPTIONAL, h2250ModeParameters H2250ModeParameters OPTIONAL, genericModeParameters GenericCapability OPTIONAL, multiplexedStreamModeParameters MultiplexedStreamModeParameters OPTIONAL, logicalChannelNumber LogicalChannelNumber OPTIONAL } H235Mode ::= SEQUENCE { encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity, mediaMode CHOICE { nonStandard NonStandardParameter, videoMode VideoMode, audioMode AudioMode, dataMode DataMode, ... }, ... } MultiplexedStreamModeParameters ::= SEQUENCE { logicalChannelNumber LogicalChannelNumber, ... } RedundancyEncodingDTMode ::= SEQUENCE { redundancyEncodingMethod RedundancyEncodingMethod, primary RedundancyEncodingDTModeElement, secondary SEQUENCE OF RedundancyEncodingDTModeElement, ... } RedundancyEncodingDTModeElement ::= SEQUENCE { type CHOICE { nonStandard NonStandardParameter, videoMode VideoMode, audioMode AudioMode, dataMode DataMode, encryptionMode EncryptionMode, h235Mode H235Mode, ..., fecMode FECMode }, ... } MultiplePayloadStreamMode ::= SEQUENCE { elements SEQUENCE OF MultiplePayloadStreamElementMode, ... } MultiplePayloadStreamElementMode ::= SEQUENCE { type ModeElementType, ... } DepFECMode ::= CHOICE -- deprecated, do not use { rfc2733Mode SEQUENCE { mode CHOICE { redundancyEncoding NULL, separateStream CHOICE { differentPort SEQUENCE { protectedSessionID INTEGER (1..255), protectedPayloadType INTEGER (0..127) OPTIONAL, ... }, samePort SEQUENCE { protectedType ModeElementType, ... }, ... }, ... }, ... }, ... } FECMode ::= SEQUENCE { protectedElement ModeElementType, fecScheme OBJECT IDENTIFIER OPTIONAL, -- identifies encoding scheme rfc2733Format CHOICE { rfc2733rfc2198 MaxRedundancy, -- RFC 2198 redundancy rfc2733sameport MaxRedundancy, -- separate packet, same port rfc2733diffport MaxRedundancy -- separate packet and port } OPTIONAL, ... } 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, ..., genericVideoMode GenericCapability } 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 400 bit/s vbvBufferSize INTEGER (0..262143) OPTIONAL, -- units 16 384 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/s ... } H263VideoMode ::= SEQUENCE { resolution CHOICE { sqcif NULL, qcif NULL, cif NULL, cif4 NULL, cif16 NULL, ..., custom 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 400 bit/s vbvBufferSize INTEGER (0..262143) OPTIONAL, -- units 16 384 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/s ... } -- ============================================================================= -- 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, genericAudioMode GenericCapability, g729Extensions G729Extensions, vbd VBDMode } 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 ... }, ... } VBDMode ::= SEQUENCE { type AudioMode, -- shall not be "vbd" ... } -- ============================================================================= -- 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, t38fax SEQUENCE { t38FaxProtocol DataProtocolCapability, t38FaxProfile T38FaxProfile }, genericDataMode GenericCapability, dataChannel DataChannel }, 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 -- all participants in the conference sessionDescription BMPString (SIZE(1..128)), -- Basic ISO/IEC 10646 (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, -- same 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, -- similar to H.230 MVA deniedBroadcastMyLogicalChannel NULL, -- similar to H.230 MVR ... }, 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, ... }, ... } -- ============================================================================= -- Multilink definitions -- ============================================================================= MultilinkRequest ::= CHOICE { nonStandard NonStandardMessage, callInformation SEQUENCE { maxNumberOfAdditionalConnections INTEGER (1..65535), ... }, addConnection SEQUENCE { sequenceNumber SequenceNumber, -- Unique ID of request dialingInformation DialingInformation, ... }, removeConnection SEQUENCE { connectionIdentifier ConnectionIdentifier, ... }, maximumHeaderInterval SEQUENCE { requestType CHOICE { currentIntervalInformation NULL, requestedInterval INTEGER (0..65535), -- Max Header -- Interval, -- milliseconds ... }, ... }, ... } MultilinkResponse ::= CHOICE { nonStandard NonStandardMessage, callInformation SEQUENCE { dialingInformation DialingInformation, callAssociationNumber INTEGER (0..4294967295), ... }, addConnection SEQUENCE { sequenceNumber SequenceNumber, -- Equal to value in request responseCode CHOICE { accepted NULL, rejected CHOICE { connectionsNotAvailable NULL, -- due to any technical reason userRejected NULL, ... }, ... }, ... }, removeConnection SEQUENCE { connectionIdentifier ConnectionIdentifier, ... }, maximumHeaderInterval SEQUENCE { currentInterval INTEGER (0..65535), -- Max Header -- Interval, -- milliseconds ... }, ... } MultilinkIndication ::= CHOICE { nonStandard NonStandardMessage, crcDesired SEQUENCE { ... }, excessiveError SEQUENCE { connectionIdentifier ConnectionIdentifier, ... }, ... } DialingInformation ::= CHOICE { nonStandard NonStandardMessage, differential SET SIZE (1..65535) OF DialingInformationNumber, -- list of numbers for all additional -- channels; only least significant digits -- different from initial channel's number infoNotAvailable INTEGER (1..65535), -- maximum No. of -- additional channels ... } DialingInformationNumber ::= SEQUENCE { networkAddress NumericString (SIZE (0..40)), subAddress IA5String (SIZE (1..40)) OPTIONAL, networkType SET SIZE (1..255) OF DialingInformationNetworkType, ... } DialingInformationNetworkType ::= CHOICE { nonStandard NonStandardMessage, n-isdn NULL, gstn NULL, ..., mobile NULL } ConnectionIdentifier ::= SEQUENCE { channelTag INTEGER (0..4294967295), -- from H.226 sequenceNumber INTEGER (0..4294967295), -- from H.226 ... } -- ============================================================================= -- Logical channel bit-rate change definitions -- ============================================================================= MaximumBitRate ::= INTEGER (0.. 4294967295) -- units of 100 bit/s LogicalChannelRateRequest ::= SEQUENCE { sequenceNumber SequenceNumber, logicalChannelNumber LogicalChannelNumber, maximumBitRate MaximumBitRate, ... } LogicalChannelRateAcknowledge ::= SEQUENCE { sequenceNumber SequenceNumber, logicalChannelNumber LogicalChannelNumber, maximumBitRate MaximumBitRate, ... } LogicalChannelRateReject ::= SEQUENCE { sequenceNumber SequenceNumber, logicalChannelNumber LogicalChannelNumber, rejectReason LogicalChannelRateRejectReason, currentMaximumBitRate MaximumBitRate OPTIONAL, ... } LogicalChannelRateRejectReason ::= CHOICE { undefinedReason NULL, insufficientResources NULL, ... } LogicalChannelRateRelease ::= SEQUENCE { ... } -- ============================================================================= -- 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, ... }, genericInformation SEQUENCE OF GenericInformation -- generic information associated -- with the message } -- ============================================================================= -- 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 -- ============================================================================= EncryptionUpdateDirection ::= CHOICE { masterToSlave NULL, slaveToMaster NULL, ... } 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, videoBadMBs SEQUENCE { firstMB INTEGER (1..9216), numberOfMBs INTEGER (1..9216), temporalReference INTEGER (0..1023), ... }, lostPicture SEQUENCE OF PictureReference, lostPartialPicture SEQUENCE { pictureReference PictureReference, firstMB INTEGER (1..9216), numberOfMBs INTEGER (1..9216), ... }, recoveryReferencePicture SEQUENCE OF PictureReference, encryptionUpdateCommand SEQUENCE -- for ack'ed key update in H.235V3 { encryptionSync EncryptionSync, multiplePayloadStream MultiplePayloadStream OPTIONAL, ... }, encryptionUpdateAck SEQUENCE { synchFlag INTEGER (0..255), ... } }, ..., direction EncryptionUpdateDirection OPTIONAL } KeyProtectionMethod ::= SEQUENCE -- specify how the new { -- key is to be protected secureChannel BOOLEAN, sharedSecret BOOLEAN, certProtectedKey BOOLEAN, ... } EncryptionUpdateRequest ::= SEQUENCE { keyProtectionMethod KeyProtectionMethod OPTIONAL, ..., synchFlag INTEGER (0..255) OPTIONAL } PictureReference ::= CHOICE { pictureNumber INTEGER (0..1023), longTermPictureIndex INTEGER (0..255), ... } -- ============================================================================= -- Command Message: H.223 Multiplex Reconfiguration -- ============================================================================= H223MultiplexReconfiguration ::= CHOICE { h223ModeChange CHOICE { toLevel0 NULL, toLevel1 NULL, toLevel2 NULL, toLevel2withOptionalHeader NULL, ... }, h223AnnexADoubleFlag CHOICE { start NULL, stop NULL, ... }, ... } -- ============================================================================= -- Command Message: New ATM virtual channel command -- ============================================================================= NewATMVCCommand ::= 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, ... }, ... }, ... } -- ============================================================================= -- Command Message: Mobile Multilink Reconfiguration command -- ============================================================================= MobileMultilinkReconfigurationCommand ::= SEQUENCE { sampleSize INTEGER (1..255), samplesPerFrame INTEGER (1..255), status CHOICE { synchronized NULL, reconfiguration 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 terminalYouAreSeeingInSubPictureNumber TerminalYouAreSeeingInSubPictureNumber, videoIndicateCompose VideoIndicateCompose, masterMCU NULL, -- same as H.230 MIM cancelMasterMCU NULL -- same as H.230 cancel MIM } TerminalYouAreSeeingInSubPictureNumber ::= SEQUENCE { terminalNumber TerminalNumber, subPictureNumber INTEGER (0..255), ..., mcuNumber McuNumber } VideoIndicateCompose ::= SEQUENCE { compositionNumber INTEGER (0..255), ... } -- ============================================================================= -- 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 -- ============================================================================= IV8 ::= OCTET STRING (SIZE(8)) -- initial value for 64-bit block ciphers IV16 ::= OCTET STRING (SIZE(16)) -- initial value for 128-bit block ciphers Params ::= SEQUENCE { iv8 IV8 OPTIONAL, -- 8-octet initialization vector iv16 IV16 OPTIONAL, -- 16-octet initialization vector iv OCTET STRING OPTIONAL, -- arbitrary length initialization vector ... } UserInputIndication ::= CHOICE { nonStandard NonStandardParameter, alphanumeric GeneralString, ..., userInputSupportIndication CHOICE { nonStandard NonStandardParameter, basicString NULL, -- indicates unsecured basic string iA5String NULL, -- indicates unsecured IA5 string generalString NULL, -- indicates unsecured general string ..., encryptedBasicString NULL, -- indicates encrypted Basic string encryptedIA5String NULL, -- indicates encrypted IA5 string encryptedGeneralString NULL -- indicates encrypted general string }, signal SEQUENCE { signalType IA5String (SIZE (1) ^ FROM ("0123456789#*ABCD!")), -- holds dummy "!" if encryptedSignalType is being used duration INTEGER (1..65535) OPTIONAL, -- milliseconds rtp SEQUENCE { timestamp INTEGER (0..4294967295) OPTIONAL, expirationTime INTEGER (0..4294967295) OPTIONAL, logicalChannelNumber LogicalChannelNumber, ... } OPTIONAL, ..., rtpPayloadIndication NULL OPTIONAL, paramS Params OPTIONAL, -- any "runtime" parameters encryptedSignalType OCTET STRING (SIZE(1)) OPTIONAL, -- encrypted signalType algorithmOID OBJECT IDENTIFIER OPTIONAL }, signalUpdate SEQUENCE { duration INTEGER (1..65535), -- milliseconds rtp SEQUENCE { logicalChannelNumber LogicalChannelNumber, ... } OPTIONAL, ... }, extendedAlphanumeric SEQUENCE { alphanumeric GeneralString, -- holds empty string if -- encryptedAlphanumeric is -- being used rtpPayloadIndication NULL OPTIONAL, ..., encryptedAlphanumeric SEQUENCE { algorithmOID OBJECT IDENTIFIER, paramS Params OPTIONAL, -- any "runtime" parameters encrypted OCTET STRING, -- general string encrypted ... } OPTIONAL }, encryptedAlphanumeric SEQUENCE { algorithmOID OBJECT IDENTIFIER, paramS Params OPTIONAL, -- any "runtime" parameters encrypted OCTET STRING, -- basic string encrypted ... }, genericInformation SEQUENCE OF GenericInformation -- generic information associated -- with the message } -- ============================================================================= -- Indication Message: Flow Control -- ============================================================================= FlowControlIndication ::= SEQUENCE { scope CHOICE { logicalChannelNumber LogicalChannelNumber, resourceID INTEGER (0..65535), wholeMultiplex NULL }, restriction CHOICE { maximumBitRate INTEGER (0..16777215), -- units 100 bit/s noRestriction NULL }, ... } -- ============================================================================= -- Indication Message: Mobile Multilink Reconfiguration indication -- ============================================================================= MobileMultilinkReconfigurationIndication ::= SEQUENCE { sampleSize INTEGER (1..255), samplesPerFrame INTEGER (1..255), ... } END