diff --git a/wireshark/abis_oml.patch b/wireshark/abis_oml.patch
index a49b6fc..4d13fa2 100644
--- a/wireshark/abis_oml.patch
+++ b/wireshark/abis_oml.patch
@@ -1,19 +1,19 @@
 Index: wireshark/epan/dissectors/Makefile.common
 ===================================================================
---- wireshark.orig/epan/dissectors/Makefile.common	2009-06-25 15:04:16.000000000 +0200
-+++ wireshark/epan/dissectors/Makefile.common	2009-06-29 13:30:06.000000000 +0200
-@@ -874,6 +874,7 @@
+--- wireshark.orig/epan/dissectors/Makefile.common	2009-07-03 22:20:16.000000000 +0200
++++ wireshark/epan/dissectors/Makefile.common	2009-07-04 03:46:47.000000000 +0200
+@@ -926,6 +926,7 @@
+ # Dissectors with warnings.
  #
  DIRTY_DISSECTOR_SRC =	\
- 	packet-abis_ip.c	\
-+	packet-abis_oml.c	\
++	packet-gsm_abis_oml.c	\
+ 	packet-isakmp.c		\
  	packet-k12.c 		\
  	packet-nbd.c		\
- 	packet-sccp.c		\
-Index: wireshark/epan/dissectors/packet-abis_oml.c
+Index: wireshark/epan/dissectors/packet-gsm_abis_oml.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ wireshark/epan/dissectors/packet-abis_oml.c	2009-07-03 12:38:55.000000000 +0200
++++ wireshark/epan/dissectors/packet-gsm_abis_oml.c	2009-07-04 03:47:46.000000000 +0200
 @@ -0,0 +1,1241 @@
 +/* packet-abis_oml.c
 + * Routines for packet dissection of GSM A-bis over IP (3GPP TS 12.21)
@@ -50,7 +50,7 @@
 +#include <epan/packet.h>
 +#include <epan/emem.h>
 +
-+#include "packet-abis_oml.h"
++#include "packet-gsm_abis_oml.h"
 +#include "packet-gsm_a_common.h"
 +
 +/* initialize the protocol and registered fields */
@@ -1256,10 +1256,10 @@
 +
 +	abis_oml_handle = find_dissector("abis_oml");
 +}
-Index: wireshark/epan/dissectors/packet-abis_oml.h
+Index: wireshark/epan/dissectors/packet-gsm_abis_oml.h
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ wireshark/epan/dissectors/packet-abis_oml.h	2009-07-02 21:23:14.000000000 +0200
++++ wireshark/epan/dissectors/packet-gsm_abis_oml.h	2009-07-04 03:46:47.000000000 +0200
 @@ -0,0 +1,726 @@
 +/* GSM Network Management messages on the A-bis interface
 + * 3GPP TS 12.21 version 8.0.0 Release 1999 / ETSI TS 100 623 V8.0.0 */
diff --git a/wireshark/abisip.patch b/wireshark/abisip.patch
index 97f203a..11ab597 100644
--- a/wireshark/abisip.patch
+++ b/wireshark/abisip.patch
@@ -1,19 +1,19 @@
 Index: epan/dissectors/Makefile.common
 ===================================================================
---- epan/dissectors/Makefile.common.orig	2009-02-28 15:39:56.000000000 +0100
-+++ epan/dissectors/Makefile.common	2009-06-25 15:04:16.000000000 +0200
-@@ -873,6 +873,7 @@
- # Dissectors with warnings.
- #
- DIRTY_DISSECTOR_SRC =	\
-+	packet-abis_ip.c	\
- 	packet-k12.c 		\
- 	packet-nbd.c		\
- 	packet-sccp.c		\
+--- epan/dissectors/Makefile.common.orig	2009-07-03 22:19:54.000000000 +0200
++++ epan/dissectors/Makefile.common	2009-07-03 22:20:16.000000000 +0200
+@@ -471,6 +471,7 @@
+ 	packet-gsm_a_gm.c		\
+ 	packet-gsm_a_rp.c		\
+ 	packet-gsm_a_rr.c	\
++	packet-gsm_abis_ip.c	\
+ 	packet-gsm_bsslap.c		\
+ 	packet-gsm_bssmap_le.c	\
+ 	packet-gsm_sms.c	\
 Index: epan/dissectors/packet-rsl.c
 ===================================================================
---- epan/dissectors/packet-rsl.c.orig	2009-02-28 15:39:51.000000000 +0100
-+++ epan/dissectors/packet-rsl.c	2009-02-28 15:39:56.000000000 +0100
+--- epan/dissectors/packet-rsl.c.orig	2009-07-03 22:19:54.000000000 +0200
++++ epan/dissectors/packet-rsl.c	2009-07-03 22:20:16.000000000 +0200
 @@ -3950,6 +3950,7 @@
  	proto_register_field_array(proto_rsl, hf, array_length(hf));
  	proto_register_subtree_array(ett, array_length(ett));
@@ -22,12 +22,12 @@
  
  }
  
-Index: epan/dissectors/packet-abis_ip.c
+Index: epan/dissectors/packet-gsm_abis_ip.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ epan/dissectors/packet-abis_ip.c	2009-06-25 15:04:42.000000000 +0200
++++ epan/dissectors/packet-gsm_abis_ip.c	2009-07-03 22:20:16.000000000 +0200
 @@ -0,0 +1,279 @@
-+/* packet-abis_ip.c
++/* packet-gsm_abis_ip.c
 + * Routines for packet dissection of ip.access A-bis over IP
 + * Copyright 2009 by Harald Welte <laforge@gnumonks.org>
 + *
@@ -122,7 +122,7 @@
 +};
 +
 +static gint
-+dissect_ipa_attr(tvbuff_t *tvb, int base_offs, packet_info *pinfo, proto_tree *tree)
++dissect_ipa_attr(tvbuff_t *tvb, int base_offs, proto_tree *tree)
 +{
 +	guint8 len, tag, attr_type;
 +
@@ -173,7 +173,7 @@
 +		switch (msg_type) {
 +		case 4:
 +		case 5:
-+			dissect_ipa_attr(tvb, 1, pinfo, ipaccess_tree);
++			dissect_ipa_attr(tvb, 1, ipaccess_tree);
 +			break;
 +		}
 +	}
@@ -242,7 +242,7 @@
 +	}
 +}
 +
-+void proto_register_abisip(void)
++void proto_register_abis_ip(void)
 +{
 +	static hf_register_info hf[] = {
 +		{&hf_abisip_data_len,
@@ -260,7 +260,7 @@
 +		{&hf_ipaccess_msgtype,
 +		 {"MessageType", "ipaccess.msg_type",
 +		  FT_UINT8, BASE_HEX, VALS(ipaccess_msgtype_vals), 0x0,
-+		  "type of ip.access messsage", HFILL}
++		  "Type of ip.access messsage", HFILL}
 +		 },
 +		{&hf_ipaccess_attr_tag,
 +		 {"Tag", "ipaccess.attr_tag",
@@ -280,10 +280,10 @@
 +	};
 +
 +	proto_abisip =
-+	    proto_register_protocol("A-bis/IP protocol as used by ip.access",
-+				    "A-bis/IP", "abis_ip");
++	    proto_register_protocol("GSM A-bis/IP protocol as used by ip.access",
++				    "GSM A-bis/IP", "gsm_abis_ip");
 +	proto_ipaccess =
-+	    proto_register_protocol("A-bis/IP ip.access sub-protocol",
++	    proto_register_protocol("GSM A-bis/IP ip.access CCM sub-protocol",
 +				    "IPA", "ipaccess");
 +
 +	proto_register_field_array(proto_abisip, hf, array_length(hf));
@@ -293,7 +293,7 @@
 +	register_dissector("gsm_abis_ip", dissect_abisip, proto_abisip);
 +}
 +
-+void proto_reg_handoff_abisip(void)
++void proto_reg_handoff_gsm_abis_ip(void)
 +{
 +	dissector_handle_t abisip_handle;
 +
diff --git a/wireshark/rsl-ipaccess.patch b/wireshark/rsl-ipaccess.patch
index b893faa..75de561 100644
--- a/wireshark/rsl-ipaccess.patch
+++ b/wireshark/rsl-ipaccess.patch
@@ -1,14 +1,14 @@
 Index: wireshark/epan/dissectors/packet-rsl.c
 ===================================================================
---- wireshark.orig/epan/dissectors/packet-rsl.c	2009-02-28 15:39:56.000000000 +0100
-+++ wireshark/epan/dissectors/packet-rsl.c	2009-06-26 15:51:00.000000000 +0200
+--- wireshark.orig/epan/dissectors/packet-rsl.c	2009-07-03 22:20:16.000000000 +0200
++++ wireshark/epan/dissectors/packet-rsl.c	2009-07-04 04:06:04.000000000 +0200
 @@ -2,6 +2,7 @@
   * Routines for Radio Signalling Link (RSL) dissection.
   *
   * Copyright 2007, Anders Broman <anders.broman@ericsson.com>
 + * Copyright 2009, Harald Welte <laforge@gnumonks.org>
   *
-  * $Id: packet-rsl.c 27065 2008-12-20 00:09:02Z wmeier $
+  * $Id: packet-rsl.c 28770 2009-06-18 21:30:42Z stig $
   *
 @@ -44,6 +45,8 @@
  #include <epan/lapd_sapi.h>
@@ -583,7 +583,7 @@
 +		src_addr.len = 4;
 +		src_addr.data = (guint8 *)&local_addr;
 +		rtp_add_address(pinfo, &src_addr, local_port, 0,
-+				"GSM A-bis/IP", pinfo->fd->num, 0);
++				"GSM A-bis/IP", pinfo->fd->num, 0, NULL);
 +		rtcp_add_address(pinfo, &src_addr, local_port+1, 0,
 +				 "GSM A-bis/IP", pinfo->fd->num);
 +		break;
@@ -618,7 +618,7 @@
  
 @@ -3883,6 +4399,46 @@
  			FT_UINT8, BASE_DEC, VALS(rsl_emlpp_prio_vals), 0x03,
- 			"eMLPP Priority", HFILL }
+ 			NULL, HFILL }
  		},
 +		{ &hf_rsl_f4,
 +			{ "unknown F4 IE",	"rsl.ipacc.f4",
