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