Use libosmocore instead of the old temporary laF0rge1 lib..
diff --git a/configure.ac b/configure.ac
index 7ed1171..518b0bc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -19,11 +19,14 @@
 AC_CHECK_HEADERS([net-snmp/net-snmp-config.h])
 
 dnl Checks for typedefs, structures and compiler characteristics
-PKG_CHECK_MODULES([LAFORGE], [liblaf0rge1])
-PKG_CHECK_MODULES([SCCP], [libsccp])
+PKG_CHECK_MODULES([LIBOSMOCORE], [libosmocore])
+PKG_CHECK_MODULES([LIBOSMOSCCP], [libosmo-sccp])
+PKG_CHECK_MODULES([LIBOSMOVTY], [libosmovty])
 #PKG_CHECK_MODULES([NEXUSWARE_C7], [nexusware-c7])
 #PKG_CHECK_MODULES([NEXUSWARE_UNIPORTE], [nexusware-uniporte])
 
+AC_SUBST(UNIPORTE, [-DNO_UNIPORTE])
+
 AC_OUTPUT(
     include/Makefile
     include/mgcp/Makefile
diff --git a/include/Makefile.am b/include/Makefile.am
index 7a2960e..8b1dd4b 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -1,5 +1,5 @@
 noinst_HEADERS = mtp_level3.h mtp_data.h ipaccess.h thread.h mtp_pcap.h \
-		 mgcp_ss7.h bss_patch.h write_queue.h bssap_sccp.h bsc_data.h udp_input.h \
+		 mgcp_ss7.h bss_patch.h bssap_sccp.h bsc_data.h udp_input.h \
                  snmp_mtp.h
 
 SUBDIRS = mgcp openbsc_nat
diff --git a/include/bsc_data.h b/include/bsc_data.h
index 9b5bbfd..8418dab 100644
--- a/include/bsc_data.h
+++ b/include/bsc_data.h
@@ -23,13 +23,13 @@
 #ifndef BSC_DATA_H
 #define BSC_DATA_H
 
-#include <laf0rge1/linuxlist.h>
-#include <laf0rge1/select.h>
-#include <laf0rge1/timer.h>
+#include <osmocore/linuxlist.h>
+#include <osmocore/select.h>
+#include <osmocore/timer.h>
+#include <osmocore/write_queue.h>
 
 #include <sccp/sccp.h>
 
-#include "write_queue.h"
 
 #include <netinet/in.h>
 #include <arpa/inet.h>
diff --git a/include/bss_patch.h b/include/bss_patch.h
index 43dc5f1..7d83ac9 100644
--- a/include/bss_patch.h
+++ b/include/bss_patch.h
@@ -22,7 +22,7 @@
 #ifndef bss_patch_h
 #define bss_patch_h
 
-#include <laf0rge1/msgb.h>
+#include <osmocore/msgb.h>
 
 #include <sccp/sccp.h>
 
diff --git a/include/bssap_sccp.h b/include/bssap_sccp.h
index f2dd45c..91e678e 100644
--- a/include/bssap_sccp.h
+++ b/include/bssap_sccp.h
@@ -21,7 +21,7 @@
 #ifndef bssap_sccp_h
 #define bssap_sccp_h
 
-#include <sys/types.h>
+#include <stdint.h>
 #include <sccp/sccp_types.h>
 
 struct msgb *create_clear_command(struct sccp_source_reference *dest_ref);
diff --git a/include/cellmgr_debug.h b/include/cellmgr_debug.h
new file mode 100644
index 0000000..3d22cab
--- /dev/null
+++ b/include/cellmgr_debug.h
@@ -0,0 +1,17 @@
+#ifndef CELLMGR_DEBUG_H
+#define CELLMGR_DEBUG_H
+
+#define DEBUG
+#include <osmocore/logging.h>
+
+/* Debuag Areas of the code */
+enum {
+	DINP,
+	DMSC,
+	DSCCP,
+	DMGCP,
+};
+
+extern const struct log_info log_info;
+
+#endif
diff --git a/include/ipaccess.h b/include/ipaccess.h
index ca12eed..4cf3a28 100644
--- a/include/ipaccess.h
+++ b/include/ipaccess.h
@@ -1,7 +1,7 @@
 #ifndef _IPACCESS_H
 #define _IPACCESS_H
 
-#include <laf0rge1/linuxlist.h>
+#include <osmocore/linuxlist.h>
 
 #define IPA_TCP_PORT_OML	3002
 #define IPA_TCP_PORT_RSL	3003
diff --git a/include/mgcp/mgcp.h b/include/mgcp/mgcp.h
index 914571a..9bbf554 100644
--- a/include/mgcp/mgcp.h
+++ b/include/mgcp/mgcp.h
@@ -24,7 +24,7 @@
 #ifndef OPENBSC_MGCP_H
 #define OPENBSC_MGCP_H
 
-#include <laf0rge1/msgb.h>
+#include <osmocore/msgb.h>
 
 #include <arpa/inet.h>
 
diff --git a/include/mgcp/mgcp_internal.h b/include/mgcp/mgcp_internal.h
index d1a6523..ab6217d 100644
--- a/include/mgcp/mgcp_internal.h
+++ b/include/mgcp/mgcp_internal.h
@@ -24,14 +24,10 @@
 #ifndef OPENBSC_MGCP_DATA_H
 #define OPENBSC_MGCP_DATA_H
 
-#include <laf0rge1/select.h>
+#include <osmocore/select.h>
 
 #define CI_UNUSED 0
 
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
-#endif
-
 enum mgcp_connection_mode {
 	MGCP_CONN_NONE = 0,
 	MGCP_CONN_RECV_ONLY = 1,
diff --git a/include/mgcp_ss7.h b/include/mgcp_ss7.h
index 3c9b4b7..2779962 100644
--- a/include/mgcp_ss7.h
+++ b/include/mgcp_ss7.h
@@ -23,9 +23,9 @@
 #ifndef mgcp_ss7_h
 #define mgcp_ss7_h
 
-#include <laf0rge1/timer.h>
+#include <osmocore/timer.h>
+#include <osmocore/write_queue.h>
 
-#include "write_queue.h"
 #include "thread.h"
 
 
diff --git a/include/mtp_data.h b/include/mtp_data.h
index 7006953..b8f6af0 100644
--- a/include/mtp_data.h
+++ b/include/mtp_data.h
@@ -21,8 +21,9 @@
 #ifndef mtp_data_h
 #define mtp_data_h
 
-#include <laf0rge1/msgb.h>
-#include <laf0rge1/timer.h>
+#include <osmocore/msgb.h>
+#include <osmocore/timer.h>
+#include <osmocore/utils.h>
 
 /* MTP Level3 timers */
 
@@ -81,8 +82,4 @@
 void mtp_link_slta_recv(struct mtp_link *link);
 void mtp_link_sccp_down(struct mtp_link *link);
 
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
-#endif
-
 #endif
diff --git a/include/mtp_level3.h b/include/mtp_level3.h
index ad00c1a..a7cdd45 100644
--- a/include/mtp_level3.h
+++ b/include/mtp_level3.h
@@ -23,6 +23,7 @@
 #ifndef mtp_level3_h
 #define mtp_level3_h
 
+#include <stdint.h>
 #include <endian.h>
 #include <sys/types.h>
 
diff --git a/include/mtp_pcap.h b/include/mtp_pcap.h
index 1b7334a..5e8f7d3 100644
--- a/include/mtp_pcap.h
+++ b/include/mtp_pcap.h
@@ -21,7 +21,7 @@
 #ifndef mtp_pcap_h
 #define mtp_pcap_h
 
-#include <sys/types.h>
+#include <stdint.h>
 
 int mtp_pcap_write_header(int fd);
 int mtp_pcap_write_msu(int fd, const uint8_t *data, int length);
diff --git a/include/openbsc_nat/bssap.h b/include/openbsc_nat/bssap.h
index 4986f9d..68e4d00 100644
--- a/include/openbsc_nat/bssap.h
+++ b/include/openbsc_nat/bssap.h
@@ -5,7 +5,7 @@
 
 #include <stdlib.h>
 
-#include <laf0rge1/msgb.h>
+#include <osmocore/msgb.h>
 #include <sccp/sccp.h>
 
 struct gsm_network;
diff --git a/include/openbsc_nat/tlv.h b/include/openbsc_nat/tlv.h
index 88bd9af..e2d4b88 100644
--- a/include/openbsc_nat/tlv.h
+++ b/include/openbsc_nat/tlv.h
@@ -4,7 +4,7 @@
 #include <sys/types.h>
 #include <string.h>
 
-#include <laf0rge1/msgb.h>
+#include <osmocore/msgb.h>
 
 /* Terminology / wording
 		tag	length		value	(in bits)
diff --git a/include/thread.h b/include/thread.h
index f23cae7..2db8118 100644
--- a/include/thread.h
+++ b/include/thread.h
@@ -21,8 +21,8 @@
 #ifndef thread_h
 #define thread_h
 
-#include <laf0rge1/linuxlist.h>
-#include <laf0rge1/select.h>
+#include <osmocore/linuxlist.h>
+#include <osmocore/select.h>
 
 #include <pthread.h>
 
diff --git a/include/udp_input.h b/include/udp_input.h
index 1715733..b11448b 100644
--- a/include/udp_input.h
+++ b/include/udp_input.h
@@ -24,7 +24,7 @@
 #define c7_udp_input_h
 
 #include <stdint.h>
-#include "write_queue.h"
+#include <osmocore/write_queue.h>
 
 #define UDP_FORMAT_SIMPLE_UDP	2
 #define UDP_FORMAT_SIMPLE_TCP	3
diff --git a/include/write_queue.h b/include/write_queue.h
deleted file mode 100644
index 45191e0..0000000
--- a/include/write_queue.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * (C) 2010 by Holger Hans Peter Freyther <zecke@selfish.org>
- * (C) 2010 by On-Waves
- * All Rights Reserved
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- */
-/* Generic write queue implementation */
-#ifndef write_queue_h
-#define write_queue_h
-
-#include <laf0rge1/select.h>
-#include <laf0rge1/msgb.h>
-
-struct write_queue {
-	struct bsc_fd bfd;
-	unsigned int max_length;
-	unsigned int current_length;
-
-	unsigned int paused;
-
-	struct llist_head msg_queue;
-
-	int (*read_cb)(struct bsc_fd *fd);
-	int (*write_cb)(struct bsc_fd *fd, struct msgb *msg);
-};
-
-void write_queue_init(struct write_queue *queue, int max_length);
-int write_queue_enqueue(struct write_queue *queue, struct msgb *data);
-int write_queue_bfd_cb(struct bsc_fd *fd, unsigned int what);
-
-void write_queue_pause(struct write_queue *queue);
-void write_queue_unpause(struct write_queue *queue);
-
-#endif
diff --git a/src/Makefile.am b/src/Makefile.am
index 472c6ba..5872598 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,15 +1,16 @@
 INCLUDES = $(all_includes) -I$(top_srcdir)/include
-AM_CFLAGS=-Wall $(LAFORGE_CFLAGS) $(SCCP_CFLAGS) \
-		$(NEXUSWARE_C7_CFLAGS) $(NEXUSWARE_UNIPORTE_CFLAGS)
+AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOSCCP_CFLAGS) $(LIBOSMOVTY_CFLAGS) \
+		$(NEXUSWARE_C7_CFLAGS) $(NEXUSWARE_UNIPORTE_CFLAGS) $(UNIPORTE)
 
 sbin_PROGRAMS = cellmgr_ng mgcp_mgw
 
-mgcp_mgw_SOURCES = mgcp_ss7.c write_queue.c mgcp/mgcp_protocol.c mgcp/mgcp_network.c thread.c
-mgcp_mgw_LDADD = $(LAFORGE_LIBS) $(NEXUSWARE_C7_LIBS) $(NEXUSWARE_UNIPORTE_LIBS) -lvty -lpthread
+mgcp_mgw_SOURCES = mgcp_ss7.c mgcp/mgcp_protocol.c mgcp/mgcp_network.c thread.c
+mgcp_mgw_LDADD = $(LAFORGE_LIBS) $(NEXUSWARE_C7_LIBS) $(NEXUSWARE_UNIPORTE_LIBS) \
+		 $(LIBOSMOVTY_LIBS) $(LIBOSMOCORE_LIBS) -lpthread
 
 cellmgr_ng_SOURCES = main.c mtp_layer3.c thread.c input/ipaccess.c pcap.c \
 		     bss_patch.c \
-		     openbsc_nat/bssap.c openbsc_nat/tlv_parser.c write_queue.c bssap_sccp.c \
+		     openbsc_nat/bssap.c openbsc_nat/tlv_parser.c bssap_sccp.c \
 		     msc_conn.c link_udp.c snmp_mtp.c
-cellmgr_ng_LDADD = $(LAFORGE_LIBS) $(SCCP_LIBS) $(NEXUSWARE_C7_LIBS) \
-		   -lpthread -lnetsnmp -lcrypto -lvty
+cellmgr_ng_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOSCCP_LIBS) $(LIBOSMOVTY_LIBS) $(NEXUSWARE_C7_LIBS) \
+		   -lpthread -lnetsnmp -lcrypto
diff --git a/src/bss_patch.c b/src/bss_patch.c
index c4deeb2..5ae58aa 100644
--- a/src/bss_patch.c
+++ b/src/bss_patch.c
@@ -21,12 +21,12 @@
  */
 
 #include <bss_patch.h>
+#include <cellmgr_debug.h>
 
 #include <string.h>
 
 #include <openbsc_nat/bssap.h>
 #include <openbsc_nat/tlv.h>
-#include <laf0rge1/debug.h>
 #include <sccp/sccp.h>
 
 #include <arpa/inet.h>
diff --git a/src/bssap_sccp.c b/src/bssap_sccp.c
index e6b7271..3f4a8dd 100644
--- a/src/bssap_sccp.c
+++ b/src/bssap_sccp.c
@@ -21,9 +21,9 @@
  */
 
 #include <bssap_sccp.h>
+#include <cellmgr_debug.h>
 
-#include <laf0rge1/msgb.h>
-#include <laf0rge1/debug.h>
+#include <osmocore/msgb.h>
 
 #include <openbsc_nat/bssap.h>
 
diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c
index b603015..1c0f1ae 100644
--- a/src/input/ipaccess.c
+++ b/src/input/ipaccess.c
@@ -32,9 +32,9 @@
 #include <sys/ioctl.h>
 #include <arpa/inet.h>
 
-#include <laf0rge1/select.h>
-#include <laf0rge1/msgb.h>
-#include <laf0rge1/talloc.h>
+#include <osmocore/select.h>
+#include <osmocore/msgb.h>
+#include <osmocore/talloc.h>
 #include <ipaccess.h>
 
 
diff --git a/src/link_udp.c b/src/link_udp.c
index 17c90ac..f0532ac 100644
--- a/src/link_udp.c
+++ b/src/link_udp.c
@@ -25,9 +25,9 @@
 #include <mtp_data.h>
 #include <mtp_pcap.h>
 #include <snmp_mtp.h>
+#include <cellmgr_debug.h>
 
-#include <laf0rge1/debug.h>
-#include <laf0rge1/talloc.h>
+#include <osmocore/talloc.h>
 
 #include <sys/socket.h>
 #include <netinet/in.h>
diff --git a/src/main.c b/src/main.c
index cb78653..1f5be89 100644
--- a/src/main.c
+++ b/src/main.c
@@ -27,12 +27,12 @@
 #include <bssap_sccp.h>
 #include <bsc_data.h>
 #include <snmp_mtp.h>
+#include <cellmgr_debug.h>
 
-#include <laf0rge1/debug.h>
-#include <laf0rge1/talloc.h>
+#include <osmocore/talloc.h>
 
-#include <vty/command.h>
-#include <vty/vty.h>
+#include <osmocom/vty/command.h>
+#include <osmocom/vty/vty.h>
 
 #include <openbsc_nat/bssap.h>
 
@@ -54,7 +54,7 @@
 #endif
 #include <getopt.h>
 
-static struct debug_target *stderr_target;
+static struct log_target *stderr_target;
 static int dpc = 1;
 static int opc = 0;
 
@@ -66,6 +66,12 @@
 static int flood = 0;
 static struct timer_list flood_timer;
 
+static struct vty_app_info vty_info = {
+	.name 		= "Cellmgr-ng",
+	.version	= "0.0.1",
+	.go_parent_cb	= NULL,
+};
+
 /*
  * One SCCP connection.
  * Use for connection tracking and fixups...
@@ -816,19 +822,21 @@
 
 	mtp_link_init();
 	thread_init();
-	debug_init();
 
-	stderr_target = debug_target_create_stderr();
-	debug_add_target(stderr_target);
+	log_init(&log_info);
+	stderr_target = log_target_create_stderr();
+	log_add_target(stderr_target);
 
 	/* enable filters */
-	debug_set_all_filter(stderr_target, 1);
-	debug_set_category_filter(stderr_target, DINP, 1, LOGL_INFO);
-	debug_set_category_filter(stderr_target, DSCCP, 1, LOGL_INFO);
-	debug_set_category_filter(stderr_target, DMSC, 1, LOGL_INFO);
-	debug_set_category_filter(stderr_target, DMGCP, 1, LOGL_INFO);
-	debug_set_print_timestamp(stderr_target, 1);
-	debug_set_use_color(stderr_target, 0);
+	log_set_all_filter(stderr_target, 1);
+	log_set_category_filter(stderr_target, DINP, 1, LOGL_INFO);
+	log_set_category_filter(stderr_target, DSCCP, 1, LOGL_INFO);
+	log_set_category_filter(stderr_target, DMSC, 1, LOGL_INFO);
+	log_set_category_filter(stderr_target, DMGCP, 1, LOGL_INFO);
+	log_set_print_timestamp(stderr_target, 1);
+	log_set_use_color(stderr_target, 0);
+
+	sccp_set_log_area(DSCCP);
 
 	bsc.setup = 0;
 	bsc.msc_address = "127.0.0.1";
@@ -846,7 +854,7 @@
 	srand(time(NULL));
 
 	cell_vty_init();
-	if (vty_read_config_file(config) < 0) {
+	if (vty_read_config_file(config, NULL) < 0) {
 		fprintf(stderr, "Failed to read the VTY config.\n");
 		return -1;
 	}
@@ -902,8 +910,12 @@
 }
 
 /* vty code */
+enum cellmgr_node {
+	CELLMGR_NODE = _LAST_OSMOVTY_NODE,
+};
+
 static struct cmd_node cell_node = {
-	GSMNET_NODE,
+	CELLMGR_NODE,
 	"%s(cellmgr)#",
 	1,
 };
@@ -916,7 +928,7 @@
 DEFUN(cfg_cell, cfg_cell_cmd,
       "cellmgr", "Configure the Cellmgr")
 {
-	vty->node = GSMNET_NODE;
+	vty->node = CELLMGR_NODE;
 	return CMD_SUCCESS;
 }
 
@@ -1054,25 +1066,25 @@
 static void cell_vty_init(void)
 {
 	cmd_init(1);
-	vty_init();
+	vty_init(&vty_info);
 
 	install_element(CONFIG_NODE, &cfg_cell_cmd);
 	install_node(&cell_node, config_write_cell);
 
-	install_element(GSMNET_NODE, &cfg_net_dpc_cmd);
-	install_element(GSMNET_NODE, &cfg_net_opc_cmd);
-	install_element(GSMNET_NODE, &cfg_udp_dst_ip_cmd);
-	install_element(GSMNET_NODE, &cfg_udp_dst_port_cmd);
-	install_element(GSMNET_NODE, &cfg_udp_src_port_cmd);
-	install_element(GSMNET_NODE, &cfg_udp_reset_cmd);
-	install_element(GSMNET_NODE, &cfg_sltm_once_cmd);
-	install_element(GSMNET_NODE, &cfg_msc_ip_cmd);
-	install_element(GSMNET_NODE, &cfg_msc_token_cmd);
-	install_element(GSMNET_NODE, &cfg_msc_ip_dscp_cmd);
-	install_element(GSMNET_NODE, &cfg_msc_ip_tos_cmd);
-	install_element(GSMNET_NODE, &cfg_ping_time_cmd);
-	install_element(GSMNET_NODE, &cfg_pong_time_cmd);
-	install_element(GSMNET_NODE, &cfg_msc_time_cmd);
+	install_element(CELLMGR_NODE, &cfg_net_dpc_cmd);
+	install_element(CELLMGR_NODE, &cfg_net_opc_cmd);
+	install_element(CELLMGR_NODE, &cfg_udp_dst_ip_cmd);
+	install_element(CELLMGR_NODE, &cfg_udp_dst_port_cmd);
+	install_element(CELLMGR_NODE, &cfg_udp_src_port_cmd);
+	install_element(CELLMGR_NODE, &cfg_udp_reset_cmd);
+	install_element(CELLMGR_NODE, &cfg_sltm_once_cmd);
+	install_element(CELLMGR_NODE, &cfg_msc_ip_cmd);
+	install_element(CELLMGR_NODE, &cfg_msc_token_cmd);
+	install_element(CELLMGR_NODE, &cfg_msc_ip_dscp_cmd);
+	install_element(CELLMGR_NODE, &cfg_msc_ip_tos_cmd);
+	install_element(CELLMGR_NODE, &cfg_ping_time_cmd);
+	install_element(CELLMGR_NODE, &cfg_pong_time_cmd);
+	install_element(CELLMGR_NODE, &cfg_msc_time_cmd);
 }
 
 void subscr_put() {}
diff --git a/src/mgcp/mgcp_network.c b/src/mgcp/mgcp_network.c
index 1ea5f99..0c86de5 100644
--- a/src/mgcp/mgcp_network.c
+++ b/src/mgcp/mgcp_network.c
@@ -34,10 +34,11 @@
 #include <mgcp/mgcp.h>
 #include <mgcp/mgcp_internal.h>
 
-#include <laf0rge1/debug.h>
-#include <laf0rge1/msgb.h>
-#include <laf0rge1/talloc.h>
-#include <laf0rge1/select.h>
+#include <cellmgr_debug.h>
+
+#include <osmocore/msgb.h>
+#include <osmocore/talloc.h>
+#include <osmocore/select.h>
 
 #warning "Make use of the rtp proxy code"
 
diff --git a/src/mgcp/mgcp_protocol.c b/src/mgcp/mgcp_protocol.c
index ea99543..618503e 100644
--- a/src/mgcp/mgcp_protocol.c
+++ b/src/mgcp/mgcp_protocol.c
@@ -30,13 +30,17 @@
 #include <limits.h>
 #include <unistd.h>
 
-#include <laf0rge1/debug.h>
-#include <laf0rge1/msgb.h>
-#include <laf0rge1/talloc.h>
-#include <laf0rge1/select.h>
+#include <cellmgr_debug.h>
+
 #include <mgcp/mgcp.h>
 #include <mgcp/mgcp_internal.h>
 
+#include <osmocore/msgb.h>
+#include <osmocore/talloc.h>
+#include <osmocore/select.h>
+#include <osmocore/utils.h>
+
+
 /**
  * Macro for tokenizing MGCP messages and SDP in one go.
  *
diff --git a/src/mgcp_ss7.c b/src/mgcp_ss7.c
index 36421c6..89aaeac 100644
--- a/src/mgcp_ss7.c
+++ b/src/mgcp_ss7.c
@@ -24,15 +24,14 @@
 #include <mgcp/mgcp.h>
 #include <mgcp/mgcp_internal.h>
 
-#include <write_queue.h>
+#include <cellmgr_debug.h>
 
-#include <laf0rge1/debug.h>
-#include <laf0rge1/select.h>
-#include <laf0rge1/talloc.h>
-#include <laf0rge1/timer.h>
+#include <osmocore/select.h>
+#include <osmocore/talloc.h>
+#include <osmocore/timer.h>
 
-#include <vty/command.h>
-#include <vty/vty.h>
+#include <osmocom/vty/command.h>
+#include <osmocom/vty/vty.h>
 
 /* uniporte includes */
 #ifndef NO_UNIPORTE
@@ -55,7 +54,7 @@
 #endif
 #include <getopt.h>
 
-static struct debug_target *stderr_target;
+static struct log_target *stderr_target;
 static int payload = 126;
 static int number_endpoints = 32;
 static char *mgw_ip = "172.18.0.30";
@@ -766,26 +765,26 @@
 int main(int argc, char **argv)
 {
 	struct mgcp_ss7 *mgcp;
-	debug_init();
 
-	stderr_target = debug_target_create_stderr();
-	debug_add_target(stderr_target);
+	log_init(&log_info);
+	stderr_target = log_target_create_stderr();
+	log_add_target(stderr_target);
 
 	/* enable filters */
-	debug_set_all_filter(stderr_target, 1);
-	debug_set_category_filter(stderr_target, DINP, 1, LOGL_INFO);
-	debug_set_category_filter(stderr_target, DSCCP, 1, LOGL_INFO);
-	debug_set_category_filter(stderr_target, DMSC, 1, LOGL_INFO);
-	debug_set_category_filter(stderr_target, DMGCP, 1, LOGL_INFO);
-	debug_set_print_timestamp(stderr_target, 1);
-	debug_set_use_color(stderr_target, 0);
+	log_set_all_filter(stderr_target, 1);
+	log_set_category_filter(stderr_target, DINP, 1, LOGL_INFO);
+	log_set_category_filter(stderr_target, DSCCP, 1, LOGL_INFO);
+	log_set_category_filter(stderr_target, DMSC, 1, LOGL_INFO);
+	log_set_category_filter(stderr_target, DMGCP, 1, LOGL_INFO);
+	log_set_print_timestamp(stderr_target, 1);
+	log_set_use_color(stderr_target, 0);
 
 	handle_options(argc, argv);
 
 	signal(SIGPIPE, SIG_IGN);
 
 	mgcp_mgw_vty_init();
-	if (vty_read_config_file(config_file) < 0) {
+	if (vty_read_config_file(config_file, NULL) < 0) {
 		fprintf(stderr, "Failed to parse the config file: '%s'\n", config_file);
 		return -1;
 	}
@@ -805,6 +804,10 @@
 }
 
 /* VTY code */
+enum cellmgr_node {
+	MGCP_NODE = _LAST_OSMOVTY_NODE,
+};
+
 struct cmd_node mgcp_node = {
 	MGCP_NODE,
 	"%s(mgcp)#",
@@ -918,10 +921,17 @@
 	return CMD_SUCCESS;
 }
 
+static struct vty_app_info vty_info = {
+	.name 		= "mgcp_ss7",
+	.version	= "0.0.1",
+	.go_parent_cb	= NULL,
+};
+
+
 static void mgcp_mgw_vty_init(void)
 {
 	cmd_init(1);
-	vty_init();
+	vty_init(&vty_info);
 
 	install_element(CONFIG_NODE, &cfg_mgcp_cmd);
 	install_node(&mgcp_node, config_write_mgcp);
@@ -937,3 +947,5 @@
 
 void subscr_put() {}
 void vty_event() {}
+
+const char *openbsc_copyright = "";
diff --git a/src/msc_conn.c b/src/msc_conn.c
index 75b981b..b569bf1 100644
--- a/src/msc_conn.c
+++ b/src/msc_conn.c
@@ -25,9 +25,10 @@
 #include <bssap_sccp.h>
 #include <ipaccess.h>
 #include <mtp_data.h>
+#include <cellmgr_debug.h>
 
-#include <laf0rge1/debug.h>
-#include <laf0rge1/tlv.h>
+#include <osmocore/tlv.h>
+#include <osmocore/utils.h>
 
 #include <arpa/inet.h>
 #include <sys/socket.h>
diff --git a/src/mtp_layer3.c b/src/mtp_layer3.c
index 446e0e9..113cabd 100644
--- a/src/mtp_layer3.c
+++ b/src/mtp_layer3.c
@@ -21,9 +21,9 @@
  */
 #include <mtp_data.h>
 #include <mtp_level3.h>
+#include <cellmgr_debug.h>
 
-#include <laf0rge1/debug.h>
-#include <laf0rge1/talloc.h>
+#include <osmocore/talloc.h>
 
 #include <sccp/sccp.h>
 
diff --git a/src/snmp_mtp.c b/src/snmp_mtp.c
index d2ff495..3e69a64 100644
--- a/src/snmp_mtp.c
+++ b/src/snmp_mtp.c
@@ -19,7 +19,7 @@
  *
  */
 #include <snmp_mtp.h>
-#include <laf0rge1/talloc.h>
+#include <osmocore/talloc.h>
 
 static void add_pdu_var(netsnmp_pdu *pdu, const char *mib_name, int id, const char *value)
 {
diff --git a/src/thread.c b/src/thread.c
index 8175a49..9563fd5 100644
--- a/src/thread.c
+++ b/src/thread.c
@@ -20,7 +20,7 @@
  */
 #include <thread.h>
 
-#include <laf0rge1/talloc.h>
+#include <osmocore/talloc.h>
 
 #include <sys/types.h>
 #include <sys/socket.h>
diff --git a/src/write_queue.c b/src/write_queue.c
deleted file mode 100644
index ac529a3..0000000
--- a/src/write_queue.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Generic write queue implementation */
-/*
- * (C) 2010 by Holger Hans Peter Freyther <zecke@selfish.org>
- * (C) 2010 by On-Waves
- * All Rights Reserved
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- */
-
-#include <write_queue.h>
-
-#include <laf0rge1/debug.h>
-
-int write_queue_bfd_cb(struct bsc_fd *fd, unsigned int what)
-{
-	struct write_queue *queue;
-
-	queue = container_of(fd, struct write_queue, bfd);
-
-	if (what & BSC_FD_READ)
-		queue->read_cb(fd);
-
-	if (what & BSC_FD_WRITE) {
-		struct msgb *msg;
-
-		fd->when &= ~BSC_FD_WRITE;
-		msg = msgb_dequeue(&queue->msg_queue);
-		if (!msg)
-			return -1;
-
-		--queue->current_length;
-		queue->write_cb(fd, msg);
-		msgb_free(msg);
-
-		if (!llist_empty(&queue->msg_queue))
-			fd->when |= BSC_FD_WRITE;
-	}
-
-	return 0;
-}
-
-void write_queue_init(struct write_queue *queue, int max_length)
-{
-	queue->max_length = max_length;
-	queue->current_length = 0;
-	queue->read_cb = NULL;
-	queue->write_cb = NULL;
-	queue->bfd.cb = write_queue_bfd_cb;
-	queue->paused = 0;
-	INIT_LLIST_HEAD(&queue->msg_queue);
-}
-
-int write_queue_enqueue(struct write_queue *queue, struct msgb *data)
-{
-	if (queue->current_length + 1 >= queue->max_length)
-		LOGP(DMSC, LOGL_ERROR, "The queue is full. Dropping not yet implemented.\n");
-
-	++queue->current_length;
-	msgb_enqueue(&queue->msg_queue, data);
-
-	if (!queue->paused)
-		queue->bfd.when |= BSC_FD_WRITE;
-
-	return 0;
-}
-
-void write_queue_pause(struct write_queue *queue)
-{
-	queue->paused = 1;
-	queue->bfd.when &= ~BSC_FD_WRITE;
-}
-
-void write_queue_unpause(struct write_queue *queue)
-{
-	queue->paused = 0;
-	if (!llist_empty(&queue->msg_queue))
-		queue->bfd.when |= BSC_FD_WRITE;
-}
diff --git a/tests/patching/Makefile.am b/tests/patching/Makefile.am
index d99a55a..8418806 100644
--- a/tests/patching/Makefile.am
+++ b/tests/patching/Makefile.am
@@ -1,8 +1,8 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include $(LAFORGE_CFLAGS) -Wall
+INCLUDES = $(all_includes) -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) $(LIBOSMOSCCP_CFLAGS) -Wall
 noinst_PROGRAMS = patching_test
 
 patching_test_SOURCES = patching_test.c $(top_srcdir)/src/bss_patch.c \
                         $(top_srcdir)/src/openbsc_nat/tlv_parser.c \
                         $(top_srcdir)/src/openbsc_nat/bssap.c
-patching_test_LDADD = $(LAFORGE_LIBS) $(SCCP_LIBS)
+patching_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOSCCP_LIBS)
 
diff --git a/tests/patching/patching_test.c b/tests/patching/patching_test.c
index ecbad83..12e292c 100644
--- a/tests/patching/patching_test.c
+++ b/tests/patching/patching_test.c
@@ -1,6 +1,8 @@
 #include <bss_patch.h>
 
-#include <laf0rge1/debug.h>
+#include <cellmgr_debug.h>
+
+#include <osmocore/utils.h>
 
 #include <stdio.h>
 #include <string.h>