aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/h245/MULTIMEDIA-SYSTEM-CONTROL.asn971
-rw-r--r--asn1/h245/h245.cnf37
-rw-r--r--epan/dissectors/packet-h245.c843
3 files changed, 1236 insertions, 615 deletions
diff --git a/asn1/h245/MULTIMEDIA-SYSTEM-CONTROL.asn b/asn1/h245/MULTIMEDIA-SYSTEM-CONTROL.asn
index 6429a2e26e..ce9c50aabc 100644
--- a/asn1/h245/MULTIMEDIA-SYSTEM-CONTROL.asn
+++ b/asn1/h245/MULTIMEDIA-SYSTEM-CONTROL.asn
@@ -1,16 +1,16 @@
--
-- Taken from ITU ASN.1 database
--- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h245/2003v10/MULTIMEDIA-SYSTEM-CONTROL.asn
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h245/2005v12/MULTIMEDIA-SYSTEM-CONTROL.asn
--
--- Module MULTIMEDIA-SYSTEM-CONTROL (H.245:07/2003)
+-- Module MULTIMEDIA-SYSTEM-CONTROL (H.245:10/2005)
MULTIMEDIA-SYSTEM-CONTROL DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- Export all symbols
--- ===================================================================================
+-- =======================================================================
-- Top level Messages
--- ===================================================================================
+-- =======================================================================
MultimediaSystemControlMessage ::= CHOICE {
request RequestMessage,
response ResponseMessage,
@@ -40,7 +40,7 @@ RequestMessage ::= CHOICE {
genericRequest GenericMessage
}
--- A ResponseMessage is the response to a request Message
+-- A ResponseMessage is the response to a RequestMessage
ResponseMessage ::= CHOICE {
nonStandard NonStandardMessage,
masterSlaveDeterminationAck MasterSlaveDeterminationAck,
@@ -121,19 +121,21 @@ IndicationMessage ::= CHOICE {
-- 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,
+ messageIdentifier CapabilityIdentifier,
+ subMessageIdentifier INTEGER(0..127) OPTIONAL,
+ messageContent SEQUENCE OF GenericParameter OPTIONAL,
...
}
--- ===================================================================================
--- Non standard Message definitions
--- ===================================================================================
+GenericInformation ::= GenericMessage
+
+-- =============================================================================
+-- Non-standard Message definitions
+-- =============================================================================
NonStandardMessage ::= SEQUENCE {nonStandardData NonStandardParameter,
...
}
@@ -146,18 +148,21 @@ NonStandardParameter ::= SEQUENCE {
NonStandardIdentifier ::= CHOICE {
object OBJECT IDENTIFIER,
h221NonStandard
- SEQUENCE {t35CountryCode INTEGER(0..255), -- country, per T.35 Annex A--
+ SEQUENCE {t35CountryCode INTEGER(0..255), -- country, per --
+ -- Annex A/T.35
t35Extension INTEGER(0..255),
- -- assigned nationally unless t35CountryCode is binary
- -- 1111 1111, in which case it shall contain the country code
- -- according to T.35 Annex B
+ -- assigned nationally unless
+ -- t35CountryCode is binary
+ -- 1111 1111, in which case it shall
+ -- contain the country code
+ -- according to Annex B/T.35
manufacturerCode INTEGER(0..65535) -- assigned nationally
}
}
--- ===================================================================================
+-- =============================================================================
-- Master-slave determination definitions
--- ===================================================================================
+-- =============================================================================
MasterSlaveDetermination ::= SEQUENCE {
terminalType INTEGER(0..255),
statusDeterminationNumber INTEGER(0..16777215),
@@ -179,18 +184,22 @@ MasterSlaveDeterminationReject ::= SEQUENCE {
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}
+ -- {itu-t (0) recommendation (0) h (8) 245
+ -- version (0) 12}
multiplexCapability MultiplexCapability OPTIONAL,
capabilityTable SET SIZE (1..256) OF CapabilityTableEntry OPTIONAL,
capabilityDescriptors SET SIZE (1..256) OF CapabilityDescriptor OPTIONAL,
- ...
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+ -- generic information associated
+ -- with the message
}
CapabilityTableEntry ::= SEQUENCE {
@@ -211,12 +220,16 @@ CapabilityTableEntryNumber ::= INTEGER(1..65535)
CapabilityDescriptorNumber ::= INTEGER(0..255)
-TerminalCapabilitySetAck ::= SEQUENCE {sequenceNumber SequenceNumber,
- ...
+TerminalCapabilitySetAck ::= SEQUENCE {
+ sequenceNumber SequenceNumber,
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+ -- generic information associated
+ -- with the message
}
TerminalCapabilitySetReject ::= SEQUENCE {
- sequenceNumber SequenceNumber,
+ sequenceNumber SequenceNumber,
cause
CHOICE {unspecified NULL,
undefinedTableEntryUsed NULL,
@@ -225,15 +238,22 @@ TerminalCapabilitySetReject ::= SEQUENCE {
CHOICE {highestEntryNumberProcessed CapabilityTableEntryNumber,
noneProcessed NULL},
...},
- ...
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+ -- generic information associated
+ -- with the message
}
-TerminalCapabilitySetRelease ::= SEQUENCE {...
+TerminalCapabilitySetRelease ::= SEQUENCE {
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+ -- generic information associated
+ -- with the message
}
--- ===================================================================================
+-- =============================================================================
-- Capability exchange definitions: top level capability description
--- ===================================================================================
+-- =============================================================================
Capability ::= CHOICE {
nonStandard NonStandardParameter,
receiveVideoCapability VideoCapability,
@@ -262,23 +282,28 @@ Capability ::= CHOICE {
receiveAndTransmitMultiplexedStreamCapability MultiplexedStreamCapability,
receiveRTPAudioTelephonyEventCapability AudioTelephonyEventCapability,
receiveRTPAudioToneCapability AudioToneCapability,
- fecCapability FECCapability,
+ depFecCapability DepFECCapability, -- Deprecated, do not use
multiplePayloadStreamCapability
- MultiplePayloadStreamCapability
+ MultiplePayloadStreamCapability,
+ fecCapability FECCapability,
+ redundancyEncodingCap RedundancyEncodingCapability,
+ oneOfCapabilities AlternativeCapabilitySet
}
H235SecurityCapability ::= SEQUENCE {
encryptionAuthenticationAndIntegrity EncryptionAuthenticationAndIntegrity,
mediaCapability CapabilityTableEntryNumber,
- -- Note: the mediaCapability shall refer to Capability Table Entries that do contain a transmit,
+ -- NOTE ? The mediaCapability shall refer to Capability Table Entries
+ -- that do contain, directly or indirectly, one or more transmit,
-- receive, or receiveAndTransmit AudioCapability, VideoCapability,
- -- DataApplicationCapability, or similar capability indicated by a NonStandardParameter only
+ -- DataApplicationCapability, or similar capabilities indicated by a
+ -- NonStandardParameter or GenericCapability only
...
}
--- ===================================================================================
+-- =============================================================================
-- Capability exchange definitions: Multiplex capabilities
--- ===================================================================================
+-- =============================================================================
MultiplexCapability ::= CHOICE {
nonStandard NonStandardParameter,
h222Capability H222Capability,
@@ -337,7 +362,9 @@ VCCapability ::= SEQUENCE {
}
H223Capability ::= SEQUENCE {
- transportWithI-frames BOOLEAN, -- I-frame transport of H.245
+ transportWithI-frames BOOLEAN, -- I-frame transport
+
+ -- of H.245
videoWithAL1 BOOLEAN,
videoWithAL2 BOOLEAN,
videoWithAL3 BOOLEAN,
@@ -368,7 +395,9 @@ H223Capability ::= SEQUENCE {
h223AnnexBwithHeader BOOLEAN,
...} OPTIONAL,
h223AnnexCCapability H223AnnexCCapability OPTIONAL,
- bitRate INTEGER(1..19200) OPTIONAL, -- units of 100 bit/s
+ bitRate INTEGER(1..19200) OPTIONAL, -- units of
+
+ -- 100 bit/s
mobileMultilinkFrameCapability
SEQUENCE {maximumSampleSize INTEGER(1..255), -- units octets--
maximumPayloadLength INTEGER(1..65025), -- units octets--
@@ -417,7 +446,9 @@ V75Capability ::= SEQUENCE {audioHeader BOOLEAN,
}
H2250Capability ::= SEQUENCE {
- maximumAudioDelayJitter INTEGER(0..1023), -- units in milliseconds
+ maximumAudioDelayJitter INTEGER(0..1023), -- units in
+
+ -- milliseconds
receiveMultipointCapability MultipointCapability,
transmitMultipointCapability MultipointCapability,
receiveAndTransmitMultipointCapability MultipointCapability,
@@ -444,12 +475,15 @@ MediaPacketizationCapability ::= SEQUENCE {
RSVPParameters ::= SEQUENCE {
qosMode QOSMode OPTIONAL,
tokenRate INTEGER(1..4294967295) OPTIONAL,
- -- rate in bytes/sec
- bucketSize INTEGER(1..4294967295) OPTIONAL, -- size in bytes
+ -- rate in bytes/s
+ 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
+ -- peak bandwidth bytes/s
+ minPoliced INTEGER(1..4294967295) OPTIONAL,
+ --
+ maxPktSize INTEGER(1..4294967295) OPTIONAL,
+ -- size in bytes
...
}
@@ -458,14 +492,17 @@ QOSMode ::= CHOICE {guaranteedQOS 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
+ 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
...
}
@@ -479,7 +516,7 @@ QOSCapability ::= SEQUENCE {
MediaTransportType ::= CHOICE {
ip-UDP NULL,
ip-TCP NULL,
- atm-AAL5-UNIDIR NULL, -- virtual circuits used as unidirectional
+ 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,
@@ -504,6 +541,9 @@ RedundancyEncodingCapability ::= SEQUENCE {
primaryEncoding CapabilityTableEntryNumber,
secondaryEncoding
SEQUENCE SIZE (1..256) OF CapabilityTableEntryNumber OPTIONAL,
+ -- must be Audio, Video, or Data capabilities, not derived
+ -- capabilities; redundancy order is inferred from number of
+ -- secondary encodings
...
}
@@ -544,20 +584,23 @@ MultipointCapability ::= SEQUENCE {
MediaDistributionCapability ::= SEQUENCE {
centralizedControl BOOLEAN,
- distributedControl BOOLEAN, -- for further study in H.323
+ distributedControl BOOLEAN, -- for further study in
+
+ -- ITU-T Rec. H.323
centralizedAudio BOOLEAN,
distributedAudio BOOLEAN,
centralizedVideo BOOLEAN,
distributedVideo BOOLEAN,
centralizedData SEQUENCE OF DataApplicationCapability OPTIONAL,
distributedData SEQUENCE OF DataApplicationCapability OPTIONAL,
- -- for further study in H.323
+ -- for further study in
+ -- ITU-T Rec. H.323
...
}
--- ===================================================================================
+-- =============================================================================
-- Capability exchange definitions: Video capabilities
--- ===================================================================================
+-- =============================================================================
VideoCapability ::= CHOICE {
nonStandard NonStandardParameter,
h261VideoCapability H261VideoCapability,
@@ -579,8 +622,10 @@ 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
+ maxBitRate INTEGER(1..19200), -- units of
+
+ -- 100 bit/s
+ stillImageTransmission BOOLEAN, -- Annex D/H.261
...,
videoBadMBsCap BOOLEAN
}
@@ -598,12 +643,11 @@ H262VideoCapability ::= SEQUENCE {
profileAndLevel-HPatH-14 BOOLEAN,
profileAndLevel-HPatHL BOOLEAN,
videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400 bit/s
- vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16384 bits
+ vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16 384 bits
samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line
linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame
framesPerSecond INTEGER(0..15) OPTIONAL, -- frame_rate_code
- luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec
- ...,
+ luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/s ...,
videoBadMBsCap BOOLEAN
}
@@ -622,11 +666,11 @@ H263VideoCapability ::= SEQUENCE {
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
+ 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
@@ -657,10 +701,10 @@ EnhancementOptions ::= SEQUENCE {
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
+ 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,
...
@@ -825,21 +869,24 @@ H263Version3Options ::= SEQUENCE {
IS11172VideoCapability ::= SEQUENCE {
constrainedBitstream BOOLEAN,
videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400 bit/s
- vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16384 bits
+ vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16 384 bits
samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line
linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame
pictureRate INTEGER(0..15) OPTIONAL,
- luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec
+ luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/s
...,
videoBadMBsCap BOOLEAN
}
--- ===================================================================================
+-- =============================================================================
-- Capability exchange definitions: Audio capabilities
--- ===================================================================================
--- For an H.222 multiplex, the integers indicate the size of the STD buffer in units of 256 octets
--- For an H.223 multiplex, the integers indicate the maximum number of audio frames per AL-SDU
--- For an H.225.0 multiplex, the integers indicate the maximum number of audio frames per packet
+-- =============================================================================
+-- 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),
@@ -946,9 +993,9 @@ VBDCapability ::= SEQUENCE {type AudioCapability, -- shall not be "vbd"
...
}
--- ===================================================================================
+-- =============================================================================
-- Capability exchange definitions: Data capabilities
--- ===================================================================================
+-- =============================================================================
DataApplicationCapability ::= SEQUENCE {
application
CHOICE {nonStandard NonStandardParameter,
@@ -979,7 +1026,7 @@ DataApplicationCapability ::= SEQUENCE {
DataProtocolCapability ::= CHOICE {
nonStandard NonStandardParameter,
v14buffered NULL,
- v42lapm NULL, -- may negotiate to V.42bis
+ v42lapm NULL, -- may negotiate to V.42 bis
hdlcFrameTunnelling NULL,
h310SeparateVCStack NULL,
h310SingleVCStack NULL,
@@ -1039,13 +1086,14 @@ T38FaxProfile ::= SEQUENCE {
transcodingMMR BOOLEAN,
...,
version INTEGER(0..255),
- -- Version 0, the default, refers to T.38 (1998)
+ -- 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
+ -- For UDP, t38UDPRedundancy is the default
t38FaxTcpOptions T38FaxTcpOptions OPTIONAL
}
@@ -1068,21 +1116,24 @@ T38FaxTcpOptions ::= SEQUENCE {t38TCPBidirectionalMode BOOLEAN,
...
}
--- ===================================================================================
--- Encryption Capability Definitions:
--- ===================================================================================
+-- =============================================================================
+-- Encryption Capability Definitions
+-- =============================================================================
EncryptionAuthenticationAndIntegrity ::= SEQUENCE {
- encryptionCapability EncryptionCapability OPTIONAL,
- authenticationCapability AuthenticationCapability OPTIONAL,
- integrityCapability IntegrityCapability OPTIONAL,
- ...
+ encryptionCapability EncryptionCapability OPTIONAL,
+ authenticationCapability AuthenticationCapability OPTIONAL,
+ integrityCapability IntegrityCapability OPTIONAL,
+ ...,
+ genericH235SecurityCapability GenericCapability OPTIONAL
}
EncryptionCapability ::= SEQUENCE SIZE (1..256) OF MediaEncryptionAlgorithm
MediaEncryptionAlgorithm ::= CHOICE {
nonStandard NonStandardParameter,
- algorithm OBJECT IDENTIFIER, -- many defined in ISO/IEC 9979
+ algorithm OBJECT IDENTIFIER, -- many defined
+
+ -- in ISO/IEC 9979
...
}
@@ -1097,29 +1148,36 @@ IntegrityCapability ::= SEQUENCE {
...
}
--- ================================================================================
+-- =============================================================================
-- 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
+ 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 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
+ secureDTMF NULL, -- secure DTMF using encryptedSignalType
+ genericUserInputCapability GenericCapability
}
--- ===================================================================================
+-- =============================================================================
-- Capability Exchange Definitions: Conference
--- ===================================================================================
+-- =============================================================================
ConferenceCapability ::= SEQUENCE {
nonStandardData
SEQUENCE OF NonStandardParameter OPTIONAL,
@@ -1129,16 +1187,17 @@ ConferenceCapability ::= SEQUENCE {
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
+ 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
-
+ nonCollapsingRaw OCTET STRING OPTIONAL,
+ -- Typically contains ASN.1
-- PER encoded data describing capability
transport DataProtocolCapability OPTIONAL,
...
@@ -1146,7 +1205,7 @@ GenericCapability ::= SEQUENCE {
CapabilityIdentifier ::= CHOICE {
standard OBJECT IDENTIFIER,
- -- e.g. { itu-t (0) recommendation (0) h (8) 267
+ -- e.g., { itu-t (0) recommendation (0) h (8) 267
-- version (0) 2 subIdentifier (0)}
h221NonStandard NonStandardParameter,
uuid OCTET STRING(SIZE (16)),
@@ -1154,9 +1213,10 @@ CapabilityIdentifier ::= CHOICE {
...
}
--- 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.
+-- 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,
@@ -1165,32 +1225,52 @@ GenericParameter ::= SEQUENCE {
}
ParameterIdentifier ::= CHOICE {
- standard INTEGER(0..127), -- Assigned by Capability specifications
- h221NonStandard NonStandardParameter, -- N.B. NonStandardIdentifier is
+ 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-
- -- not sufficient in this case
- uuid OCTET STRING(SIZE (16)), -- For non-standard
+ -- standard
domainBased IA5String(SIZE (1..64)),
...
}
ParameterValue ::= CHOICE {
- logical NULL, -- Only acceptable if all
+ 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
- -- 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
+ -- octet string
genericParameter SEQUENCE OF GenericParameter,
...
}
--- ===================================================================================
+-- =============================================================================
-- Capability Exchange Definitions: Multiplexed Stream Capability
--- ===================================================================================
+-- =============================================================================
MultiplexedStreamCapability ::= SEQUENCE {
multiplexFormat MultiplexFormat,
controlOnMuxStream BOOLEAN,
@@ -1205,12 +1285,14 @@ MultiplexFormat ::= CHOICE {
...
}
--- ===================================================================================
+-- =============================================================================
-- Capability Exchange Definitions: AudioTelephonyEventCapability and AudioToneCapability
--- ===================================================================================
+--==============================================================================
AudioTelephonyEventCapability ::= SEQUENCE {
dynamicRTPPayloadType INTEGER(96..127),
- audioTelephoneEvent GeneralString, -- As per <list of values> in 3.9/RFC2833
+ audioTelephoneEvent GeneralString, -- As per <list of values>
+
+ -- in 3.9/RFC 2833
...
}
@@ -1218,27 +1300,28 @@ AudioToneCapability ::= SEQUENCE {dynamicRTPPayloadType INTEGER(96..127),
...
}
--- The following defintions are as above but without a Payload Type field
+-- The following definitions are as above but without a Payload Type field.
NoPTAudioTelephonyEventCapability ::= SEQUENCE {
- audioTelephoneEvent GeneralString, -- As per <list of values> in 3.9/RFC2833
+ audioTelephoneEvent GeneralString, -- As per <list of values> in 3.9/RFC 2833
...
}
NoPTAudioToneCapability ::= SEQUENCE {...
}
--- ===================================================================================
+-- =============================================================================
-- Capability Exchange Definitions: MultiplePayloadStreamCapability
--- ===================================================================================
+-- =============================================================================
MultiplePayloadStreamCapability ::= SEQUENCE {
capabilities SET SIZE (1..256) OF AlternativeCapabilitySet,
...
}
--- ===================================================================================
+-- =============================================================================
-- Capability Exchange Definitions: FECCapability
--- ===================================================================================
-FECCapability ::= CHOICE {
+-- =============================================================================
+DepFECCapability ::= CHOICE -- Deprecated, do not use
+ {
rfc2733
SEQUENCE {redundancyEncoding BOOLEAN,
separateStream
@@ -1249,12 +1332,27 @@ FECCapability ::= CHOICE {
...
}
--- ===================================================================================
+FECCapability ::= SEQUENCE {
+ protectedCapability CapabilityTableEntryNumber,
+ fecScheme OBJECT IDENTIFIER OPTIONAL,
+ -- identifies encoding scheme
+ rfc2733Format
+ CHOICE {rfc2733rfc2198 MaxRedundancy, -- RFC2198 --
+ rfc2733sameport MaxRedundancy, -- separate packet, same port--
+ rfc2733diffport MaxRedundancy
+ } -- separate packet and port -- OPTIONAL,
+ ...
+}
+
+MaxRedundancy ::= INTEGER(1..MAX)
+
+-- =============================================================================
-- Logical channel signalling definitions
--- ===================================================================================
--- "Forward" is used to refer to transmission in the direction from the terminal making the
--- original request for a logical channel to the other terminal, and "reverse" is used to refer
--- to the opposite direction of transmission, in the case of a bi-directional channel request.
+-- =============================================================================
+-- "Forward" is used to refer to transmission in the direction from the terminal
+-- making the original request for a logical channel to the other terminal, and
+-- "reverse" is used to refer to the opposite direction of transmission, in the
+-- case of a bidirectional channel request.
OpenLogicalChannel ::= SEQUENCE {
forwardLogicalChannelNumber LogicalChannelNumber,
forwardLogicalChannelParameters
@@ -1271,14 +1369,16 @@ OpenLogicalChannel ::= SEQUENCE {
h2250LogicalChannelParameters
H2250LogicalChannelParameters,
none NULL}, -- for use with Separate Stack when--
- -- multiplexParameters are not required
- -- or appropriate
+ -- multiplexParameters are not
+ -- required or appropriate
...,
forwardLogicalChannelDependency LogicalChannelNumber OPTIONAL,
- -- also used to refer to the primary logical channel when using video redundancy coding
+ -- 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
+ -- Used to specify the reverse channel for bidirectional open request
reverseLogicalChannelParameters
SEQUENCE {dataType DataType,
multiplexParameters
@@ -1292,20 +1392,25 @@ OpenLogicalChannel ::= SEQUENCE {
H2250LogicalChannelParameters} OPTIONAL, -- Not present for H.222--
...,
reverseLogicalChannelDependency LogicalChannelNumber OPTIONAL,
- -- also used to refer to the primary logical channel when using video redundancy coding
+ -- 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
+ } OPTIONAL, -- Not present for unidirectional channel request
...,
- separateStack NetworkAccessParameters OPTIONAL, -- for Open responder to establish the stack
- encryptionSync EncryptionSync OPTIONAL
-} -- used only by Master
+ separateStack NetworkAccessParameters OPTIONAL,
+ -- for Open responder to establish the stack
+ encryptionSync EncryptionSync OPTIONAL,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+}
+-- generic information associated
+-- with the message
LogicalChannelNumber ::= INTEGER(1..65535)
NetworkAccessParameters ::= SEQUENCE {
distribution
CHOICE {unicast NULL,
- multicast NULL, -- For Further Study in T.120--
+ multicast NULL, -- for further study in T.120--
...} OPTIONAL,
networkAddress
CHOICE {q2931Address Q2931Address,
@@ -1348,6 +1453,7 @@ DataType ::= CHOICE {
multiplexedStream MultiplexedStreamParameter,
redundancyEncoding RedundancyEncoding,
multiplePayloadStream MultiplePayloadStream,
+ depFec DepFECData, -- Deprecated, do not use
fec FECData
}
@@ -1361,6 +1467,7 @@ H235Media ::= SEQUENCE {
...,
redundancyEncoding RedundancyEncoding,
multiplePayloadStream MultiplePayloadStream,
+ depFec DepFECData, -- Deprecated, do not use--
fec FECData},
...
}
@@ -1389,8 +1496,7 @@ H223LogicalChannelParameters ::= SEQUENCE {
al2WithSequenceNumbers NULL,
al3
SEQUENCE {controlFieldOctets INTEGER(0..2),
- sendBufferSize INTEGER(0..16777215) -- units octets
- },
+ sendBufferSize INTEGER(0..16777215)}, -- units octets--
...,
al1M H223AL1MParameters,
al2M H223AL2MParameters,
@@ -1512,7 +1618,9 @@ H2250LogicalChannelParameters ::= SEQUENCE {
associatedSessionID INTEGER(1..255) OPTIONAL,
mediaChannel TransportAddress OPTIONAL,
mediaGuaranteedDelivery BOOLEAN OPTIONAL,
- mediaControlChannel TransportAddress OPTIONAL, -- reverse RTCP channel
+ mediaControlChannel TransportAddress OPTIONAL, -- reverse
+
+ -- RTCP channel
mediaControlGuaranteedDelivery BOOLEAN OPTIONAL,
silenceSuppression BOOLEAN OPTIONAL,
destination TerminalLabel OPTIONAL,
@@ -1569,7 +1677,8 @@ MultiplePayloadStreamElement ::= SEQUENCE {
...
}
-FECData ::= CHOICE {
+DepFECData ::= CHOICE -- Deprecated, do not use
+ {
rfc2733
SEQUENCE {mode
CHOICE {redundancyEncoding NULL,
@@ -1589,6 +1698,21 @@ FECData ::= CHOICE {
...}
}
+FECData ::= CHOICE {
+ rfc2733
+ SEQUENCE {protectedPayloadType INTEGER(0..127),
+ fecScheme OBJECT IDENTIFIER OPTIONAL,
+ pktMode
+ CHOICE {rfc2198coding NULL,
+ rfc2733sameport SEQUENCE {...},
+ rfc2733diffport
+ SEQUENCE {protectedChannel LogicalChannelNumber,
+ ...},
+ ...},
+ ...},
+ ...
+}
+
TransportAddress ::= CHOICE {
unicastAddress UnicastAddress,
multicastAddress MulticastAddress,
@@ -1638,15 +1762,20 @@ MulticastAddress ::= CHOICE {
EncryptionSync ::=
SEQUENCE
- -- used to supply new key and synchronization point
+ -- used to supply new key and synchronization point
{
- nonStandard NonStandardParameter OPTIONAL,
- synchFlag INTEGER(0..255), -- may need to be larger for H.324, etc
+ nonStandard NonStandardParameter OPTIONAL,
+ synchFlag INTEGER(0..255), -- may need to be larger
- -- 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,
- ...
+ -- 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,
+ ...,
+ genericParameter GenericParameter OPTIONAL
}
EscrowData ::= SEQUENCE {
@@ -1666,22 +1795,27 @@ OpenLogicalChannelAck ::= SEQUENCE {
-- H.223 parameters are never present in reverse direction
...,
h2250LogicalChannelParameters
- H2250LogicalChannelParameters} OPTIONAL, -- Not present for H.223--
+ H2250LogicalChannelParameters} OPTIONAL, -- not present for H.223--
...,
replacementFor LogicalChannelNumber OPTIONAL
- } OPTIONAL, -- Not present for uni-directional channel request
+ } OPTIONAL, -- not present for unidirectional channel
+
+ -- request
...,
separateStack NetworkAccessParameters OPTIONAL,
- -- for Open requester to establish the stack
+ -- 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
+ -- V.76 parameters are never present in the Ack
h2250LogicalChannelAckParameters H2250LogicalChannelAckParameters,
...} OPTIONAL,
- encryptionSync EncryptionSync OPTIONAL -- used only by Master
-}
+ encryptionSync EncryptionSync OPTIONAL, -- used only by Master
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
+} -- generic information associated
+-- with the message
OpenLogicalChannelReject ::= SEQUENCE {
forwardLogicalChannelNumber LogicalChannelNumber,
cause
@@ -1699,21 +1833,33 @@ OpenLogicalChannelReject ::= SEQUENCE {
masterSlaveConflict NULL,
waitForCommunicationMode NULL,
invalidDependentChannel NULL,
- replacementForRejected NULL},
- ...
+ replacementForRejected NULL,
+ securityDenied NULL},
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
}
+-- generic information associated
+-- with the message
OpenLogicalChannelConfirm ::= SEQUENCE {
forwardLogicalChannelNumber LogicalChannelNumber,
- ...
+ ...,
+ genericInformation SEQUENCE OF GenericInformation OPTIONAL
}
+-- generic information associated
+-- with the message
H2250LogicalChannelAckParameters ::= SEQUENCE {
nonStandard SEQUENCE OF NonStandardParameter OPTIONAL,
sessionID INTEGER(1..255) OPTIONAL,
mediaChannel TransportAddress OPTIONAL,
- mediaControlChannel TransportAddress OPTIONAL, -- forward RTCP channel
- dynamicRTPPayloadType INTEGER(96..127) OPTIONAL, -- used only by the master or MC
+ 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
@@ -1765,9 +1911,9 @@ RequestChannelCloseRelease ::= SEQUENCE {
...
}
--- ===================================================================================
+-- =============================================================================
-- H.223 multiplex table definitions
--- ===================================================================================
+-- =============================================================================
MultiplexEntrySend ::= SEQUENCE {
sequenceNumber SequenceNumber,
multiplexEntryDescriptors SET SIZE (1..15) OF MultiplexEntryDescriptor,
@@ -1786,10 +1932,8 @@ MultiplexElement ::= SEQUENCE {
subElementList SEQUENCE SIZE (2..255) OF MultiplexElement
},
repeatCount
- CHOICE {-- repeats of type
- finite INTEGER(1..65535),
- -- used for last element
- untilClosingFlag NULL}
+ CHOICE {finite INTEGER(1..65535), -- repeats of type--
+ untilClosingFlag -- used for last element -- NULL}
}
MultiplexTableEntryNumber ::= INTEGER(1..15)
@@ -1850,11 +1994,11 @@ RequestMultiplexEntryRelease ::= SEQUENCE {
...
}
--- ===================================================================================
+-- =============================================================================
-- Request mode definitions
--- ===================================================================================
--- RequestMode is a list, in order or preference, of modes that a terminal would like
--- to have transmitted to it.
+-- =============================================================================
+-- 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,
@@ -1883,9 +2027,9 @@ RequestModeReject ::= SEQUENCE {
RequestModeRelease ::= SEQUENCE {...
}
--- ===================================================================================
+-- =============================================================================
-- Request mode definitions: Mode description
--- ===================================================================================
+-- =============================================================================
ModeDescription ::= SET SIZE (1..256) OF ModeElement
ModeElementType ::= CHOICE {
@@ -1899,6 +2043,7 @@ ModeElementType ::= CHOICE {
multiplexedStreamMode MultiplexedStreamParameter,
redundancyEncodingDTMode RedundancyEncodingDTMode,
multiplePayloadStreamMode MultiplePayloadStreamMode,
+ depFecMode DepFECMode, -- deprecated, do not use
fecMode FECMode
}
@@ -1944,7 +2089,8 @@ RedundancyEncodingDTModeElement ::= SEQUENCE {
dataMode DataMode,
encryptionMode EncryptionMode,
h235Mode H235Mode,
- ...},
+ ...,
+ fecMode FECMode},
...
}
@@ -1957,7 +2103,8 @@ MultiplePayloadStreamElementMode ::= SEQUENCE {type ModeElementType,
...
}
-FECMode ::= CHOICE {
+DepFECMode ::= CHOICE -- deprecated, do not use
+ {
rfc2733Mode
SEQUENCE {mode
CHOICE {redundancyEncoding NULL,
@@ -1977,6 +2124,19 @@ FECMode ::= CHOICE {
...
}
+FECMode ::= SEQUENCE {
+ protectedElement ModeElementType,
+ fecScheme OBJECT IDENTIFIER OPTIONAL,
+ -- identifies encoding scheme
+ rfc2733Format
+ CHOICE {rfc2733rfc2198 MaxRedundancy, -- RFC2198 redundancy--
+ rfc2733sameport MaxRedundancy,
+ -- separate packet, same port
+ rfc2733diffport -- separate packet and port -- MaxRedundancy
+ } OPTIONAL,
+ ...
+}
+
H223ModeParameters ::= SEQUENCE {
adaptationLayerType
CHOICE {nonStandard NonStandardParameter,
@@ -1986,8 +2146,8 @@ H223ModeParameters ::= SEQUENCE {
al2WithSequenceNumbers NULL,
al3
SEQUENCE {controlFieldOctets INTEGER(0..2),
- -- units octets
- sendBufferSize INTEGER(0..16777215)},
+ sendBufferSize
+ -- units octets -- INTEGER(0..16777215)},
...,
al1M H223AL1MParameters,
al2M H223AL2MParameters,
@@ -2016,9 +2176,9 @@ RedundancyEncodingMode ::= SEQUENCE {
...
}
--- ===================================================================================
+-- =============================================================================
-- Request mode definitions: Video modes
--- ===================================================================================
+-- =============================================================================
VideoMode ::= CHOICE {
nonStandard NonStandardParameter,
h261VideoMode H261VideoMode,
@@ -2051,12 +2211,12 @@ H262VideoMode ::= SEQUENCE {
profileAndLevel-HPatH-14 NULL,
profileAndLevel-HPatHL NULL,
...},
- videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400bit/s
- vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16384bits
+ videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units 400 bit/s
+ vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units 16 384 bits
samplesPerLine INTEGER(0..16383) OPTIONAL, -- units samples/line
linesPerFrame INTEGER(0..16383) OPTIONAL, -- units lines/frame
framesPerSecond INTEGER(0..15) OPTIONAL, -- frame_rate_code
- luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec
+ luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/s
...
}
@@ -2082,18 +2242,28 @@ H263VideoMode ::= SEQUENCE {
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
+ videoBitRate INTEGER(0..1073741823) OPTIONAL, -- units
+
+ -- 400 bit/s
+ vbvBufferSize INTEGER(0..262143) OPTIONAL, -- units
+
+ -- 16 384 bits
+ samplesPerLine INTEGER(0..16383) OPTIONAL, -- units
+
+ -- samples/line
+ linesPerFrame INTEGER(0..16383) OPTIONAL, -- units
+
+ -- lines/frame
pictureRate INTEGER(0..15) OPTIONAL,
- luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units samples/sec
+ luminanceSampleRate INTEGER(0..4294967295) OPTIONAL, -- units
+
+ -- samples/s
...
}
--- ===================================================================================
+-- =============================================================================
-- Request mode definitions: Audio modes
--- ===================================================================================
+-- =============================================================================
AudioMode ::= CHOICE {
nonStandard NonStandardParameter,
g711Alaw64k NULL,
@@ -2138,7 +2308,7 @@ IS11172AudioMode ::= SEQUENCE {
CHOICE {singleChannel NULL,
twoChannelStereo NULL,
twoChannelDual NULL},
- bitRate INTEGER(1..448), --units kbit/s
+ bitRate INTEGER(1..448), -- units kbit/s
...
}
@@ -2167,7 +2337,7 @@ IS13818AudioMode ::= SEQUENCE {
fiveChannels3-2 NULL},
lowFrequencyEnhancement BOOLEAN,
multilingual BOOLEAN,
- bitRate INTEGER(1..1130), --units kbit/s
+ bitRate INTEGER(1..1130), -- units kbit/s
...
}
@@ -2189,9 +2359,9 @@ VBDMode ::= SEQUENCE {type AudioMode, -- shall not be "vbd"
...
}
--- ===================================================================================
+-- =============================================================================
-- Request mode definitions: Data modes
--- ===================================================================================
+-- =============================================================================
DataMode ::= SEQUENCE {
application
CHOICE {nonStandard NonStandardParameter,
@@ -2217,18 +2387,18 @@ DataMode ::= SEQUENCE {
...
}
--- ===================================================================================
+-- =============================================================================
-- Request mode definitions: Encryption modes
--- ===================================================================================
+-- =============================================================================
EncryptionMode ::= CHOICE {
nonStandard NonStandardParameter,
h233Encryption NULL,
...
}
--- ===================================================================================
+-- =============================================================================
-- Round Trip Delay definitions
--- ===================================================================================
+-- =============================================================================
RoundTripDelayRequest ::= SEQUENCE {sequenceNumber SequenceNumber,
...
}
@@ -2237,9 +2407,9 @@ RoundTripDelayResponse ::= SEQUENCE {sequenceNumber SequenceNumber,
...
}
--- ===================================================================================
+-- =============================================================================
-- Maintenance Loop definitions
--- ===================================================================================
+-- =============================================================================
MaintenanceLoopRequest ::= SEQUENCE {
type
CHOICE {systemLoop NULL,
@@ -2272,9 +2442,9 @@ MaintenanceLoopReject ::= SEQUENCE {
MaintenanceLoopOffCommand ::= SEQUENCE {...
}
--- ===================================================================================
+-- =============================================================================
-- Communication Mode definitions
--- ===================================================================================
+-- =============================================================================
CommunicationModeCommand ::= SEQUENCE {
communicationModeTable SET SIZE (1..256) OF CommunicationModeTableEntry,
...
@@ -2294,10 +2464,12 @@ CommunicationModeTableEntry ::= SEQUENCE {
associatedSessionID INTEGER(1..255) OPTIONAL,
terminalLabel TerminalLabel OPTIONAL, -- if not present,
- -- it refers to all participants
- -- in the conference
+ -- it refers to
+ -- all
+ -- participants in
+ -- the conference
sessionDescription BMPString(SIZE (1..128)),
- -- Basic ISO/IEC 10646-1 (Unicode)
+ -- Basic ISO/IEC 10646-1 (Unicode)
dataType
CHOICE {videoData VideoCapability,
audioData AudioCapability,
@@ -2305,7 +2477,8 @@ CommunicationModeTableEntry ::= SEQUENCE {
...},
mediaChannel TransportAddress OPTIONAL,
mediaGuaranteedDelivery BOOLEAN OPTIONAL,
- mediaControlChannel TransportAddress OPTIONAL, -- reverse RTCP channel
+ mediaControlChannel TransportAddress OPTIONAL,
+ -- reverse RTCP channel
mediaControlGuaranteedDelivery BOOLEAN OPTIONAL,
...,
redundancyEncoding RedundancyEncoding OPTIONAL,
@@ -2313,9 +2486,9 @@ CommunicationModeTableEntry ::= SEQUENCE {
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)
@@ -2346,7 +2519,9 @@ ConferenceRequest ::= CHOICE {
CertSelectionCriteria ::= SEQUENCE SIZE (1..16) OF Criteria
Criteria ::= SEQUENCE {
- field OBJECT IDENTIFIER, -- may include certificate type
+ field OBJECT IDENTIFIER, -- may include
+
+ -- certificate type
value OCTET STRING(SIZE (1..65535)),
...
}
@@ -2361,50 +2536,50 @@ 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,
- ...
- },
+ 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,
- ...},
+ 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,
- ...},
+ 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,
- ...},
+ 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--
- ...},
+ 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)--
- ...},
+ 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,
- ...},
+ 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,
@@ -2443,9 +2618,9 @@ TerminalInformation ::= SEQUENCE {
...
}
--- ===================================================================================
+-- =============================================================================
-- Remote MC Request definitions
--- ===================================================================================
+-- =============================================================================
RemoteMCRequest ::= CHOICE {
masterActivate NULL,
slaveActivate NULL,
@@ -2461,9 +2636,9 @@ RemoteMCResponse ::= CHOICE {
...
}
--- ===================================================================================
+-- =============================================================================
-- Multilink definitions
--- ===================================================================================
+-- =============================================================================
MultilinkRequest ::= CHOICE {
nonStandard NonStandardMessage,
callInformation
@@ -2479,7 +2654,9 @@ MultilinkRequest ::= CHOICE {
maximumHeaderInterval
SEQUENCE {requestType
CHOICE {currentIntervalInformation NULL,
- requestedInterval INTEGER(0..65535), -- Max Header Interval, milliseconds--
+ requestedInterval INTEGER(0..65535), -- Max Header --
+ -- Interval,
+ -- milliseconds
...},
...},
...
@@ -2505,7 +2682,9 @@ MultilinkResponse ::= CHOICE {
SEQUENCE {connectionIdentifier ConnectionIdentifier,
...},
maximumHeaderInterval
- SEQUENCE {currentInterval INTEGER(0..65535), -- Max Header Interval, milliseconds--
+ SEQUENCE {currentInterval INTEGER(0..65535), -- Max Header --
+ -- Interval,
+ -- milliseconds
...},
...
}
@@ -2521,9 +2700,12 @@ MultilinkIndication ::= CHOICE {
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
+ -- 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
...
}
@@ -2548,9 +2730,9 @@ ConnectionIdentifier ::= SEQUENCE {
...
}
--- ===================================================================================
+-- =============================================================================
-- Logical channel bit-rate change definitions
--- ===================================================================================
+-- =============================================================================
MaximumBitRate ::= INTEGER(0..4294967295) -- units of 100 bit/s
@@ -2585,12 +2767,12 @@ LogicalChannelRateRejectReason ::= CHOICE {
LogicalChannelRateRelease ::= SEQUENCE {...
}
--- ===================================================================================
+-- =============================================================================
-- Command Message definitions
--- ===================================================================================
--- ===================================================================================
--- Command Message : Send Terminal Capability Set
--- ===================================================================================
+-- =============================================================================
+-- =============================================================================
+-- Command Message: Send Terminal Capability Set
+-- =============================================================================
SendTerminalCapabilitySet ::= CHOICE {
specificRequest
SEQUENCE {multiplexCapability BOOLEAN,
@@ -2603,11 +2785,13 @@ SendTerminalCapabilitySet ::= CHOICE {
...
}
--- ===================================================================================
--- Command Message : Encryption
--- ===================================================================================
+-- =============================================================================
+-- Command Message: Encryption
+-- =============================================================================
EncryptionCommand ::= CHOICE {
- encryptionSE OCTET STRING, -- per H.233, but no error protection
+ encryptionSE OCTET STRING, -- per H.233, but no
+
+ -- error protection
encryptionIVRequest NULL, -- requests new IV
encryptionAlgorithmID
SEQUENCE {h233AlgorithmIdentifier SequenceNumber,
@@ -2615,9 +2799,9 @@ EncryptionCommand ::= CHOICE {
...
}
--- ===================================================================================
--- Command Message : Flow Control
--- ===================================================================================
+-- =============================================================================
+-- Command Message: Flow Control
+-- =============================================================================
FlowControlCommand ::= SEQUENCE {
scope
CHOICE {logicalChannelNumber LogicalChannelNumber,
@@ -2629,12 +2813,12 @@ FlowControlCommand ::= SEQUENCE {
...
}
--- ===================================================================================
--- Command Message : Change or End Session
--- ===================================================================================
+-- =============================================================================
+-- Command Message: Change or End Session
+-- =============================================================================
EndSessionCommand ::= CHOICE {
- nonStandard NonStandardParameter,
- disconnect NULL,
+ nonStandard NonStandardParameter,
+ disconnect NULL,
gstnOptions
CHOICE {telephonyMode NULL,
v8bis NULL,
@@ -2647,19 +2831,28 @@ EndSessionCommand ::= CHOICE {
CHOICE {telephonyMode NULL,
v140 NULL,
terminalOnHold NULL,
- ...}
+ ...},
+ genericInformation
+ -- generic information associated with the message -- SEQUENCE OF
+ GenericInformation
}
--- ===================================================================================
--- Command Message : Conference Commands
--- ===================================================================================
+-- =============================================================================
+-- Command Message: Conference Commands
+-- =============================================================================
ConferenceCommand ::= CHOICE {
broadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 MCV
- cancelBroadcastMyLogicalChannel LogicalChannelNumber, -- similar to H.230 Cancel-MCV
+ cancelBroadcastMyLogicalChannel LogicalChannelNumber, -- similar to
+
+ -- H.230 Cancel-MCV
makeTerminalBroadcaster TerminalLabel, -- same as H.230 VCB
- cancelMakeTerminalBroadcaster NULL, -- same as H.230 Cancel-VCB
+ cancelMakeTerminalBroadcaster NULL, -- same as H.230
+
+ -- Cancel-VCB
sendThisSource TerminalLabel, -- same as H.230 VCS
- cancelSendThisSource NULL, -- same as H.230 cancel VCS
+ cancelSendThisSource NULL, -- same as H.230
+
+ -- cancel VCS
dropConference NULL, -- same as H.230 CCK
...,
substituteConferenceIDCommand SubstituteConferenceIDCommand
@@ -2670,9 +2863,9 @@ SubstituteConferenceIDCommand ::= SEQUENCE {
...
}
--- ===================================================================================
--- Command Message : Miscellaneous H.230-like commands
--- ===================================================================================
+-- =============================================================================
+-- Command Message: Miscellaneous H.230-like commands
+-- =============================================================================
EncryptionUpdateDirection ::= CHOICE {
masterToSlave NULL,
slaveToMaster NULL,
@@ -2728,14 +2921,14 @@ MiscellaneousCommand ::= SEQUENCE {
...},
recoveryReferencePicture SEQUENCE OF PictureReference,
encryptionUpdateCommand
- SEQUENCE-- for ack'ed key update in H.235V3-- {encryptionSync
-
- EncryptionSync,
- multiplePayloadStream
-
- MultiplePayloadStream
- OPTIONAL,
- ...},
+ SEQUENCE-- for ack'ed key update in H.235V3 -- {encryptionSync
+
+ EncryptionSync,
+ multiplePayloadStream
+
+ MultiplePayloadStream
+ OPTIONAL,
+ ...},
encryptionUpdateAck
SEQUENCE {synchFlag INTEGER(0..255),
...}},
@@ -2744,7 +2937,7 @@ MiscellaneousCommand ::= SEQUENCE {
}
KeyProtectionMethod ::=
- SEQUENCE -- specify how the new key is to be protected
+ SEQUENCE -- specify how the new key is to be protected
{
secureChannel BOOLEAN,
sharedSecret BOOLEAN,
@@ -2764,9 +2957,9 @@ PictureReference ::= CHOICE {
...
}
--- ===================================================================================
--- Command Message : H.223 Multiplex Reconfiguration
--- ===================================================================================
+-- =============================================================================
+-- Command Message: H.223 Multiplex Reconfiguration
+-- =============================================================================
H223MultiplexReconfiguration ::= CHOICE {
h223ModeChange
CHOICE {toLevel0 NULL,
@@ -2780,9 +2973,9 @@ H223MultiplexReconfiguration ::= CHOICE {
...
}
--- ===================================================================================
--- Command Message : New ATM virtual channel command
--- ===================================================================================
+-- =============================================================================
+-- Command Message: New ATM virtual channel command
+-- =============================================================================
NewATMVCCommand ::= SEQUENCE {
resourceID INTEGER(0..65535),
bitRate INTEGER(1..65535), -- units 64 kbit/s
@@ -2827,9 +3020,9 @@ NewATMVCCommand ::= SEQUENCE {
...
}
--- ===================================================================================
--- Command Message : Mobile Multilink Reconfiguration command
--- ===================================================================================
+-- =============================================================================
+-- Command Message: Mobile Multilink Reconfiguration command
+-- =============================================================================
MobileMultilinkReconfigurationCommand ::= SEQUENCE {
sampleSize INTEGER(1..255),
samplesPerFrame INTEGER(1..255),
@@ -2839,12 +3032,12 @@ MobileMultilinkReconfigurationCommand ::= SEQUENCE {
...
}
--- ===================================================================================
+-- =============================================================================
-- Indication Message definitions
--- ===================================================================================
--- ===================================================================================
--- Indication Message : Function not understood
--- ===================================================================================
+-- =============================================================================
+-- =============================================================================
+-- Indication Message: Function not understood
+-- =============================================================================
-- This is used to return a request, response or command that is not understood
FunctionNotUnderstood ::= CHOICE {
request RequestMessage,
@@ -2852,10 +3045,11 @@ FunctionNotUnderstood ::= CHOICE {
command CommandMessage
}
--- ===================================================================================
--- Indication Message : Function not Supported
--- ===================================================================================
--- This is used to return a complete request, response or command that is not recognized
+-- =============================================================================
+-- 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,
@@ -2866,9 +3060,9 @@ FunctionNotSupported ::= SEQUENCE {
...
}
--- ===================================================================================
--- Indication Message : Conference
--- ===================================================================================
+-- =============================================================================
+-- Indication Message: Conference
+-- =============================================================================
ConferenceIndication ::= CHOICE {
sbeNumber INTEGER(0..9), -- same as H.230 SBE Number
terminalNumberAssign TerminalLabel, -- same as H.230 TIA
@@ -2881,12 +3075,8 @@ ConferenceIndication ::= CHOICE {
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
+ withdrawChairToken NULL, -- same as H.230 CCR MC-> chair
+ floorRequested TerminalLabel, -- same as H.230 TIF MC-> chair
terminalYouAreSeeingInSubPictureNumber
TerminalYouAreSeeingInSubPictureNumber,
videoIndicateCompose VideoIndicateCompose
@@ -2902,9 +3092,9 @@ VideoIndicateCompose ::= SEQUENCE {compositionNumber INTEGER(0..255),
...
}
--- ===================================================================================
--- Indication Message : Miscellaneous H.230-like indication
--- ===================================================================================
+-- =============================================================================
+-- Indication Message: Miscellaneous H.230-like indication
+-- =============================================================================
MiscellaneousIndication ::= SEQUENCE {
logicalChannelNumber LogicalChannelNumber,
type
@@ -2917,7 +3107,8 @@ MiscellaneousIndication ::= SEQUENCE {
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--
+ videoTemporalSpatialTradeOff INTEGER(0..31), -- indicates current --
+ -- trade-off
...,
videoNotDecodedMBs
SEQUENCE {firstMB INTEGER(1..8192),
@@ -2928,9 +3119,9 @@ MiscellaneousIndication ::= SEQUENCE {
...
}
--- ===================================================================================
--- Indication Message : Jitter Indication
--- ===================================================================================
+-- =============================================================================
+-- Indication Message: Jitter Indication
+-- =============================================================================
JitterIndication ::= SEQUENCE {
scope
CHOICE {logicalChannelNumber LogicalChannelNumber,
@@ -2939,13 +3130,14 @@ JitterIndication ::= SEQUENCE {
estimatedReceivedJitterMantissa INTEGER(0..3),
estimatedReceivedJitterExponent INTEGER(0..7),
skippedFrameCount INTEGER(0..15) OPTIONAL,
- additionalDecoderBuffer INTEGER(0..262143) OPTIONAL, -- 262143 is 2^18 - 1
+ additionalDecoderBuffer INTEGER(0..262143) OPTIONAL,
+ -- 262143 is 2^18 - 1
...
}
--- ===================================================================================
--- Indication Message : H.223 logical channel skew
--- ===================================================================================
+-- =============================================================================
+-- Indication Message: H.223 logical channel skew
+-- =============================================================================
H223SkewIndication ::= SEQUENCE {
logicalChannelNumber1 LogicalChannelNumber,
logicalChannelNumber2 LogicalChannelNumber,
@@ -2953,9 +3145,9 @@ H223SkewIndication ::= SEQUENCE {
...
}
--- ===================================================================================
+-- =============================================================================
-- Indication Message : H.225.0 maximum logical channel skew
--- ===================================================================================
+-- =============================================================================
H2250MaximumSkewIndication ::= SEQUENCE {
logicalChannelNumber1 LogicalChannelNumber,
logicalChannelNumber2 LogicalChannelNumber,
@@ -2963,30 +3155,33 @@ H2250MaximumSkewIndication ::= SEQUENCE {
...
}
--- ===================================================================================
--- Indication Message : MC Location Indication
--- ===================================================================================
+-- =============================================================================
+-- Indication Message: MC Location Indication
+-- =============================================================================
MCLocationIndication ::= SEQUENCE {
- signalAddress TransportAddress, -- this is the H.323 Call Signalling
+ signalAddress TransportAddress, -- this is the
- -- address of the entity which
- -- contains the MC
+ -- H.323 Call Signalling
+ -- address of the entity
+ -- which contains the MC
...
}
--- ===================================================================================
--- Indication Message : Vendor Identification
--- ===================================================================================
+-- =============================================================================
+-- 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
+ 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
--- ===================================================================================
+-- =============================================================================
+-- Indication Message: New ATM virtual channel indication
+-- =============================================================================
NewATMVCIndication ::= SEQUENCE {
resourceID INTEGER(0..65535),
bitRate INTEGER(1..65535), -- units 64 kbit/s
@@ -3031,16 +3226,16 @@ NewATMVCIndication ::= SEQUENCE {
...}
}
--- ===================================================================================
--- Indication Message : user input
--- ===================================================================================
-IV8 ::= OCTET STRING(SIZE (8)) -- initial value for
-
+-- =============================================================================
+-- Indication Message: User input
+-- =============================================================================
+IV8 ::= OCTET STRING(SIZE (8))
+-- initial value for
-- 64-bit block ciphers
-IV16 ::= OCTET STRING(SIZE (16)) -- initial value for
-
+IV16 ::= OCTET STRING(SIZE (16))
+-- initial value for
-- 128-bit block ciphers
Params ::= SEQUENCE {
iv8 IV8 OPTIONAL, -- 8 octet initialization vector
@@ -3057,24 +3252,21 @@ UserInputIndication ::= CHOICE {
...,
userInputSupportIndication
CHOICE {nonStandard NonStandardParameter,
- -- indicates unsecured basic string
- basicString NULL,
- -- indicates unsecured iA5 string
- iA5String NULL,
- -- indicates unsecured general string
- generalString NULL,
+ basicString NULL, -- indicates unsecured basic string--
+ iA5String NULL, -- indicates unsecured iA5 string--
+ generalString NULL, -- indicates unsecured general string--
...,
- -- indicates encrypted Basic string
- encryptedBasicString NULL,
- -- indicates encrypted IA5 string
- encryptedIA5String NULL,
- -- indicates encrypted general string
- encryptedGeneralString NULL},
+ encryptedBasicString NULL, -- indicates encrypted Basic string--
+ encryptedIA5String NULL, -- indicates encrypted IA5 string--
+ encryptedGeneralString NULL -- indicates encrypted general string
+ },
signal
SEQUENCE {signalType
IA5String(SIZE (1) ^ FROM ("0123456789#*ABCD!")),
- -- holds dummy "!" if encryptedSignalType is being used
- duration INTEGER(1..65535) OPTIONAL, -- milliseconds--
+ -- holds dummy "!" if encryptedSignalType
+ -- is being used
+ duration INTEGER(1..65535) OPTIONAL,
+ -- milliseconds
rtp
SEQUENCE {timestamp INTEGER(0..4294967295) OPTIONAL,
expirationTime INTEGER(0..4294967295) OPTIONAL,
@@ -3082,11 +3274,10 @@ UserInputIndication ::= CHOICE {
...} OPTIONAL,
...,
rtpPayloadIndication NULL OPTIONAL,
- -- any "runtime" parameters
- paramS Params OPTIONAL,
+ paramS Params OPTIONAL, -- any "runtime" parameters--
+ encryptedSignalType OCTET STRING(SIZE (1)) OPTIONAL,
-- encrypted signalType
- encryptedSignalType OCTET STRING(SIZE (1)) OPTIONAL
- },
+ algorithmOID OBJECT IDENTIFIER OPTIONAL},
signalUpdate
SEQUENCE {duration INTEGER(1..65535), -- milliseconds--
rtp
@@ -3095,7 +3286,8 @@ UserInputIndication ::= CHOICE {
...},
extendedAlphanumeric
SEQUENCE {alphanumeric GeneralString, -- holds empty string if--
- -- encryptedAlphanumeric is being used
+ -- encryptedAlphanumeric is
+ -- being used
rtpPayloadIndication NULL OPTIONAL,
...,
encryptedAlphanumeric
@@ -3107,26 +3299,29 @@ UserInputIndication ::= CHOICE {
SEQUENCE {algorithmOID OBJECT IDENTIFIER,
paramS Params OPTIONAL, -- any "runtime" parameters--
encrypted OCTET STRING, -- basic string encrypted--
- ...}
+ ...},
+ genericInformation
+ -- generic information associated with the message -- SEQUENCE OF
+ GenericInformation
}
--- ===================================================================================
--- Indication Message : Flow Control
--- ===================================================================================
+-- =============================================================================
+-- Indication Message: Flow Control
+-- =============================================================================
FlowControlIndication ::= SEQUENCE {
scope
CHOICE {logicalChannelNumber LogicalChannelNumber,
resourceID INTEGER(0..65535),
wholeMultiplex NULL},
restriction
- CHOICE {maximumBitRate INTEGER(0..16777215), -- units 100 bit/s --
+ CHOICE {maximumBitRate INTEGER(0..16777215), -- units 100 bit/s--
noRestriction NULL},
...
}
--- ===================================================================================
--- Indication Message : Mobile Multilink Reconfiguration indication
--- ===================================================================================
+-- =============================================================================
+-- Indication Message: Mobile Multilink Reconfiguration indication
+-- =============================================================================
MobileMultilinkReconfigurationIndication ::= SEQUENCE {
sampleSize INTEGER(1..255),
samplesPerFrame INTEGER(1..255),
diff --git a/asn1/h245/h245.cnf b/asn1/h245/h245.cnf
index 1bc3e729a4..663186c2a3 100644
--- a/asn1/h245/h245.cnf
+++ b/asn1/h245/h245.cnf
@@ -19,11 +19,14 @@ Application DataApplicationCapability/application
Nlpid Application/nlpid DataMode/application/nlpid
Al3 H223LogicalChannelParameters/adaptationLayerType/al3 H223ModeParameters/adaptationLayerType/al3
ArqType H223AL1MParameters/arqType H223AL3MParameters/arqType
-SeparateStream FECData/rfc2733/mode/separateStream FECMode/rfc2733Mode/mode/separateStream
Restriction FlowControlCommand/restriction FlowControlIndication/restriction
Scope FlowControlCommand/scope FlowControlIndication/scope JitterIndication/scope
EncryptedAlphanumeric UserInputIndication/extendedAlphanumeric/encryptedAlphanumeric UserInputIndication/encryptedAlphanumeric
+DepSeparateStream DepFECData/rfc2733/mode/separateStream DepFECMode/rfc2733Mode/mode/separateStream
+
+Rfc2733Format FECCapability/rfc2733Format FECMode/rfc2733Format
+
#----------------------------------------------------------------------------------------
#.FN_BODY MultiplexEntryDescriptor
/*MultiplexEntryDescriptor*/
@@ -501,10 +504,10 @@ EncryptedAlphanumeric UserInputIndication/extendedAlphanumeric/encryptedAlphanu
h245_lc_dissector = amr_handle;
#.END
#----------------------------------------------------------------------------------------
-#.FN_HDR GenericMessage/subMessageIdentifer
+#.FN_HDR GenericMessage/subMessageIdentifier
guint32 subMessageIdentifer;
-#.FN_PARS GenericMessage/subMessageIdentifer
+#.FN_PARS GenericMessage/subMessageIdentifier
VAL_PTR = &subMessageIdentifer
#.END
#----------------------------------------------------------------------------------------
@@ -763,7 +766,7 @@ AudioMode/g7231 Mode_g7231
DataMode/application DataModeApplication
DataMode/application/t38fax T38faxApp
-FECData/rfc2733 RFC2733Data
+DepFECData/rfc2733 RFC2733Data
IS13818AudioMode/audioLayer IS13818AudioLayer
IS13818AudioMode/audioSampling IS13818AudioSampling
@@ -802,12 +805,12 @@ MaintenanceLoopReject/type Mlrej_type
MiscellaneousCommand/type Mc_type
MiscellaneousIndication/type Mi_type
V76LogicalChannelParameters/mode V76LCP_mode
-FECData/rfc2733/mode FECdata_mode
-FECMode/rfc2733Mode/mode FEC_mode
+DepFECData/rfc2733/mode FECdata_mode
+DepFECMode/rfc2733Mode/mode FEC_mode
IS11172AudioMode/multichannelType IS11172_multichannelType
MultiplexElement/repeatCount/finite ME_finiteRepeatCount
MultiplexElement/repeatCount ME_repeatCount
-FECCapability/rfc2733 FECC_rfc2733
+DepFECCapability/rfc2733 FECC_rfc2733
RequestModeAck/response Req_mode_ack_response
UserInputIndication/signalUpdate/rtp Si_rtp
UnicastAddress/iPAddress/tsapIdentifier TsapIdentifier
@@ -953,8 +956,8 @@ MultiplexEntrySendRelease/multiplexTableEntryNumber multiplexTableEntryNumbers
CapabilityIdentifier/standard standardOid
MiscellaneousIndication/type/videoNotDecodedMBs/temporalReference temporalReference_0_255
CloseLogicalChannel/source cLC_source
-FECCapability/rfc2733/separateStream separateStreamBool
-FECCapability/rfc2733/separateStream/samePort samePortBool
+DepFECCapability/rfc2733/separateStream separateStreamBool
+DepFECCapability/rfc2733/separateStream/samePort samePortBool
VCCapability/aal1/srtsClockRecovery srtsClockRecovery_bool
VCCapability/aal1ViaGateway/srtsClockRecovery srtsClockRecoveryflag
DataMode/application/t84 t84DataProtocolCapability
@@ -1014,9 +1017,10 @@ H223AL1MParameters/headerFEC aL1HeaderFEC
H223AL1MParameters/crcLength crcLength2
H223AL3MParameters/crcLength crlength2
SendTerminalCapabilitySet/specificRequest/multiplexCapability multiplexCapabilityBool
-FECCapability/rfc2733/redundancyEncoding redundancyEncodingBool
-FECData/rfc2733/mode/redundancyEncoding redundancyEncodingFlag
-FECMode/rfc2733Mode/mode/redundancyEncoding redundancyEncodingFlag
+DepFECCapability/rfc2733/redundancyEncoding redundancyEncodingBool
+DepFECData/rfc2733/mode/redundancyEncoding redundancyEncodingFlag
+DepFECMode/rfc2733Mode/mode/redundancyEncoding redundancyEncodingFlag
+ParameterValue/genericParameter genericParameters
H261VideoCapability/qcifMPI qcifMPI_1_4
CustomPictureClockFrequency/qcifMPI qcifMPI_1_2048
@@ -1034,8 +1038,11 @@ FunctionNotSupported/cause fns_cause
Restriction/maximumBitRate res_maximumBitRate
RedundancyEncodingDTMode/primary prmary_dtmode
RedundancyEncoding/rtpRedundancyEncoding/primary primary
-FECMode/rfc2733Mode/mode fec_mode
-FECData/rfc2733/mode fec_data_mode
+DepFECData/rfc2733 dep_rfc2733
+DepFECMode/rfc2733Mode/mode fec_mode
+DepFECData/rfc2733/mode fec_data_mode
+FECData/rfc2733/pktMode/rfc2733sameport mode_rfc2733sameport
+FECData/rfc2733/pktMode/rfc2733diffport mode_rfc2733diffport
V76LogicalChannelParameters/mode v76_mode
OpenLogicalChannelAck/reverseLogicalChannelParameters/multiplexParameters olc_ack_multiplexParameters
OpenLogicalChannel/forwardLogicalChannelNumber olc_fw_lcn
@@ -1046,7 +1053,7 @@ IS11172AudioMode/multichannelType is11172multichannelType
IS13818AudioMode/multichannelType is13818MultichannelType
CloseLogicalChannel/reason clc_reason
MultiplexElement/repeatCount me_repeatCount
-FECCapability/rfc2733 fecc_rfc2733
+DepFECCapability/rfc2733 fecc_rfc2733
RequestModeAck/response req_mode_ack_response
UserInputIndication/signalUpdate/rtp si_rtp
VCCapability/availableBitRates/type avb_type
diff --git a/epan/dissectors/packet-h245.c b/epan/dissectors/packet-h245.c
index 0bbb45a33c..8cec9ece76 100644
--- a/epan/dissectors/packet-h245.c
+++ b/epan/dissectors/packet-h245.c
@@ -367,7 +367,7 @@ static int hf_h245_flowControlIndication = -1; /* FlowControlIndication */
static int hf_h245_mobileMultilinkReconfigurationIndication = -1; /* MobileMultilinkReconfigurationIndication */
static int hf_h245_genericIndication = -1; /* GenericMessage */
static int hf_h245_messageIdentifier = -1; /* CapabilityIdentifier */
-static int hf_h245_subMessageIdentifer = -1; /* T_subMessageIdentifer */
+static int hf_h245_subMessageIdentifier = -1; /* T_subMessageIdentifier */
static int hf_h245_messageContent = -1; /* SEQUENCE_OF_GenericParameter */
static int hf_h245_messageContent_item = -1; /* GenericParameter */
static int hf_h245_nonStandardData = -1; /* NonStandardParameter */
@@ -392,6 +392,8 @@ static int hf_h245_capabilityTable = -1; /* SET_SIZE_1_256_OF_Capabilit
static int hf_h245_capabilityTable_item = -1; /* CapabilityTableEntry */
static int hf_h245_capabilityDescriptors = -1; /* SET_SIZE_1_256_OF_CapabilityDescriptor */
static int hf_h245_capabilityDescriptors_item = -1; /* CapabilityDescriptor */
+static int hf_h245_genericInformation = -1; /* SEQUENCE_OF_GenericInformation */
+static int hf_h245_genericInformation_item = -1; /* GenericInformation */
static int hf_h245_capabilityTableEntryNumber = -1; /* CapabilityTableEntryNumber */
static int hf_h245_capability = -1; /* Capability */
static int hf_h245_capabilityDescriptorNumber = -1; /* CapabilityDescriptorNumber */
@@ -430,8 +432,11 @@ static int hf_h245_transmitMultiplexedStreamCapability = -1; /* MultiplexedStre
static int hf_h245_receiveAndTransmitMultiplexedStreamCapability = -1; /* MultiplexedStreamCapability */
static int hf_h245_receiveRTPAudioTelephonyEventCapability = -1; /* AudioTelephonyEventCapability */
static int hf_h245_receiveRTPAudioToneCapability = -1; /* AudioToneCapability */
-static int hf_h245_fecCapability = -1; /* FECCapability */
+static int hf_h245_depFecCapability = -1; /* DepFECCapability */
static int hf_h245_multiplePayloadStreamCapability = -1; /* MultiplePayloadStreamCapability */
+static int hf_h245_fecCapability = -1; /* FECCapability */
+static int hf_h245_redundancyEncodingCap = -1; /* RedundancyEncodingCapability */
+static int hf_h245_oneOfCapabilities = -1; /* AlternativeCapabilitySet */
static int hf_h245_encryptionAuthenticationAndIntegrity = -1; /* EncryptionAuthenticationAndIntegrity */
static int hf_h245_mediaCapability = -1; /* CapabilityTableEntryNumber */
static int hf_h245_h222Capability = -1; /* H222Capability */
@@ -908,6 +913,7 @@ static int hf_h245_t38TCPBidirectionalMode = -1; /* BOOLEAN */
static int hf_h245_encryptionCapability = -1; /* EncryptionCapability */
static int hf_h245_authenticationCapability = -1; /* AuthenticationCapability */
static int hf_h245_integrityCapability = -1; /* IntegrityCapability */
+static int hf_h245_genericH235SecurityCapability = -1; /* GenericCapability */
static int hf_h245_EncryptionCapability_item = -1; /* MediaEncryptionAlgorithm */
static int hf_h245_algorithm = -1; /* OBJECT_IDENTIFIER */
static int hf_h245_antiSpamAlgorithm = -1; /* OBJECT_IDENTIFIER */
@@ -923,6 +929,7 @@ static int hf_h245_encryptedBasicString = -1; /* NULL */
static int hf_h245_encryptedIA5String = -1; /* NULL */
static int hf_h245_encryptedGeneralString = -1; /* NULL */
static int hf_h245_secureDTMF = -1; /* NULL */
+static int hf_h245_genericUserInputCapability = -1; /* GenericCapability */
static int hf_h245_nonStandardParams = -1; /* SEQUENCE_OF_NonStandardParameter */
static int hf_h245_nonStandardParams_item = -1; /* NonStandardParameter */
static int hf_h245_chairControlCapability = -1; /* BOOLEAN */
@@ -951,8 +958,8 @@ static int hf_h245_unsignedMax = -1; /* INTEGER_0_65535 */
static int hf_h245_unsigned32Min = -1; /* INTEGER_0_4294967295 */
static int hf_h245_unsigned32Max = -1; /* INTEGER_0_4294967295 */
static int hf_h245_octetString = -1; /* OCTET_STRING */
-static int hf_h245_genericParameter = -1; /* SEQUENCE_OF_GenericParameter */
-static int hf_h245_genericParameter_item = -1; /* GenericParameter */
+static int hf_h245_genericParameters = -1; /* SEQUENCE_OF_GenericParameter */
+static int hf_h245_genericParameters_item = -1; /* GenericParameter */
static int hf_h245_multiplexFormat = -1; /* MultiplexFormat */
static int hf_h245_controlOnMuxStream = -1; /* BOOLEAN */
static int hf_h245_capabilityOnMuxStream = -1; /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
@@ -966,6 +973,12 @@ static int hf_h245_redundancyEncodingBool = -1; /* BOOLEAN */
static int hf_h245_separateStreamBool = -1; /* T_separateStreamBool */
static int hf_h245_separatePort = -1; /* BOOLEAN */
static int hf_h245_samePortBool = -1; /* BOOLEAN */
+static int hf_h245_protectedCapability = -1; /* CapabilityTableEntryNumber */
+static int hf_h245_fecScheme = -1; /* OBJECT_IDENTIFIER */
+static int hf_h245_rfc2733rfc2198 = -1; /* MaxRedundancy */
+static int hf_h245_rfc2733sameport = -1; /* MaxRedundancy */
+static int hf_h245_rfc2733diffport = -1; /* MaxRedundancy */
+static int hf_h245_rfc2733Format = -1; /* Rfc2733Format */
static int hf_h245_olc_fw_lcn = -1; /* OLC_fw_lcn */
static int hf_h245_forwardLogicalChannelParameters = -1; /* T_forwardLogicalChannelParameters */
static int hf_h245_portNumber = -1; /* INTEGER_0_65535 */
@@ -1011,6 +1024,7 @@ static int hf_h245_h235Media = -1; /* H235Media */
static int hf_h245_multiplexedStream = -1; /* MultiplexedStreamParameter */
static int hf_h245_redundancyEncoding = -1; /* RedundancyEncoding */
static int hf_h245_multiplePayloadStream = -1; /* MultiplePayloadStream */
+static int hf_h245_depFec = -1; /* DepFECData */
static int hf_h245_fec = -1; /* FECData */
static int hf_h245_mediaType = -1; /* T_mediaType */
static int hf_h245_resourceID = -1; /* INTEGER_0_65535 */
@@ -1100,14 +1114,20 @@ static int hf_h245_secondary = -1; /* SEQUENCE_OF_RedundancyEncod
static int hf_h245_secondary_item = -1; /* RedundancyEncodingElement */
static int hf_h245_elements = -1; /* SEQUENCE_OF_MultiplePayloadStreamElement */
static int hf_h245_elements_item = -1; /* MultiplePayloadStreamElement */
-static int hf_h245_rfc2733 = -1; /* RFC2733Data */
+static int hf_h245_dep_rfc2733 = -1; /* RFC2733Data */
static int hf_h245_fec_data_mode = -1; /* FECdata_mode */
static int hf_h245_redundancyEncodingFlag = -1; /* NULL */
static int hf_h245_differentPort = -1; /* T_differentPort */
static int hf_h245_protectedSessionID = -1; /* INTEGER_1_255 */
static int hf_h245_protectedPayloadType = -1; /* INTEGER_0_127 */
static int hf_h245_samePort = -1; /* T_samePort */
-static int hf_h245_separateStream = -1; /* SeparateStream */
+static int hf_h245_separateStream = -1; /* DepSeparateStream */
+static int hf_h245_rfc2733 = -1; /* T_rfc2733 */
+static int hf_h245_pktMode = -1; /* T_pktMode */
+static int hf_h245_rfc2198coding = -1; /* NULL */
+static int hf_h245_mode_rfc2733sameport = -1; /* T_mode_rfc2733sameport */
+static int hf_h245_mode_rfc2733diffport = -1; /* T_mode_rfc2733diffport */
+static int hf_h245_protectedChannel = -1; /* LogicalChannelNumber */
static int hf_h245_unicastAddress = -1; /* UnicastAddress */
static int hf_h245_multicastAddress = -1; /* MulticastAddress */
static int hf_h245_iPAddress = -1; /* T_iPAddress */
@@ -1141,6 +1161,7 @@ static int hf_h245_synchFlag = -1; /* INTEGER_0_255 */
static int hf_h245_h235Key = -1; /* OCTET_STRING_SIZE_1_65535 */
static int hf_h245_escrowentry = -1; /* SEQUENCE_SIZE_1_256_OF_EscrowData */
static int hf_h245_escrowentry_item = -1; /* EscrowData */
+static int hf_h245_genericParameter = -1; /* GenericParameter */
static int hf_h245_escrowID = -1; /* OBJECT_IDENTIFIER */
static int hf_h245_escrowValue = -1; /* BIT_STRING_SIZE_1_65535 */
static int hf_h245_olc_ack_fw_lcn = -1; /* OLC_ack_fw_lcn */
@@ -1164,6 +1185,7 @@ static int hf_h245_masterSlaveConflict = -1; /* NULL */
static int hf_h245_waitForCommunicationMode = -1; /* NULL */
static int hf_h245_invalidDependentChannel = -1; /* NULL */
static int hf_h245_replacementForRejected = -1; /* NULL */
+static int hf_h245_securityDenied = -1; /* NULL */
static int hf_h245_sessionID = -1; /* INTEGER_1_255 */
static int hf_h245_ack_mediaChannel = -1; /* Ack_mediaChannel */
static int hf_h245_ack_mediaControlChannel = -1; /* Ack_mediaControlChannel */
@@ -1221,6 +1243,7 @@ static int hf_h245_h235Mode = -1; /* H235Mode */
static int hf_h245_multiplexedStreamMode = -1; /* MultiplexedStreamParameter */
static int hf_h245_redundancyEncodingDTMode = -1; /* RedundancyEncodingDTMode */
static int hf_h245_multiplePayloadStreamMode = -1; /* MultiplePayloadStreamMode */
+static int hf_h245_depFecMode = -1; /* DepFECMode */
static int hf_h245_fecMode = -1; /* FECMode */
static int hf_h245_type = -1; /* ModeElementType */
static int hf_h245_h223ModeParameters = -1; /* H223ModeParameters */
@@ -1238,6 +1261,7 @@ static int hf_h245_mpsmElements = -1; /* SEQUENCE_OF_MultiplePayload
static int hf_h245_mpsmElements_item = -1; /* MultiplePayloadStreamElementMode */
static int hf_h245_rfc2733Mode = -1; /* T_rfc2733Mode */
static int hf_h245_fec_mode = -1; /* FEC_mode */
+static int hf_h245_protectedElement = -1; /* ModeElementType */
static int hf_h245_adaptationLayer = -1; /* AdaptationLayerType */
static int hf_h245_al1Framed = -1; /* NULL */
static int hf_h245_al1NotFramed = -1; /* NULL */
@@ -1629,10 +1653,10 @@ static int hf_h245_expirationTime = -1; /* INTEGER_0_4294967295 */
static int hf_h245_rtpPayloadIndication = -1; /* NULL */
static int hf_h245_paramS = -1; /* Params */
static int hf_h245_encryptedSignalType = -1; /* OCTET_STRING_SIZE_1 */
+static int hf_h245_algorithmOID = -1; /* OBJECT_IDENTIFIER */
static int hf_h245_signalUpdate = -1; /* T_signalUpdate */
static int hf_h245_si_rtp = -1; /* Si_rtp */
static int hf_h245_extendedAlphanumeric = -1; /* T_extendedAlphanumeric */
-static int hf_h245_algorithmOID = -1; /* OBJECT_IDENTIFIER */
static int hf_h245_encrypted = -1; /* OCTET_STRING */
static int hf_h245_encryptedAlphanumeric = -1; /* EncryptedAlphanumeric */
@@ -1663,6 +1687,7 @@ static gint ett_h245_MasterSlaveDeterminationRelease = -1;
static gint ett_h245_TerminalCapabilitySet = -1;
static gint ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry = -1;
static gint ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor = -1;
+static gint ett_h245_SEQUENCE_OF_GenericInformation = -1;
static gint ett_h245_CapabilityTableEntry = -1;
static gint ett_h245_CapabilityDescriptor = -1;
static gint ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet = -1;
@@ -1805,9 +1830,11 @@ static gint ett_h245_AudioToneCapability = -1;
static gint ett_h245_NoPTAudioTelephonyEventCapability = -1;
static gint ett_h245_NoPTAudioToneCapability = -1;
static gint ett_h245_MultiplePayloadStreamCapability = -1;
-static gint ett_h245_FECCapability = -1;
+static gint ett_h245_DepFECCapability = -1;
static gint ett_h245_FECC_rfc2733 = -1;
static gint ett_h245_T_separateStreamBool = -1;
+static gint ett_h245_FECCapability = -1;
+static gint ett_h245_Rfc2733Format = -1;
static gint ett_h245_OpenLogicalChannel = -1;
static gint ett_h245_T_forwardLogicalChannelParameters = -1;
static gint ett_h245_OLC_forw_multiplexParameters = -1;
@@ -1858,12 +1885,17 @@ static gint ett_h245_RedundancyEncodingElement = -1;
static gint ett_h245_MultiplePayloadStream = -1;
static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement = -1;
static gint ett_h245_MultiplePayloadStreamElement = -1;
-static gint ett_h245_FECData = -1;
+static gint ett_h245_DepFECData = -1;
static gint ett_h245_RFC2733Data = -1;
static gint ett_h245_FECdata_mode = -1;
-static gint ett_h245_SeparateStream = -1;
+static gint ett_h245_DepSeparateStream = -1;
static gint ett_h245_T_differentPort = -1;
static gint ett_h245_T_samePort = -1;
+static gint ett_h245_FECData = -1;
+static gint ett_h245_T_rfc2733 = -1;
+static gint ett_h245_T_pktMode = -1;
+static gint ett_h245_T_mode_rfc2733sameport = -1;
+static gint ett_h245_T_mode_rfc2733diffport = -1;
static gint ett_h245_TransportAddress = -1;
static gint ett_h245_UnicastAddress = -1;
static gint ett_h245_T_iPAddress = -1;
@@ -1938,9 +1970,10 @@ static gint ett_h245_Re_type = -1;
static gint ett_h245_MultiplePayloadStreamMode = -1;
static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode = -1;
static gint ett_h245_MultiplePayloadStreamElementMode = -1;
-static gint ett_h245_FECMode = -1;
+static gint ett_h245_DepFECMode = -1;
static gint ett_h245_T_rfc2733Mode = -1;
static gint ett_h245_FEC_mode = -1;
+static gint ett_h245_FECMode = -1;
static gint ett_h245_H223ModeParameters = -1;
static gint ett_h245_AdaptationLayerType = -1;
static gint ett_h245_V76ModeParameters = -1;
@@ -2136,8 +2169,11 @@ static int dissect_collapsing_item(tvbuff_t *tvb, int offset, asn_ctx_t *actx, p
static int dissect_nonCollapsing_item(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_h245_nonCollapsing_item);
}
-static int dissect_genericParameter_item(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
- return dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_h245_genericParameter_item);
+static int dissect_genericParameters_item(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_h245_genericParameters_item);
+}
+static int dissect_genericParameter(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_h245_genericParameter);
}
/* VideoCapability -> ExtendedVideoCapability -> ExtendedVideoCapability/videoCapability -> VideoCapability */
@@ -2210,12 +2246,16 @@ static int dissect_vbd_type(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tr
return dissect_h245_AudioMode(tvb, offset, actx, tree, hf_h245_vbd_type);
}
+/* ModeElementType -> RedundancyEncodingDTMode -> RedundancyEncodingDTModeElement -> RedundancyEncodingDTModeElement/type -> FECMode -> ModeElementType */
/* ModeElementType -> MultiplePayloadStreamMode -> MultiplePayloadStreamMode/elements -> MultiplePayloadStreamElementMode -> ModeElementType */
static int dissect_h245_ModeElementType(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree, int hf_index);
static int dissect_type(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_ModeElementType(tvb, offset, actx, tree, hf_h245_type);
}
+static int dissect_protectedElement(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_ModeElementType(tvb, offset, actx, tree, hf_h245_protectedElement);
+}
/*--- Fields for imported types ---*/
@@ -2282,7 +2322,7 @@ static const per_sequence_t H221NonStandardID_sequence[] = {
static int
dissect_h245_H221NonStandardID(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 697 "h245.cnf"
+#line 700 "h245.cnf"
t35CountryCode = 0;
t35Extension = 0;
manufacturerCode = 0;
@@ -2290,7 +2330,7 @@ dissect_h245_H221NonStandardID(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, p
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_H221NonStandardID, H221NonStandardID_sequence);
-#line 701 "h245.cnf"
+#line 704 "h245.cnf"
h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
proto_tree_add_uint(tree, hf_h245Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
@@ -2315,7 +2355,7 @@ static const per_choice_t NonStandardIdentifier_choice[] = {
static int
dissect_h245_NonStandardIdentifier(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 678 "h245.cnf"
+#line 681 "h245.cnf"
guint32 value;
nsiOID = "";
@@ -2350,7 +2390,7 @@ static int dissect_vendor(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree
static int
dissect_h245_T_nsd_data(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 712 "h245.cnf"
+#line 715 "h245.cnf"
tvbuff_t *next_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@@ -2376,7 +2416,7 @@ static const per_sequence_t NonStandardParameter_sequence[] = {
static int
dissect_h245_NonStandardParameter(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 710 "h245.cnf"
+#line 713 "h245.cnf"
nsp_handle = NULL;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -2506,7 +2546,7 @@ dissect_h245_MasterSlaveDetermination(tvbuff_t *tvb, int offset, asn_ctx_t *actx
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence);
-#line 461 "h245.cnf"
+#line 464 "h245.cnf"
h245_pi->msg_type = H245_MastSlvDet;
@@ -2549,6 +2589,9 @@ static int dissect_algorithm(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_t
static int dissect_antiSpamAlgorithm(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_OBJECT_IDENTIFIER(tvb, offset, actx, tree, hf_h245_antiSpamAlgorithm);
}
+static int dissect_fecScheme(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_OBJECT_IDENTIFIER(tvb, offset, actx, tree, hf_h245_fecScheme);
+}
static int dissect_oid(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_OBJECT_IDENTIFIER(tvb, offset, actx, tree, hf_h245_oid);
}
@@ -3922,6 +3965,9 @@ static int dissect_h261aVideoPacketizationFlag(tvbuff_t *tvb, int offset, asn_ct
static int dissect_redundancyEncodingFlag(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_NULL(tvb, offset, actx, tree, hf_h245_redundancyEncodingFlag);
}
+static int dissect_rfc2198coding(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_NULL(tvb, offset, actx, tree, hf_h245_rfc2198coding);
+}
static int dissect_strict(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_NULL(tvb, offset, actx, tree, hf_h245_strict);
}
@@ -3967,6 +4013,9 @@ static int dissect_invalidDependentChannel(tvbuff_t *tvb, int offset, asn_ctx_t
static int dissect_replacementForRejected(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_NULL(tvb, offset, actx, tree, hf_h245_replacementForRejected);
}
+static int dissect_securityDenied(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_NULL(tvb, offset, actx, tree, hf_h245_securityDenied);
+}
static int dissect_user(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_NULL(tvb, offset, actx, tree, hf_h245_user);
}
@@ -5289,7 +5338,7 @@ static int
dissect_h245_T_standardOid(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &standard_oid_str);
-#line 500 "h245.cnf"
+#line 503 "h245.cnf"
if(!h245_lc_dissector && strcmp(standard_oid_str,"0.0.8.245.1.1.1") == 0)
h245_lc_dissector = amr_handle;
@@ -5484,8 +5533,8 @@ static int dissect_collapsing(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_
static int dissect_nonCollapsing(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_SEQUENCE_OF_GenericParameter(tvb, offset, actx, tree, hf_h245_nonCollapsing);
}
-static int dissect_genericParameter(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
- return dissect_h245_SEQUENCE_OF_GenericParameter(tvb, offset, actx, tree, hf_h245_genericParameter);
+static int dissect_genericParameters(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_SEQUENCE_OF_GenericParameter(tvb, offset, actx, tree, hf_h245_genericParameters);
}
@@ -5509,7 +5558,7 @@ static const per_choice_t ParameterValue_choice[] = {
{ 4, "unsigned32Min" , ASN1_EXTENSION_ROOT , dissect_unsigned32Min },
{ 5, "unsigned32Max" , ASN1_EXTENSION_ROOT , dissect_unsigned32Max },
{ 6, "octetString" , ASN1_EXTENSION_ROOT , dissect_octetString },
- { 7, "genericParameter" , ASN1_EXTENSION_ROOT , dissect_genericParameter },
+ { 7, "genericParameter" , ASN1_EXTENSION_ROOT , dissect_genericParameters },
{ 0, NULL, 0, NULL }
};
@@ -5593,6 +5642,12 @@ static int dissect_genericAudioCapability(tvbuff_t *tvb, int offset, asn_ctx_t *
static int dissect_genericDataCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_GenericCapability(tvb, offset, actx, tree, hf_h245_genericDataCapability);
}
+static int dissect_genericH235SecurityCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_GenericCapability(tvb, offset, actx, tree, hf_h245_genericH235SecurityCapability);
+}
+static int dissect_genericUserInputCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_GenericCapability(tvb, offset, actx, tree, hf_h245_genericUserInputCapability);
+}
static int dissect_genericModeParameters(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_GenericCapability(tvb, offset, actx, tree, hf_h245_genericModeParameters);
}
@@ -5645,7 +5700,7 @@ static const per_choice_t Application_choice[] = {
static int
dissect_h245_Application(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 394 "h245.cnf"
+#line 397 "h245.cnf"
guint32 value;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
@@ -6336,6 +6391,9 @@ static int dissect_primaryEncoding(tvbuff_t *tvb, int offset, asn_ctx_t *actx, p
static int dissect_secondaryEncodingCapability_item(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_CapabilityTableEntryNumber(tvb, offset, actx, tree, hf_h245_secondaryEncodingCapability_item);
}
+static int dissect_protectedCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_CapabilityTableEntryNumber(tvb, offset, actx, tree, hf_h245_protectedCapability);
+}
static int dissect_capabilityTableEntryNumbers_item(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_CapabilityTableEntryNumber(tvb, offset, actx, tree, hf_h245_capabilityTableEntryNumbers_item);
}
@@ -6372,6 +6430,9 @@ dissect_h245_RedundancyEncodingCapability(tvbuff_t *tvb, int offset, asn_ctx_t *
return offset;
}
+static int dissect_redundancyEncodingCap(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_RedundancyEncodingCapability(tvb, offset, actx, tree, hf_h245_redundancyEncodingCap);
+}
static int dissect_redundancyEncodingCapability_item(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_RedundancyEncodingCapability(tvb, offset, actx, tree, hf_h245_redundancyEncodingCapability_item);
}
@@ -6538,24 +6599,24 @@ static int dissect_linesPerFrame(tvbuff_t *tvb, int offset, asn_ctx_t *actx, pro
static const per_sequence_t H262VideoCapability_sequence[] = {
- { "profileAndLevel-SPatML" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_SPatML },
- { "profileAndLevel-MPatLL" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_MPatLL },
- { "profileAndLevel-MPatML" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_MPatML },
- { "profileAndLevel-MPatH-14" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_MPatH_14 },
- { "profileAndLevel-MPatHL" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_MPatHL },
- { "profileAndLevel-SNRatLL" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_SNRatLL },
- { "profileAndLevel-SNRatML" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_SNRatML },
- { "profileAndLevel-SpatialatH-14", ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_SpatialatH_14 },
- { "profileAndLevel-HPatML" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_HPatML },
- { "profileAndLevel-HPatH-14" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_HPatH_14 },
- { "profileAndLevel-HPatHL" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_HPatHL },
- { "videoBitRate" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_videoBitRate },
- { "vbvBufferSize" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_vbvBufferSize },
- { "samplesPerLine" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_samplesPerLine },
- { "linesPerFrame" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_linesPerFrame },
- { "framesPerSecond" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_framesPerSecond },
- { "luminanceSampleRate" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_luminanceSampleRate },
- { "videoBadMBsCap" , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_videoBadMBsCap },
+ { "profileAndLevel-SPatML" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_SPatML },
+ { "profileAndLevel-MPatLL" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_MPatLL },
+ { "profileAndLevel-MPatML" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_MPatML },
+ { "profileAndLevel-MPatH-14" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_MPatH_14 },
+ { "profileAndLevel-MPatHL" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_MPatHL },
+ { "profileAndLevel-SNRatLL" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_SNRatLL },
+ { "profileAndLevel-SNRatML" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_SNRatML },
+ { "profileAndLevel-SpatialatH-14", ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_SpatialatH_14 },
+ { "profileAndLevel-HPatML" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_HPatML },
+ { "profileAndLevel-HPatH-14" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_HPatH_14 },
+ { "profileAndLevel-HPatHL" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_profileAndLevel_HPatHL },
+ { "videoBitRate" , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_videoBitRate },
+ { "vbvBufferSize" , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_vbvBufferSize },
+ { "samplesPerLine" , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_samplesPerLine },
+ { "linesPerFrame" , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_linesPerFrame },
+ { "framesPerSecond" , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_framesPerSecond },
+ { "luminanceSampleRate" , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_luminanceSampleRate },
+ { "videoBadMBsCap" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_videoBadMBsCap },
{ NULL, 0, 0, NULL }
};
@@ -7431,7 +7492,7 @@ dissect_h245_H263VideoCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_,
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_H263VideoCapability, H263VideoCapability_sequence);
-#line 261 "h245.cnf"
+#line 264 "h245.cnf"
h245_lc_dissector = h263_handle;
return offset;
@@ -7539,7 +7600,7 @@ static const per_choice_t VideoCapability_choice[] = {
static int
dissect_h245_VideoCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 385 "h245.cnf"
+#line 388 "h245.cnf"
guint32 value;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
@@ -7924,7 +7985,7 @@ static const per_choice_t AudioCapability_choice[] = {
static int
dissect_h245_AudioCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 376 "h245.cnf"
+#line 379 "h245.cnf"
guint32 value;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
@@ -8074,6 +8135,7 @@ static const per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = {
{ "encryptionCapability" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_encryptionCapability },
{ "authenticationCapability" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_authenticationCapability },
{ "integrityCapability" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_integrityCapability },
+ { "genericH235SecurityCapability", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_genericH235SecurityCapability },
{ NULL, 0, 0, NULL }
};
@@ -8136,6 +8198,7 @@ static const value_string h245_UserInputCapability_vals[] = {
{ 8, "encryptedIA5String" },
{ 9, "encryptedGeneralString" },
{ 10, "secureDTMF" },
+ { 11, "genericUserInputCapability" },
{ 0, NULL }
};
@@ -8151,6 +8214,7 @@ static const per_choice_t UserInputCapability_choice[] = {
{ 8, "encryptedIA5String" , ASN1_NOT_EXTENSION_ROOT, dissect_encryptedIA5String },
{ 9, "encryptedGeneralString" , ASN1_NOT_EXTENSION_ROOT, dissect_encryptedGeneralString },
{ 10, "secureDTMF" , ASN1_NOT_EXTENSION_ROOT, dissect_secureDTMF },
+ { 11, "genericUserInputCapability" , ASN1_NOT_EXTENSION_ROOT, dissect_genericUserInputCapability },
{ 0, NULL, 0, NULL }
};
@@ -8215,6 +8279,9 @@ dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb, int offset, asn_ctx_t *actx
static int dissect_simultaneousCapabilities_item(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_AlternativeCapabilitySet(tvb, offset, actx, tree, hf_h245_simultaneousCapabilities_item);
}
+static int dissect_oneOfCapabilities(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_AlternativeCapabilitySet(tvb, offset, actx, tree, hf_h245_oneOfCapabilities);
+}
static int dissect_capabilityOnMuxStream_item(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_AlternativeCapabilitySet(tvb, offset, actx, tree, hf_h245_capabilityOnMuxStream_item);
}
@@ -8355,26 +8422,26 @@ static int dissect_fecc_rfc2733(tvbuff_t *tvb, int offset, asn_ctx_t *actx, prot
}
-static const value_string h245_FECCapability_vals[] = {
+static const value_string h245_DepFECCapability_vals[] = {
{ 0, "rfc2733" },
{ 0, NULL }
};
-static const per_choice_t FECCapability_choice[] = {
+static const per_choice_t DepFECCapability_choice[] = {
{ 0, "rfc2733" , ASN1_EXTENSION_ROOT , dissect_fecc_rfc2733 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h245_FECCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+dissect_h245_DepFECCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h245_FECCapability, FECCapability_choice,
+ ett_h245_DepFECCapability, DepFECCapability_choice,
NULL);
return offset;
}
-static int dissect_fecCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
- return dissect_h245_FECCapability(tvb, offset, actx, tree, hf_h245_fecCapability);
+static int dissect_depFecCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_DepFECCapability(tvb, offset, actx, tree, hf_h245_depFecCapability);
}
@@ -8395,6 +8462,71 @@ static int dissect_multiplePayloadStreamCapability(tvbuff_t *tvb, int offset, as
}
+
+static int
+dissect_h245_MaxRedundancy(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, NO_BOUND, NULL, FALSE);
+
+ return offset;
+}
+static int dissect_rfc2733rfc2198(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_MaxRedundancy(tvb, offset, actx, tree, hf_h245_rfc2733rfc2198);
+}
+static int dissect_rfc2733sameport(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_MaxRedundancy(tvb, offset, actx, tree, hf_h245_rfc2733sameport);
+}
+static int dissect_rfc2733diffport(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_MaxRedundancy(tvb, offset, actx, tree, hf_h245_rfc2733diffport);
+}
+
+
+static const value_string h245_Rfc2733Format_vals[] = {
+ { 0, "rfc2733rfc2198" },
+ { 1, "rfc2733sameport" },
+ { 2, "rfc2733diffport" },
+ { 0, NULL }
+};
+
+static const per_choice_t Rfc2733Format_choice[] = {
+ { 0, "rfc2733rfc2198" , ASN1_NO_EXTENSIONS , dissect_rfc2733rfc2198 },
+ { 1, "rfc2733sameport" , ASN1_NO_EXTENSIONS , dissect_rfc2733sameport },
+ { 2, "rfc2733diffport" , ASN1_NO_EXTENSIONS , dissect_rfc2733diffport },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_h245_Rfc2733Format(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h245_Rfc2733Format, Rfc2733Format_choice,
+ NULL);
+
+ return offset;
+}
+static int dissect_rfc2733Format(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_Rfc2733Format(tvb, offset, actx, tree, hf_h245_rfc2733Format);
+}
+
+
+static const per_sequence_t FECCapability_sequence[] = {
+ { "protectedCapability" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_protectedCapability },
+ { "fecScheme" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_fecScheme },
+ { "rfc2733Format" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rfc2733Format },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_h245_FECCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h245_FECCapability, FECCapability_sequence);
+
+ return offset;
+}
+static int dissect_fecCapability(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_FECCapability(tvb, offset, actx, tree, hf_h245_fecCapability);
+}
+
+
static const value_string h245_Capability_vals[] = {
{ 0, "nonStandard" },
{ 1, "receiveVideoCapability" },
@@ -8420,8 +8552,11 @@ static const value_string h245_Capability_vals[] = {
{ 21, "receiveAndTransmitMultiplexedStreamCapability" },
{ 22, "receiveRTPAudioTelephonyEventCapability" },
{ 23, "receiveRTPAudioToneCapability" },
- { 24, "fecCapability" },
+ { 24, "depFecCapability" },
{ 25, "multiplePayloadStreamCapability" },
+ { 26, "fecCapability" },
+ { 27, "redundancyEncodingCap" },
+ { 28, "oneOfCapabilities" },
{ 0, NULL }
};
@@ -8450,8 +8585,11 @@ static const per_choice_t Capability_choice[] = {
{ 21, "receiveAndTransmitMultiplexedStreamCapability", ASN1_NOT_EXTENSION_ROOT, dissect_receiveAndTransmitMultiplexedStreamCapability },
{ 22, "receiveRTPAudioTelephonyEventCapability", ASN1_NOT_EXTENSION_ROOT, dissect_receiveRTPAudioTelephonyEventCapability },
{ 23, "receiveRTPAudioToneCapability", ASN1_NOT_EXTENSION_ROOT, dissect_receiveRTPAudioToneCapability },
- { 24, "fecCapability" , ASN1_NOT_EXTENSION_ROOT, dissect_fecCapability },
+ { 24, "depFecCapability" , ASN1_NOT_EXTENSION_ROOT, dissect_depFecCapability },
{ 25, "multiplePayloadStreamCapability", ASN1_NOT_EXTENSION_ROOT, dissect_multiplePayloadStreamCapability },
+ { 26, "fecCapability" , ASN1_NOT_EXTENSION_ROOT, dissect_fecCapability },
+ { 27, "redundancyEncodingCap" , ASN1_NOT_EXTENSION_ROOT, dissect_redundancyEncodingCap },
+ { 28, "oneOfCapabilities" , ASN1_NOT_EXTENSION_ROOT, dissect_oneOfCapabilities },
{ 0, NULL, 0, NULL }
};
@@ -8554,12 +8692,86 @@ static int dissect_capabilityDescriptors(tvbuff_t *tvb, int offset, asn_ctx_t *a
}
+
+static int
+dissect_h245_T_subMessageIdentifier(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+#line 508 "h245.cnf"
+ guint32 subMessageIdentifer;
+
+
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 127U, &subMessageIdentifer, FALSE);
+
+ return offset;
+}
+static int dissect_subMessageIdentifier(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_T_subMessageIdentifier(tvb, offset, actx, tree, hf_h245_subMessageIdentifier);
+}
+
+
+static const per_sequence_t GenericMessage_sequence[] = {
+ { "messageIdentifier" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_messageIdentifier },
+ { "subMessageIdentifier" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_subMessageIdentifier },
+ { "messageContent" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_messageContent },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_h245_GenericMessage(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h245_GenericMessage, GenericMessage_sequence);
+
+ return offset;
+}
+static int dissect_genericRequest(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_h245_genericRequest);
+}
+static int dissect_genericResponse(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_h245_genericResponse);
+}
+static int dissect_genericCommand(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_h245_genericCommand);
+}
+static int dissect_genericIndication(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_h245_genericIndication);
+}
+
+
+
+static int
+dissect_h245_GenericInformation(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+static int dissect_genericInformation_item(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_GenericInformation(tvb, offset, actx, tree, hf_h245_genericInformation_item);
+}
+
+
+static const per_sequence_t SEQUENCE_OF_GenericInformation_sequence_of[1] = {
+ { "" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_genericInformation_item },
+};
+
+static int
+dissect_h245_SEQUENCE_OF_GenericInformation(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h245_SEQUENCE_OF_GenericInformation, SEQUENCE_OF_GenericInformation_sequence_of);
+
+ return offset;
+}
+static int dissect_genericInformation(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_SEQUENCE_OF_GenericInformation(tvb, offset, actx, tree, hf_h245_genericInformation);
+}
+
+
static const per_sequence_t TerminalCapabilitySet_sequence[] = {
{ "sequenceNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sequenceNumber },
{ "protocolIdentifier" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_protocolIdentifier },
{ "multiplexCapability" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_multiplexCapability },
{ "capabilityTable" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_capabilityTable },
{ "capabilityDescriptors" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_capabilityDescriptors },
+ { "genericInformation" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_genericInformation },
{ NULL, 0, 0, NULL }
};
@@ -8568,7 +8780,7 @@ dissect_h245_TerminalCapabilitySet(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence);
-#line 476 "h245.cnf"
+#line 479 "h245.cnf"
h245_pi->msg_type = H245_TermCapSet;
@@ -8582,7 +8794,7 @@ static int dissect_terminalCapabilitySet(tvbuff_t *tvb, int offset, asn_ctx_t *a
static int
dissect_h245_LogicalChannelNumber(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 116 "h245.cnf"
+#line 119 "h245.cnf"
guint32 value;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 65535U, &value, FALSE);
@@ -8601,6 +8813,9 @@ static int dissect_replacementFor(tvbuff_t *tvb, int offset, asn_ctx_t *actx, pr
static int dissect_reverseLogicalChannelDependency(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_h245_reverseLogicalChannelDependency);
}
+static int dissect_protectedChannel(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_h245_protectedChannel);
+}
static int dissect_forwardLogicalChannelNumber(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
return dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_h245_forwardLogicalChannelNumber);
}
@@ -8632,7 +8847,7 @@ static int
dissect_h245_OLC_fw_lcn(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
-#line 122 "h245.cnf"
+#line 125 "h245.cnf"
h223_fw_lc_num = h245_lc_temp;
return offset;
@@ -8830,28 +9045,28 @@ static int dissect_samePort(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tr
}
-static const value_string h245_SeparateStream_vals[] = {
+static const value_string h245_DepSeparateStream_vals[] = {
{ 0, "differentPort" },
{ 1, "samePort" },
{ 0, NULL }
};
-static const per_choice_t SeparateStream_choice[] = {
+static const per_choice_t DepSeparateStream_choice[] = {
{ 0, "differentPort" , ASN1_EXTENSION_ROOT , dissect_differentPort },
{ 1, "samePort" , ASN1_EXTENSION_ROOT , dissect_samePort },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h245_SeparateStream(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+dissect_h245_DepSeparateStream(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h245_SeparateStream, SeparateStream_choice,
+ ett_h245_DepSeparateStream, DepSeparateStream_choice,
NULL);
return offset;
}
static int dissect_separateStream(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
- return dissect_h245_SeparateStream(tvb, offset, actx, tree, hf_h245_separateStream);
+ return dissect_h245_DepSeparateStream(tvb, offset, actx, tree, hf_h245_separateStream);
}
@@ -8892,8 +9107,110 @@ dissect_h245_RFC2733Data(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_t
return offset;
}
+static int dissect_dep_rfc2733(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_RFC2733Data(tvb, offset, actx, tree, hf_h245_dep_rfc2733);
+}
+
+
+static const value_string h245_DepFECData_vals[] = {
+ { 0, "rfc2733" },
+ { 0, NULL }
+};
+
+static const per_choice_t DepFECData_choice[] = {
+ { 0, "rfc2733" , ASN1_NO_EXTENSIONS , dissect_dep_rfc2733 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_h245_DepFECData(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h245_DepFECData, DepFECData_choice,
+ NULL);
+
+ return offset;
+}
+static int dissect_depFec(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_DepFECData(tvb, offset, actx, tree, hf_h245_depFec);
+}
+
+
+static const per_sequence_t T_mode_rfc2733sameport_sequence[] = {
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_h245_T_mode_rfc2733sameport(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h245_T_mode_rfc2733sameport, T_mode_rfc2733sameport_sequence);
+
+ return offset;
+}
+static int dissect_mode_rfc2733sameport(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_T_mode_rfc2733sameport(tvb, offset, actx, tree, hf_h245_mode_rfc2733sameport);
+}
+
+
+static const per_sequence_t T_mode_rfc2733diffport_sequence[] = {
+ { "protectedChannel" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_protectedChannel },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_h245_T_mode_rfc2733diffport(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h245_T_mode_rfc2733diffport, T_mode_rfc2733diffport_sequence);
+
+ return offset;
+}
+static int dissect_mode_rfc2733diffport(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_T_mode_rfc2733diffport(tvb, offset, actx, tree, hf_h245_mode_rfc2733diffport);
+}
+
+
+static const value_string h245_T_pktMode_vals[] = {
+ { 0, "rfc2198coding" },
+ { 1, "rfc2733sameport" },
+ { 2, "rfc2733diffport" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_pktMode_choice[] = {
+ { 0, "rfc2198coding" , ASN1_EXTENSION_ROOT , dissect_rfc2198coding },
+ { 1, "rfc2733sameport" , ASN1_EXTENSION_ROOT , dissect_mode_rfc2733sameport },
+ { 2, "rfc2733diffport" , ASN1_EXTENSION_ROOT , dissect_mode_rfc2733diffport },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_h245_T_pktMode(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h245_T_pktMode, T_pktMode_choice,
+ NULL);
+
+ return offset;
+}
+static int dissect_pktMode(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_T_pktMode(tvb, offset, actx, tree, hf_h245_pktMode);
+}
+
+
+static const per_sequence_t T_rfc2733_sequence[] = {
+ { "protectedPayloadType" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_protectedPayloadType },
+ { "fecScheme" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_fecScheme },
+ { "pktMode" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_pktMode },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_h245_T_rfc2733(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h245_T_rfc2733, T_rfc2733_sequence);
+
+ return offset;
+}
static int dissect_rfc2733(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
- return dissect_h245_RFC2733Data(tvb, offset, actx, tree, hf_h245_rfc2733);
+ return dissect_h245_T_rfc2733(tvb, offset, actx, tree, hf_h245_rfc2733);
}
@@ -8903,7 +9220,7 @@ static const value_string h245_FECData_vals[] = {
};
static const per_choice_t FECData_choice[] = {
- { 0, "rfc2733" , ASN1_NO_EXTENSIONS , dissect_rfc2733 },
+ { 0, "rfc2733" , ASN1_EXTENSION_ROOT , dissect_rfc2733 },
{ 0, NULL, 0, NULL }
};
@@ -8927,7 +9244,8 @@ static const value_string h245_T_mediaType_vals[] = {
{ 3, "data" },
{ 4, "redundancyEncoding" },
{ 5, "multiplePayloadStream" },
- { 6, "fec" },
+ { 6, "depFec" },
+ { 7, "fec" },
{ 0, NULL }
};
@@ -8938,7 +9256,8 @@ static const per_choice_t T_mediaType_choice[] = {
{ 3, "data" , ASN1_EXTENSION_ROOT , dissect_data },
{ 4, "redundancyEncoding" , ASN1_NOT_EXTENSION_ROOT, dissect_redundancyEncoding },
{ 5, "multiplePayloadStream" , ASN1_NOT_EXTENSION_ROOT, dissect_multiplePayloadStream },
- { 6, "fec" , ASN1_NOT_EXTENSION_ROOT, dissect_fec },
+ { 6, "depFec" , ASN1_NOT_EXTENSION_ROOT, dissect_depFec },
+ { 7, "fec" , ASN1_NOT_EXTENSION_ROOT, dissect_fec },
{ 0, NULL, 0, NULL }
};
@@ -9006,7 +9325,8 @@ static const value_string h245_DataType_vals[] = {
{ 8, "multiplexedStream" },
{ 9, "redundancyEncoding" },
{ 10, "multiplePayloadStream" },
- { 11, "fec" },
+ { 11, "depFec" },
+ { 12, "fec" },
{ 0, NULL }
};
@@ -9022,7 +9342,8 @@ static const per_choice_t DataType_choice[] = {
{ 8, "multiplexedStream" , ASN1_NOT_EXTENSION_ROOT, dissect_multiplexedStream },
{ 9, "redundancyEncoding" , ASN1_NOT_EXTENSION_ROOT, dissect_redundancyEncoding },
{ 10, "multiplePayloadStream" , ASN1_NOT_EXTENSION_ROOT, dissect_multiplePayloadStream },
- { 11, "fec" , ASN1_NOT_EXTENSION_ROOT, dissect_fec },
+ { 11, "depFec" , ASN1_NOT_EXTENSION_ROOT, dissect_depFec },
+ { 12, "fec" , ASN1_NOT_EXTENSION_ROOT, dissect_fec },
{ 0, NULL, 0, NULL }
};
@@ -9076,7 +9397,7 @@ static int dissect_h222LogicalChannelParameters(tvbuff_t *tvb, int offset, asn_c
static int
dissect_h245_T_h223_al_type_al1Framed(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 153 "h245.cnf"
+#line 156 "h245.cnf"
if(h223_lc_params_temp)
h223_lc_params_temp->al_type = al1Framed;
@@ -9092,7 +9413,7 @@ static int dissect_h223_al_type_al1Framed(tvbuff_t *tvb, int offset, asn_ctx_t *
static int
dissect_h245_T_h223_al_type_al1NotFramed(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 158 "h245.cnf"
+#line 161 "h245.cnf"
if(h223_lc_params_temp)
h223_lc_params_temp->al_type = al1NotFramed;
@@ -9108,7 +9429,7 @@ static int dissect_h223_al_type_al1NotFramed(tvbuff_t *tvb, int offset, asn_ctx_
static int
dissect_h245_T_h223_al_type_al2WithoutSequenceNumbers(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 163 "h245.cnf"
+#line 166 "h245.cnf"
if(h223_lc_params_temp)
h223_lc_params_temp->al_type = al2WithoutSequenceNumbers;
@@ -9124,7 +9445,7 @@ static int dissect_h223_al_type_al2WithoutSequenceNumbers(tvbuff_t *tvb, int off
static int
dissect_h245_T_h223_al_type_al2WithSequenceNumbers(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 168 "h245.cnf"
+#line 171 "h245.cnf"
if(h223_lc_params_temp)
h223_lc_params_temp->al_type = al2WithSequenceNumbers;
@@ -9140,7 +9461,7 @@ static int dissect_h223_al_type_al2WithSequenceNumbers(tvbuff_t *tvb, int offset
static int
dissect_h245_T_controlFieldOctets(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 182 "h245.cnf"
+#line 185 "h245.cnf"
guint32 value;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 2U, &value, FALSE);
@@ -9159,7 +9480,7 @@ static int dissect_controlFieldOctets(tvbuff_t *tvb, int offset, asn_ctx_t *actx
static int
dissect_h245_T_al3_sendBufferSize(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 191 "h245.cnf"
+#line 194 "h245.cnf"
guint32 value;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 16777215U, &value, FALSE);
@@ -9196,7 +9517,7 @@ static int dissect_al3(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *t
static int
dissect_h245_T_h223_al_type_al3(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 173 "h245.cnf"
+#line 176 "h245.cnf"
if(h223_lc_params_temp) {
h223_lc_params_temp->al_type = al3;
h223_lc_params_temp->al_params = se_alloc(sizeof(h223_al3_params));
@@ -9424,7 +9745,7 @@ static int dissect_al1M(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *
static int
dissect_h245_T_h223_al_type_al1M(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 198 "h245.cnf"
+#line 201 "h245.cnf"
if(h223_lc_params_temp)
h223_lc_params_temp->al_type = al1M;
@@ -9483,7 +9804,7 @@ static int dissect_al2M(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *
static int
dissect_h245_T_h223_al_type_al2M(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 203 "h245.cnf"
+#line 206 "h245.cnf"
if(h223_lc_params_temp)
h223_lc_params_temp->al_type = al2M;
@@ -9583,7 +9904,7 @@ static int dissect_al3M(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *
static int
dissect_h245_T_h223_al_type_al3M(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 208 "h245.cnf"
+#line 211 "h245.cnf"
if(h223_lc_params_temp)
h223_lc_params_temp->al_type = al3M;
@@ -9638,7 +9959,7 @@ static int dissect_adaptationLayerType(tvbuff_t *tvb, int offset, asn_ctx_t *act
static int
dissect_h245_T_h223_lc_segmentableFlag(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 215 "h245.cnf"
+#line 218 "h245.cnf"
guint32 value;
offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &value);
@@ -9671,7 +9992,7 @@ dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb, int offset, asn_ctx_t *
static int
dissect_h245_OLC_fw_h223_params(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 135 "h245.cnf"
+#line 138 "h245.cnf"
h223_fw_lc_params = se_alloc(sizeof(h223_lc_params));
h223_fw_lc_params->al_type = al_nonStandard;
h223_fw_lc_params->al_params = NULL;
@@ -9872,7 +10193,7 @@ static int dissect_v76LogicalChannelParameters(tvbuff_t *tvb, int offset, asn_ct
static int
dissect_h245_Ipv4_network(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 512 "h245.cnf"
+#line 515 "h245.cnf"
tvbuff_t *value_tvb;
@@ -9897,7 +10218,7 @@ static int dissect_ip4_network(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto
static int
dissect_h245_TsapIdentifier(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 525 "h245.cnf"
+#line 528 "h245.cnf"
guint32 tsapIdentifier;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
@@ -10216,14 +10537,14 @@ static int dissect_signalAddress(tvbuff_t *tvb, int offset, asn_ctx_t *actx, pro
static int
dissect_h245_T_mediaChannel(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 543 "h245.cnf"
+#line 546 "h245.cnf"
media_channel = TRUE;
offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
-#line 573 "h245.cnf"
+#line 576 "h245.cnf"
media_channel = FALSE;
@@ -10238,14 +10559,14 @@ static int dissect_mediaChannel(tvbuff_t *tvb, int offset, asn_ctx_t *actx, prot
static int
dissect_h245_T_mediaControlChannel(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 555 "h245.cnf"
+#line 558 "h245.cnf"
media_control_channel = TRUE;
offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
-#line 579 "h245.cnf"
+#line 582 "h245.cnf"
media_control_channel = FALSE;
@@ -10434,7 +10755,7 @@ static const per_sequence_t T_forwardLogicalChannelParameters_sequence[] = {
static int
dissect_h245_T_forwardLogicalChannelParameters(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 126 "h245.cnf"
+#line 129 "h245.cnf"
h245_lc_dissector = NULL;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_T_forwardLogicalChannelParameters, T_forwardLogicalChannelParameters_sequence);
@@ -10455,7 +10776,7 @@ static int dissect_forwardLogicalChannelParameters(tvbuff_t *tvb, int offset, as
static int
dissect_h245_OLC_rev_h223_params(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 144 "h245.cnf"
+#line 147 "h245.cnf"
h223_rev_lc_params = se_alloc(sizeof(h223_lc_params));
h223_rev_lc_params->al_type = al_nonStandard;
h223_rev_lc_params->al_params = NULL;
@@ -10488,7 +10809,7 @@ static const per_choice_t OLC_rev_multiplexParameters_choice[] = {
static int
dissect_h245_OLC_rev_multiplexParameters(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 629 "h245.cnf"
+#line 632 "h245.cnf"
media_channel = FALSE;
@@ -10499,7 +10820,7 @@ dissect_h245_OLC_rev_multiplexParameters(tvbuff_t *tvb, int offset, asn_ctx_t *a
ett_h245_OLC_rev_multiplexParameters, OLC_rev_multiplexParameters_choice,
NULL);
-#line 637 "h245.cnf"
+#line 640 "h245.cnf"
if (!actx->pinfo->fd->flags.visited) {
if (codec_type && (strcmp(codec_type, "t38fax")==0)) {
@@ -10760,6 +11081,7 @@ static const per_sequence_t EncryptionSync_sequence[] = {
{ "synchFlag" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_synchFlag },
{ "h235Key" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h235Key },
{ "escrowentry" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_escrowentry },
+ { "genericParameter" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_genericParameter },
{ NULL, 0, 0, NULL }
};
@@ -10784,12 +11106,13 @@ static const per_sequence_t OpenLogicalChannel_sequence[] = {
{ "reverseLogicalChannelParameters", ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_reverseLogicalChannelParameters },
{ "separateStack" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_separateStack },
{ "encryptionSync" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_encryptionSync },
+ { "genericInformation" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_genericInformation },
{ NULL, 0, 0, NULL }
};
int
dissect_h245_OpenLogicalChannel(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 97 "h245.cnf"
+#line 100 "h245.cnf"
gint32 temp;
h223_fw_lc_num = 0;
@@ -10808,7 +11131,7 @@ dissect_h245_OpenLogicalChannel(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_,
}
-#line 487 "h245.cnf"
+#line 490 "h245.cnf"
if (h245_pi != NULL) h245_pi->msg_type = H245_OpenLogChn;
@@ -10883,7 +11206,7 @@ dissect_h245_CloseLogicalChannel(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_,
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_CloseLogicalChannel, CloseLogicalChannel_sequence);
-#line 441 "h245.cnf"
+#line 444 "h245.cnf"
h245_pi->msg_type = H245_CloseLogChn;
@@ -10945,7 +11268,7 @@ static int dissect_requestChannelClose(tvbuff_t *tvb, int offset, asn_ctx_t *act
static int
dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 41 "h245.cnf"
+#line 44 "h245.cnf"
guint32 value;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 15U, &value, FALSE);
@@ -10969,7 +11292,7 @@ static int dissect_entryNumbers_item(tvbuff_t *tvb, int offset, asn_ctx_t *actx,
static int
dissect_h245_T_logicalChannelNum(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 67 "h245.cnf"
+#line 70 "h245.cnf"
/*MultiplexElement/type/logicalChannelNumber*/
guint32 value;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
@@ -10992,7 +11315,7 @@ static const per_sequence_t T_subElementList_sequence_of[1] = {
static int
dissect_h245_T_subElementList(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 75 "h245.cnf"
+#line 78 "h245.cnf"
h223_mux_element dummy_me, *parent_me = h223_me;
h223_me = &dummy_me;
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
@@ -11039,7 +11362,7 @@ static int dissect_me_type(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tre
static int
dissect_h245_ME_finiteRepeatCount(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 90 "h245.cnf"
+#line 93 "h245.cnf"
guint32 value;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 65535U, &value, FALSE);
@@ -11059,7 +11382,7 @@ static int
dissect_h245_T_untilClosingFlag(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
-#line 84 "h245.cnf"
+#line 87 "h245.cnf"
h223_me->repeat_count = 0;
return offset;
@@ -11102,7 +11425,7 @@ static const per_sequence_t MultiplexElement_sequence[] = {
static int
dissect_h245_MultiplexElement(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 57 "h245.cnf"
+#line 60 "h245.cnf"
/*MultiplexElement*/
h223_mux_element* me = se_alloc(sizeof(h223_mux_element));
h223_me->next = me;
@@ -11122,7 +11445,7 @@ static const per_sequence_t T_elementList_sequence_of[1] = {
static int
dissect_h245_T_elementList(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 47 "h245.cnf"
+#line 50 "h245.cnf"
/* create a h223_mux_element to hold onto the head of the list, since
* h223_me will track the tail */
h223_mux_element dummy_me;
@@ -11150,7 +11473,7 @@ static const per_sequence_t MultiplexEntryDescriptor_sequence[] = {
static int
dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 29 "h245.cnf"
+#line 32 "h245.cnf"
/*MultiplexEntryDescriptor*/
h223_me = NULL;
h223_mc = 0;
@@ -11454,7 +11777,7 @@ static const per_choice_t VideoMode_choice[] = {
static int
dissect_h245_VideoMode(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 410 "h245.cnf"
+#line 413 "h245.cnf"
guint32 value;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
@@ -11817,7 +12140,7 @@ static const per_choice_t AudioMode_choice[] = {
static int
dissect_h245_AudioMode(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 402 "h245.cnf"
+#line 405 "h245.cnf"
guint32 value;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
@@ -11888,7 +12211,7 @@ static const per_choice_t DataModeApplication_choice[] = {
static int
dissect_h245_DataModeApplication(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 418 "h245.cnf"
+#line 421 "h245.cnf"
guint32 value;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
@@ -11971,6 +12294,25 @@ static int dissect_h235Mode(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tr
}
+static const per_sequence_t FECMode_sequence[] = {
+ { "protectedElement" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_protectedElement },
+ { "fecScheme" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_fecScheme },
+ { "rfc2733Format" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rfc2733Format },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_h245_FECMode(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h245_FECMode, FECMode_sequence);
+
+ return offset;
+}
+static int dissect_fecMode(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_FECMode(tvb, offset, actx, tree, hf_h245_fecMode);
+}
+
+
static const value_string h245_Re_type_vals[] = {
{ 0, "nonStandard" },
{ 1, "videoMode" },
@@ -11978,6 +12320,7 @@ static const value_string h245_Re_type_vals[] = {
{ 3, "dataMode" },
{ 4, "encryptionMode" },
{ 5, "h235Mode" },
+ { 6, "fecMode" },
{ 0, NULL }
};
@@ -11988,6 +12331,7 @@ static const per_choice_t Re_type_choice[] = {
{ 3, "dataMode" , ASN1_EXTENSION_ROOT , dissect_dataMode },
{ 4, "encryptionMode" , ASN1_EXTENSION_ROOT , dissect_encryptionMode },
{ 5, "h235Mode" , ASN1_EXTENSION_ROOT , dissect_h235Mode },
+ { 6, "fecMode" , ASN1_NOT_EXTENSION_ROOT, dissect_fecMode },
{ 0, NULL, 0, NULL }
};
@@ -12151,26 +12495,26 @@ static int dissect_rfc2733Mode(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto
}
-static const value_string h245_FECMode_vals[] = {
+static const value_string h245_DepFECMode_vals[] = {
{ 0, "rfc2733Mode" },
{ 0, NULL }
};
-static const per_choice_t FECMode_choice[] = {
+static const per_choice_t DepFECMode_choice[] = {
{ 0, "rfc2733Mode" , ASN1_EXTENSION_ROOT , dissect_rfc2733Mode },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h245_FECMode(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
+dissect_h245_DepFECMode(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h245_FECMode, FECMode_choice,
+ ett_h245_DepFECMode, DepFECMode_choice,
NULL);
return offset;
}
-static int dissect_fecMode(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
- return dissect_h245_FECMode(tvb, offset, actx, tree, hf_h245_fecMode);
+static int dissect_depFecMode(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
+ return dissect_h245_DepFECMode(tvb, offset, actx, tree, hf_h245_depFecMode);
}
@@ -12184,7 +12528,8 @@ static const value_string h245_ModeElementType_vals[] = {
{ 6, "multiplexedStreamMode" },
{ 7, "redundancyEncodingDTMode" },
{ 8, "multiplePayloadStreamMode" },
- { 9, "fecMode" },
+ { 9, "depFecMode" },
+ { 10, "fecMode" },
{ 0, NULL }
};
@@ -12198,7 +12543,8 @@ static const per_choice_t ModeElementType_choice[] = {
{ 6, "multiplexedStreamMode" , ASN1_NOT_EXTENSION_ROOT, dissect_multiplexedStreamMode },
{ 7, "redundancyEncodingDTMode" , ASN1_NOT_EXTENSION_ROOT, dissect_redundancyEncodingDTMode },
{ 8, "multiplePayloadStreamMode" , ASN1_NOT_EXTENSION_ROOT, dissect_multiplePayloadStreamMode },
- { 9, "fecMode" , ASN1_NOT_EXTENSION_ROOT, dissect_fecMode },
+ { 9, "depFecMode" , ASN1_NOT_EXTENSION_ROOT, dissect_depFecMode },
+ { 10, "fecMode" , ASN1_NOT_EXTENSION_ROOT, dissect_fecMode },
{ 0, NULL, 0, NULL }
};
@@ -12970,51 +13316,6 @@ static int dissect_logicalChannelRateRequest(tvbuff_t *tvb, int offset, asn_ctx_
}
-
-static int
-dissect_h245_T_subMessageIdentifer(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 505 "h245.cnf"
- guint32 subMessageIdentifer;
-
-
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 127U, &subMessageIdentifer, FALSE);
-
- return offset;
-}
-static int dissect_subMessageIdentifer(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
- return dissect_h245_T_subMessageIdentifer(tvb, offset, actx, tree, hf_h245_subMessageIdentifer);
-}
-
-
-static const per_sequence_t GenericMessage_sequence[] = {
- { "messageIdentifier" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_messageIdentifier },
- { "subMessageIdentifer" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_subMessageIdentifer },
- { "messageContent" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_messageContent },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_h245_GenericMessage(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h245_GenericMessage, GenericMessage_sequence);
-
- return offset;
-}
-static int dissect_genericRequest(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
- return dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_h245_genericRequest);
-}
-static int dissect_genericResponse(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
- return dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_h245_genericResponse);
-}
-static int dissect_genericCommand(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
- return dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_h245_genericCommand);
-}
-static int dissect_genericIndication(tvbuff_t *tvb, int offset, asn_ctx_t *actx, proto_tree *tree) {
- return dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_h245_genericIndication);
-}
-
-
static const value_string h245_RequestMessage_vals[] = {
{ 0, "nonStandard" },
{ 1, "masterSlaveDetermination" },
@@ -13057,7 +13358,7 @@ static const per_choice_t RequestMessage_choice[] = {
static int
dissect_h245_RequestMessage(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 265 "h245.cnf"
+#line 268 "h245.cnf"
guint32 value;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
@@ -13140,7 +13441,7 @@ dissect_h245_MasterSlaveDeterminationAck(tvbuff_t *tvb, int offset, asn_ctx_t *a
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence);
-#line 426 "h245.cnf"
+#line 429 "h245.cnf"
h245_pi->msg_type = H245_MastSlvDetAck;
@@ -13184,7 +13485,7 @@ dissect_h245_MasterSlaveDeterminationReject(tvbuff_t *tvb, int offset, asn_ctx_t
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence);
-#line 431 "h245.cnf"
+#line 434 "h245.cnf"
h245_pi->msg_type = H245_MastSlvDetRjc;
@@ -13197,6 +13498,7 @@ static int dissect_masterSlaveDeterminationReject(tvbuff_t *tvb, int offset, asn
static const per_sequence_t TerminalCapabilitySetAck_sequence[] = {
{ "sequenceNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sequenceNumber },
+ { "genericInformation" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_genericInformation },
{ NULL, 0, 0, NULL }
};
@@ -13205,7 +13507,7 @@ dissect_h245_TerminalCapabilitySetAck(tvbuff_t *tvb, int offset, asn_ctx_t *actx
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence);
-#line 456 "h245.cnf"
+#line 459 "h245.cnf"
h245_pi->msg_type = H245_TermCapSetAck;
@@ -13273,6 +13575,7 @@ static int dissect_tcs_rej_cause(tvbuff_t *tvb, int offset, asn_ctx_t *actx, pro
static const per_sequence_t TerminalCapabilitySetReject_sequence[] = {
{ "sequenceNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_sequenceNumber },
{ "cause" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_tcs_rej_cause },
+ { "genericInformation" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_genericInformation },
{ NULL, 0, 0, NULL }
};
@@ -13281,7 +13584,7 @@ dissect_h245_TerminalCapabilitySetReject(tvbuff_t *tvb, int offset, asn_ctx_t *a
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence);
-#line 466 "h245.cnf"
+#line 469 "h245.cnf"
h245_pi->msg_type = H245_TermCapSetRjc;
@@ -13297,7 +13600,7 @@ static int
dissect_h245_OLC_ack_fw_lcn(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
-#line 253 "h245.cnf"
+#line 256 "h245.cnf"
h223_fw_lc_num = h245_lc_temp;
return offset;
@@ -13312,7 +13615,7 @@ static int
dissect_h245_T_reverseLogicalChannelNumber(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
-#line 257 "h245.cnf"
+#line 260 "h245.cnf"
h223_rev_lc_num = h245_lc_temp;
return offset;
@@ -13370,14 +13673,14 @@ static int dissect_olc_ack_reverseLogicalChannelParameters(tvbuff_t *tvb, int of
static int
dissect_h245_Ack_mediaChannel(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 537 "h245.cnf"
+#line 540 "h245.cnf"
media_channel = TRUE;
offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
-#line 561 "h245.cnf"
+#line 564 "h245.cnf"
media_channel = FALSE;
@@ -13392,14 +13695,14 @@ static int dissect_ack_mediaChannel(tvbuff_t *tvb, int offset, asn_ctx_t *actx,
static int
dissect_h245_Ack_mediaControlChannel(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 549 "h245.cnf"
+#line 552 "h245.cnf"
media_control_channel = TRUE;
offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
-#line 567 "h245.cnf"
+#line 570 "h245.cnf"
media_control_channel = FALSE;
@@ -13446,7 +13749,7 @@ static const per_choice_t T_forwardMultiplexAckParameters_choice[] = {
static int
dissect_h245_T_forwardMultiplexAckParameters(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 585 "h245.cnf"
+#line 588 "h245.cnf"
media_channel = FALSE;
@@ -13457,7 +13760,7 @@ dissect_h245_T_forwardMultiplexAckParameters(tvbuff_t *tvb, int offset, asn_ctx_
ett_h245_T_forwardMultiplexAckParameters, T_forwardMultiplexAckParameters_choice,
NULL);
-#line 593 "h245.cnf"
+#line 596 "h245.cnf"
if (!actx->pinfo->fd->flags.visited) {
if (codec_type && strcmp(codec_type, "t38fax")==0) {
@@ -13505,12 +13808,13 @@ static const per_sequence_t OpenLogicalChannelAck_sequence[] = {
{ "separateStack" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_separateStack },
{ "forwardMultiplexAckParameters", ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_forwardMultiplexAckParameters },
{ "encryptionSync" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_encryptionSync },
+ { "genericInformation" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_genericInformation },
{ NULL, 0, 0, NULL }
};
static int
dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 223 "h245.cnf"
+#line 226 "h245.cnf"
guint32 temp;
int p2p_dir;
h223_pending_olc *pend;
@@ -13542,7 +13846,7 @@ dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U
actx->pinfo->p2p_dir = p2p_dir;
-#line 493 "h245.cnf"
+#line 496 "h245.cnf"
h245_pi->msg_type = H245_OpenLogChnAck;
@@ -13568,6 +13872,7 @@ static const value_string h245_OpenLogicalChannelRejectCause_vals[] = {
{ 11, "waitForCommunicationMode" },
{ 12, "invalidDependentChannel" },
{ 13, "replacementForRejected" },
+ { 14, "securityDenied" },
{ 0, NULL }
};
@@ -13586,6 +13891,7 @@ static const per_choice_t OpenLogicalChannelRejectCause_choice[] = {
{ 11, "waitForCommunicationMode" , ASN1_NOT_EXTENSION_ROOT, dissect_waitForCommunicationMode },
{ 12, "invalidDependentChannel" , ASN1_NOT_EXTENSION_ROOT, dissect_invalidDependentChannel },
{ 13, "replacementForRejected" , ASN1_NOT_EXTENSION_ROOT, dissect_replacementForRejected },
+ { 14, "securityDenied" , ASN1_NOT_EXTENSION_ROOT, dissect_securityDenied },
{ 0, NULL, 0, NULL }
};
@@ -13605,6 +13911,7 @@ static int dissect_olc_rej_cause(tvbuff_t *tvb, int offset, asn_ctx_t *actx, pro
static const per_sequence_t OpenLogicalChannelReject_sequence[] = {
{ "forwardLogicalChannelNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_forwardLogicalChannelNumber },
{ "cause" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_olc_rej_cause },
+ { "genericInformation" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_genericInformation },
{ NULL, 0, 0, NULL }
};
@@ -13613,7 +13920,7 @@ dissect_h245_OpenLogicalChannelReject(tvbuff_t *tvb, int offset, asn_ctx_t *actx
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence);
-#line 436 "h245.cnf"
+#line 439 "h245.cnf"
h245_pi->msg_type = H245_OpenLogChnRjc;
@@ -13634,7 +13941,7 @@ dissect_h245_CloseLogicalChannelAck(tvbuff_t *tvb, int offset, asn_ctx_t *actx _
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence);
-#line 446 "h245.cnf"
+#line 449 "h245.cnf"
h245_pi->msg_type = H245_CloseLogChnAck;
@@ -14943,7 +15250,7 @@ static const per_choice_t ResponseMessage_choice[] = {
static int
dissect_h245_ResponseMessage(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 303 "h245.cnf"
+#line 306 "h245.cnf"
guint32 value;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
@@ -15250,6 +15557,7 @@ static const value_string h245_EndSessionCommand_vals[] = {
{ 1, "disconnect" },
{ 2, "gstnOptions" },
{ 3, "isdnOptions" },
+ { 4, "genericInformation" },
{ 0, NULL }
};
@@ -15258,6 +15566,7 @@ static const per_choice_t EndSessionCommand_choice[] = {
{ 1, "disconnect" , ASN1_EXTENSION_ROOT , dissect_disconnect },
{ 2, "gstnOptions" , ASN1_EXTENSION_ROOT , dissect_gstnOptions },
{ 3, "isdnOptions" , ASN1_NOT_EXTENSION_ROOT, dissect_isdnOptions },
+ { 4, "genericInformation" , ASN1_NOT_EXTENSION_ROOT, dissect_genericInformation },
{ 0, NULL, 0, NULL }
};
@@ -16149,7 +16458,7 @@ static const per_choice_t CommandMessage_choice[] = {
static int
dissect_h245_CommandMessage(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 352 "h245.cnf"
+#line 355 "h245.cnf"
guint32 value;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
@@ -16219,7 +16528,7 @@ dissect_h245_MasterSlaveDeterminationRelease(tvbuff_t *tvb, int offset, asn_ctx_
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence);
-#line 471 "h245.cnf"
+#line 474 "h245.cnf"
h245_pi->msg_type = H245_MastSlvDetRls;
@@ -16231,6 +16540,7 @@ static int dissect_masterSlaveDeterminationRelease(tvbuff_t *tvb, int offset, as
static const per_sequence_t TerminalCapabilitySetRelease_sequence[] = {
+ { "genericInformation" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_genericInformation },
{ NULL, 0, 0, NULL }
};
@@ -16239,7 +16549,7 @@ dissect_h245_TerminalCapabilitySetRelease(tvbuff_t *tvb, int offset, asn_ctx_t *
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence);
-#line 481 "h245.cnf"
+#line 484 "h245.cnf"
h245_pi->msg_type = H245_TermCapSetRls;
@@ -16252,6 +16562,7 @@ static int dissect_terminalCapabilitySetRelease(tvbuff_t *tvb, int offset, asn_c
static const per_sequence_t OpenLogicalChannelConfirm_sequence[] = {
{ "forwardLogicalChannelNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_forwardLogicalChannelNumber },
+ { "genericInformation" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_genericInformation },
{ NULL, 0, 0, NULL }
};
@@ -16260,7 +16571,7 @@ dissect_h245_OpenLogicalChannelConfirm(tvbuff_t *tvb, int offset, asn_ctx_t *act
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence);
-#line 451 "h245.cnf"
+#line 454 "h245.cnf"
h245_pi->msg_type = H245_OpenLogChnCnf;
@@ -16851,6 +17162,7 @@ static const per_sequence_t T_signal_sequence[] = {
{ "rtpPayloadIndication" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_rtpPayloadIndication },
{ "paramS" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_paramS },
{ "encryptedSignalType" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_encryptedSignalType },
+ { "algorithmOID" , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_algorithmOID },
{ NULL, 0, 0, NULL }
};
@@ -16947,6 +17259,7 @@ static const value_string h245_UserInputIndication_vals[] = {
{ 4, "signalUpdate" },
{ 5, "extendedAlphanumeric" },
{ 6, "encryptedAlphanumeric" },
+ { 7, "genericInformation" },
{ 0, NULL }
};
@@ -16958,6 +17271,7 @@ static const per_choice_t UserInputIndication_choice[] = {
{ 4, "signalUpdate" , ASN1_NOT_EXTENSION_ROOT, dissect_signalUpdate },
{ 5, "extendedAlphanumeric" , ASN1_NOT_EXTENSION_ROOT, dissect_extendedAlphanumeric },
{ 6, "encryptedAlphanumeric" , ASN1_NOT_EXTENSION_ROOT, dissect_encryptedAlphanumeric },
+ { 7, "genericInformation" , ASN1_NOT_EXTENSION_ROOT, dissect_genericInformation },
{ 0, NULL, 0, NULL }
};
@@ -17357,7 +17671,7 @@ static const per_choice_t IndicationMessage_choice[] = {
static int
dissect_h245_IndicationMessage(tvbuff_t *tvb, int offset, asn_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
-#line 328 "h245.cnf"
+#line 331 "h245.cnf"
guint32 value;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
@@ -17821,10 +18135,10 @@ void proto_register_h245(void) {
{ "messageIdentifier", "h245.messageIdentifier",
FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
"GenericMessage/messageIdentifier", HFILL }},
- { &hf_h245_subMessageIdentifer,
- { "subMessageIdentifer", "h245.subMessageIdentifer",
+ { &hf_h245_subMessageIdentifier,
+ { "subMessageIdentifier", "h245.subMessageIdentifier",
FT_UINT32, BASE_DEC, NULL, 0,
- "GenericMessage/subMessageIdentifer", HFILL }},
+ "GenericMessage/subMessageIdentifier", HFILL }},
{ &hf_h245_messageContent,
{ "messageContent", "h245.messageContent",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -17921,6 +18235,14 @@ void proto_register_h245(void) {
{ "Item", "h245.capabilityDescriptors_item",
FT_NONE, BASE_NONE, NULL, 0,
"TerminalCapabilitySet/capabilityDescriptors/_item", HFILL }},
+ { &hf_h245_genericInformation,
+ { "genericInformation", "h245.genericInformation",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "", HFILL }},
+ { &hf_h245_genericInformation_item,
+ { "Item", "h245.genericInformation_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "", HFILL }},
{ &hf_h245_capabilityTableEntryNumber,
{ "capabilityTableEntryNumber", "h245.capabilityTableEntryNumber",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -18073,14 +18395,26 @@ void proto_register_h245(void) {
{ "receiveRTPAudioToneCapability", "h245.receiveRTPAudioToneCapability",
FT_NONE, BASE_NONE, NULL, 0,
"Capability/receiveRTPAudioToneCapability", HFILL }},
- { &hf_h245_fecCapability,
- { "fecCapability", "h245.fecCapability",
- FT_UINT32, BASE_DEC, VALS(h245_FECCapability_vals), 0,
- "Capability/fecCapability", HFILL }},
+ { &hf_h245_depFecCapability,
+ { "depFecCapability", "h245.depFecCapability",
+ FT_UINT32, BASE_DEC, VALS(h245_DepFECCapability_vals), 0,
+ "Capability/depFecCapability", HFILL }},
{ &hf_h245_multiplePayloadStreamCapability,
{ "multiplePayloadStreamCapability", "h245.multiplePayloadStreamCapability",
FT_NONE, BASE_NONE, NULL, 0,
"Capability/multiplePayloadStreamCapability", HFILL }},
+ { &hf_h245_fecCapability,
+ { "fecCapability", "h245.fecCapability",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Capability/fecCapability", HFILL }},
+ { &hf_h245_redundancyEncodingCap,
+ { "redundancyEncodingCap", "h245.redundancyEncodingCap",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Capability/redundancyEncodingCap", HFILL }},
+ { &hf_h245_oneOfCapabilities,
+ { "oneOfCapabilities", "h245.oneOfCapabilities",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Capability/oneOfCapabilities", HFILL }},
{ &hf_h245_encryptionAuthenticationAndIntegrity,
{ "encryptionAuthenticationAndIntegrity", "h245.encryptionAuthenticationAndIntegrity",
FT_NONE, BASE_NONE, NULL, 0,
@@ -19985,6 +20319,10 @@ void proto_register_h245(void) {
{ "integrityCapability", "h245.integrityCapability",
FT_NONE, BASE_NONE, NULL, 0,
"EncryptionAuthenticationAndIntegrity/integrityCapability", HFILL }},
+ { &hf_h245_genericH235SecurityCapability,
+ { "genericH235SecurityCapability", "h245.genericH235SecurityCapability",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "EncryptionAuthenticationAndIntegrity/genericH235SecurityCapability", HFILL }},
{ &hf_h245_EncryptionCapability_item,
{ "Item", "h245.EncryptionCapability_item",
FT_UINT32, BASE_DEC, VALS(h245_MediaEncryptionAlgorithm_vals), 0,
@@ -20045,6 +20383,10 @@ void proto_register_h245(void) {
{ "secureDTMF", "h245.secureDTMF",
FT_NONE, BASE_NONE, NULL, 0,
"UserInputCapability/secureDTMF", HFILL }},
+ { &hf_h245_genericUserInputCapability,
+ { "genericUserInputCapability", "h245.genericUserInputCapability",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "UserInputCapability/genericUserInputCapability", HFILL }},
{ &hf_h245_nonStandardParams,
{ "nonStandardData", "h245.nonStandardData",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -20157,11 +20499,11 @@ void proto_register_h245(void) {
{ "octetString", "h245.octetString",
FT_BYTES, BASE_HEX, NULL, 0,
"ParameterValue/octetString", HFILL }},
- { &hf_h245_genericParameter,
+ { &hf_h245_genericParameters,
{ "genericParameter", "h245.genericParameter",
FT_UINT32, BASE_DEC, NULL, 0,
"ParameterValue/genericParameter", HFILL }},
- { &hf_h245_genericParameter_item,
+ { &hf_h245_genericParameters_item,
{ "Item", "h245.genericParameter_item",
FT_NONE, BASE_NONE, NULL, 0,
"ParameterValue/genericParameter/_item", HFILL }},
@@ -20200,23 +20542,47 @@ void proto_register_h245(void) {
{ &hf_h245_fecc_rfc2733,
{ "rfc2733", "h245.rfc2733",
FT_NONE, BASE_NONE, NULL, 0,
- "FECCapability/rfc2733", HFILL }},
+ "DepFECCapability/rfc2733", HFILL }},
{ &hf_h245_redundancyEncodingBool,
{ "redundancyEncoding", "h245.redundancyEncoding",
FT_BOOLEAN, 8, NULL, 0,
- "FECCapability/rfc2733/redundancyEncoding", HFILL }},
+ "DepFECCapability/rfc2733/redundancyEncoding", HFILL }},
{ &hf_h245_separateStreamBool,
{ "separateStream", "h245.separateStream",
FT_NONE, BASE_NONE, NULL, 0,
- "FECCapability/rfc2733/separateStream", HFILL }},
+ "DepFECCapability/rfc2733/separateStream", HFILL }},
{ &hf_h245_separatePort,
{ "separatePort", "h245.separatePort",
FT_BOOLEAN, 8, NULL, 0,
- "FECCapability/rfc2733/separateStream/separatePort", HFILL }},
+ "DepFECCapability/rfc2733/separateStream/separatePort", HFILL }},
{ &hf_h245_samePortBool,
{ "samePort", "h245.samePort",
FT_BOOLEAN, 8, NULL, 0,
- "FECCapability/rfc2733/separateStream/samePort", HFILL }},
+ "DepFECCapability/rfc2733/separateStream/samePort", HFILL }},
+ { &hf_h245_protectedCapability,
+ { "protectedCapability", "h245.protectedCapability",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FECCapability/protectedCapability", HFILL }},
+ { &hf_h245_fecScheme,
+ { "fecScheme", "h245.fecScheme",
+ FT_OID, BASE_NONE, NULL, 0,
+ "", HFILL }},
+ { &hf_h245_rfc2733rfc2198,
+ { "rfc2733rfc2198", "h245.rfc2733rfc2198",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Rfc2733Format/rfc2733rfc2198", HFILL }},
+ { &hf_h245_rfc2733sameport,
+ { "rfc2733sameport", "h245.rfc2733sameport",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Rfc2733Format/rfc2733sameport", HFILL }},
+ { &hf_h245_rfc2733diffport,
+ { "rfc2733diffport", "h245.rfc2733diffport",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Rfc2733Format/rfc2733diffport", HFILL }},
+ { &hf_h245_rfc2733Format,
+ { "rfc2733Format", "h245.rfc2733Format",
+ FT_UINT32, BASE_DEC, VALS(h245_Rfc2733Format_vals), 0,
+ "", HFILL }},
{ &hf_h245_olc_fw_lcn,
{ "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -20397,6 +20763,10 @@ void proto_register_h245(void) {
{ "multiplePayloadStream", "h245.multiplePayloadStream",
FT_NONE, BASE_NONE, NULL, 0,
"", HFILL }},
+ { &hf_h245_depFec,
+ { "depFec", "h245.depFec",
+ FT_UINT32, BASE_DEC, VALS(h245_DepFECData_vals), 0,
+ "", HFILL }},
{ &hf_h245_fec,
{ "fec", "h245.fec",
FT_UINT32, BASE_DEC, VALS(h245_FECData_vals), 0,
@@ -20753,14 +21123,14 @@ void proto_register_h245(void) {
{ "Item", "h245.elements_item",
FT_NONE, BASE_NONE, NULL, 0,
"MultiplePayloadStream/elements/_item", HFILL }},
- { &hf_h245_rfc2733,
+ { &hf_h245_dep_rfc2733,
{ "rfc2733", "h245.rfc2733",
FT_NONE, BASE_NONE, NULL, 0,
- "FECData/rfc2733", HFILL }},
+ "DepFECData/rfc2733", HFILL }},
{ &hf_h245_fec_data_mode,
{ "mode", "h245.mode",
FT_UINT32, BASE_DEC, VALS(h245_FECdata_mode_vals), 0,
- "FECData/rfc2733/mode", HFILL }},
+ "DepFECData/rfc2733/mode", HFILL }},
{ &hf_h245_redundancyEncodingFlag,
{ "redundancyEncoding", "h245.redundancyEncoding",
FT_NONE, BASE_NONE, NULL, 0,
@@ -20768,11 +21138,11 @@ void proto_register_h245(void) {
{ &hf_h245_differentPort,
{ "differentPort", "h245.differentPort",
FT_NONE, BASE_NONE, NULL, 0,
- "SeparateStream/differentPort", HFILL }},
+ "DepSeparateStream/differentPort", HFILL }},
{ &hf_h245_protectedSessionID,
{ "protectedSessionID", "h245.protectedSessionID",
FT_UINT32, BASE_DEC, NULL, 0,
- "SeparateStream/differentPort/protectedSessionID", HFILL }},
+ "DepSeparateStream/differentPort/protectedSessionID", HFILL }},
{ &hf_h245_protectedPayloadType,
{ "protectedPayloadType", "h245.protectedPayloadType",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -20780,11 +21150,35 @@ void proto_register_h245(void) {
{ &hf_h245_samePort,
{ "samePort", "h245.samePort",
FT_NONE, BASE_NONE, NULL, 0,
- "SeparateStream/samePort", HFILL }},
+ "DepSeparateStream/samePort", HFILL }},
{ &hf_h245_separateStream,
{ "separateStream", "h245.separateStream",
- FT_UINT32, BASE_DEC, VALS(h245_SeparateStream_vals), 0,
+ FT_UINT32, BASE_DEC, VALS(h245_DepSeparateStream_vals), 0,
"", HFILL }},
+ { &hf_h245_rfc2733,
+ { "rfc2733", "h245.rfc2733",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "FECData/rfc2733", HFILL }},
+ { &hf_h245_pktMode,
+ { "pktMode", "h245.pktMode",
+ FT_UINT32, BASE_DEC, VALS(h245_T_pktMode_vals), 0,
+ "FECData/rfc2733/pktMode", HFILL }},
+ { &hf_h245_rfc2198coding,
+ { "rfc2198coding", "h245.rfc2198coding",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "FECData/rfc2733/pktMode/rfc2198coding", HFILL }},
+ { &hf_h245_mode_rfc2733sameport,
+ { "rfc2733sameport", "h245.rfc2733sameport",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "FECData/rfc2733/pktMode/rfc2733sameport", HFILL }},
+ { &hf_h245_mode_rfc2733diffport,
+ { "rfc2733diffport", "h245.rfc2733diffport",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "FECData/rfc2733/pktMode/rfc2733diffport", HFILL }},
+ { &hf_h245_protectedChannel,
+ { "protectedChannel", "h245.protectedChannel",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FECData/rfc2733/pktMode/rfc2733diffport/protectedChannel", HFILL }},
{ &hf_h245_unicastAddress,
{ "unicastAddress", "h245.unicastAddress",
FT_UINT32, BASE_DEC, VALS(h245_UnicastAddress_vals), 0,
@@ -20917,6 +21311,10 @@ void proto_register_h245(void) {
{ "Item", "h245.escrowentry_item",
FT_NONE, BASE_NONE, NULL, 0,
"EncryptionSync/escrowentry/_item", HFILL }},
+ { &hf_h245_genericParameter,
+ { "genericParameter", "h245.genericParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "EncryptionSync/genericParameter", HFILL }},
{ &hf_h245_escrowID,
{ "escrowID", "h245.escrowID",
FT_OID, BASE_NONE, NULL, 0,
@@ -21009,6 +21407,10 @@ void proto_register_h245(void) {
{ "replacementForRejected", "h245.replacementForRejected",
FT_NONE, BASE_NONE, NULL, 0,
"OpenLogicalChannelReject/cause/replacementForRejected", HFILL }},
+ { &hf_h245_securityDenied,
+ { "securityDenied", "h245.securityDenied",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "OpenLogicalChannelReject/cause/securityDenied", HFILL }},
{ &hf_h245_sessionID,
{ "sessionID", "h245.sessionID",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -21237,10 +21639,14 @@ void proto_register_h245(void) {
{ "multiplePayloadStreamMode", "h245.multiplePayloadStreamMode",
FT_NONE, BASE_NONE, NULL, 0,
"ModeElementType/multiplePayloadStreamMode", HFILL }},
+ { &hf_h245_depFecMode,
+ { "depFecMode", "h245.depFecMode",
+ FT_UINT32, BASE_DEC, VALS(h245_DepFECMode_vals), 0,
+ "ModeElementType/depFecMode", HFILL }},
{ &hf_h245_fecMode,
{ "fecMode", "h245.fecMode",
- FT_UINT32, BASE_DEC, VALS(h245_FECMode_vals), 0,
- "ModeElementType/fecMode", HFILL }},
+ FT_NONE, BASE_NONE, NULL, 0,
+ "", HFILL }},
{ &hf_h245_type,
{ "type", "h245.type",
FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
@@ -21300,11 +21706,15 @@ void proto_register_h245(void) {
{ &hf_h245_rfc2733Mode,
{ "rfc2733Mode", "h245.rfc2733Mode",
FT_NONE, BASE_NONE, NULL, 0,
- "FECMode/rfc2733Mode", HFILL }},
+ "DepFECMode/rfc2733Mode", HFILL }},
{ &hf_h245_fec_mode,
{ "mode", "h245.mode",
FT_UINT32, BASE_DEC, VALS(h245_FEC_mode_vals), 0,
- "FECMode/rfc2733Mode/mode", HFILL }},
+ "DepFECMode/rfc2733Mode/mode", HFILL }},
+ { &hf_h245_protectedElement,
+ { "protectedElement", "h245.protectedElement",
+ FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
+ "FECMode/protectedElement", HFILL }},
{ &hf_h245_adaptationLayer,
{ "adaptationLayerType", "h245.adaptationLayerType",
FT_UINT32, BASE_DEC, VALS(h245_AdaptationLayerType_vals), 0,
@@ -22869,6 +23279,10 @@ void proto_register_h245(void) {
{ "encryptedSignalType", "h245.encryptedSignalType",
FT_BYTES, BASE_HEX, NULL, 0,
"UserInputIndication/signal/encryptedSignalType", HFILL }},
+ { &hf_h245_algorithmOID,
+ { "algorithmOID", "h245.algorithmOID",
+ FT_OID, BASE_NONE, NULL, 0,
+ "", HFILL }},
{ &hf_h245_signalUpdate,
{ "signalUpdate", "h245.signalUpdate",
FT_NONE, BASE_NONE, NULL, 0,
@@ -22881,10 +23295,6 @@ void proto_register_h245(void) {
{ "extendedAlphanumeric", "h245.extendedAlphanumeric",
FT_NONE, BASE_NONE, NULL, 0,
"UserInputIndication/extendedAlphanumeric", HFILL }},
- { &hf_h245_algorithmOID,
- { "algorithmOID", "h245.algorithmOID",
- FT_OID, BASE_NONE, NULL, 0,
- "EncryptedAlphanumeric/algorithmOID", HFILL }},
{ &hf_h245_encrypted,
{ "encrypted", "h245.encrypted",
FT_BYTES, BASE_HEX, NULL, 0,
@@ -22924,6 +23334,7 @@ void proto_register_h245(void) {
&ett_h245_TerminalCapabilitySet,
&ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry,
&ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor,
+ &ett_h245_SEQUENCE_OF_GenericInformation,
&ett_h245_CapabilityTableEntry,
&ett_h245_CapabilityDescriptor,
&ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet,
@@ -23066,9 +23477,11 @@ void proto_register_h245(void) {
&ett_h245_NoPTAudioTelephonyEventCapability,
&ett_h245_NoPTAudioToneCapability,
&ett_h245_MultiplePayloadStreamCapability,
- &ett_h245_FECCapability,
+ &ett_h245_DepFECCapability,
&ett_h245_FECC_rfc2733,
&ett_h245_T_separateStreamBool,
+ &ett_h245_FECCapability,
+ &ett_h245_Rfc2733Format,
&ett_h245_OpenLogicalChannel,
&ett_h245_T_forwardLogicalChannelParameters,
&ett_h245_OLC_forw_multiplexParameters,
@@ -23119,12 +23532,17 @@ void proto_register_h245(void) {
&ett_h245_MultiplePayloadStream,
&ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement,
&ett_h245_MultiplePayloadStreamElement,
- &ett_h245_FECData,
+ &ett_h245_DepFECData,
&ett_h245_RFC2733Data,
&ett_h245_FECdata_mode,
- &ett_h245_SeparateStream,
+ &ett_h245_DepSeparateStream,
&ett_h245_T_differentPort,
&ett_h245_T_samePort,
+ &ett_h245_FECData,
+ &ett_h245_T_rfc2733,
+ &ett_h245_T_pktMode,
+ &ett_h245_T_mode_rfc2733sameport,
+ &ett_h245_T_mode_rfc2733diffport,
&ett_h245_TransportAddress,
&ett_h245_UnicastAddress,
&ett_h245_T_iPAddress,
@@ -23199,9 +23617,10 @@ void proto_register_h245(void) {
&ett_h245_MultiplePayloadStreamMode,
&ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode,
&ett_h245_MultiplePayloadStreamElementMode,
- &ett_h245_FECMode,
+ &ett_h245_DepFECMode,
&ett_h245_T_rfc2733Mode,
&ett_h245_FEC_mode,
+ &ett_h245_FECMode,
&ett_h245_H223ModeParameters,
&ett_h245_AdaptationLayerType,
&ett_h245_V76ModeParameters,