Ethereal-dev: [Ethereal-dev] MGCP plugin

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

From: Ed Warnicke <hagbard@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 8 Nov 2000 02:34:27 -0500 (EST)
Here is an MGCP plugin.  It's still a bit primitive, but I figured I
should get something out there as a beginning.  So if upon consideration
you find this to be up to snuff you are welcome to check it in.

This plugin was written to RFC 2705, the MGCP 1.0 spec, but it should 
adequately dissect previous versions of MGCP and SGCP.

The plugin is written in the new style implemented over this past weekend
(thanks Guy!).

I have unfortunately not been able to test this dissector as thoroughly 
as I would have liked.  I don't have any devices that actually speak 
MGCP available and thus could only test against the junk traffic 
that I could write myself.  

The MGCP plugin provides user options for gateway and callagent udp 
and tcp port selection.  I parse through all of the valid header 
types and register and extensive list of fields that can be used in 
headers.  There are user preference options to toggle whether to 
display an annotated tree of the dissection or just the text (in the way
that the HTTP dissector does) or both.

I have noted that in the help section the MGCP listing on the 
"Protocols" tab lists the gryphon and mgcp protocols last (as opposed to 
in their proper place in the alphabetical order in the list).  The 
same is true on the "Display Filters" tab.  Do any wiser heads have 
any thoughts about this?

Any suggests or comments about the code would be gladly welcomed.

Ed 

? plugins/mgcp
Index: Makefile.am
===================================================================
RCS file: /cvsroot/ethereal/Makefile.am,v
retrieving revision 1.242
diff -u -r1.242 Makefile.am
--- Makefile.am	2000/11/05 23:45:58	1.242
+++ Makefile.am	2000/11/08 07:13:07
@@ -345,7 +345,8 @@
 ethereal_DEPENDENCIES = \
 	$(ethereal_optional_objects)	\
 	$(ethereal_additional_libs)	\
-	plugins/gryphon/gryphon.la
+	plugins/gryphon/gryphon.la \
+	plugins/mgcp/mgcp.la
 
 ethereal_static_DEPENDENCIES = \
 	$(ethereal_optional_objects)	\
@@ -363,7 +364,8 @@
 	$(ethereal_additional_libs)	\
 	@SNMP_LIBS@			\
 	"-dlopen" self	\
-	"-dlopen" plugins/gryphon/gryphon.la @PCAP_LIBS@ @GTK_LIBS@
+	"-dlopen" plugins/gryphon/gryphon.la @PCAP_LIBS@ @GTK_LIBS@ \
+	"-dlopen" plugins/mgcp/mgcp.la @PCAP_LIBS@ @GTK_LIBS@
 
 ethereal_static_LDADD = \
 	$(ethereal_optional_objects)	\
@@ -387,7 +389,8 @@
 tethereal_DEPENDENCIES = \
 	$(ethereal_optional_objects)	\
 	$(tethereal_additional_libs)	\
-	plugins/gryphon/gryphon.la
+	plugins/gryphon/gryphon.la	\
+	plugins/mgcp/mgcp.la
 
 # This automake variable adds to the link-line for the executable
 tethereal_LDADD = wiretap/libwiretap.a	\
@@ -396,6 +399,7 @@
 	@SNMP_LIBS@			\
 	"-dlopen" self	\
 	"-dlopen" plugins/gryphon/gryphon.la @GLIB_LIBS@ -lm \
+	"-dlopen" plugins/mgcp/mgcp.la @GLIB_LIBS@ -lm \
 	@PCAP_LIBS@ @SOCKET_LIBS@ @NSL_LIBS@
 
 tethereal_LDFLAGS = -export-dynamic
Index: configure.in
===================================================================
RCS file: /cvsroot/ethereal/configure.in,v
retrieving revision 1.107
diff -u -r1.107 configure.in
--- configure.in	2000/10/27 02:22:04	1.107
+++ configure.in	2000/11/08 07:13:07
@@ -414,4 +414,6 @@
   packaging/svr4/checkinstall
   packaging/svr4/pkginfo
   plugins/Makefile
-  plugins/gryphon/Makefile)
+  plugins/gryphon/Makefile
+  plugins/mgcp/Makefile)
+
Index: plugins/Makefile.am
===================================================================
RCS file: /cvsroot/ethereal/plugins/Makefile.am,v
retrieving revision 1.5
diff -u -r1.5 Makefile.am
--- Makefile.am	2000/03/15 19:09:16	1.5
+++ Makefile.am	2000/11/08 07:13:08
@@ -22,7 +22,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
-SUBDIRS = gryphon
+SUBDIRS = gryphon mgcp
 
 plugindir = @PLUGIN_DIR@
 

Attachment: ethereal_plugin_mgcp.tar.gz
Description: plugin dissector for MGCP dissector plugin