From edc4b8fff5b11badc57c5d17f951320915e42599 Mon Sep 17 00:00:00 2001 From: Anders Broman Date: Sun, 2 Jan 2005 21:58:45 +0000 Subject: asn2eth generated h245 dissector svn path=/trunk/; revision=12928 --- asn1/h245/h245.asn | 3093 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3093 insertions(+) create mode 100644 asn1/h245/h245.asn (limited to 'asn1/h245/h245.asn') diff --git a/asn1/h245/h245.asn b/asn1/h245/h245.asn new file mode 100644 index 0000000000..9c05f2dcca --- /dev/null +++ b/asn1/h245/h245.asn @@ -0,0 +1,3093 @@ +-- Module MULTIMEDIA-SYSTEM-CONTROL (H.245:07/2003) +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 request Message +ResponseMessage ::= CHOICE { + nonStandard NonStandardMessage, + masterSlaveDeterminationAck MasterSlaveDeterminationAck, + masterSlaveDeterminationReject MasterSlaveDeterminationReject, + terminalCapabilitySetAck TerminalCapabilitySetAck, + terminalCapabilitySetReject TerminalCapabilitySetReject, + openLogicalChannelAck OpenLogicalChannelAck, + openLogicalChannelReject OpenLogicalChannelReject, + closeLogicalChannelAck CloseLogicalChannelAck, + requestChannelCloseAck RequestChannelCloseAck, + requestChannelCloseReject RequestChannelCloseReject, + multiplexEntrySendAck MultiplexEntrySendAck, + multiplexEntrySendReject MultiplexEntrySendReject, + requestMultiplexEntryAck RequestMultiplexEntryAck, + requestMultiplexEntryReject RequestMultiplexEntryReject, + requestModeAck RequestModeAck, + requestModeReject RequestModeReject, + roundTripDelayResponse RoundTripDelayResponse, + maintenanceLoopAck MaintenanceLoopAck, + maintenanceLoopReject MaintenanceLoopReject, + ..., + communicationModeResponse CommunicationModeResponse, + conferenceResponse ConferenceResponse, + 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, + subMessageIdentifer INTEGER(0..127) OPTIONAL, + messageContent SEQUENCE OF GenericParameter OPTIONAL, + ... +} + +-- =================================================================================== +-- Non standard Message definitions +-- =================================================================================== +NonStandardMessage ::= SEQUENCE {nonStandardData NonStandardParameter, + ... +} + +NonStandardParameter ::= SEQUENCE { + nonStandardIdentifier NonStandardIdentifier, + data OCTET STRING +} + +NonStandardIdentifier ::= CHOICE { + object OBJECT IDENTIFIER, + h221NonStandard + SEQUENCE {t35CountryCode INTEGER(0..255), -- country, per T.35 Annex A-- + t35Extension INTEGER(0..255), + -- assigned nationally unless t35CountryCode is binary + -- 1111 1111, in which case it shall contain the country code + -- according to T.35 Annex B + 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) 10} + multiplexCapability MultiplexCapability OPTIONAL, + capabilityTable SET SIZE (1..256) OF CapabilityTableEntry OPTIONAL, + capabilityDescriptors SET SIZE (1..256) OF CapabilityDescriptor OPTIONAL, + ... +} + +CapabilityTableEntry ::= SEQUENCE { + capabilityTableEntryNumber CapabilityTableEntryNumber, + capability Capability OPTIONAL +} + +CapabilityDescriptor ::= SEQUENCE { + capabilityDescriptorNumber CapabilityDescriptorNumber, + simultaneousCapabilities + SET SIZE (1..256) OF AlternativeCapabilitySet OPTIONAL +} + +AlternativeCapabilitySet ::= + SEQUENCE SIZE (1..256) OF CapabilityTableEntryNumber + +CapabilityTableEntryNumber ::= INTEGER(1..65535) + +CapabilityDescriptorNumber ::= INTEGER(0..255) + +TerminalCapabilitySetAck ::= SEQUENCE {sequenceNumber SequenceNumber, + ... +} + +TerminalCapabilitySetReject ::= SEQUENCE { + sequenceNumber SequenceNumber, + cause + CHOICE {unspecified NULL, + undefinedTableEntryUsed NULL, + descriptorCapacityExceeded NULL, + tableEntryCapacityExceeded + CHOICE {highestEntryNumberProcessed CapabilityTableEntryNumber, + noneProcessed NULL}, + ...}, + ... +} + +TerminalCapabilitySetRelease ::= SEQUENCE {... +} + +-- =================================================================================== +-- Capability exchange definitions: top level capability description +-- =================================================================================== +Capability ::= CHOICE { + nonStandard NonStandardParameter, + receiveVideoCapability VideoCapability, + transmitVideoCapability VideoCapability, + receiveAndTransmitVideoCapability VideoCapability, + receiveAudioCapability AudioCapability, + transmitAudioCapability AudioCapability, + receiveAndTransmitAudioCapability AudioCapability, + receiveDataApplicationCapability DataApplicationCapability, + transmitDataApplicationCapability DataApplicationCapability, + receiveAndTransmitDataApplicationCapability DataApplicationCapability, + h233EncryptionTransmitCapability BOOLEAN, + h233EncryptionReceiveCapability + SEQUENCE {h233IVResponseTime INTEGER(0..255), -- units milliseconds -- + ...}, + ..., + conferenceCapability ConferenceCapability, + h235SecurityCapability H235SecurityCapability, + maxPendingReplacementFor INTEGER(0..255), + receiveUserInputCapability UserInputCapability, + transmitUserInputCapability UserInputCapability, + receiveAndTransmitUserInputCapability UserInputCapability, + genericControlCapability GenericCapability, + receiveMultiplexedStreamCapability MultiplexedStreamCapability, + transmitMultiplexedStreamCapability MultiplexedStreamCapability, + receiveAndTransmitMultiplexedStreamCapability MultiplexedStreamCapability, + receiveRTPAudioTelephonyEventCapability AudioTelephonyEventCapability, + receiveRTPAudioToneCapability AudioToneCapability, + fecCapability FECCapability, + multiplePayloadStreamCapability + MultiplePayloadStreamCapability +} + +H235SecurityCapability ::= SEQUENCE { + encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity, + mediaCapability CapabilityTableEntryNumber, + -- Note: the mediaCapability shall refer to Capability Table Entries that do contain a transmit, + -- receive, or receiveAndTransmit AudioCapability, VideoCapability, + -- DataApplicationCapability, or similar capability indicated by a NonStandardParameter only + ... +} + +-- =================================================================================== +-- Capability exchange definitions: Multiplex capabilities +-- =================================================================================== +MultiplexCapability ::= CHOICE { + nonStandard NonStandardParameter, + h222Capability H222Capability, + h223Capability H223Capability, + v76Capability V76Capability, + ..., + h2250Capability H2250Capability, + 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, + ..., + rtpPayloadType2 SEQUENCE SIZE (1..256) OF RTPPayloadType OPTIONAL +} + +RSVPParameters ::= SEQUENCE { + qosMode QOSMode OPTIONAL, + tokenRate INTEGER(1..4294967295) OPTIONAL, + -- rate in bytes/sec + bucketSize INTEGER(1..4294967295) OPTIONAL, -- size in bytes + peakRate INTEGER(1..4294967295) OPTIONAL, + -- peak bandwidth bytes/sec + minPoliced INTEGER(1..4294967295) OPTIONAL, -- + maxPktSize INTEGER(1..4294967295) OPTIONAL, -- size in bytes + ... +} + +QOSMode ::= CHOICE {guaranteedQOS NULL, + controlledLoad NULL, + ... +} + +-- Ed. Replace with ITU-T ATM Transfer Capability Types +ATMParameters ::= SEQUENCE { + maxNTUSize INTEGER(0..65535), --units in octets + atmUBR BOOLEAN, --unspecified bit rate + atmrtVBR BOOLEAN, --real time variable bit rate + atmnrtVBR BOOLEAN, --non real time variable bit rate + atmABR BOOLEAN, --available bit rate + atmCBR BOOLEAN, --constant bit rate + ... +} + +QOSCapability ::= SEQUENCE { + nonStandardData NonStandardParameter OPTIONAL, + rsvpParameters RSVPParameters OPTIONAL, + atmParameters ATMParameters OPTIONAL, + ... +} + +MediaTransportType ::= CHOICE { + ip-UDP NULL, + ip-TCP NULL, + atm-AAL5-UNIDIR NULL, -- virtual circuits used as unidirectional + atm-AAL5-BIDIR NULL, -- virtual circuits used as bidirectional + ..., + atm-AAL5-compressed SEQUENCE {variable-delta BOOLEAN, + ...} +} + +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, + secondaryEncoding2 + SEQUENCE SIZE (1..256) OF CapabilityTableEntryNumber OPTIONAL, + ... +} + +RedundancyEncodingMethod ::= CHOICE { + nonStandard NonStandardParameter, + rtpAudioRedundancyEncoding NULL, + ..., + rtpH263VideoRedundancyEncoding RTPH263VideoRedundancyEncoding +} + +RTPH263VideoRedundancyEncoding ::= SEQUENCE { + numberOfThreads INTEGER(1..16), + framesBetweenSyncPoints INTEGER(1..256), + frameToThreadMapping + CHOICE {roundrobin NULL, + custom + SEQUENCE SIZE (1..256) OF RTPH263VideoRedundancyFrameMapping, + -- empty SEQUENCE for capability negotiation + -- meaningful contents only OpenLogicalChannel + ...}, + containedThreads SEQUENCE SIZE (1..256) OF INTEGER(0..15) OPTIONAL, + -- only used for opening of logical channels + ... +} + +RTPH263VideoRedundancyFrameMapping ::= SEQUENCE { + threadNumber INTEGER(0..15), + frameSequence SEQUENCE SIZE (1..256) OF INTEGER(0..255), + ... +} + +MultipointCapability ::= SEQUENCE { + multicastCapability BOOLEAN, + multiUniCastConference BOOLEAN, + mediaDistributionCapability SEQUENCE OF MediaDistributionCapability, + ... +} + +MediaDistributionCapability ::= SEQUENCE { + centralizedControl BOOLEAN, + distributedControl BOOLEAN, -- for further study in H.323 + centralizedAudio BOOLEAN, + distributedAudio BOOLEAN, + centralizedVideo BOOLEAN, + distributedVideo BOOLEAN, + centralizedData SEQUENCE OF DataApplicationCapability OPTIONAL, + distributedData SEQUENCE OF DataApplicationCapability OPTIONAL, + -- for further study in H.323 + ... +} + +-- =================================================================================== +-- Capability exchange definitions: Video capabilities +-- =================================================================================== +VideoCapability ::= CHOICE { + nonStandard NonStandardParameter, + h261VideoCapability H261VideoCapability, + h262VideoCapability H262VideoCapability, + h263VideoCapability H263VideoCapability, + is11172VideoCapability IS11172VideoCapability, + ..., + 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 of 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 16384 bits + samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line + linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame + framesPerSecond INTEGER(0..15) OPTIONAL, -- frame_rate_code + luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec + ..., + 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 16384 bits + samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line + linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame + pictureRate INTEGER(0..15) OPTIONAL, + luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec + ..., + 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 +} + +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 G723AnnexCAudioMode OPTIONAL, + ... +} +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-- + ...} + +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 Application, + maxBitRate INTEGER(0..4294967295), -- units 100 bit/s + ... +} + +Application ::= CHOICE {nonStandard NonStandardParameter, + t120 DataProtocolCapability, + dsm-cc DataProtocolCapability, + userData DataProtocolCapability, + t84 + SEQUENCE {t84Protocol DataProtocolCapability, + t84Profile T84Profile}, + t434 DataProtocolCapability, + h224 DataProtocolCapability, + nlpid Nlpid, + dsvdControl NULL, + h222DataPartitioning DataProtocolCapability, + ..., + t30fax DataProtocolCapability, + t140 DataProtocolCapability, + t38fax + SEQUENCE {t38FaxProtocol DataProtocolCapability, + t38FaxProfile T38FaxProfile}, + genericDataCapability GenericCapability} + +DataProtocolCapability ::= CHOICE { + nonStandard NonStandardParameter, + v14buffered NULL, + v42lapm NULL, -- may negotiate to V.42bis + hdlcFrameTunnelling NULL, + h310SeparateVCStack NULL, + h310SingleVCStack NULL, + transparent NULL, + ..., + segmentationAndReassembly NULL, + hdlcFrameTunnelingwSAR NULL, + v120 NULL, -- as in H.230 + separateLANStack NULL, + v76wCompression + CHOICE {transmitCompression CompressionType, + receiveCompression CompressionType, + transmitAndReceiveCompression CompressionType, + ...}, + tcp NULL, + udp NULL +} + +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 (1998) + 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, + ... +} +Nlpid ::= SEQUENCE {nlpidProtocol DataProtocolCapability, + nlpidData OCTET STRING} +-- =================================================================================== +-- Encryption Capability Definitions: +-- =================================================================================== +EncryptionAuthenticationAndIntegrity ::= SEQUENCE { + encryptionCapability EncryptionCapability OPTIONAL, + authenticationCapability AuthenticationCapability OPTIONAL, + integrityCapability IntegrityCapability OPTIONAL, + ... +} + +EncryptionCapability ::= SEQUENCE SIZE (1..256) OF MediaEncryptionAlgorithm + +MediaEncryptionAlgorithm ::= CHOICE { + nonStandard NonStandardParameter, + algorithm OBJECT IDENTIFIER, -- many defined in ISO/IEC 9979 + ... +} + +AuthenticationCapability ::= SEQUENCE { + nonStandard NonStandardParameter OPTIONAL, + ..., + 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 +} + +-- =================================================================================== +-- 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, -- N.B. 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 3.9/RFC2833 + ... +} + +AudioToneCapability ::= SEQUENCE {dynamicRTPPayloadType INTEGER(96..127), + ... +} + +-- The following defintions are as above but without a Payload Type field +NoPTAudioTelephonyEventCapability ::= SEQUENCE { + audioTelephoneEvent GeneralString, -- As per in 3.9/RFC2833 + ... +} + +NoPTAudioToneCapability ::= SEQUENCE {... +} + +-- =================================================================================== +-- Capability Exchange Definitions: MultiplePayloadStreamCapability +-- =================================================================================== +MultiplePayloadStreamCapability ::= SEQUENCE { + capabilities SET SIZE (1..256) OF AlternativeCapabilitySet, + ... +} + +-- =================================================================================== +-- Capability Exchange Definitions: FECCapability +-- =================================================================================== +FECCapability ::= CHOICE { + rfc2733 + SEQUENCE {redundancyEncoding BOOLEAN, + separateStream + SEQUENCE {separatePort BOOLEAN, + samePort BOOLEAN, + ...}, + ...}, + ... +} + +-- =================================================================================== +-- Logical channel signalling definitions +-- =================================================================================== +-- "Forward" is used to refer to transmission in the direction from the terminal making the +-- original request for a logical channel to the other terminal, and "reverse" is used to refer +-- to the opposite direction of transmission, in the case of a bi-directional channel request. +OpenLogicalChannel ::= SEQUENCE { + forwardLogicalChannelNumber LogicalChannelNumber, + forwardLogicalChannelParameters + SEQUENCE {portNumber INTEGER(0..65535) OPTIONAL, + dataType DataType, + multiplexParameters + CHOICE {h222LogicalChannelParameters + H222LogicalChannelParameters, + h223LogicalChannelParameters + H223LogicalChannelParameters, + v76LogicalChannelParameters + V76LogicalChannelParameters, + ..., + h2250LogicalChannelParameters + H2250LogicalChannelParameters, + none NULL}, -- for use with Separate Stack when-- + -- multiplexParameters are not required + -- or appropriate + ..., + forwardLogicalChannelDependency LogicalChannelNumber OPTIONAL, + -- also used to refer to the primary logical channel when using video redundancy coding + replacementFor LogicalChannelNumber OPTIONAL + }, + -- Used to specify the reverse channel for bi-directional open request + reverseLogicalChannelParameters + SEQUENCE {dataType DataType, + multiplexParameters + CHOICE {-- H.222 parameters are never present in reverse direction + h223LogicalChannelParameters + H223LogicalChannelParameters, + v76LogicalChannelParameters + V76LogicalChannelParameters, + ..., + h2250LogicalChannelParameters + H2250LogicalChannelParameters} OPTIONAL, -- Not present for H.222-- + ..., + reverseLogicalChannelDependency LogicalChannelNumber OPTIONAL, + -- also used to refer to the primary logical channel when using video redundancy coding + replacementFor LogicalChannelNumber OPTIONAL + } OPTIONAL, -- Not present for uni-directional channel request + ..., + separateStack NetworkAccessParameters OPTIONAL, -- for Open responder to establish the stack + encryptionSync EncryptionSync OPTIONAL +} -- used only by Master + +LogicalChannelNumber ::= INTEGER(1..65535) + +NetworkAccessParameters ::= SEQUENCE { + distribution + CHOICE {unicast NULL, + multicast NULL, -- For Further Study in T.120-- + ...} OPTIONAL, + networkAddress + CHOICE {q2931Address Q2931Address, + e164Address IA5String(SIZE (1..128))(FROM ("0123456789#*,")), + localAreaAddress TransportAddress, + ...}, + associateConference BOOLEAN, + externalReference OCTET STRING(SIZE (1..255)) OPTIONAL, + ..., + t120SetupProcedure + CHOICE {originateCall NULL, + waitForCall NULL, + issueQuery NULL, + ...} OPTIONAL +} + +Q2931Address ::= SEQUENCE { + address + CHOICE {internationalNumber NumericString(SIZE (1..16)), + nsapAddress OCTET STRING(SIZE (1..20)), + ...}, + subaddress OCTET STRING(SIZE (1..20)) OPTIONAL, + ... +} + +V75Parameters ::= SEQUENCE {audioHeaderPresent BOOLEAN, + ... +} + +DataType ::= CHOICE { + nonStandard NonStandardParameter, + nullData NULL, + videoData VideoCapability, + audioData AudioCapability, + data DataApplicationCapability, + encryptionData EncryptionMode, + ..., + h235Control NonStandardParameter, + h235Media H235Media, + multiplexedStream MultiplexedStreamParameter, + redundancyEncoding RedundancyEncoding, + multiplePayloadStream MultiplePayloadStream, + fec FECData +} + +H235Media ::= SEQUENCE { + encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity, + mediaType + CHOICE {nonStandard NonStandardParameter, + videoData VideoCapability, + audioData AudioCapability, + data DataApplicationCapability, + ..., + redundancyEncoding RedundancyEncoding, + multiplePayloadStream MultiplePayloadStream, + 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 Al3, + ..., + al1M H223AL1MParameters, + al2M H223AL2MParameters, + al3M H223AL3MParameters}, + segmentableFlag BOOLEAN, + ... +} +Al3 ::= SEQUENCE {controlFieldOctets INTEGER(0..2), + sendBufferSize INTEGER(0..16777215) -- units octets + } +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 ArqType, + alpduInterleaving BOOLEAN, + alsduSplitting BOOLEAN, + ..., + rsCodeCorrection INTEGER(0..127) OPTIONAL +} +ArqType ::= CHOICE {noArq NULL, + typeIArq H223AnnexCArqParameters, + typeIIArq H223AnnexCArqParameters, + ...} +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 ArqType, + 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 +} + +RTPPayloadType ::= SEQUENCE { + payloadDescriptor + CHOICE {nonStandardIdentifier NonStandardParameter, + rfc-number INTEGER(1..32768, ...), + oid OBJECT IDENTIFIER, + ...}, + payloadType INTEGER(0..127) OPTIONAL, + ... +} + +RedundancyEncoding ::= SEQUENCE { + redundancyEncodingMethod RedundancyEncodingMethod, + secondaryEncoding3 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 MultiplePayloadSteam + 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, + ... +} + +FECData ::= CHOICE { + rfc2733 + SEQUENCE {mode CHOICE {redundancyEncoding NULL, + separateStream SeparateStream, + ...}, + ...} +} +Moderfc2733 ::= CHOICE {redundancyEncoding NULL, + separateStream SeparateStream, + ...} + +SeparateStream ::= CHOICE {differentPort + SEQUENCE {protectedSessionID + INTEGER(1..255), + protectedPayloadType + INTEGER(0..127) OPTIONAL, + ...}, + samePort + SEQUENCE {protectedPayloadType + INTEGER(0..127), + ...}, + ...} + +TransportAddress ::= CHOICE { + unicastAddress UnicastAddress, + multicastAddress MulticastAddress, + ... +} + +UnicastAddress ::= CHOICE { + iPAddress + SEQUENCE {network OCTET STRING(SIZE (4)), + tsapIdentifier INTEGER(0..65535), + ...}, + iPXAddress + SEQUENCE {node OCTET STRING(SIZE (6)), + netnum OCTET STRING(SIZE (4)), + tsapIdentifier OCTET STRING(SIZE (2)), + ...}, + iP6Address + SEQUENCE {network OCTET STRING(SIZE (16)), + tsapIdentifier INTEGER(0..65535), + ...}, + netBios OCTET STRING(SIZE (16)), + iPSourceRouteAddress + SEQUENCE {routing CHOICE {strict NULL, + loose NULL}, + network OCTET STRING(SIZE (4)), + tsapIdentifier INTEGER(0..65535), + route SEQUENCE OF OCTET STRING(SIZE (4)), + ...}, + ..., + nsap OCTET STRING(SIZE (1..20)), + nonStandardAddress NonStandardParameter +} + +MulticastAddress ::= CHOICE { + iPAddress + SEQUENCE {network OCTET STRING(SIZE (4)), + tsapIdentifier INTEGER(0..65535), + ...}, + iP6Address + SEQUENCE {network OCTET STRING(SIZE (16)), + tsapIdentifier INTEGER(0..65535), + ...}, + ..., + nsap OCTET STRING(SIZE (1..20)), + nonStandardAddress NonStandardParameter +} + +EncryptionSync ::= + SEQUENCE + -- used to supply new key and synchronization point + { + nonStandard NonStandardParameter OPTIONAL, + synchFlag INTEGER(0..255), -- may need to be larger for H.324, etc + + -- shall be the Dynamic Payload# for H.323 + h235Key OCTET STRING(SIZE (1..65535)), -- H.235 encoded value + escrowentry SEQUENCE SIZE (1..256) OF EscrowData OPTIONAL, + ... +} + +EscrowData ::= SEQUENCE { + escrowID OBJECT IDENTIFIER, + escrowValue BIT STRING(SIZE (1..65535)), + ... +} + +OpenLogicalChannelAck ::= SEQUENCE { + forwardLogicalChannelNumber LogicalChannelNumber, + reverseLogicalChannelParameters + SEQUENCE {reverseLogicalChannelNumber LogicalChannelNumber, + portNumber INTEGER(0..65535) OPTIONAL, + multiplexParameters + CHOICE {h222LogicalChannelParameters + H222LogicalChannelParameters, + -- H.223 parameters are never present in reverse direction + ..., + h2250LogicalChannelParameters + H2250LogicalChannelParameters} OPTIONAL, -- Not present for H.223-- + ..., + replacementFor LogicalChannelNumber OPTIONAL + } OPTIONAL, -- Not present for uni-directional channel request + ..., + separateStack NetworkAccessParameters OPTIONAL, + -- for Open requester to establish the stack + forwardMultiplexAckParameters + CHOICE {-- H.222 parameters are never present in the Ack + -- H.223 parameters are never present in the Ack + -- V.76 parameters are never present in the Ack + h2250LogicalChannelAckParameters H2250LogicalChannelAckParameters, + ...} OPTIONAL, + encryptionSync EncryptionSync OPTIONAL -- used only by Master +} + +OpenLogicalChannelReject ::= SEQUENCE { + forwardLogicalChannelNumber LogicalChannelNumber, + cause + CHOICE {unspecified NULL, + unsuitableReverseParameters NULL, + dataTypeNotSupported NULL, + dataTypeNotAvailable NULL, + unknownDataType NULL, + dataTypeALCombinationNotSupported NULL, + ..., + multicastChannelNotAllowed NULL, + insufficientBandwidth NULL, + separateStackEstablishmentFailed NULL, + invalidSessionID NULL, + masterSlaveConflict NULL, + waitForCommunicationMode NULL, + invalidDependentChannel NULL, + replacementForRejected NULL}, + ... +} + +OpenLogicalChannelConfirm ::= SEQUENCE { + forwardLogicalChannelNumber LogicalChannelNumber, + ... +} + +H2250LogicalChannelAckParameters ::= SEQUENCE { + nonStandard SEQUENCE OF NonStandardParameter OPTIONAL, + sessionID INTEGER(1..255) OPTIONAL, + mediaChannel TransportAddress OPTIONAL, + mediaControlChannel TransportAddress OPTIONAL, -- forward RTCP channel + dynamicRTPPayloadType INTEGER(96..127) OPTIONAL, -- used only by the master or MC + ..., + flowControlToZero BOOLEAN, + portNumber INTEGER(0..65535) OPTIONAL +} + +CloseLogicalChannel ::= SEQUENCE { + forwardLogicalChannelNumber LogicalChannelNumber, + source CHOICE {user NULL, + lcse NULL}, + ..., + reason + CHOICE {unknown NULL, + reopen NULL, + reservationFailure NULL, + ...} +} + +CloseLogicalChannelAck ::= SEQUENCE { + forwardLogicalChannelNumber LogicalChannelNumber, + ... +} + +RequestChannelClose ::= SEQUENCE { + forwardLogicalChannelNumber LogicalChannelNumber, + ..., + qosCapability QOSCapability OPTIONAL, + reason + CHOICE {unknown NULL, + normal NULL, + reopen NULL, + reservationFailure NULL, + ...} +} + +RequestChannelCloseAck ::= SEQUENCE { + forwardLogicalChannelNumber LogicalChannelNumber, + ... +} + +RequestChannelCloseReject ::= SEQUENCE { + forwardLogicalChannelNumber LogicalChannelNumber, + cause CHOICE {unspecified NULL, + ...}, + ... +} + +RequestChannelCloseRelease ::= SEQUENCE { + forwardLogicalChannelNumber LogicalChannelNumber, + ... +} + +-- =================================================================================== +-- H.223 multiplex table definitions +-- =================================================================================== +MultiplexEntrySend ::= SEQUENCE { + sequenceNumber SequenceNumber, + multiplexEntryDescriptors SET SIZE (1..15) OF MultiplexEntryDescriptor, + ... +} + +MultiplexEntryDescriptor ::= SEQUENCE { + multiplexTableEntryNumber MultiplexTableEntryNumber, + elementList + SEQUENCE SIZE (1..256) OF MultiplexElement OPTIONAL +} + +MultiplexElement ::= SEQUENCE { + type + CHOICE {logicalChannelNumber INTEGER(0..65535), + subElementList SEQUENCE SIZE (2..255) OF MultiplexElement + }, + repeatCount + CHOICE {-- repeats of type + finite INTEGER(1..65535), + -- used for last element + untilClosingFlag NULL} +} + +MultiplexTableEntryNumber ::= INTEGER(1..15) + +MultiplexEntrySendAck ::= SEQUENCE { + sequenceNumber SequenceNumber, + multiplexTableEntryNumber SET SIZE (1..15) OF MultiplexTableEntryNumber, + ... +} + +MultiplexEntrySendReject ::= SEQUENCE { + sequenceNumber SequenceNumber, + rejectionDescriptions1 + 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, + rejectionDescriptions2 + 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, + 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, + secondary2 SEQUENCE OF RedundancyEncodingDTModeElement, + ... +} + +RedundancyEncodingDTModeElement ::= SEQUENCE { + type + CHOICE {nonStandard NonStandardParameter, + videoMode VideoMode, + audioMode AudioMode, + dataMode DataMode, + encryptionMode EncryptionMode, + h235Mode H235Mode, + ...}, + ... +} + +MultiplePayloadStreamMode ::= SEQUENCE { + mpsmElements SEQUENCE OF MultiplePayloadStreamElementMode, + ... +} +MultiplePayloadStreamElementMode ::= SEQUENCE {type ModeElementType, + ... +} + +FECMode ::= CHOICE { + rfc2733Mode + SEQUENCE {mode CHOICE {redundancyEncoding NULL, + separateStream SeparateStream, + ...}, + ...}, + ... +} + +H223ModeParameters ::= SEQUENCE { + adaptationLayerType + CHOICE {nonStandard NonStandardParameter, + al1Framed NULL, + al1NotFramed NULL, + al2WithoutSequenceNumbers NULL, + al2WithSequenceNumbers NULL, + al3 Al3, + ..., + 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 400bit/s + vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16384bits + samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line + linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame + framesPerSecond INTEGER(0..15) OPTIONAL, -- frame_rate_code + luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec + ... +} + +H263VideoMode ::= SEQUENCE { + resolution + CHOICE {sqcif NULL, + qcif NULL, + cif NULL, + cif4 NULL, + cif16 NULL, + ..., + 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 400bit/s + vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16384bits + samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line + linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame + pictureRate INTEGER(0..15) OPTIONAL, + luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec + ... +} + +-- =================================================================================== +-- Request mode definitions: Audio modes +-- =================================================================================== +AudioMode ::= CHOICE { + nonStandard NonStandardParameter, + g711Alaw64k NULL, + g711Alaw56k NULL, + g711Ulaw64k NULL, + g711Ulaw56k NULL, + g722-64k NULL, + g722-56k NULL, + g722-48k NULL, + g728 NULL, + g729 NULL, + g729AnnexA NULL, + g7231 + CHOICE {noSilenceSuppressionLowRate NULL, + noSilenceSuppressionHighRate NULL, + silenceSuppressionLowRate NULL, + silenceSuppressionHighRate NULL}, + is11172AudioMode IS11172AudioMode, + is13818AudioMode IS13818AudioMode, + ..., + g729wAnnexB INTEGER(1..256), + g729AnnexAwAnnexB INTEGER(1..256), + g7231AnnexCMode G7231AnnexCMode, + gsmFullRate GSMAudioCapability, + gsmHalfRate GSMAudioCapability, + gsmEnhancedFullRate GSMAudioCapability, + 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 G723AnnexCAudioMode, + ... +} + +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 Nlpid, + dsvdControl NULL, + h222DataPartitioning DataProtocolCapability, + ..., + t30fax DataProtocolCapability, + t140 DataProtocolCapability, + t38fax + SEQUENCE {t38FaxProtocol DataProtocolCapability, + t38FaxProfile T38FaxProfile}, + genericDataMode GenericCapability}, + bitRate INTEGER(0..4294967295), -- units 100 bit/s + ... +} + +-- =================================================================================== +-- Request mode definitions: Encryption modes +-- =================================================================================== +EncryptionMode ::= CHOICE { + nonStandard NonStandardParameter, + h233Encryption NULL, + ... +} + +-- =================================================================================== +-- Round Trip Delay definitions +-- =================================================================================== +RoundTripDelayRequest ::= SEQUENCE {sequenceNumber SequenceNumber, + ... +} + +RoundTripDelayResponse ::= SEQUENCE {sequenceNumber SequenceNumber, + ... +} + +-- =================================================================================== +-- Maintenance Loop definitions +-- =================================================================================== +MaintenanceLoopRequest ::= SEQUENCE { + type + CHOICE {systemLoop NULL, + mediaLoop LogicalChannelNumber, + logicalChannelLoop LogicalChannelNumber, + ...}, + ... +} + +MaintenanceLoopAck ::= SEQUENCE { + type + CHOICE {systemLoop NULL, + mediaLoop LogicalChannelNumber, + logicalChannelLoop LogicalChannelNumber, + ...}, + ... +} + +MaintenanceLoopReject ::= SEQUENCE { + type + CHOICE {systemLoop NULL, + mediaLoop LogicalChannelNumber, + logicalChannelLoop LogicalChannelNumber, + ...}, + cause CHOICE {canNotPerformLoop NULL, + ...}, + ... +} + +MaintenanceLoopOffCommand ::= SEQUENCE {... +} + +-- =================================================================================== +-- Communication Mode definitions +-- =================================================================================== +CommunicationModeCommand ::= SEQUENCE { + communicationModeTable SET SIZE (1..256) OF CommunicationModeTableEntry, + ... +} + +CommunicationModeRequest ::= SEQUENCE {... +} + +CommunicationModeResponse ::= CHOICE { + communicationModeTable SET SIZE (1..256) OF CommunicationModeTableEntry, + ... +} + +CommunicationModeTableEntry ::= SEQUENCE { + nonStandard SEQUENCE OF NonStandardParameter OPTIONAL, + sessionID INTEGER(1..255), + associatedSessionID INTEGER(1..255) OPTIONAL, + terminalLabel TerminalLabel OPTIONAL, -- if not present, + + -- it refers to all participants + -- in the conference + sessionDescription BMPString(SIZE (1..128)), + -- Basic ISO/IEC 10646-1 (Unicode) + dataType + CHOICE {videoData VideoCapability, + audioData AudioCapability, + data DataApplicationCapability, + ...}, + mediaChannel TransportAddress OPTIONAL, + mediaGuaranteedDelivery BOOLEAN OPTIONAL, + mediaControlChannel TransportAddress OPTIONAL, -- reverse RTCP channel + mediaControlGuaranteedDelivery BOOLEAN OPTIONAL, + ..., + redundancyEncoding RedundancyEncoding OPTIONAL, + sessionDependency INTEGER(1..255) OPTIONAL, + destination TerminalLabel OPTIONAL +} + +-- =================================================================================== +-- Conference Request definitions +-- =================================================================================== +ConferenceRequest ::= CHOICE { + terminalListRequest NULL, -- same as H.230 TCU (term->MC) + makeMeChair NULL, -- same as H.230 CCA (term->MC) + cancelMakeMeChair NULL, -- same as H.230 CIS (term->MC) + dropTerminal TerminalLabel, -- same as H.230 CCD(term->MC) + requestTerminalID TerminalLabel, -- 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 RemoveConnection, + 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 RemoveConnection, + maximumHeaderInterval + SEQUENCE {currentInterval INTEGER(0..65535), -- Max Header Interval, milliseconds-- + ...}, + ... +} +RemoveConnection ::= SEQUENCE {connectionIdentifier ConnectionIdentifier, + ...} + +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.MULTILINK + sequenceNumber INTEGER(0..4294967295), -- from H.MULTILINK + ... +} + +-- =================================================================================== +-- 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 Scope, + restriction Restriction, + ... +} +Scope ::= CHOICE {logicalChannelNumber LogicalChannelNumber, + resourceID INTEGER(0..65535), + wholeMultiplex NULL} +Restriction ::= CHOICE {maximumBitRate INTEGER(0..16777215), -- units 100 bit/s -- + noRestriction NULL} +-- =================================================================================== +-- Command Message : Change or End Session +-- =================================================================================== +EndSessionCommand ::= CHOICE { + nonStandard NonStandardParameter, + disconnect NULL, + gstnOptions + CHOICE {telephonyMode NULL, + v8bis NULL, + v34DSVD NULL, + v34DuplexFAX NULL, + v34H324 NULL, + ...}, + ..., + isdnOptions + CHOICE {telephonyMode NULL, + v140 NULL, + terminalOnHold NULL, + ...} +} + +-- =================================================================================== +-- Command Message : Conference Commands +-- =================================================================================== +ConferenceCommand ::= CHOICE { + broadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 MCV + cancelBroadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 Cancel-MCV + makeTerminalBroadcaster TerminalLabel, -- same as H.230 VCB + cancelMakeTerminalBroadcaster NULL, -- same as H.230 Cancel-VCB + sendThisSource TerminalLabel, -- same as H.230 VCS + cancelSendThisSource NULL, -- same as H.230 cancel VCS + dropConference NULL, -- same as H.230 CCK + ..., + substituteConferenceIDCommand SubstituteConferenceIDCommand +} + +SubstituteConferenceIDCommand ::= SEQUENCE { + conferenceIdentifier OCTET STRING(SIZE (16)), + ... +} + +-- =================================================================================== +-- Command Message : Miscellaneous H.230-like commands +-- =================================================================================== +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 RepeatCount, + ...}, + 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 +} +RepeatCount ::= CHOICE {doOneProgression NULL, + doContinuousProgressions NULL, + doOneIndependentProgression NULL, + doContinuousIndependentProgressions NULL, + ...} +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 +} + +TerminalYouAreSeeingInSubPictureNumber ::= SEQUENCE { + terminalNumber TerminalNumber, + subPictureNumber INTEGER(0..255), + ... +} + +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 Scope, + 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, + -- indicates unsecured basic string + basicString NULL, + -- indicates unsecured iA5 string + iA5String NULL, + -- indicates unsecured general string + generalString NULL, + ..., + -- indicates encrypted Basic string + encryptedBasicString NULL, + -- indicates encrypted IA5 string + encryptedIA5String NULL, + -- indicates encrypted general string + encryptedGeneralString NULL}, +-- IA5String(SIZE (1) ^ FROM ("0123456789#*ABCD!")), + + signal + SEQUENCE {signalType + IA5String(SIZE (1) ), + -- holds dummy "!" if encryptedSignalType is being used + duration INTEGER(1..65535) OPTIONAL, -- milliseconds-- + rtp Rtp OPTIONAL, + ..., + rtpPayloadIndication NULL OPTIONAL, + -- any "runtime" parameters + paramS Params OPTIONAL, + -- encrypted signalType + encryptedSignalType OCTET STRING(SIZE (1)) 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 EncryptedAlphanumeric OPTIONAL}, + encryptedAlphanumeric EncryptedAlphanumeric +} +EncryptedAlphanumeric ::= SEQUENCE {algorithmOID OBJECT IDENTIFIER, + paramS Params OPTIONAL, -- any "runtime" parameters-- + encrypted OCTET STRING, -- general string encrypted-- + ...} +Rtp ::= SEQUENCE {timestamp INTEGER(0..4294967295) OPTIONAL, + expirationTime INTEGER(0..4294967295) OPTIONAL, + logicalChannelNumber LogicalChannelNumber, + ...} +-- =================================================================================== +-- Indication Message : Flow Control +-- =================================================================================== +FlowControlIndication ::= SEQUENCE { + scope Scope, + restriction Restriction, + ... +} + +-- =================================================================================== +-- Indication Message : Mobile Multilink Reconfiguration indication +-- =================================================================================== +MobileMultilinkReconfigurationIndication ::= SEQUENCE { + sampleSize INTEGER(1..255), + samplesPerFrame INTEGER(1..255), + ... +} + +END + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + -- cgit v1.2.3