diff --git a/openbsc/.gitignore b/openbsc/.gitignore
index f9dacac..bd35256 100644
--- a/openbsc/.gitignore
+++ b/openbsc/.gitignore
@@ -6,10 +6,9 @@
 bscconfig.h
 bscconfig.h.in
 openbsc.pc
-bsc_hack
-bsc_msc_ip
+src/osmo-nitb/osmo-nitb
 bsc_mgcp
-src/bsc/osmo-bsc
+src/osmo-bsc/osmo-bsc
 *.*~
 *.sw?
 
@@ -31,15 +30,15 @@
 
 # apps and app data
 hlr.sqlite3
-bs11_config
-ipaccess-config
-ipaccess-find
-ipaccess-firmware
-ipaccess-proxy
-isdnsync
-bsc_nat
-osmo-sgsn
-osmo-gbproxy
+src/utils/bs11_config
+src/ipaccess/ipaccess-config
+src/ipaccess/ipaccess-find
+src/ipaccess/ipaccess-firmware
+src/ipaccess/ipaccess-proxy
+src/utils/isdnsync
+src/nat/bsc_nat
+src/gprs/osmo-sgsn
+src/gprs/osmo-gbproxy
 
 #tests
 tests/channel/channel_test
diff --git a/openbsc/configure.in b/openbsc/configure.in
index 50f7dbc..525bad8 100644
--- a/openbsc/configure.in
+++ b/openbsc/configure.in
@@ -87,10 +87,18 @@
     include/openbsc/Makefile
     include/Makefile
     src/Makefile
-    src/ipaccess/Makefile
-    src/gprs/Makefile
-    src/nat/Makefile
+    src/trau/Makefile
+    src/abis/Makefile
     src/bsc/Makefile
+    src/msc/Makefile
+    src/mgcp/Makefile
+    src/common/Makefile
+    src/osmo-nitb/Makefile
+    src/osmo-bsc/Makefile
+    src/nat/Makefile
+    src/ipaccess/Makefile
+    src/utils/Makefile
+    src/gprs/Makefile
     tests/Makefile
     tests/debug/Makefile
     tests/gsm0408/Makefile
diff --git a/openbsc/src/Makefile.am b/openbsc/src/Makefile.am
index 6507591..e4b2b96 100644
--- a/openbsc/src/Makefile.am
+++ b/openbsc/src/Makefile.am
@@ -2,51 +2,17 @@
 AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS)
 AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(COVERAGE_LDFLAGS)
 
-# build current directory before building gprs
-SUBDIRS = . ipaccess gprs
+SUBDIRS = common abis mgcp bsc trau osmo-nitb utils ipaccess gprs
 
 # Conditional modules
 if BUILD_NAT
 SUBDIRS += nat
 endif
 if BUILD_BSC
-SUBDIRS += bsc
+SUBDIRS += osmo-bsc
 endif
 
-bin_PROGRAMS = bsc_hack bs11_config isdnsync bsc_mgcp
-noinst_LIBRARIES = libbsc.a libmsc.a libvty.a libmgcp.a
+bin_PROGRAMS = bsc_mgcp
 
-libbsc_a_SOURCES = abis_rsl.c abis_nm.c abis_om2000.c gsm_data.c gsm_04_08_utils.c \
-		chan_alloc.c debug.c socket.c abis_nm_vty.c abis_om2000_vty.c \
-		gsm_subscriber_base.c subchan_demux.c bsc_rll.c transaction.c \
-		trau_frame.c trau_mux.c paging.c \
-		e1_config.c e1_input.c e1_input_vty.c \
-		input/misdn.c input/ipaccess.c input/dahdi.c input/lapd.c \
-		handover_logic.c talloc_ctx.c system_information.c rest_octets.c \
-		bts_siemens_bs11.c bts_ipaccess_nanobts.c bts_ericsson_rbs2000.c mncc_upqueue.c \
-		bts_unknown.c bsc_version.c bsc_api.c bsc_vty.c meas_rep.c gsm_04_80.c
-
-libmsc_a_SOURCES = gsm_subscriber.c db.c \
-		mncc.c mncc_builtin.c mncc_sock.c \
-		gsm_04_08.c gsm_04_11.c transaction.c \
-		token_auth.c rrlp.c ussd.c silent_call.c \
-		handover_decision.c auth.c \
-		osmo_msc.c rtp_proxy.c
-
-libvty_a_SOURCES = common_vty.c
-
-libmgcp_a_SOURCES = mgcp/mgcp_protocol.c mgcp/mgcp_network.c mgcp/mgcp_vty.c
-
-bsc_hack_SOURCES = bsc_hack.c bsc_init.c bsc_vty.c vty_interface_layer3.c sms_queue.c
-bsc_hack_LDADD = libmsc.a libbsc.a libvty.a libmsc.a \
-		-ldl -ldbi $(LIBCRYPT) $(LIBOSMOVTY_LIBS)
-
-bs11_config_SOURCES = bs11_config.c abis_nm.c gsm_data.c debug.c \
-		      rs232.c bts_siemens_bs11.c
-
-isdnsync_SOURCES = isdnsync.c
-
-bsc_mgcp_SOURCES = mgcp/mgcp_main.c debug.c
-bsc_mgcp_LDADD = libvty.a libmgcp.a $(LIBOSMOVTY_LIBS)
-
-EXTRA_DIST = input/lapd.h
+bsc_mgcp_SOURCES = mgcp/mgcp_main.c
+bsc_mgcp_LDADD = common/libcommon.a mgcp/libmgcp.a $(LIBOSMOVTY_LIBS)
diff --git a/openbsc/src/abis/Makefile.am b/openbsc/src/abis/Makefile.am
new file mode 100644
index 0000000..7f5ac47
--- /dev/null
+++ b/openbsc/src/abis/Makefile.am
@@ -0,0 +1,13 @@
+INCLUDES = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
+AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS)
+AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(COVERAGE_LDFLAGS)
+
+noinst_LIBRARIES = libabis.a
+
+libabis_a_SOURCES = e1_input.c e1_input_vty.c \
+			input/misdn.c		\
+			input/ipaccess.c	\
+			input/dahdi.c		\
+			input/lapd.c
+
+EXTRA_DIST = input/lapd.h
diff --git a/openbsc/src/e1_input.c b/openbsc/src/abis/e1_input.c
similarity index 100%
rename from openbsc/src/e1_input.c
rename to openbsc/src/abis/e1_input.c
diff --git a/openbsc/src/e1_input_vty.c b/openbsc/src/abis/e1_input_vty.c
similarity index 100%
rename from openbsc/src/e1_input_vty.c
rename to openbsc/src/abis/e1_input_vty.c
diff --git a/openbsc/src/input/dahdi.c b/openbsc/src/abis/input/dahdi.c
similarity index 100%
rename from openbsc/src/input/dahdi.c
rename to openbsc/src/abis/input/dahdi.c
diff --git a/openbsc/src/input/ipaccess.c b/openbsc/src/abis/input/ipaccess.c
similarity index 100%
rename from openbsc/src/input/ipaccess.c
rename to openbsc/src/abis/input/ipaccess.c
diff --git a/openbsc/src/input/lapd.c b/openbsc/src/abis/input/lapd.c
similarity index 100%
rename from openbsc/src/input/lapd.c
rename to openbsc/src/abis/input/lapd.c
diff --git a/openbsc/src/input/lapd.h b/openbsc/src/abis/input/lapd.h
similarity index 100%
rename from openbsc/src/input/lapd.h
rename to openbsc/src/abis/input/lapd.h
diff --git a/openbsc/src/input/misdn.c b/openbsc/src/abis/input/misdn.c
similarity index 100%
rename from openbsc/src/input/misdn.c
rename to openbsc/src/abis/input/misdn.c
diff --git a/openbsc/src/bsc/Makefile.am b/openbsc/src/bsc/Makefile.am
index 9ebc846..91be7fa 100644
--- a/openbsc/src/bsc/Makefile.am
+++ b/openbsc/src/bsc/Makefile.am
@@ -1,15 +1,21 @@
 INCLUDES = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
-AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(LIBOSMOSCCP_CFLAGS) $(COVERAGE_CFLAGS)
-AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(LIBOSMOVTY_LIBS) $(COVERAGE_LDFLAGS)
+AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS)
+AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(COVERAGE_LDFLAGS)
 
-bin_PROGRAMS = osmo-bsc
+noinst_LIBRARIES = libbsc.a
 
+libbsc_a_SOURCES =	abis_nm.c abis_nm_vty.c \
+			abis_om2000.c abis_om2000_vty.c \
+			abis_rsl.c bsc_rll.c \
+			paging.c \
+			bts_ericsson_rbs2000.c bts_ipaccess_nanobts.c bts_siemens_bs11.c bts_unknown.c \
+			chan_alloc.c \
+			gsm_subscriber_base.c \
+			handover_decision.c handover_logic.c meas_rep.c \
+			rest_octets.c system_information.c \
+			e1_config.c \
+			transaction.c \
+			bsc_api.c bsc_msc.c bsc_vty.c \
+			gsm_04_08_utils.c \
+			bsc_init.c
 
-osmo_bsc_SOURCES = osmo_bsc_main.c osmo_bsc_rf.c osmo_bsc_vty.c osmo_bsc_api.c \
-		   osmo_bsc_grace.c osmo_bsc_msc.c osmo_bsc_sccp.c \
-		   osmo_bsc_filter.c osmo_bsc_bssap.c osmo_bsc_audio.c \
-		   $(top_srcdir)/src/debug.c $(top_srcdir)/src/bsc_msc.c \
-		   $(top_srcdir)/src/bsc_init.c
-osmo_bsc_LDADD = $(top_builddir)/src/libvty.a \
-		 $(top_builddir)/src/libmgcp.a $(top_builddir)/src/libbsc.a \
-		 $(LIBOSMOSCCP_LIBS)
diff --git a/openbsc/src/abis_nm.c b/openbsc/src/bsc/abis_nm.c
similarity index 100%
rename from openbsc/src/abis_nm.c
rename to openbsc/src/bsc/abis_nm.c
diff --git a/openbsc/src/abis_nm_ipaccess.c b/openbsc/src/bsc/abis_nm_ipaccess.c
similarity index 100%
rename from openbsc/src/abis_nm_ipaccess.c
rename to openbsc/src/bsc/abis_nm_ipaccess.c
diff --git a/openbsc/src/abis_nm_vty.c b/openbsc/src/bsc/abis_nm_vty.c
similarity index 100%
rename from openbsc/src/abis_nm_vty.c
rename to openbsc/src/bsc/abis_nm_vty.c
diff --git a/openbsc/src/abis_om2000.c b/openbsc/src/bsc/abis_om2000.c
similarity index 100%
rename from openbsc/src/abis_om2000.c
rename to openbsc/src/bsc/abis_om2000.c
diff --git a/openbsc/src/abis_om2000_vty.c b/openbsc/src/bsc/abis_om2000_vty.c
similarity index 100%
rename from openbsc/src/abis_om2000_vty.c
rename to openbsc/src/bsc/abis_om2000_vty.c
diff --git a/openbsc/src/abis_rsl.c b/openbsc/src/bsc/abis_rsl.c
similarity index 100%
rename from openbsc/src/abis_rsl.c
rename to openbsc/src/bsc/abis_rsl.c
diff --git a/openbsc/src/bsc_api.c b/openbsc/src/bsc/bsc_api.c
similarity index 100%
rename from openbsc/src/bsc_api.c
rename to openbsc/src/bsc/bsc_api.c
diff --git a/openbsc/src/bsc_init.c b/openbsc/src/bsc/bsc_init.c
similarity index 100%
rename from openbsc/src/bsc_init.c
rename to openbsc/src/bsc/bsc_init.c
diff --git a/openbsc/src/bsc_msc.c b/openbsc/src/bsc/bsc_msc.c
similarity index 100%
rename from openbsc/src/bsc_msc.c
rename to openbsc/src/bsc/bsc_msc.c
diff --git a/openbsc/src/bsc_rll.c b/openbsc/src/bsc/bsc_rll.c
similarity index 100%
rename from openbsc/src/bsc_rll.c
rename to openbsc/src/bsc/bsc_rll.c
diff --git a/openbsc/src/bsc_vty.c b/openbsc/src/bsc/bsc_vty.c
similarity index 100%
rename from openbsc/src/bsc_vty.c
rename to openbsc/src/bsc/bsc_vty.c
diff --git a/openbsc/src/bts_ericsson_rbs2000.c b/openbsc/src/bsc/bts_ericsson_rbs2000.c
similarity index 98%
rename from openbsc/src/bts_ericsson_rbs2000.c
rename to openbsc/src/bsc/bts_ericsson_rbs2000.c
index ab29591..def42b5 100644
--- a/openbsc/src/bts_ericsson_rbs2000.c
+++ b/openbsc/src/bsc/bts_ericsson_rbs2000.c
@@ -29,7 +29,7 @@
 #include <openbsc/e1_input.h>
 #include <openbsc/signal.h>
 
-#include "input/lapd.h"
+#include "../abis/input/lapd.h"
 
 static void bootstrap_om_bts(struct gsm_bts *bts)
 {
diff --git a/openbsc/src/bts_ipaccess_nanobts.c b/openbsc/src/bsc/bts_ipaccess_nanobts.c
similarity index 100%
rename from openbsc/src/bts_ipaccess_nanobts.c
rename to openbsc/src/bsc/bts_ipaccess_nanobts.c
diff --git a/openbsc/src/bts_siemens_bs11.c b/openbsc/src/bsc/bts_siemens_bs11.c
similarity index 100%
rename from openbsc/src/bts_siemens_bs11.c
rename to openbsc/src/bsc/bts_siemens_bs11.c
diff --git a/openbsc/src/bts_unknown.c b/openbsc/src/bsc/bts_unknown.c
similarity index 100%
rename from openbsc/src/bts_unknown.c
rename to openbsc/src/bsc/bts_unknown.c
diff --git a/openbsc/src/chan_alloc.c b/openbsc/src/bsc/chan_alloc.c
similarity index 100%
rename from openbsc/src/chan_alloc.c
rename to openbsc/src/bsc/chan_alloc.c
diff --git a/openbsc/src/e1_config.c b/openbsc/src/bsc/e1_config.c
similarity index 100%
rename from openbsc/src/e1_config.c
rename to openbsc/src/bsc/e1_config.c
diff --git a/openbsc/src/gsm_04_08_utils.c b/openbsc/src/bsc/gsm_04_08_utils.c
similarity index 100%
rename from openbsc/src/gsm_04_08_utils.c
rename to openbsc/src/bsc/gsm_04_08_utils.c
diff --git a/openbsc/src/gsm_subscriber_base.c b/openbsc/src/bsc/gsm_subscriber_base.c
similarity index 100%
rename from openbsc/src/gsm_subscriber_base.c
rename to openbsc/src/bsc/gsm_subscriber_base.c
diff --git a/openbsc/src/handover_decision.c b/openbsc/src/bsc/handover_decision.c
similarity index 100%
rename from openbsc/src/handover_decision.c
rename to openbsc/src/bsc/handover_decision.c
diff --git a/openbsc/src/handover_logic.c b/openbsc/src/bsc/handover_logic.c
similarity index 100%
rename from openbsc/src/handover_logic.c
rename to openbsc/src/bsc/handover_logic.c
diff --git a/openbsc/src/meas_proc.c b/openbsc/src/bsc/meas_proc.c
similarity index 97%
rename from openbsc/src/meas_proc.c
rename to openbsc/src/bsc/meas_proc.c
index d88e10e..ade1f2e 100644
--- a/openbsc/src/meas_proc.c
+++ b/openbsc/src/bsc/meas_proc.c
@@ -22,12 +22,12 @@
 #include <stdlib.h>
 #include <errno.h>
 
-#include <openbsc/msgb.h>
+#include <osmocore/talloc.h>
+#include <osmocore/msgb.h>
 #include <openbsc/debug.h>
 #include <openbsc/gsm_data.h>
 #include <openbsc/meas_rep.h>
 #include <openbsc/signal.h>
-#include <openbsc/talloc.h>
 
 /* process an already parsed measurement report */
 static int process_meas_rep(struct gsm_meas_rep *mr)
diff --git a/openbsc/src/meas_rep.c b/openbsc/src/bsc/meas_rep.c
similarity index 100%
rename from openbsc/src/meas_rep.c
rename to openbsc/src/bsc/meas_rep.c
diff --git a/openbsc/src/paging.c b/openbsc/src/bsc/paging.c
similarity index 100%
rename from openbsc/src/paging.c
rename to openbsc/src/bsc/paging.c
diff --git a/openbsc/src/rest_octets.c b/openbsc/src/bsc/rest_octets.c
similarity index 100%
rename from openbsc/src/rest_octets.c
rename to openbsc/src/bsc/rest_octets.c
diff --git a/openbsc/src/system_information.c b/openbsc/src/bsc/system_information.c
similarity index 100%
rename from openbsc/src/system_information.c
rename to openbsc/src/bsc/system_information.c
diff --git a/openbsc/src/transaction.c b/openbsc/src/bsc/transaction.c
similarity index 100%
rename from openbsc/src/transaction.c
rename to openbsc/src/bsc/transaction.c
diff --git a/openbsc/src/common/Makefile.am b/openbsc/src/common/Makefile.am
new file mode 100644
index 0000000..2895452
--- /dev/null
+++ b/openbsc/src/common/Makefile.am
@@ -0,0 +1,7 @@
+INCLUDES = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
+AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS)
+AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(COVERAGE_LDFLAGS)
+
+noinst_LIBRARIES = libcommon.a
+
+libcommon_a_SOURCES = bsc_version.c common_vty.c debug.c gsm_data.c socket.c talloc_ctx.c
diff --git a/openbsc/src/bsc_version.c b/openbsc/src/common/bsc_version.c
similarity index 100%
rename from openbsc/src/bsc_version.c
rename to openbsc/src/common/bsc_version.c
diff --git a/openbsc/src/common_vty.c b/openbsc/src/common/common_vty.c
similarity index 100%
rename from openbsc/src/common_vty.c
rename to openbsc/src/common/common_vty.c
diff --git a/openbsc/src/debug.c b/openbsc/src/common/debug.c
similarity index 100%
rename from openbsc/src/debug.c
rename to openbsc/src/common/debug.c
diff --git a/openbsc/src/gsm_data.c b/openbsc/src/common/gsm_data.c
similarity index 100%
rename from openbsc/src/gsm_data.c
rename to openbsc/src/common/gsm_data.c
diff --git a/openbsc/src/socket.c b/openbsc/src/common/socket.c
similarity index 100%
rename from openbsc/src/socket.c
rename to openbsc/src/common/socket.c
diff --git a/openbsc/src/talloc_ctx.c b/openbsc/src/common/talloc_ctx.c
similarity index 100%
rename from openbsc/src/talloc_ctx.c
rename to openbsc/src/common/talloc_ctx.c
diff --git a/openbsc/src/gprs/Makefile.am b/openbsc/src/gprs/Makefile.am
index 2fa9181..cdad70f 100644
--- a/openbsc/src/gprs/Makefile.am
+++ b/openbsc/src/gprs/Makefile.am
@@ -16,11 +16,9 @@
 		  gprs_bssgp.c gprs_bssgp_util.c gprs_bssgp_vty.c \
 		  gprs_llc.c gprs_llc_vty.c crc24.c
 
-osmo_gbproxy_SOURCES = gb_proxy.c gb_proxy_main.c gb_proxy_vty.c \
-			$(top_srcdir)/src/socket.c $(top_srcdir)/src/debug.c
-osmo_gbproxy_LDADD = libgb.a $(top_builddir)/src/libvty.a
+osmo_gbproxy_SOURCES = gb_proxy.c gb_proxy_main.c gb_proxy_vty.c
+osmo_gbproxy_LDADD = libgb.a $(top_builddir)/src/common/libcommon.a
 
 osmo_sgsn_SOURCES =	gprs_gmm.c gprs_sgsn.c gprs_sndcp.c gprs_sndcp_vty.c \
-			sgsn_main.c sgsn_vty.c sgsn_libgtp.c \
-			$(top_srcdir)/src/socket.c $(top_srcdir)/src/debug.c
-osmo_sgsn_LDADD = libgb.a $(top_builddir)/src/libvty.a -lgtp
+			sgsn_main.c sgsn_vty.c sgsn_libgtp.c 
+osmo_sgsn_LDADD = libgb.a $(top_builddir)/src/common/libcommon.a -lgtp
diff --git a/openbsc/src/ipaccess/Makefile.am b/openbsc/src/ipaccess/Makefile.am
index c677b3c..e789a0b 100644
--- a/openbsc/src/ipaccess/Makefile.am
+++ b/openbsc/src/ipaccess/Makefile.am
@@ -7,7 +7,13 @@
 ipaccess_find_SOURCES = ipaccess-find.c
 
 ipaccess_config_SOURCES = ipaccess-config.c ipaccess-firmware.c network_listen.c
-ipaccess_config_LDADD = $(top_builddir)/src/libbsc.a $(top_builddir)/src/libmsc.a \
-			$(top_builddir)/src/libbsc.a $(top_builddir)/src/libvty.a -ldl -ldbi $(LIBCRYPT)
 
-ipaccess_proxy_SOURCES = ipaccess-proxy.c ../debug.c
+# FIXME: resolve the bogus dependencies patched around here:
+ipaccess_config_LDADD = $(top_builddir)/src/bsc/libbsc.a $(top_builddir)/src/msc/libmsc.a \
+			$(top_builddir)/src/abis/libabis.a $(top_builddir)/src/bsc/libbsc.a \
+			$(top_builddir)/src/trau/libtrau.a \
+			$(top_builddir)/src/common/libcommon.a \
+			-ldl -ldbi $(LIBCRYPT)
+
+ipaccess_proxy_SOURCES = ipaccess-proxy.c
+ipaccess_proxy_LDADD = $(top_builddir)/src/common/libcommon.a
diff --git a/openbsc/src/mgcp/Makefile.am b/openbsc/src/mgcp/Makefile.am
new file mode 100644
index 0000000..b1d1d15
--- /dev/null
+++ b/openbsc/src/mgcp/Makefile.am
@@ -0,0 +1,7 @@
+INCLUDES = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
+AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS)
+AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(COVERAGE_LDFLAGS)
+
+noinst_LIBRARIES = libmgcp.a
+
+libmgcp_a_SOURCES = mgcp_protocol.c mgcp_network.c mgcp_vty.c
diff --git a/openbsc/src/msc/Makefile.am b/openbsc/src/msc/Makefile.am
new file mode 100644
index 0000000..7d895c3
--- /dev/null
+++ b/openbsc/src/msc/Makefile.am
@@ -0,0 +1,19 @@
+INCLUDES = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
+AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS)
+AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(COVERAGE_LDFLAGS)
+
+noinst_LIBRARIES = libmsc.a
+
+libmsc_a_SOURCES =	auth.c \
+			db.c \
+			gsm_04_08.c gsm_04_11.c gsm_04_80.c \
+			gsm_subscriber.c \
+			mncc.c mncc_builtin.c mncc_sock.c \
+			rrlp.c \
+			silent_call.c \
+			sms_queue.c \
+			token_auth.c \
+			ussd.c \
+			vty_interface_layer3.c \
+			osmo_msc.c
+
diff --git a/openbsc/src/msc/a3a8.c b/openbsc/src/msc/a3a8.c
new file mode 100644
index 0000000..04470ba
--- /dev/null
+++ b/openbsc/src/msc/a3a8.c
@@ -0,0 +1,269 @@
+/* An implementation of the GSM A3A8 algorithm.  (Specifically, COMP128.) 
+ */
+
+/* Copyright 1998, Marc Briceno, Ian Goldberg, and David Wagner.
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ *  * Neither the name of the authors nor the names of the contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Coded in C merely because C is a much more precise, concise form of
+ * expression for these purposes.  See Judge Patel if you have any problems
+ * with this...
+ * Of course, it's only authentication, so it should be exportable for the
+ * usual boring reasons.
+ */
+
+typedef unsigned char Byte;
+
+#include <stdio.h>
+/* #define TEST */
+ 
+/*
+ * rand[0..15]: the challenge from the base station
+ * key[0..15]: the SIM's A3/A8 long-term key Ki
+ * simoutput[0..11]: what you'd get back if you fed rand and key to a real
+ * SIM.
+ *
+ *   The GSM spec states that simoutput[0..3] is SRES,
+ *   and simoutput[4..11] is Kc (the A5 session key).
+ *   (See GSM 11.11, Section 8.16.  See also the leaked document
+ *   referenced below.)
+ *   Note that Kc is bits 74..127 of the COMP128 output, followed by 10
+ *   zeros.
+ *   In other words, A5 is keyed with only 54 bits of entropy. This
+ *   represents a deliberate weakening of the key used for voice privacy
+ *   by a factor of over 1000.
+ * 
+ * Verified with a Pacific Bell Schlumberger SIM.  Your mileage may vary.
+ *
+ * Marc Briceno <marc@scard.org>, Ian Goldberg <iang@cs.berkeley.edu>,
+ * and David Wagner <daw@cs.berkeley.edu>
+ */
+
+void A3A8(/* in */ Byte rand[16], /* in */ Byte key[16],
+	/* out */ Byte simoutput[12]);
+
+/* The compression tables. */
+static const Byte table_0[512] = {
+        102,177,186,162,  2,156,112, 75, 55, 25,  8, 12,251,193,246,188,
+        109,213,151, 53, 42, 79,191,115,233,242,164,223,209,148,108,161,
+        252, 37,244, 47, 64,211,  6,237,185,160,139,113, 76,138, 59, 70,
+         67, 26, 13,157, 63,179,221, 30,214, 36,166, 69,152,124,207,116,
+        247,194, 41, 84, 71,  1, 49, 14, 95, 35,169, 21, 96, 78,215,225,
+        182,243, 28, 92,201,118,  4, 74,248,128, 17, 11,146,132,245, 48,
+        149, 90,120, 39, 87,230,106,232,175, 19,126,190,202,141,137,176,
+        250, 27,101, 40,219,227, 58, 20, 51,178, 98,216,140, 22, 32,121,
+         61,103,203, 72, 29,110, 85,212,180,204,150,183, 15, 66,172,196,
+         56,197,158,  0,100, 45,153,  7,144,222,163,167, 60,135,210,231,
+        174,165, 38,249,224, 34,220,229,217,208,241, 68,206,189,125,255,
+        239, 54,168, 89,123,122, 73,145,117,234,143, 99,129,200,192, 82,
+        104,170,136,235, 93, 81,205,173,236, 94,105, 52, 46,228,198,  5,
+         57,254, 97,155,142,133,199,171,187, 50, 65,181,127,107,147,226,
+        184,218,131, 33, 77, 86, 31, 44, 88, 62,238, 18, 24, 43,154, 23,
+         80,159,134,111,  9,114,  3, 91, 16,130, 83, 10,195,240,253,119,
+        177,102,162,186,156,  2, 75,112, 25, 55, 12,  8,193,251,188,246,
+        213,109, 53,151, 79, 42,115,191,242,233,223,164,148,209,161,108,
+         37,252, 47,244,211, 64,237,  6,160,185,113,139,138, 76, 70, 59,
+         26, 67,157, 13,179, 63, 30,221, 36,214, 69,166,124,152,116,207,
+        194,247, 84, 41,  1, 71, 14, 49, 35, 95, 21,169, 78, 96,225,215,
+        243,182, 92, 28,118,201, 74,  4,128,248, 11, 17,132,146, 48,245,
+         90,149, 39,120,230, 87,232,106, 19,175,190,126,141,202,176,137,
+         27,250, 40,101,227,219, 20, 58,178, 51,216, 98, 22,140,121, 32,
+        103, 61, 72,203,110, 29,212, 85,204,180,183,150, 66, 15,196,172,
+        197, 56,  0,158, 45,100,  7,153,222,144,167,163,135, 60,231,210,
+        165,174,249, 38, 34,224,229,220,208,217, 68,241,189,206,255,125,
+         54,239, 89,168,122,123,145, 73,234,117, 99,143,200,129, 82,192,
+        170,104,235,136, 81, 93,173,205, 94,236, 52,105,228, 46,  5,198,
+        254, 57,155, 97,133,142,171,199, 50,187,181, 65,107,127,226,147,
+        218,184, 33,131, 86, 77, 44, 31, 62, 88, 18,238, 43, 24, 23,154,
+        159, 80,111,134,114,  9, 91,  3,130, 16, 10, 83,240,195,119,253
+    }, table_1[256] = {
+         19, 11, 80,114, 43,  1, 69, 94, 39, 18,127,117, 97,  3, 85, 43,
+         27,124, 70, 83, 47, 71, 63, 10, 47, 89, 79,  4, 14, 59, 11,  5,
+         35,107,103, 68, 21, 86, 36, 91, 85,126, 32, 50,109, 94,120,  6,
+         53, 79, 28, 45, 99, 95, 41, 34, 88, 68, 93, 55,110,125,105, 20,
+         90, 80, 76, 96, 23, 60, 89, 64,121, 56, 14, 74,101,  8, 19, 78,
+         76, 66,104, 46,111, 50, 32,  3, 39,  0, 58, 25, 92, 22, 18, 51,
+         57, 65,119,116, 22,109,  7, 86, 59, 93, 62,110, 78, 99, 77, 67,
+         12,113, 87, 98,102,  5, 88, 33, 38, 56, 23,  8, 75, 45, 13, 75,
+         95, 63, 28, 49,123,120, 20,112, 44, 30, 15, 98,106,  2,103, 29,
+         82,107, 42,124, 24, 30, 41, 16,108,100,117, 40, 73, 40,  7,114,
+         82,115, 36,112, 12,102,100, 84, 92, 48, 72, 97,  9, 54, 55, 74,
+        113,123, 17, 26, 53, 58,  4,  9, 69,122, 21,118, 42, 60, 27, 73,
+        118,125, 34, 15, 65,115, 84, 64, 62, 81, 70,  1, 24,111,121, 83,
+        104, 81, 49,127, 48,105, 31, 10,  6, 91, 87, 37, 16, 54,116,126,
+         31, 38, 13,  0, 72,106, 77, 61, 26, 67, 46, 29, 96, 37, 61, 52,
+        101, 17, 44,108, 71, 52, 66, 57, 33, 51, 25, 90,  2,119,122, 35
+    }, table_2[128] = {
+         52, 50, 44,  6, 21, 49, 41, 59, 39, 51, 25, 32, 51, 47, 52, 43,
+         37,  4, 40, 34, 61, 12, 28,  4, 58, 23,  8, 15, 12, 22,  9, 18,
+         55, 10, 33, 35, 50,  1, 43,  3, 57, 13, 62, 14,  7, 42, 44, 59,
+         62, 57, 27,  6,  8, 31, 26, 54, 41, 22, 45, 20, 39,  3, 16, 56,
+         48,  2, 21, 28, 36, 42, 60, 33, 34, 18,  0, 11, 24, 10, 17, 61,
+         29, 14, 45, 26, 55, 46, 11, 17, 54, 46,  9, 24, 30, 60, 32,  0,
+         20, 38,  2, 30, 58, 35,  1, 16, 56, 40, 23, 48, 13, 19, 19, 27,
+         31, 53, 47, 38, 63, 15, 49,  5, 37, 53, 25, 36, 63, 29,  5,  7
+    }, table_3[64] = {
+          1,  5, 29,  6, 25,  1, 18, 23, 17, 19,  0,  9, 24, 25,  6, 31,
+         28, 20, 24, 30,  4, 27,  3, 13, 15, 16, 14, 18,  4,  3,  8,  9,
+         20,  0, 12, 26, 21,  8, 28,  2, 29,  2, 15,  7, 11, 22, 14, 10,
+         17, 21, 12, 30, 26, 27, 16, 31, 11,  7, 13, 23, 10,  5, 22, 19
+    }, table_4[32] = {
+         15, 12, 10,  4,  1, 14, 11,  7,  5,  0, 14,  7,  1,  2, 13,  8,
+         10,  3,  4,  9,  6,  0,  3,  2,  5,  6,  8,  9, 11, 13, 15, 12
+    }, *table[5] = { table_0, table_1, table_2, table_3, table_4 };
+
+/*
+ * This code derived from a leaked document from the GSM standards.
+ * Some missing pieces were filled in by reverse-engineering a working SIM.
+ * We have verified that this is the correct COMP128 algorithm.
+ * 
+ * The first page of the document identifies it as
+ * 	_Technical Information: GSM System Security Study_.
+ * 	10-1617-01, 10th June 1988.
+ * The bottom of the title page is marked
+ * 	Racal Research Ltd.
+ * 	Worton Drive, Worton Grange Industrial Estate,
+ * 	Reading, Berks. RG2 0SB, England.
+ * 	Telephone: Reading (0734) 868601   Telex: 847152
+ * The relevant bits are in Part I, Section 20 (pages 66--67).  Enjoy!
+ * 
+ * Note: There are three typos in the spec (discovered by
+ * reverse-engineering).
+ * First, "z = (2 * x[n] + x[n]) mod 2^(9-j)" should clearly read
+ * "z = (2 * x[m] + x[n]) mod 2^(9-j)".
+ * Second, the "k" loop in the "Form bits from bytes" section is severely
+ * botched: the k index should run only from 0 to 3, and clearly the range
+ * on "the (8-k)th bit of byte j" is also off (should be 0..7, not 1..8,
+ * to be consistent with the subsequent section).
+ * Third, SRES is taken from the first 8 nibbles of x[], not the last 8 as
+ * claimed in the document.  (And the document doesn't specify how Kc is
+ * derived, but that was also easily discovered with reverse engineering.)
+ * All of these typos have been corrected in the following code.
+ */
+
+void A3A8(/* in */ Byte rand[16], /* in */ Byte key[16],
+	/* out */ Byte simoutput[12])
+{
+	Byte x[32], bit[128];
+	int i, j, k, l, m, n, y, z, next_bit;
+
+	/* ( Load RAND into last 16 bytes of input ) */
+	for (i=16; i<32; i++)
+		x[i] = rand[i-16];
+
+	/* ( Loop eight times ) */
+	for (i=1; i<9; i++) {
+		/* ( Load key into first 16 bytes of input ) */
+		for (j=0; j<16; j++)
+			x[j] = key[j];
+		/* ( Perform substitutions ) */
+		for (j=0; j<5; j++)
+			for (k=0; k<(1<<j); k++)
+				for (l=0; l<(1<<(4-j)); l++) {
+					m = l + k*(1<<(5-j));
+					n = m + (1<<(4-j));
+					y = (x[m]+2*x[n]) % (1<<(9-j));
+					z = (2*x[m]+x[n]) % (1<<(9-j));
+					x[m] = table[j][y];
+					x[n] = table[j][z];
+				}
+		/* ( Form bits from bytes ) */
+		for (j=0; j<32; j++)
+			for (k=0; k<4; k++)
+				bit[4*j+k] = (x[j]>>(3-k)) & 1;
+		/* ( Permutation but not on the last loop ) */
+		if (i < 8)
+			for (j=0; j<16; j++) {
+				x[j+16] = 0;
+				for (k=0; k<8; k++) {
+					next_bit = ((8*j + k)*17) % 128;
+					x[j+16] |= bit[next_bit] << (7-k);
+				}
+			}
+	}
+
+	/*
+	 * ( At this stage the vector x[] consists of 32 nibbles.
+	 *   The first 8 of these are taken as the output SRES. )
+	 */
+
+	/* The remainder of the code is not given explicitly in the
+	 * standard, but was derived by reverse-engineering.
+	 */
+
+	for (i=0; i<4; i++)
+		simoutput[i] = (x[2*i]<<4) | x[2*i+1];
+	for (i=0; i<6; i++)
+		simoutput[4+i] = (x[2*i+18]<<6) | (x[2*i+18+1]<<2)
+				| (x[2*i+18+2]>>2);
+	simoutput[4+6] = (x[2*6+18]<<6) | (x[2*6+18+1]<<2);
+	simoutput[4+7] = 0;
+}
+
+
+#ifdef TEST
+int hextoint(char x)
+{
+	x = toupper(x);
+	if (x >= 'A' && x <= 'F')
+		return x-'A'+10;
+	else if (x >= '0' && x <= '9')
+		return x-'0';
+	fprintf(stderr, "bad input.\n");
+	exit(1);
+}
+
+int main(int argc, char **argv)
+{
+	Byte key[16], rand[16], simoutput[12];
+	int i;
+
+	if (argc != 3 || strlen(argv[1]) != 34 || strlen(argv[2]) != 34
+			|| strncmp(argv[1], "0x", 2) != 0
+			|| strncmp(argv[2], "0x", 2) != 0) {
+		fprintf(stderr, "Usage: %s 0x<key> 0x<rand>\n", argv[0]);
+		exit(1);
+	}
+
+	for (i=0; i<16; i++)
+		key[i] = (hextoint(argv[1][2*i+2])<<4)
+			| hextoint(argv[1][2*i+3]);
+	for (i=0; i<16; i++)
+		rand[i] = (hextoint(argv[2][2*i+2])<<4)
+			 | hextoint(argv[2][2*i+3]);
+	A3A8(rand, key, simoutput);
+	printf("simoutput: ");
+	for (i=0; i<12; i++)
+		printf("%02X", simoutput[i]);
+	printf("\n");
+	return 0;
+}
+#endif
+
diff --git a/openbsc/src/auth.c b/openbsc/src/msc/auth.c
similarity index 100%
rename from openbsc/src/auth.c
rename to openbsc/src/msc/auth.c
diff --git a/openbsc/src/db.c b/openbsc/src/msc/db.c
similarity index 100%
rename from openbsc/src/db.c
rename to openbsc/src/msc/db.c
diff --git a/openbsc/src/gsm_04_08.c b/openbsc/src/msc/gsm_04_08.c
similarity index 99%
rename from openbsc/src/gsm_04_08.c
rename to openbsc/src/msc/gsm_04_08.c
index b08b375..2b61aa9 100644
--- a/openbsc/src/gsm_04_08.c
+++ b/openbsc/src/msc/gsm_04_08.c
@@ -75,6 +75,11 @@
 
 static u_int32_t new_callref = 0x80000001;
 
+void cc_tx_to_mncc(struct gsm_network *net, struct msgb *msg)
+{
+	net->mncc_recv(net, msg);
+}
+
 static int gsm48_conn_sendmsg(struct msgb *msg, struct gsm_subscriber_connection *conn,
 			      struct gsm_trans *trans)
 {
diff --git a/openbsc/src/gsm_04_11.c b/openbsc/src/msc/gsm_04_11.c
similarity index 100%
rename from openbsc/src/gsm_04_11.c
rename to openbsc/src/msc/gsm_04_11.c
diff --git a/openbsc/src/gsm_04_80.c b/openbsc/src/msc/gsm_04_80.c
similarity index 100%
rename from openbsc/src/gsm_04_80.c
rename to openbsc/src/msc/gsm_04_80.c
diff --git a/openbsc/src/gsm_subscriber.c b/openbsc/src/msc/gsm_subscriber.c
similarity index 100%
rename from openbsc/src/gsm_subscriber.c
rename to openbsc/src/msc/gsm_subscriber.c
diff --git a/openbsc/src/mncc.c b/openbsc/src/msc/mncc.c
similarity index 100%
rename from openbsc/src/mncc.c
rename to openbsc/src/msc/mncc.c
diff --git a/openbsc/src/mncc_builtin.c b/openbsc/src/msc/mncc_builtin.c
similarity index 100%
rename from openbsc/src/mncc_builtin.c
rename to openbsc/src/msc/mncc_builtin.c
diff --git a/openbsc/src/mncc_sock.c b/openbsc/src/msc/mncc_sock.c
similarity index 100%
rename from openbsc/src/mncc_sock.c
rename to openbsc/src/msc/mncc_sock.c
diff --git a/openbsc/src/osmo_msc.c b/openbsc/src/msc/osmo_msc.c
similarity index 100%
rename from openbsc/src/osmo_msc.c
rename to openbsc/src/msc/osmo_msc.c
diff --git a/openbsc/src/rrlp.c b/openbsc/src/msc/rrlp.c
similarity index 100%
rename from openbsc/src/rrlp.c
rename to openbsc/src/msc/rrlp.c
diff --git a/openbsc/src/silent_call.c b/openbsc/src/msc/silent_call.c
similarity index 100%
rename from openbsc/src/silent_call.c
rename to openbsc/src/msc/silent_call.c
diff --git a/openbsc/src/sms_queue.c b/openbsc/src/msc/sms_queue.c
similarity index 100%
rename from openbsc/src/sms_queue.c
rename to openbsc/src/msc/sms_queue.c
diff --git a/openbsc/src/token_auth.c b/openbsc/src/msc/token_auth.c
similarity index 100%
rename from openbsc/src/token_auth.c
rename to openbsc/src/msc/token_auth.c
diff --git a/openbsc/src/ussd.c b/openbsc/src/msc/ussd.c
similarity index 100%
rename from openbsc/src/ussd.c
rename to openbsc/src/msc/ussd.c
diff --git a/openbsc/src/vty_interface_layer3.c b/openbsc/src/msc/vty_interface_layer3.c
similarity index 100%
rename from openbsc/src/vty_interface_layer3.c
rename to openbsc/src/msc/vty_interface_layer3.c
diff --git a/openbsc/src/nat/Makefile.am b/openbsc/src/nat/Makefile.am
index 5afcc2e..7ee587d 100644
--- a/openbsc/src/nat/Makefile.am
+++ b/openbsc/src/nat/Makefile.am
@@ -6,8 +6,8 @@
 
 
 bsc_nat_SOURCES = bsc_filter.c bsc_mgcp_utils.c bsc_nat.c bsc_nat_utils.c \
-		  bsc_nat_vty.c bsc_sccp.c bsc_ussd.c \
-		$(top_srcdir)/src/debug.c $(top_srcdir)/src/bsc_msc.c
-bsc_nat_LDADD = $(top_builddir)/src/libvty.a \
-		$(top_builddir)/src/libmgcp.a $(top_builddir)/src/libbsc.a \
+		  bsc_nat_vty.c bsc_sccp.c bsc_ussd.c
+bsc_nat_LDADD = $(top_builddir)/src/common/libcommon.a \
+		$(top_builddir)/src/mgcp/libmgcp.a $(top_builddir)/src/bsc/libbsc.a \
+		$(top_builddir)/src/abis/libabis.a $(top_builddir)/src/trau/libtrau.a \
 		-lrt $(LIBOSMOSCCP_LIBS)
diff --git a/openbsc/src/osmo-bsc/Makefile.am b/openbsc/src/osmo-bsc/Makefile.am
new file mode 100644
index 0000000..735d440
--- /dev/null
+++ b/openbsc/src/osmo-bsc/Makefile.am
@@ -0,0 +1,14 @@
+INCLUDES = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
+AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(LIBOSMOSCCP_CFLAGS) $(COVERAGE_CFLAGS)
+AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(LIBOSMOVTY_LIBS) $(COVERAGE_LDFLAGS)
+
+bin_PROGRAMS = osmo-bsc
+
+
+osmo_bsc_SOURCES = osmo_bsc_main.c osmo_bsc_rf.c osmo_bsc_vty.c osmo_bsc_api.c \
+		   osmo_bsc_grace.c osmo_bsc_msc.c osmo_bsc_sccp.c \
+		   osmo_bsc_filter.c osmo_bsc_bssap.c osmo_bsc_audio.c
+# once again since TRAU uses CC symbol :(
+osmo_bsc_LDADD = ../bsc/libbsc.a ../msc/libmsc.a ../bsc/libbsc.a \
+		../abis/libabis.a ../trau/libtrau.a ../common/libcommon.a \
+		 $(LIBOSMOSCCP_LIBS)
diff --git a/openbsc/src/bsc/osmo_bsc_api.c b/openbsc/src/osmo-bsc/osmo_bsc_api.c
similarity index 100%
rename from openbsc/src/bsc/osmo_bsc_api.c
rename to openbsc/src/osmo-bsc/osmo_bsc_api.c
diff --git a/openbsc/src/bsc/osmo_bsc_audio.c b/openbsc/src/osmo-bsc/osmo_bsc_audio.c
similarity index 100%
rename from openbsc/src/bsc/osmo_bsc_audio.c
rename to openbsc/src/osmo-bsc/osmo_bsc_audio.c
diff --git a/openbsc/src/bsc/osmo_bsc_bssap.c b/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
similarity index 100%
rename from openbsc/src/bsc/osmo_bsc_bssap.c
rename to openbsc/src/osmo-bsc/osmo_bsc_bssap.c
diff --git a/openbsc/src/bsc/osmo_bsc_filter.c b/openbsc/src/osmo-bsc/osmo_bsc_filter.c
similarity index 100%
rename from openbsc/src/bsc/osmo_bsc_filter.c
rename to openbsc/src/osmo-bsc/osmo_bsc_filter.c
diff --git a/openbsc/src/bsc/osmo_bsc_grace.c b/openbsc/src/osmo-bsc/osmo_bsc_grace.c
similarity index 100%
rename from openbsc/src/bsc/osmo_bsc_grace.c
rename to openbsc/src/osmo-bsc/osmo_bsc_grace.c
diff --git a/openbsc/src/bsc/osmo_bsc_main.c b/openbsc/src/osmo-bsc/osmo_bsc_main.c
similarity index 100%
rename from openbsc/src/bsc/osmo_bsc_main.c
rename to openbsc/src/osmo-bsc/osmo_bsc_main.c
diff --git a/openbsc/src/bsc/osmo_bsc_msc.c b/openbsc/src/osmo-bsc/osmo_bsc_msc.c
similarity index 100%
rename from openbsc/src/bsc/osmo_bsc_msc.c
rename to openbsc/src/osmo-bsc/osmo_bsc_msc.c
diff --git a/openbsc/src/bsc/osmo_bsc_rf.c b/openbsc/src/osmo-bsc/osmo_bsc_rf.c
similarity index 100%
rename from openbsc/src/bsc/osmo_bsc_rf.c
rename to openbsc/src/osmo-bsc/osmo_bsc_rf.c
diff --git a/openbsc/src/bsc/osmo_bsc_sccp.c b/openbsc/src/osmo-bsc/osmo_bsc_sccp.c
similarity index 100%
rename from openbsc/src/bsc/osmo_bsc_sccp.c
rename to openbsc/src/osmo-bsc/osmo_bsc_sccp.c
diff --git a/openbsc/src/bsc/osmo_bsc_vty.c b/openbsc/src/osmo-bsc/osmo_bsc_vty.c
similarity index 100%
rename from openbsc/src/bsc/osmo_bsc_vty.c
rename to openbsc/src/osmo-bsc/osmo_bsc_vty.c
diff --git a/openbsc/src/osmo-nitb/Makefile.am b/openbsc/src/osmo-nitb/Makefile.am
new file mode 100644
index 0000000..55822e9
--- /dev/null
+++ b/openbsc/src/osmo-nitb/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
+AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS)
+AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(COVERAGE_LDFLAGS)
+
+bin_PROGRAMS = osmo-nitb
+
+osmo_nitb_SOURCES = bsc_hack.c
+osmo_nitb_LDADD = -ldl -ldbi $(LIBCRYPT) $(LIBOSMOVTY_LIBS) \
+		../bsc/libbsc.a ../msc/libmsc.a ../bsc/libbsc.a ../trau/libtrau.a ../abis/libabis.a \
+		../common/libcommon.a
diff --git a/openbsc/src/bsc_hack.c b/openbsc/src/osmo-nitb/bsc_hack.c
similarity index 100%
rename from openbsc/src/bsc_hack.c
rename to openbsc/src/osmo-nitb/bsc_hack.c
diff --git a/openbsc/src/trau/Makefile.am b/openbsc/src/trau/Makefile.am
new file mode 100644
index 0000000..01ed251
--- /dev/null
+++ b/openbsc/src/trau/Makefile.am
@@ -0,0 +1,7 @@
+INCLUDES = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
+AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS)
+AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(COVERAGE_LDFLAGS)
+
+noinst_LIBRARIES = libtrau.a
+
+libtrau_a_SOURCES = rtp_proxy.c subchan_demux.c trau_frame.c trau_mux.c trau_upqueue.c
diff --git a/openbsc/src/rtp_proxy.c b/openbsc/src/trau/rtp_proxy.c
similarity index 99%
rename from openbsc/src/rtp_proxy.c
rename to openbsc/src/trau/rtp_proxy.c
index 8d14447..eefc0e1 100644
--- a/openbsc/src/rtp_proxy.c
+++ b/openbsc/src/trau/rtp_proxy.c
@@ -442,7 +442,7 @@
 		if (rc < 0)
 			goto out_free;
 		msgb_free(msg);
-		cc_tx_to_mncc(rs->receive.net, new_msg);
+		trau_tx_to_mncc(rs->receive.net, new_msg);
 		break;
 
 	case RTP_NONE: /* if socket exists, but disabled by app */
diff --git a/openbsc/src/subchan_demux.c b/openbsc/src/trau/subchan_demux.c
similarity index 100%
rename from openbsc/src/subchan_demux.c
rename to openbsc/src/trau/subchan_demux.c
diff --git a/openbsc/src/trau_frame.c b/openbsc/src/trau/trau_frame.c
similarity index 100%
rename from openbsc/src/trau_frame.c
rename to openbsc/src/trau/trau_frame.c
diff --git a/openbsc/src/trau_mux.c b/openbsc/src/trau/trau_mux.c
similarity index 99%
rename from openbsc/src/trau_mux.c
rename to openbsc/src/trau/trau_mux.c
index d521a62..712e22d 100644
--- a/openbsc/src/trau_mux.c
+++ b/openbsc/src/trau/trau_mux.c
@@ -213,7 +213,7 @@
 		}
 		frame->msg_type = GSM_TCHF_FRAME;
 		frame->callref = ue->callref;
-		cc_tx_to_mncc(ue->net, msg);
+		trau_tx_to_mncc(ue->net, msg);
 
 		return 0;
 	}
diff --git a/openbsc/src/mncc_upqueue.c b/openbsc/src/trau/trau_upqueue.c
similarity index 87%
rename from openbsc/src/mncc_upqueue.c
rename to openbsc/src/trau/trau_upqueue.c
index 126072b..f8edaf0 100644
--- a/openbsc/src/mncc_upqueue.c
+++ b/openbsc/src/trau/trau_upqueue.c
@@ -1,4 +1,4 @@
-/* mncc_upqueue.c - Pass msgb's up the chain */
+/* trau_upqueue.c - Pass msgb's up the chain */
 
 /* (C) 2010 by Harald Welte <laforge@gnumonks.org>
  * All Rights Reserved
@@ -21,7 +21,7 @@
 #include <openbsc/mncc.h>
 #include <openbsc/gsm_data.h>
 
-void cc_tx_to_mncc(struct gsm_network *net, struct msgb *msg)
+void trau_tx_to_mncc(struct gsm_network *net, struct msgb *msg)
 {
 	net->mncc_recv(net, msg);
 }
diff --git a/openbsc/src/utils/Makefile.am b/openbsc/src/utils/Makefile.am
new file mode 100644
index 0000000..2847c6a
--- /dev/null
+++ b/openbsc/src/utils/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
+AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS)
+AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(COVERAGE_LDFLAGS)
+
+bin_PROGRAMS = bs11_config isdnsync
+
+bs11_config_SOURCES = bs11_config.c rs232.c
+bs11_config_LDADD = ../common/libcommon.a ../abis/libabis.a ../bsc/libbsc.a
+
+isdnsync_SOURCES = isdnsync.c
diff --git a/openbsc/src/bs11_config.c b/openbsc/src/utils/bs11_config.c
similarity index 100%
rename from openbsc/src/bs11_config.c
rename to openbsc/src/utils/bs11_config.c
diff --git a/openbsc/src/isdnsync.c b/openbsc/src/utils/isdnsync.c
similarity index 100%
rename from openbsc/src/isdnsync.c
rename to openbsc/src/utils/isdnsync.c
diff --git a/openbsc/src/rs232.c b/openbsc/src/utils/rs232.c
similarity index 100%
rename from openbsc/src/rs232.c
rename to openbsc/src/utils/rs232.c
