aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/h245
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-01-21 22:42:32 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-01-21 22:42:32 +0000
commitdbad017913006053e64ba18a93b61bc6a6a5f067 (patch)
tree9f4e67fe3e1bbe63eb0eb07c2a1da3d4e410c9a7 /asn1/h245
parentc4ac7edd32aa59ca3fa9a7823a7cff47f4767a29 (diff)
Fix buggs with conversations not beeing set up in some cases. Decoding of t35
svn path=/trunk/; revision=13156
Diffstat (limited to 'asn1/h245')
-rw-r--r--asn1/h245/h245.cnf81
-rw-r--r--asn1/h245/packet-h245-template.c8
2 files changed, 87 insertions, 2 deletions
diff --git a/asn1/h245/h245.cnf b/asn1/h245/h245.cnf
index ab312da281..0c7196e823 100644
--- a/asn1/h245/h245.cnf
+++ b/asn1/h245/h245.cnf
@@ -256,12 +256,24 @@ guint32 tsapIdentifier;
media_channel = TRUE;
#.END
#----------------------------------------------------------------------------------------
+#.FN_HDR H2250LogicalChannelParameters/mediaChannel
+
+
+ media_channel = TRUE;
+#.END
+#----------------------------------------------------------------------------------------
#.FN_HDR H2250LogicalChannelAckParameters/mediaControlChannel
media_control_channel = TRUE;
#.END
#----------------------------------------------------------------------------------------
+#.FN_HDR H2250LogicalChannelParameters/mediaControlChannel
+
+
+ media_control_channel = TRUE;
+#.END
+#----------------------------------------------------------------------------------------
#.FN_FTR H2250LogicalChannelAckParameters/mediaChannel
@@ -274,6 +286,18 @@ guint32 tsapIdentifier;
media_control_channel = FALSE;
#.END
#----------------------------------------------------------------------------------------
+#.FN_FTR H2250LogicalChannelParameters/mediaChannel
+
+
+ media_channel = FALSE;
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_FTR H2250LogicalChannelParameters/mediaControlChannel
+
+
+ media_control_channel = FALSE;
+#.END
+#----------------------------------------------------------------------------------------
#.FN_HDR OpenLogicalChannelAck/forwardMultiplexAckParameters
@@ -305,8 +329,55 @@ guint32 tsapIdentifier;
#.END
#----------------------------------------------------------------------------------------
-#.TYPE_RENAME
+#.FN_HDR OpenLogicalChannel/reverseLogicalChannelParameters/multiplexParameters
+
+
+ media_channel = FALSE;
+ media_control_channel = FALSE;
+
+#.END
#----------------------------------------------------------------------------------------
+#.FN_FTR OpenLogicalChannel/reverseLogicalChannelParameters/multiplexParameters
+ if((!pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 && rtp_handle){
+ address src_addr;
+
+ src_addr.type=AT_IPv4;
+ src_addr.len=4;
+ src_addr.data=(char *)&ipv4_address;
+
+ rtp_add_address(pinfo, &src_addr, ipv4_port, 0, "H245", pinfo->fd->num);
+ }
+ if((!pinfo->fd->flags.visited) && rtcp_ipv4_address!=0 && rtcp_ipv4_port!=0 && rtcp_handle){
+ address src_addr;
+
+ src_addr.type=AT_IPv4;
+ src_addr.len=4;
+ src_addr.data=(char *)&rtcp_ipv4_address;
+
+ rtcp_add_address(pinfo, &src_addr, rtcp_ipv4_port, 0, "H245", pinfo->fd->num);
+ }
+
+#.END
+#.FN_HDR NonStandardIdentifier/h221NonStandard
+ t35CountryCode = 0;
+ t35Extension = 0;
+ manufacturerCode = 0;
+#.FN_FTR NonStandardIdentifier/h221NonStandard
+ h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
+ proto_tree_add_uint(tree, hf_h245Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
+
+#.FN_BODY NonStandardIdentifier/h221NonStandard/t35CountryCode
+ offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index,
+ 0U, 255U, &t35CountryCode, NULL, FALSE);
+#.FN_BODY NonStandardIdentifier/h221NonStandard/t35Extension
+ offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index,
+ 0U, 255U, &t35Extension, NULL, FALSE);
+#.FN_BODY NonStandardIdentifier/h221NonStandard/manufacturerCode
+ offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index,
+ 0U, 65535U, &manufacturerCode, NULL, FALSE);
+#.END
+#----------------------------------------------------------------------------------------
+#.TYPE_RENAME
NewATMVCCommand/aal Cmd_aal
NewATMVCCommand/aal/aal1 Cmd_aal1
@@ -394,6 +465,9 @@ FECCapability/rfc2733 FECC_rfc2733
RequestModeAck/response Req_mode_ack_response
UserInputIndication/signalUpdate/rtp Si_rtp
UnicastAddress/iPAddress/tsapIdentifier TsapIdentifier
+H2250LogicalChannelAckParameters/mediaChannel Ack_mediaChannel
+H2250LogicalChannelAckParameters/mediaControlChannel Ack_mediaControlChannel
+CommunicationModeTableEntry/mediaChannel Cm_mediaChannel
#----------------------------------------------------------------------------------------
#.FIELD_RENAME
#----------------------------------------------------------------------------------------
@@ -639,6 +713,8 @@ UnicastAddress/iP6Address/tsapIdentifier ipv6_tsapIdentifier
UnicastAddress/iPSourceRouteAddress/tsapIdentifier iPSrcRoute_tsapIdentifier
MulticastAddress/iPAddress/tsapIdentifier multicast_tsapIdentifier
MulticastAddress/iP6Address/tsapIdentifier multicast_IPv6_tsapIdentifier
+CommunicationModeTableEntry/mediaChannel cm_mediaChannel
+CommunicationModeTableEntry/mediaControlChannel cm_mediaControlChannel
#----------------------------------------------------------------------------------------
#.TYPE_ATTR
UnicastAddress/iPAddress/network TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
@@ -646,4 +722,5 @@ UnicastAddress/iP6Address/network TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS
MulticastAddress/iPAddress/network TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
MulticastAddress/iP6Address/network TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
RTPPayloadType/payloadDescriptor/rfc-number TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(h245_RFC_number_vals)
-#----------------------------------------------------------------------------------------
+NonStandardIdentifier/h221NonStandard/t35CountryCode TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(T35CountryCode_vals)
+#---------------------------------------------------------------------------------------- \ No newline at end of file
diff --git a/asn1/h245/packet-h245-template.c b/asn1/h245/packet-h245-template.c
index 320a73eea4..6766115419 100644
--- a/asn1/h245/packet-h245-template.c
+++ b/asn1/h245/packet-h245-template.c
@@ -67,6 +67,7 @@ static dissector_handle_t MultimediaSystemControlMessage_handle;
static void reset_h245_packet_info(h245_packet_info *pi);
static int hf_h245_pdu_type = -1;
+static int hf_h245Manufacturer = -1;
static int h245_tap = -1;
static int ett_h245 = -1;
static h245_packet_info h245_pi;
@@ -175,6 +176,10 @@ static guint32 rtcp_ipv4_address;
static guint32 rtcp_ipv4_port;
static gboolean media_channel;
static gboolean media_control_channel;
+static guint32 t35CountryCode;
+static guint32 t35Extension;
+static guint32 manufacturerCode;
+static guint32 h221NonStandard;
static const value_string h245_RFC_number_vals[] = {
{ 2190, "RFC 2190 - H.263 Video Streams" },
@@ -228,6 +233,9 @@ void proto_register_h245(void) {
{ &hf_h245_pdu_type,
{ "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
VALS(h245_MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
+ { &hf_h245Manufacturer,
+ { "H.245 Manufacturer", "h245.Manufacturer", FT_UINT32, BASE_HEX,
+ VALS(H221ManufacturerCode_vals), 0, "h245.H.221 Manufacturer", HFILL }},
#include "packet-h245-hfarr.c"
};