Ethereal-dev: Re: [Ethereal-dev] Voip Calls analysis and Graph analysis

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Alejandro Vaquero <alejandrovaquero@xxxxxxxxx>
Date: Thu, 10 Mar 2005 18:25:48 -0700
This is fix for a bug I introduced in the last patch (packet-h245.c will not compile). And also fixes a problem with the codec displayed in the "Voip Graph" for H245 "RequestMode" messages.

Hope it can make the Release.

Thanks
Alejandro

LEGO wrote:

I checked in this one, I hope is not too late.
On Tue, 08 Mar 2005 20:08:22 -0700, Alejandro Vaquero
<alejandrovaquero@xxxxxxxxx> wrote:
Hi All,
   find attached a new patch to:
- Automatic dissection of RTP events (RFC2833) set in SDP sessions.
- Add RTP events (RFC2833) to the Voip Graph


_______________________________________________
Ethereal-dev mailing list
Ethereal-dev@xxxxxxxxxxxx
http://www.ethereal.com/mailman/listinfo/ethereal-dev

Index: h245.cnf
===================================================================
--- h245.cnf	(revision 13706)
+++ h245.cnf	(working copy)
@@ -164,6 +164,36 @@
 		if (h245_pi != NULL) g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, codec_type);
 #.END
 #----------------------------------------------------------------------------------------
+#.FN_BODY AudioMode
+  guint32 value;
+
+  offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index,
+                              ett_h245_AudioMode, AudioMode_choice, "AudioMode",
+                              &value);
+  codec_type = val_to_str(value, h245_AudioMode_vals, "<unknown>");
+		if (h245_pi != NULL) g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, val_to_str(value, h245_AudioMode_vals, "ukn"));
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY VideoMode
+  guint32 value;
+
+  offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index,
+                              ett_h245_VideoMode, VideoMode_choice, "VideoMode",
+                              &value);
+  codec_type = val_to_str(value, h245_VideoMode_vals, "<unknown>");
+		if (h245_pi != NULL) g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, val_to_str(value, h245_VideoMode_vals, "ukn"));
+#.END
+#----------------------------------------------------------------------------------------
+#.FN_BODY DataModeApplication
+  guint32 value;
+
+  offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index,
+                              ett_h245_DataModeApplication, DataModeApplication_choice, "DataModeApplication",
+                              &value);
+  codec_type = val_to_str(value, h245_DataModeApplication_vals, "<unknown>");
+		if (h245_pi != NULL) g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, val_to_str(value, h245_DataModeApplication_vals, "ukn"));
+#.END
+#----------------------------------------------------------------------------------------
 #.FN_FTR MasterSlaveDeterminationAck
 
   h245_pi->msg_type = H245_MastSlvDetAck;
@@ -375,7 +405,7 @@
 		src_addr.len=4;
 		src_addr.data=(char *)&ipv4_address;
 
-		rtp_add_address(pinfo, &src_addr, ipv4_port, 0, "H245", pinfo->fd->num);
+		rtp_add_address(pinfo, &src_addr, ipv4_port, 0, "H245", pinfo->fd->num, 0);
 	}
 	if((!pinfo->fd->flags.visited) && rtcp_ipv4_address!=0 && rtcp_ipv4_port!=0 && rtcp_handle){
 		address src_addr;