[PATCH 2/6] substitute #include statements to match former commit

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Alexander Huemer alexander.huemer at xx.vu
Sun Sep 4 22:32:34 UTC 2011


---
 openbsc/configure.ac                              |   14 ++++++++
 openbsc/include/openbsc/Makefile.am               |   20 ++---------
 openbsc/include/openbsc/gprs/Makefile.am          |    1 +
 openbsc/include/openbsc/gprs/gb_proxy.h           |    2 +-
 openbsc/include/openbsc/gprs/gprs_gmm.h           |    2 +-
 openbsc/include/openbsc/gprs/gprs_llc.h           |    2 +-
 openbsc/include/openbsc/ipaccess.h                |    2 +-
 openbsc/include/openbsc/ipaccess/Makefile.am      |    2 +
 openbsc/include/openbsc/ipaccess/network_listen.h |    2 +-
 openbsc/include/openbsc/libbsc/Makefile.am        |    6 +++
 openbsc/include/openbsc/libbsc/bsc_api.h          |    2 +-
 openbsc/include/openbsc/libbsc/bsc_rll.h          |    2 +-
 openbsc/include/openbsc/libbsc/chan_alloc.h       |    2 +-
 openbsc/include/openbsc/libbsc/paging.h           |    4 +-
 openbsc/include/openbsc/libbsc/rest_octets.h      |    2 +-
 openbsc/include/openbsc/libcommon/Makefile.am     |    2 +
 openbsc/include/openbsc/libcommon/gsm_data.h      |    4 +-
 openbsc/include/openbsc/libctrl/Makefile.am       |    2 +
 openbsc/include/openbsc/libgb/Makefile.am         |    2 +
 openbsc/include/openbsc/libmgcp/Makefile.am       |    2 +
 openbsc/include/openbsc/libmsc/Makefile.am        |    7 ++++
 openbsc/include/openbsc/libmsc/db.h               |    2 +-
 openbsc/include/openbsc/libmsc/gsm_04_08.h        |    2 +-
 openbsc/include/openbsc/libmsc/gsm_subscriber.h   |    2 +-
 openbsc/include/openbsc/libmsc/osmo_msc.h         |    2 +-
 openbsc/include/openbsc/libmsc/transaction.h      |    8 ++--
 openbsc/include/openbsc/libtrau/Makefile.am       |    2 +
 openbsc/include/openbsc/libtrau/rtp_proxy.h       |    2 +-
 openbsc/include/openbsc/libtrau/trau_mux.h        |    4 +-
 openbsc/include/openbsc/mgcp.h                    |    2 +-
 openbsc/include/openbsc/osmo-bsc/Makefile.am      |    2 +
 openbsc/include/openbsc/osmo-bsc/osmo_bsc_grace.h |    2 +-
 openbsc/include/openbsc/osmo-bsc_mgcp/Makefile.am |    2 +
 openbsc/include/openbsc/osmo-bsc_nat/Makefile.am  |    2 +
 openbsc/include/openbsc/osmo-bsc_nat/bsc_nat.h    |    3 +-
 openbsc/include/openbsc/osmo-nitb/Makefile.am     |    2 +
 openbsc/include/openbsc/osmo_bsc.h                |    2 +-
 openbsc/include/openbsc/osmo_msc_data.h           |    2 +-
 openbsc/include/openbsc/signal.h                  |    2 +-
 openbsc/include/openbsc/utils/Makefile.am         |    2 +
 openbsc/src/gprs/crc24.c                          |    2 +-
 openbsc/src/gprs/gb_proxy.c                       |    8 ++--
 openbsc/src/gprs/gb_proxy_main.c                  |    8 ++--
 openbsc/src/gprs/gb_proxy_vty.c                   |    6 ++--
 openbsc/src/gprs/gprs_gmm.c                       |   22 ++++++------
 openbsc/src/gprs/gprs_llc.c                       |   14 ++++----
 openbsc/src/gprs/gprs_llc_vty.c                   |    6 ++--
 openbsc/src/gprs/gprs_sgsn.c                      |   12 +++---
 openbsc/src/gprs/gprs_sndcp.c                     |    8 ++--
 openbsc/src/gprs/gprs_sndcp_vty.c                 |    6 ++--
 openbsc/src/gprs/sgsn_libgtp.c                    |   10 +++---
 openbsc/src/gprs/sgsn_main.c                      |    8 ++--
 openbsc/src/gprs/sgsn_vty.c                       |    6 ++--
 openbsc/src/ipaccess/ipaccess-config.c            |   16 +++++-----
 openbsc/src/ipaccess/ipaccess-find.c              |    2 +-
 openbsc/src/ipaccess/ipaccess-firmware.c          |    2 +-
 openbsc/src/ipaccess/ipaccess-proxy.c             |    6 ++--
 openbsc/src/ipaccess/network_listen.c             |    6 ++--
 openbsc/src/libbsc/abis_nm.c                      |    6 ++--
 openbsc/src/libbsc/abis_nm_vty.c                  |    6 ++--
 openbsc/src/libbsc/abis_om2000.c                  |    8 ++--
 openbsc/src/libbsc/abis_om2000_vty.c              |    6 ++--
 openbsc/src/libbsc/abis_rsl.c                     |   18 +++++-----
 openbsc/src/libbsc/bsc_api.c                      |   16 +++++-----
 openbsc/src/libbsc/bsc_init.c                     |   16 +++++-----
 openbsc/src/libbsc/bsc_msc.c                      |    4 +-
 openbsc/src/libbsc/bsc_rll.c                      |   10 +++---
 openbsc/src/libbsc/bsc_vty.c                      |   24 +++++++-------
 openbsc/src/libbsc/bts_ericsson_rbs2000.c         |    8 ++--
 openbsc/src/libbsc/bts_hsl_femtocell.c            |    8 ++--
 openbsc/src/libbsc/bts_ipaccess_nanobts.c         |   12 +++---
 openbsc/src/libbsc/bts_nokia_site.c               |    6 ++--
 openbsc/src/libbsc/bts_siemens_bs11.c             |    6 ++--
 openbsc/src/libbsc/bts_unknown.c                  |    4 +-
 openbsc/src/libbsc/chan_alloc.c                   |   10 +++---
 openbsc/src/libbsc/e1_config.c                    |    8 ++--
 openbsc/src/libbsc/gsm_04_08_utils.c              |   10 +++---
 openbsc/src/libbsc/gsm_subscriber_base.c          |    4 +-
 openbsc/src/libbsc/handover_decision.c            |    6 ++--
 openbsc/src/libbsc/handover_logic.c               |   16 +++++-----
 openbsc/src/libbsc/meas_proc.c                    |    6 ++--
 openbsc/src/libbsc/meas_rep.c                     |    4 +-
 openbsc/src/libbsc/paging.c                       |   12 +++---
 openbsc/src/libbsc/rest_octets.c                  |    4 +-
 openbsc/src/libbsc/system_information.c           |   10 +++---
 openbsc/src/libcommon/common_vty.c                |    8 ++--
 openbsc/src/libcommon/debug.c                     |    6 ++--
 openbsc/src/libcommon/gsm_data.c                  |    4 +-
 openbsc/src/libcommon/gsm_data_shared.c           |    2 +-
 openbsc/src/libcommon/socket.c                    |    4 +-
 openbsc/src/libcommon/talloc_ctx.c                |    2 +-
 openbsc/src/libctrl/control_cmd.c                 |    4 +-
 openbsc/src/libctrl/control_if.c                  |   12 +++---
 openbsc/src/libgb/gprs_bssgp.c                    |   14 ++++----
 openbsc/src/libgb/gprs_bssgp_util.c               |    8 ++--
 openbsc/src/libgb/gprs_bssgp_vty.c                |    8 ++--
 openbsc/src/libgb/gprs_ns.c                       |   12 +++---
 openbsc/src/libgb/gprs_ns_frgre.c                 |    6 ++--
 openbsc/src/libgb/gprs_ns_vty.c                   |    8 ++--
 openbsc/src/libmsc/auth.c                         |    8 ++--
 openbsc/src/libmsc/db.c                           |   10 +++---
 openbsc/src/libmsc/gsm_04_08.c                    |   36 ++++++++++----------
 openbsc/src/libmsc/gsm_04_11.c                    |   26 +++++++-------
 openbsc/src/libmsc/gsm_04_80.c                    |   10 +++---
 openbsc/src/libmsc/gsm_subscriber.c               |   10 +++---
 openbsc/src/libmsc/mncc.c                         |   12 +++---
 openbsc/src/libmsc/mncc_builtin.c                 |   12 +++---
 openbsc/src/libmsc/mncc_sock.c                    |    6 ++--
 openbsc/src/libmsc/osmo_msc.c                     |    8 ++--
 openbsc/src/libmsc/rrlp.c                         |    6 ++--
 openbsc/src/libmsc/silent_call.c                  |   14 ++++----
 openbsc/src/libmsc/sms_queue.c                    |   14 ++++----
 openbsc/src/libmsc/token_auth.c                   |   12 +++---
 openbsc/src/libmsc/transaction.c                  |   18 +++++-----
 openbsc/src/libmsc/ussd.c                         |    8 ++--
 openbsc/src/libmsc/vty_interface_layer3.c         |   20 ++++++------
 openbsc/src/libtrau/rtp_proxy.c                   |    8 ++--
 openbsc/src/libtrau/trau_mux.c                    |    6 ++--
 openbsc/src/libtrau/trau_upqueue.c                |    4 +-
 openbsc/src/osmo-bsc/osmo_bsc_api.c               |    2 +-
 openbsc/src/osmo-bsc/osmo_bsc_audio.c             |    6 ++--
 openbsc/src/osmo-bsc/osmo_bsc_bssap.c             |    8 ++--
 openbsc/src/osmo-bsc/osmo_bsc_filter.c            |    8 ++--
 openbsc/src/osmo-bsc/osmo_bsc_grace.c             |    6 ++--
 openbsc/src/osmo-bsc/osmo_bsc_main.c              |    8 ++--
 openbsc/src/osmo-bsc/osmo_bsc_msc.c               |    8 ++--
 openbsc/src/osmo-bsc/osmo_bsc_rf.c                |    6 ++--
 openbsc/src/osmo-bsc/osmo_bsc_sccp.c              |    6 ++--
 openbsc/src/osmo-bsc/osmo_bsc_vty.c               |    2 +-
 openbsc/src/osmo-bsc_mgcp/mgcp_main.c             |    4 +-
 openbsc/src/osmo-bsc_nat/bsc_filter.c             |    4 +-
 openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c         |    6 ++--
 openbsc/src/osmo-bsc_nat/bsc_nat.c                |   12 +++---
 openbsc/src/osmo-bsc_nat/bsc_nat_utils.c          |    8 ++--
 openbsc/src/osmo-bsc_nat/bsc_nat_vty.c            |    8 ++--
 openbsc/src/osmo-bsc_nat/bsc_sccp.c               |    4 +-
 openbsc/src/osmo-bsc_nat/bsc_ussd.c               |    4 +-
 openbsc/src/osmo-nitb/bsc_hack.c                  |   10 +++---
 openbsc/src/utils/bs11_config.c                   |    6 ++--
 openbsc/tests/channel/channel_test.c              |    4 +-
 openbsc/tests/db/db_test.c                        |    4 +-
 openbsc/tests/debug/debug_test.c                  |    2 +-
 openbsc/tests/gsm0408/gsm0408_test.c              |    6 ++--
 143 files changed, 526 insertions(+), 489 deletions(-)
 create mode 100644 openbsc/include/openbsc/gprs/Makefile.am
 create mode 100644 openbsc/include/openbsc/ipaccess/Makefile.am
 create mode 100644 openbsc/include/openbsc/libbsc/Makefile.am
 create mode 100644 openbsc/include/openbsc/libcommon/Makefile.am
 create mode 100644 openbsc/include/openbsc/libctrl/Makefile.am
 create mode 100644 openbsc/include/openbsc/libgb/Makefile.am
 create mode 100644 openbsc/include/openbsc/libmgcp/Makefile.am
 create mode 100644 openbsc/include/openbsc/libmsc/Makefile.am
 create mode 100644 openbsc/include/openbsc/libtrau/Makefile.am
 create mode 100644 openbsc/include/openbsc/osmo-bsc/Makefile.am
 create mode 100644 openbsc/include/openbsc/osmo-bsc_mgcp/Makefile.am
 create mode 100644 openbsc/include/openbsc/osmo-bsc_nat/Makefile.am
 create mode 100644 openbsc/include/openbsc/osmo-nitb/Makefile.am
 create mode 100644 openbsc/include/openbsc/utils/Makefile.am

diff --git a/openbsc/configure.ac b/openbsc/configure.ac
index a8e29b4..ca933dc 100644
--- a/openbsc/configure.ac
+++ b/openbsc/configure.ac
@@ -88,6 +88,20 @@ AM_CONFIG_HEADER(bscconfig.h)
 AC_OUTPUT(
     openbsc.pc
     include/openbsc/Makefile
+    include/openbsc/gprs/Makefile
+    include/openbsc/ipaccess/Makefile
+    include/openbsc/libbsc/Makefile
+    include/openbsc/libcommon/Makefile
+    include/openbsc/libctrl/Makefile
+    include/openbsc/libgb/Makefile
+    include/openbsc/libmgcp/Makefile
+    include/openbsc/libmsc/Makefile
+    include/openbsc/libtrau/Makefile
+    include/openbsc/osmo-bsc/Makefile
+    include/openbsc/osmo-bsc_mgcp/Makefile
+    include/openbsc/osmo-bsc_nat/Makefile
+    include/openbsc/osmo-nitb/Makefile
+    include/openbsc/utils/Makefile
     include/Makefile
     src/Makefile
     src/libtrau/Makefile
diff --git a/openbsc/include/openbsc/Makefile.am b/openbsc/include/openbsc/Makefile.am
index bb78535..779f172 100644
--- a/openbsc/include/openbsc/Makefile.am
+++ b/openbsc/include/openbsc/Makefile.am
@@ -1,17 +1,5 @@
-noinst_HEADERS = abis_nm.h abis_rsl.h db.h gsm_04_08.h gsm_data.h \
-		 gsm_subscriber.h gsm_04_11.h debug.h signal.h \
-		 misdn.h chan_alloc.h paging.h \
-		 trau_mux.h rs232.h openbscdefines.h rtp_proxy.h \
-		 bsc_rll.h mncc.h transaction.h ussd.h gsm_04_80.h \
-		 silent_call.h mgcp.h meas_rep.h rest_octets.h \
-		 system_information.h handover.h mgcp_internal.h \
-		 vty.h socket.h \
-		crc24.h gprs_bssgp.h gprs_llc.h gprs_ns.h gprs_gmm.h \
-		gb_proxy.h gprs_sgsn.h gsm_04_08_gprs.h sgsn.h \
-		gprs_ns_frgre.h auth.h osmo_msc.h bsc_msc.h bsc_nat.h \
-		osmo_bsc_rf.h osmo_bsc.h network_listen.h bsc_nat_sccp.h \
-		osmo_msc_data.h osmo_bsc_grace.h sms_queue.h abis_om2000.h \
-		bss.h gsm_data_shared.h control_cmd.h ipaccess.h mncc_int.h
+noinst_HEADERS = bsc_nat_sccp.h bss.h gsm_04_08_gprs.h handover.h \
+		 ipaccess.h mgcp.h mgcp_internal.h misdn.h mncc_int.h \
+		 openbscdefines.h osmo_bsc.h osmo_msc_data.h rs232.h \
+		 sgsn.h signal.h vty.h
 
-openbsc_HEADERS = gsm_04_08.h meas_rep.h bsc_api.h
-openbscdir = $(includedir)/openbsc
diff --git a/openbsc/include/openbsc/gprs/Makefile.am b/openbsc/include/openbsc/gprs/Makefile.am
new file mode 100644
index 0000000..4f7a1af
--- /dev/null
+++ b/openbsc/include/openbsc/gprs/Makefile.am
@@ -0,0 +1 @@
+noinst_HEADERS = crc24.h gb_proxy.h gprs_gmm.h gprs_llc.h gprs_sgsn.h
diff --git a/openbsc/include/openbsc/gprs/gb_proxy.h b/openbsc/include/openbsc/gprs/gb_proxy.h
index c0cdcbf..52f222a 100644
--- a/openbsc/include/openbsc/gprs/gb_proxy.h
+++ b/openbsc/include/openbsc/gprs/gb_proxy.h
@@ -4,7 +4,7 @@
 
 #include <osmocom/core/msgb.h>
 
-#include <openbsc/gprs_ns.h>
+#include <openbsc/libgb/gprs_ns.h>
 #include <osmocom/vty/command.h>
 
 struct gbproxy_config {
diff --git a/openbsc/include/openbsc/gprs/gprs_gmm.h b/openbsc/include/openbsc/gprs/gprs_gmm.h
index f6b3e5e..f1223e8 100644
--- a/openbsc/include/openbsc/gprs/gprs_gmm.h
+++ b/openbsc/include/openbsc/gprs/gprs_gmm.h
@@ -2,7 +2,7 @@
 #define _GPRS_GMM_H
 
 #include <osmocom/core/msgb.h>
-#include <openbsc/gprs_sgsn.h>
+#include <openbsc/gprs/gprs_sgsn.h>
 
 int gsm48_tx_gsm_deact_pdp_req(struct sgsn_pdp_ctx *pdp, uint8_t sm_cause);
 int gsm48_tx_gsm_act_pdp_rej(struct sgsn_mm_ctx *mm, uint8_t tid,
diff --git a/openbsc/include/openbsc/gprs/gprs_llc.h b/openbsc/include/openbsc/gprs/gprs_llc.h
index 9f17605..0408a4d 100644
--- a/openbsc/include/openbsc/gprs/gprs_llc.h
+++ b/openbsc/include/openbsc/gprs/gprs_llc.h
@@ -2,7 +2,7 @@
 #define _GPRS_LLC_H
 
 #include <stdint.h>
-#include <openbsc/gprs_sgsn.h>
+#include <openbsc/gprs/gprs_sgsn.h>
 
 /* Section 4.7 LLC Layer Structure */
 enum gprs_llc_sapi {
diff --git a/openbsc/include/openbsc/ipaccess.h b/openbsc/include/openbsc/ipaccess.h
index d3c9d1d..a33cd6d 100644
--- a/openbsc/include/openbsc/ipaccess.h
+++ b/openbsc/include/openbsc/ipaccess.h
@@ -2,7 +2,7 @@
 #define _IPACCESS_H
 
 #include <osmocom/abis/e1_input.h>
-#include "gsm_subscriber.h"
+#include <openbsc/libmsc/gsm_subscriber.h>
 #include <osmocom/core/linuxlist.h>
 #include <osmocom/gsm/protocol/ipaccess.h>
 
diff --git a/openbsc/include/openbsc/ipaccess/Makefile.am b/openbsc/include/openbsc/ipaccess/Makefile.am
new file mode 100644
index 0000000..cc1ed16
--- /dev/null
+++ b/openbsc/include/openbsc/ipaccess/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = network_listen.h
+
diff --git a/openbsc/include/openbsc/ipaccess/network_listen.h b/openbsc/include/openbsc/ipaccess/network_listen.h
index 67d1f4e..c627dbc 100644
--- a/openbsc/include/openbsc/ipaccess/network_listen.h
+++ b/openbsc/include/openbsc/ipaccess/network_listen.h
@@ -2,7 +2,7 @@
 #define _OPENBSC_NWL_H
 
 #include <stdint.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 
 void ipac_nwl_init(void);
 
diff --git a/openbsc/include/openbsc/libbsc/Makefile.am b/openbsc/include/openbsc/libbsc/Makefile.am
new file mode 100644
index 0000000..163fa89
--- /dev/null
+++ b/openbsc/include/openbsc/libbsc/Makefile.am
@@ -0,0 +1,6 @@
+noinst_HEADERS = abis_nm.h abis_om2000.h abis_rsl.h bsc_msc.h bsc_rll.h \
+		 chan_alloc.h paging.h rest_octets.h system_information.h
+
+openbsc_HEADERS = meas_rep.h bsc_api.h
+openbscdir = $(includedir)/openbsc
+
diff --git a/openbsc/include/openbsc/libbsc/bsc_api.h b/openbsc/include/openbsc/libbsc/bsc_api.h
index 36ec370..ee72af0 100644
--- a/openbsc/include/openbsc/libbsc/bsc_api.h
+++ b/openbsc/include/openbsc/libbsc/bsc_api.h
@@ -3,7 +3,7 @@
 #ifndef OPENBSC_BSC_API_H
 #define OPENBSC_BSC_API_H
 
-#include "gsm_data.h"
+#include <openbsc/libcommon/gsm_data.h>
 
 #define BSC_API_CONN_POL_ACCEPT	0
 #define BSC_API_CONN_POL_REJECT	1
diff --git a/openbsc/include/openbsc/libbsc/bsc_rll.h b/openbsc/include/openbsc/libbsc/bsc_rll.h
index 729ba60..9639dc9 100644
--- a/openbsc/include/openbsc/libbsc/bsc_rll.h
+++ b/openbsc/include/openbsc/libbsc/bsc_rll.h
@@ -1,7 +1,7 @@
 #ifndef _BSC_RLL_H
 #define _BSC_RLL_H
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 
 enum bsc_rllr_ind {
 	BSC_RLLR_IND_EST_CONF,
diff --git a/openbsc/include/openbsc/libbsc/chan_alloc.h b/openbsc/include/openbsc/libbsc/chan_alloc.h
index 5eda312..d877da6 100644
--- a/openbsc/include/openbsc/libbsc/chan_alloc.h
+++ b/openbsc/include/openbsc/libbsc/chan_alloc.h
@@ -20,7 +20,7 @@
 #ifndef _CHAN_ALLOC_H
 #define _CHAN_ALLOC_H
 
-#include "gsm_data.h"
+#include <openbsc/libcommon/gsm_data.h>
 
 struct gsm_subscriber_connection;
 
diff --git a/openbsc/include/openbsc/libbsc/paging.h b/openbsc/include/openbsc/libbsc/paging.h
index e1438ba..2abe290 100644
--- a/openbsc/include/openbsc/libbsc/paging.h
+++ b/openbsc/include/openbsc/libbsc/paging.h
@@ -24,8 +24,8 @@
 #include <string.h>
 
 #include <osmocom/core/linuxlist.h>
-#include "gsm_data.h"
-#include "gsm_subscriber.h"
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
 #include <osmocom/core/timer.h>
 
 /**
diff --git a/openbsc/include/openbsc/libbsc/rest_octets.h b/openbsc/include/openbsc/libbsc/rest_octets.h
index 2d16a1f..4973366 100644
--- a/openbsc/include/openbsc/libbsc/rest_octets.h
+++ b/openbsc/include/openbsc/libbsc/rest_octets.h
@@ -1,7 +1,7 @@
 #ifndef _REST_OCTETS_H
 #define _REST_OCTETS_H
 
-#include <openbsc/gsm_04_08.h>
+#include <openbsc/libmsc/gsm_04_08.h>
 
 /* generate SI1 rest octets */
 int rest_octets_si1(uint8_t *data, uint8_t *nch_pos);
diff --git a/openbsc/include/openbsc/libcommon/Makefile.am b/openbsc/include/openbsc/libcommon/Makefile.am
new file mode 100644
index 0000000..ea4be7a
--- /dev/null
+++ b/openbsc/include/openbsc/libcommon/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = debug.h gsm_data.h gsm_data_shared.h socket.h
+
diff --git a/openbsc/include/openbsc/libcommon/gsm_data.h b/openbsc/include/openbsc/libcommon/gsm_data.h
index f74ece8..35c3971 100644
--- a/openbsc/include/openbsc/libcommon/gsm_data.h
+++ b/openbsc/include/openbsc/libcommon/gsm_data.h
@@ -6,7 +6,7 @@
 #include <osmocom/core/timer.h>
 #include <osmocom/core/select.h>
 
-#include <openbsc/rest_octets.h>
+#include <openbsc/libbsc/rest_octets.h>
 #include <osmocom/abis/e1_input.h>
 
 #define OBSC_NM_W_ACK_CB(__msgb) (__msgb)->cb[3]
@@ -152,7 +152,7 @@ struct gsm_subscriber_connection {
 
 
 #define ROLE_BSC
-#include "gsm_data_shared.h"
+#include <openbsc/libcommon/gsm_data_shared.h>
 
 
 /* Some statistics of our network */
diff --git a/openbsc/include/openbsc/libctrl/Makefile.am b/openbsc/include/openbsc/libctrl/Makefile.am
new file mode 100644
index 0000000..b9da9a9
--- /dev/null
+++ b/openbsc/include/openbsc/libctrl/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = control_cmd.h
+
diff --git a/openbsc/include/openbsc/libgb/Makefile.am b/openbsc/include/openbsc/libgb/Makefile.am
new file mode 100644
index 0000000..217b1ee
--- /dev/null
+++ b/openbsc/include/openbsc/libgb/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = gprs_bssgp.h gprs_ns_frgre.h gprs_ns.h
+
diff --git a/openbsc/include/openbsc/libmgcp/Makefile.am b/openbsc/include/openbsc/libmgcp/Makefile.am
new file mode 100644
index 0000000..3a9887f
--- /dev/null
+++ b/openbsc/include/openbsc/libmgcp/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = 
+
diff --git a/openbsc/include/openbsc/libmsc/Makefile.am b/openbsc/include/openbsc/libmsc/Makefile.am
new file mode 100644
index 0000000..cdc60cf
--- /dev/null
+++ b/openbsc/include/openbsc/libmsc/Makefile.am
@@ -0,0 +1,7 @@
+noinst_HEADERS = auth.h db.h gsm_04_11.h gsm_04_80.h \
+		   gsm_subscriber.h mncc.h osmo_msc.h silent_call.h \
+		   sms_queue.h transaction.h ussd.h
+
+openbsc_HEADERS = gsm_04_08.h
+openbscdir = $(includedir)/openbsc
+
diff --git a/openbsc/include/openbsc/libmsc/db.h b/openbsc/include/openbsc/libmsc/db.h
index d0c85ea..1849cdf 100644
--- a/openbsc/include/openbsc/libmsc/db.h
+++ b/openbsc/include/openbsc/libmsc/db.h
@@ -20,7 +20,7 @@
 #ifndef _DB_H
 #define _DB_H
 
-#include "gsm_subscriber.h"
+#include <openbsc/libmsc/gsm_subscriber.h>
 
 struct gsm_equipment;
 struct gsm_network;
diff --git a/openbsc/include/openbsc/libmsc/gsm_04_08.h b/openbsc/include/openbsc/libmsc/gsm_04_08.h
index ec6c2c0..8693ddc 100644
--- a/openbsc/include/openbsc/libmsc/gsm_04_08.h
+++ b/openbsc/include/openbsc/libmsc/gsm_04_08.h
@@ -5,7 +5,7 @@
 #include <osmocom/gsm/gsm_utils.h>
 #include <osmocom/gsm/protocol/gsm_04_08.h>
 
-#include <openbsc/meas_rep.h>
+#include <openbsc/libbsc/meas_rep.h>
 
 struct msgb;
 struct gsm_bts;
diff --git a/openbsc/include/openbsc/libmsc/gsm_subscriber.h b/openbsc/include/openbsc/libmsc/gsm_subscriber.h
index 6cf8573..abd3bdc 100644
--- a/openbsc/include/openbsc/libmsc/gsm_subscriber.h
+++ b/openbsc/include/openbsc/libmsc/gsm_subscriber.h
@@ -1,7 +1,7 @@
 #ifndef _GSM_SUBSCR_H
 #define _GSM_SUBSCR_H
 
-#include "gsm_data.h"
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/linuxlist.h>
 
 #define GSM_IMEI_LENGTH 17
diff --git a/openbsc/include/openbsc/libmsc/osmo_msc.h b/openbsc/include/openbsc/libmsc/osmo_msc.h
index beb3f5e..59be0a8 100644
--- a/openbsc/include/openbsc/libmsc/osmo_msc.h
+++ b/openbsc/include/openbsc/libmsc/osmo_msc.h
@@ -3,7 +3,7 @@
 #ifndef OSMO_MSC_H
 #define OSMO_MSC_H
 
-#include "bsc_api.h"
+#include <openbsc/libbsc/bsc_api.h>
 
 struct bsc_api *msc_bsc_api();
 void msc_release_connection(struct gsm_subscriber_connection *conn);
diff --git a/openbsc/include/openbsc/libmsc/transaction.h b/openbsc/include/openbsc/libmsc/transaction.h
index acb2e6c..1363d3f 100644
--- a/openbsc/include/openbsc/libmsc/transaction.h
+++ b/openbsc/include/openbsc/libmsc/transaction.h
@@ -1,11 +1,11 @@
 #ifndef _TRANSACT_H
 #define _TRANSACT_H
 
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_subscriber.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
 #include <osmocom/core/linuxlist.h>
-#include <openbsc/gsm_04_11.h>
-#include <openbsc/mncc.h>
+#include <openbsc/libmsc/gsm_04_11.h>
+#include <openbsc/libmsc/mncc.h>
 
 /* One transaction */
 struct gsm_trans {
diff --git a/openbsc/include/openbsc/libtrau/Makefile.am b/openbsc/include/openbsc/libtrau/Makefile.am
new file mode 100644
index 0000000..54befc3
--- /dev/null
+++ b/openbsc/include/openbsc/libtrau/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = rtp_proxy.h trau_mux.h
+
diff --git a/openbsc/include/openbsc/libtrau/rtp_proxy.h b/openbsc/include/openbsc/libtrau/rtp_proxy.h
index 26cac0d..ce6df63 100644
--- a/openbsc/include/openbsc/libtrau/rtp_proxy.h
+++ b/openbsc/include/openbsc/libtrau/rtp_proxy.h
@@ -27,7 +27,7 @@
 #include <osmocom/core/linuxlist.h>
 #include <osmocom/core/select.h>
 
-#include <openbsc/mncc.h>
+#include <openbsc/libmsc/mncc.h>
 
 #define RTP_PT_GSM_FULL 3
 #define RTP_PT_GSM_HALF 96
diff --git a/openbsc/include/openbsc/libtrau/trau_mux.h b/openbsc/include/openbsc/libtrau/trau_mux.h
index 2c01b06..5831618 100644
--- a/openbsc/include/openbsc/libtrau/trau_mux.h
+++ b/openbsc/include/openbsc/libtrau/trau_mux.h
@@ -29,8 +29,8 @@
  */
 
 #include <stdint.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/mncc.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/mncc.h>
 
 /* map a TRAU mux map entry */
 int trau_mux_map(const struct gsm_e1_subslot *src,
diff --git a/openbsc/include/openbsc/mgcp.h b/openbsc/include/openbsc/mgcp.h
index 7c290c7..ba3147a 100644
--- a/openbsc/include/openbsc/mgcp.h
+++ b/openbsc/include/openbsc/mgcp.h
@@ -26,7 +26,7 @@
 #include <osmocom/core/msgb.h>
 #include <osmocom/core/write_queue.h>
 
-#include "debug.h"
+#include <openbsc/libcommon/debug.h>
 
 #include <arpa/inet.h>
 
diff --git a/openbsc/include/openbsc/osmo-bsc/Makefile.am b/openbsc/include/openbsc/osmo-bsc/Makefile.am
new file mode 100644
index 0000000..dcff3ef
--- /dev/null
+++ b/openbsc/include/openbsc/osmo-bsc/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = osmo_bsc_grace.h osmo_bsc_rf.h
+
diff --git a/openbsc/include/openbsc/osmo-bsc/osmo_bsc_grace.h b/openbsc/include/openbsc/osmo-bsc/osmo_bsc_grace.h
index 45d4db8..96b823d 100644
--- a/openbsc/include/openbsc/osmo-bsc/osmo_bsc_grace.h
+++ b/openbsc/include/openbsc/osmo-bsc/osmo_bsc_grace.h
@@ -21,7 +21,7 @@
 #ifndef OSMO_BSC_GRACE_H
 #define OSMO_BSC_GRACE_H
 
-#include "gsm_data.h"
+#include <openbsc/libcommon/gsm_data.h>
 
 int bsc_grace_allow_new_connection(struct gsm_network *network);
 
diff --git a/openbsc/include/openbsc/osmo-bsc_mgcp/Makefile.am b/openbsc/include/openbsc/osmo-bsc_mgcp/Makefile.am
new file mode 100644
index 0000000..3a9887f
--- /dev/null
+++ b/openbsc/include/openbsc/osmo-bsc_mgcp/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = 
+
diff --git a/openbsc/include/openbsc/osmo-bsc_nat/Makefile.am b/openbsc/include/openbsc/osmo-bsc_nat/Makefile.am
new file mode 100644
index 0000000..027f338
--- /dev/null
+++ b/openbsc/include/openbsc/osmo-bsc_nat/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = bsc_nat.h
+
diff --git a/openbsc/include/openbsc/osmo-bsc_nat/bsc_nat.h b/openbsc/include/openbsc/osmo-bsc_nat/bsc_nat.h
index b4f07e0..f79eb50 100644
--- a/openbsc/include/openbsc/osmo-bsc_nat/bsc_nat.h
+++ b/openbsc/include/openbsc/osmo-bsc_nat/bsc_nat.h
@@ -21,8 +21,7 @@
 #ifndef BSC_NAT_H
 #define BSC_NAT_H
 
-#include "mgcp.h"
-
+#include <openbsc/mgcp.h>
 
 #include <osmocom/core/select.h>
 #include <osmocom/core/msgb.h>
diff --git a/openbsc/include/openbsc/osmo-nitb/Makefile.am b/openbsc/include/openbsc/osmo-nitb/Makefile.am
new file mode 100644
index 0000000..3a9887f
--- /dev/null
+++ b/openbsc/include/openbsc/osmo-nitb/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = 
+
diff --git a/openbsc/include/openbsc/osmo_bsc.h b/openbsc/include/openbsc/osmo_bsc.h
index 2620147..4ecfb2b 100644
--- a/openbsc/include/openbsc/osmo_bsc.h
+++ b/openbsc/include/openbsc/osmo_bsc.h
@@ -3,7 +3,7 @@
 #ifndef OSMO_BSC_H
 #define OSMO_BSC_H
 
-#include "bsc_api.h"
+#include <openbsc/libbsc/bsc_api.h>
 
 struct sccp_connection;
 
diff --git a/openbsc/include/openbsc/osmo_msc_data.h b/openbsc/include/openbsc/osmo_msc_data.h
index 59b75c3..6d21e9a 100644
--- a/openbsc/include/openbsc/osmo_msc_data.h
+++ b/openbsc/include/openbsc/osmo_msc_data.h
@@ -23,7 +23,7 @@
 #ifndef _OSMO_MSC_DATA_H
 #define _OSMO_MSC_DATA_H
 
-#include "bsc_msc.h"
+#include <openbsc/libbsc/bsc_msc.h>
 
 #include <osmocom/core/timer.h>
 
diff --git a/openbsc/include/openbsc/signal.h b/openbsc/include/openbsc/signal.h
index 7f30f4f..cf276cb 100644
--- a/openbsc/include/openbsc/signal.h
+++ b/openbsc/include/openbsc/signal.h
@@ -25,7 +25,7 @@
 #include <stdlib.h>
 #include <errno.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 
 #include <osmocom/core/signal.h>
 
diff --git a/openbsc/include/openbsc/utils/Makefile.am b/openbsc/include/openbsc/utils/Makefile.am
new file mode 100644
index 0000000..3a9887f
--- /dev/null
+++ b/openbsc/include/openbsc/utils/Makefile.am
@@ -0,0 +1,2 @@
+noinst_HEADERS = 
+
diff --git a/openbsc/src/gprs/crc24.c b/openbsc/src/gprs/crc24.c
index 1a420ed..9f7b740 100644
--- a/openbsc/src/gprs/crc24.c
+++ b/openbsc/src/gprs/crc24.c
@@ -19,7 +19,7 @@
  *
  */
 
-#include <openbsc/crc24.h>
+#include <openbsc/gprs/crc24.h>
 
 /* CRC24 table - FCS */
 static const uint32_t tbl_crc24[256] = {
diff --git a/openbsc/src/gprs/gb_proxy.c b/openbsc/src/gprs/gb_proxy.c
index 1261ccc..f9825fb 100644
--- a/openbsc/src/gprs/gb_proxy.c
+++ b/openbsc/src/gprs/gb_proxy.c
@@ -33,10 +33,10 @@
 #include <osmocom/core/select.h>
 
 #include <openbsc/signal.h>
-#include <openbsc/debug.h>
-#include <openbsc/gprs_ns.h>
-#include <openbsc/gprs_bssgp.h>
-#include <openbsc/gb_proxy.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libgb/gprs_ns.h>
+#include <openbsc/libgb/gprs_bssgp.h>
+#include <openbsc/gprs/gb_proxy.h>
 
 struct gbprox_peer {
 	struct llist_head list;
diff --git a/openbsc/src/gprs/gb_proxy_main.c b/openbsc/src/gprs/gb_proxy_main.c
index c66350c..23c26de 100644
--- a/openbsc/src/gprs/gb_proxy_main.c
+++ b/openbsc/src/gprs/gb_proxy_main.c
@@ -38,11 +38,11 @@
 #include <osmocom/core/rate_ctr.h>
 
 #include <openbsc/signal.h>
-#include <openbsc/debug.h>
-#include <openbsc/gprs_ns.h>
-#include <openbsc/gprs_bssgp.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libgb/gprs_ns.h>
+#include <openbsc/libgb/gprs_bssgp.h>
 #include <openbsc/vty.h>
-#include <openbsc/gb_proxy.h>
+#include <openbsc/gprs/gb_proxy.h>
 
 #include <osmocom/vty/command.h>
 #include <osmocom/vty/telnet_interface.h>
diff --git a/openbsc/src/gprs/gb_proxy_vty.c b/openbsc/src/gprs/gb_proxy_vty.c
index 1aa4ff5..ef6b6c0 100644
--- a/openbsc/src/gprs/gb_proxy_vty.c
+++ b/openbsc/src/gprs/gb_proxy_vty.c
@@ -24,9 +24,9 @@
 
 #include <osmocom/core/talloc.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/gb_proxy.h>
-#include <openbsc/gprs_ns.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/gprs/gb_proxy.h>
+#include <openbsc/libgb/gprs_ns.h>
 #include <openbsc/vty.h>
 
 #include <osmocom/vty/command.h>
diff --git a/openbsc/src/gprs/gprs_gmm.c b/openbsc/src/gprs/gprs_gmm.c
index c9fe517..8b65955 100644
--- a/openbsc/src/gprs/gprs_gmm.c
+++ b/openbsc/src/gprs/gprs_gmm.c
@@ -30,7 +30,7 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 
-#include <openbsc/db.h>
+#include <openbsc/libmsc/db.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/gsm/gsm_utils.h>
@@ -38,17 +38,17 @@
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/rate_ctr.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/gsm_04_08.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libmsc/gsm_04_08.h>
 #include <openbsc/gsm_04_08_gprs.h>
-#include <openbsc/paging.h>
-#include <openbsc/transaction.h>
-#include <openbsc/gprs_bssgp.h>
-#include <openbsc/gprs_llc.h>
-#include <openbsc/gprs_sgsn.h>
-#include <openbsc/gprs_gmm.h>
+#include <openbsc/libbsc/paging.h>
+#include <openbsc/libmsc/transaction.h>
+#include <openbsc/libgb/gprs_bssgp.h>
+#include <openbsc/gprs/gprs_llc.h>
+#include <openbsc/gprs/gprs_sgsn.h>
+#include <openbsc/gprs/gprs_gmm.h>
 #include <openbsc/sgsn.h>
 
 #include <pdp.h>
diff --git a/openbsc/src/gprs/gprs_llc.c b/openbsc/src/gprs/gprs_llc.c
index 7d4ed51..e16a7d5 100644
--- a/openbsc/src/gprs/gprs_llc.c
+++ b/openbsc/src/gprs/gprs_llc.c
@@ -27,13 +27,13 @@
 #include <osmocom/core/timer.h>
 #include <osmocom/core/talloc.h>
 
-#include <openbsc/gsm_data.h>
-#include <openbsc/debug.h>
-#include <openbsc/gprs_sgsn.h>
-#include <openbsc/gprs_gmm.h>
-#include <openbsc/gprs_bssgp.h>
-#include <openbsc/gprs_llc.h>
-#include <openbsc/crc24.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/gprs/gprs_sgsn.h>
+#include <openbsc/gprs/gprs_gmm.h>
+#include <openbsc/libgb/gprs_bssgp.h>
+#include <openbsc/gprs/gprs_llc.h>
+#include <openbsc/gprs/crc24.h>
 
 /* Section 8.9.9 LLC layer parameter default values */
 static const struct gprs_llc_params llc_default_params[] = {
diff --git a/openbsc/src/gprs/gprs_llc_vty.c b/openbsc/src/gprs/gprs_llc_vty.c
index ab52699..100b5dd 100644
--- a/openbsc/src/gprs/gprs_llc_vty.c
+++ b/openbsc/src/gprs/gprs_llc_vty.c
@@ -26,15 +26,15 @@
 
 #include <arpa/inet.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/select.h>
 #include <osmocom/core/rate_ctr.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/signal.h>
-#include <openbsc/gprs_llc.h>
+#include <openbsc/gprs/gprs_llc.h>
 
 #include <osmocom/vty/vty.h>
 #include <osmocom/vty/command.h>
diff --git a/openbsc/src/gprs/gprs_sgsn.c b/openbsc/src/gprs/gprs_sgsn.c
index 85f7105..501465a 100644
--- a/openbsc/src/gprs/gprs_sgsn.c
+++ b/openbsc/src/gprs/gprs_sgsn.c
@@ -25,14 +25,14 @@
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/timer.h>
 #include <osmocom/core/rate_ctr.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/debug.h>
-#include <openbsc/gprs_sgsn.h>
-#include <openbsc/gprs_ns.h>
-#include <openbsc/gprs_bssgp.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/gprs/gprs_sgsn.h>
+#include <openbsc/libgb/gprs_ns.h>
+#include <openbsc/libgb/gprs_bssgp.h>
 #include <openbsc/sgsn.h>
 #include <openbsc/gsm_04_08_gprs.h>
-#include <openbsc/gprs_gmm.h>
+#include <openbsc/gprs/gprs_gmm.h>
 
 extern struct sgsn_instance *sgsn;
 
diff --git a/openbsc/src/gprs/gprs_sndcp.c b/openbsc/src/gprs/gprs_sndcp.c
index 1307fe5..dd0b27a 100644
--- a/openbsc/src/gprs/gprs_sndcp.c
+++ b/openbsc/src/gprs/gprs_sndcp.c
@@ -28,10 +28,10 @@
 #include <osmocom/core/timer.h>
 #include <osmocom/core/talloc.h>
 
-#include <openbsc/gsm_data.h>
-#include <openbsc/debug.h>
-#include <openbsc/gprs_bssgp.h>
-#include <openbsc/gprs_llc.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libgb/gprs_bssgp.h>
+#include <openbsc/gprs/gprs_llc.h>
 #include <openbsc/sgsn.h>
 
 #include "gprs_sndcp.h"
diff --git a/openbsc/src/gprs/gprs_sndcp_vty.c b/openbsc/src/gprs/gprs_sndcp_vty.c
index 28fdc63..8ac3840 100644
--- a/openbsc/src/gprs/gprs_sndcp_vty.c
+++ b/openbsc/src/gprs/gprs_sndcp_vty.c
@@ -26,15 +26,15 @@
 
 #include <arpa/inet.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/select.h>
 #include <osmocom/core/rate_ctr.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/signal.h>
-#include <openbsc/gprs_llc.h>
+#include <openbsc/gprs/gprs_llc.h>
 
 #include "gprs_sndcp.h"
 
diff --git a/openbsc/src/gprs/sgsn_libgtp.c b/openbsc/src/gprs/sgsn_libgtp.c
index 71694a4..0401e9f 100644
--- a/openbsc/src/gprs/sgsn_libgtp.c
+++ b/openbsc/src/gprs/sgsn_libgtp.c
@@ -39,12 +39,12 @@
 #include <openbsc/gsm_04_08_gprs.h>
 
 #include <openbsc/signal.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/sgsn.h>
-#include <openbsc/gprs_llc.h>
-#include <openbsc/gprs_bssgp.h>
-#include <openbsc/gprs_sgsn.h>
-#include <openbsc/gprs_gmm.h>
+#include <openbsc/gprs/gprs_llc.h>
+#include <openbsc/libgb/gprs_bssgp.h>
+#include <openbsc/gprs/gprs_sgsn.h>
+#include <openbsc/gprs/gprs_gmm.h>
 
 #include <gtp.h>
 #include <pdp.h>
diff --git a/openbsc/src/gprs/sgsn_main.c b/openbsc/src/gprs/sgsn_main.c
index 93ad33a..7506bc7 100644
--- a/openbsc/src/gprs/sgsn_main.c
+++ b/openbsc/src/gprs/sgsn_main.c
@@ -43,12 +43,12 @@
 #include <osmocom/vty/logging.h>
 
 #include <openbsc/signal.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/vty.h>
 #include <openbsc/sgsn.h>
-#include <openbsc/gprs_ns.h>
-#include <openbsc/gprs_bssgp.h>
-#include <openbsc/gprs_llc.h>
+#include <openbsc/libgb/gprs_ns.h>
+#include <openbsc/libgb/gprs_bssgp.h>
+#include <openbsc/gprs/gprs_llc.h>
 
 #include <gtp.h>
 
diff --git a/openbsc/src/gprs/sgsn_vty.c b/openbsc/src/gprs/sgsn_vty.c
index 4c9cf28..de6da68 100644
--- a/openbsc/src/gprs/sgsn_vty.c
+++ b/openbsc/src/gprs/sgsn_vty.c
@@ -26,10 +26,10 @@
 #include <osmocom/core/utils.h>
 #include <osmocom/core/rate_ctr.h>
 
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/sgsn.h>
-#include <openbsc/gprs_ns.h>
-#include <openbsc/gprs_sgsn.h>
+#include <openbsc/libgb/gprs_ns.h>
+#include <openbsc/gprs/gprs_sgsn.h>
 #include <openbsc/vty.h>
 #include <openbsc/gsm_04_08_gprs.h>
 
diff --git a/openbsc/src/ipaccess/ipaccess-config.c b/openbsc/src/ipaccess/ipaccess-config.c
index 05fdc14..a170679 100644
--- a/openbsc/src/ipaccess/ipaccess-config.c
+++ b/openbsc/src/ipaccess/ipaccess-config.c
@@ -38,18 +38,18 @@
 #include <osmocom/core/select.h>
 #include <osmocom/core/timer.h>
 #include <openbsc/ipaccess.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/abis/e1_input.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_nm.h>
 #include <openbsc/signal.h>
-#include <openbsc/debug.h>
-#include <openbsc/network_listen.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/ipaccess/network_listen.h>
 #include <osmocom/abis/ipaccess.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/abis_nm.h>
 #include <openbsc/signal.h>
-#include <openbsc/debug.h>
-#include <openbsc/network_listen.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/ipaccess/network_listen.h>
 #include <osmocom/core/talloc.h>
 #include <osmocom/abis/abis.h>
 
diff --git a/openbsc/src/ipaccess/ipaccess-find.c b/openbsc/src/ipaccess/ipaccess-find.c
index 3f9bf41..0b0cafd 100644
--- a/openbsc/src/ipaccess/ipaccess-find.c
+++ b/openbsc/src/ipaccess/ipaccess-find.c
@@ -29,7 +29,7 @@
 #include <osmocom/core/select.h>
 #include <osmocom/core/timer.h>
 #include <openbsc/ipaccess.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 
 static int udp_sock(const char *ifname)
 {
diff --git a/openbsc/src/ipaccess/ipaccess-firmware.c b/openbsc/src/ipaccess/ipaccess-firmware.c
index 5f55bb5..2149ed0 100644
--- a/openbsc/src/ipaccess/ipaccess-firmware.c
+++ b/openbsc/src/ipaccess/ipaccess-firmware.c
@@ -18,7 +18,7 @@
  *
  */
 
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/ipaccess.h>
 #include <osmocom/core/talloc.h>
 
diff --git a/openbsc/src/ipaccess/ipaccess-proxy.c b/openbsc/src/ipaccess/ipaccess-proxy.c
index 0f03e4e..ae02d93 100644
--- a/openbsc/src/ipaccess/ipaccess-proxy.c
+++ b/openbsc/src/ipaccess/ipaccess-proxy.c
@@ -37,14 +37,14 @@
 #define _GNU_SOURCE
 #include <getopt.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/application.h>
 #include <osmocom/core/select.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/msgb.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/ipaccess.h>
-#include <openbsc/socket.h>
+#include <openbsc/libcommon/socket.h>
 #include <osmocom/core/talloc.h>
 
 /* one instance of an ip.access protocol proxy */
diff --git a/openbsc/src/ipaccess/network_listen.c b/openbsc/src/ipaccess/network_listen.c
index 6749c4a..b7d03de 100644
--- a/openbsc/src/ipaccess/network_listen.c
+++ b/openbsc/src/ipaccess/network_listen.c
@@ -33,10 +33,10 @@
 #include <osmocom/gsm/rxlev_stat.h>
 #include <osmocom/gsm/gsm48_ie.h>
 
-#include <openbsc/gsm_data.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/abis_nm.h>
 #include <openbsc/signal.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <osmocom/abis/e1_input.h>
 
 #define WHITELIST_MAX_SIZE ((NUM_ARFCNS*2)+2+1)
diff --git a/openbsc/src/libbsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c
index 027a263..31faa79 100644
--- a/openbsc/src/libbsc/abis_nm.c
+++ b/openbsc/src/libbsc/abis_nm.c
@@ -34,13 +34,13 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 
-#include <openbsc/gsm_data.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/gsm/abis_nm.h>
 #include <osmocom/core/talloc.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_nm.h>
 #include <openbsc/misdn.h>
 #include <openbsc/signal.h>
 #include <osmocom/abis/e1_input.h>
diff --git a/openbsc/src/libbsc/abis_nm_vty.c b/openbsc/src/libbsc/abis_nm_vty.c
index bcbc92d..5b22c51 100644
--- a/openbsc/src/libbsc/abis_nm_vty.c
+++ b/openbsc/src/libbsc/abis_nm_vty.c
@@ -28,13 +28,13 @@
 
 #include <osmocom/gsm/abis_nm.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/talloc.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/signal.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_nm.h>
 #include <openbsc/vty.h>
 
 #include <osmocom/vty/vty.h>
diff --git a/openbsc/src/libbsc/abis_om2000.c b/openbsc/src/libbsc/abis_om2000.c
index 2216462..b380525 100644
--- a/openbsc/src/libbsc/abis_om2000.c
+++ b/openbsc/src/libbsc/abis_om2000.c
@@ -35,10 +35,10 @@
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/utils.h>
 
-#include <openbsc/gsm_data.h>
-#include <openbsc/debug.h>
-#include <openbsc/abis_nm.h>
-#include <openbsc/abis_om2000.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_om2000.h>
 #include <openbsc/signal.h>
 #include <osmocom/abis/e1_input.h>
 
diff --git a/openbsc/src/libbsc/abis_om2000_vty.c b/openbsc/src/libbsc/abis_om2000_vty.c
index 704f955..e3d7ca4 100644
--- a/openbsc/src/libbsc/abis_om2000_vty.c
+++ b/openbsc/src/libbsc/abis_om2000_vty.c
@@ -26,13 +26,13 @@
 
 #include <arpa/inet.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/talloc.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/signal.h>
-#include <openbsc/abis_om2000.h>
+#include <openbsc/libbsc/abis_om2000.h>
 #include <openbsc/vty.h>
 
 #include <osmocom/vty/vty.h>
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
index c8bfbb6..1243e74 100644
--- a/openbsc/src/libbsc/abis_rsl.c
+++ b/openbsc/src/libbsc/abis_rsl.c
@@ -26,18 +26,18 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_04_08.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_04_08.h>
 #include <osmocom/gsm/gsm_utils.h>
-#include <openbsc/abis_rsl.h>
-#include <openbsc/chan_alloc.h>
-#include <openbsc/bsc_rll.h>
-#include <openbsc/debug.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libbsc/chan_alloc.h>
+#include <openbsc/libbsc/bsc_rll.h>
+#include <openbsc/libcommon/debug.h>
 #include <osmocom/gsm/tlv.h>
-#include <openbsc/paging.h>
+#include <openbsc/libbsc/paging.h>
 #include <openbsc/signal.h>
-#include <openbsc/meas_rep.h>
-#include <openbsc/rtp_proxy.h>
+#include <openbsc/libbsc/meas_rep.h>
+#include <openbsc/libtrau/rtp_proxy.h>
 #include <osmocom/abis/e1_input.h>
 #include <osmocom/gsm/rsl.h>
 #include <osmocom/core/talloc.h>
diff --git a/openbsc/src/libbsc/bsc_api.c b/openbsc/src/libbsc/bsc_api.c
index 9504e53..43aeb2f 100644
--- a/openbsc/src/libbsc/bsc_api.c
+++ b/openbsc/src/libbsc/bsc_api.c
@@ -21,16 +21,16 @@
  *
  */
 
-#include <openbsc/bsc_api.h>
-#include <openbsc/bsc_rll.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_subscriber.h>
+#include <openbsc/libbsc/bsc_api.h>
+#include <openbsc/libbsc/bsc_rll.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
 #include <openbsc/signal.h>
-#include <openbsc/abis_rsl.h>
-#include <openbsc/chan_alloc.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libbsc/chan_alloc.h>
 #include <openbsc/handover.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_04_08.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libmsc/gsm_04_08.h>
 
 #include <osmocom/gsm/protocol/gsm_08_08.h>
 
diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
index 84dfa6e..ae4318b 100644
--- a/openbsc/src/libbsc/bsc_init.c
+++ b/openbsc/src/libbsc/bsc_init.c
@@ -19,18 +19,18 @@
  *
  */
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/gsm/gsm_utils.h>
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/abis_rsl.h>
-#include <openbsc/abis_nm.h>
-#include <openbsc/debug.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libbsc/abis_nm.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/misdn.h>
 #include <osmocom/vty/telnet_interface.h>
-#include <openbsc/system_information.h>
-#include <openbsc/paging.h>
+#include <openbsc/libbsc/system_information.h>
+#include <openbsc/libbsc/paging.h>
 #include <openbsc/signal.h>
-#include <openbsc/chan_alloc.h>
+#include <openbsc/libbsc/chan_alloc.h>
 #include <osmocom/core/talloc.h>
 #include <openbsc/ipaccess.h>
 
diff --git a/openbsc/src/libbsc/bsc_msc.c b/openbsc/src/libbsc/bsc_msc.c
index 66288a3..29045f6 100644
--- a/openbsc/src/libbsc/bsc_msc.c
+++ b/openbsc/src/libbsc/bsc_msc.c
@@ -19,8 +19,8 @@
  *
  */
 
-#include <openbsc/bsc_msc.h>
-#include <openbsc/debug.h>
+#include <openbsc/libbsc/bsc_msc.h>
+#include <openbsc/libcommon/debug.h>
 #include <osmocom/abis/ipaccess.h>
 
 #include <osmocom/core/write_queue.h>
diff --git a/openbsc/src/libbsc/bsc_rll.c b/openbsc/src/libbsc/bsc_rll.c
index d12aeee..d417fd2 100644
--- a/openbsc/src/libbsc/bsc_rll.c
+++ b/openbsc/src/libbsc/bsc_rll.c
@@ -22,14 +22,14 @@
 
 #include <errno.h>
 
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/timer.h>
 #include <osmocom/core/linuxlist.h>
-#include <openbsc/bsc_rll.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/chan_alloc.h>
-#include <openbsc/abis_rsl.h>
+#include <openbsc/libbsc/bsc_rll.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/chan_alloc.h>
+#include <openbsc/libbsc/abis_rsl.h>
 #include <openbsc/signal.h>
 
 struct bsc_rll_req {
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index a98779d..b5d1541 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -29,26 +29,26 @@
 #include <arpa/inet.h>
 
 #include <osmocom/core/linuxlist.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/abis/e1_input.h>
-#include <openbsc/abis_nm.h>
-#include <openbsc/abis_om2000.h>
+#include <openbsc/libbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_om2000.h>
 #include <osmocom/core/utils.h>
 #include <osmocom/gsm/gsm_utils.h>
 #include <osmocom/gsm/abis_nm.h>
-#include <openbsc/chan_alloc.h>
-#include <openbsc/meas_rep.h>
-#include <openbsc/db.h>
+#include <openbsc/libbsc/chan_alloc.h>
+#include <openbsc/libbsc/meas_rep.h>
+#include <openbsc/libmsc/db.h>
 #include <osmocom/core/talloc.h>
 #include <openbsc/vty.h>
-#include <openbsc/gprs_ns.h>
-#include <openbsc/system_information.h>
-#include <openbsc/debug.h>
-#include <openbsc/paging.h>
+#include <openbsc/libgb/gprs_ns.h>
+#include <openbsc/libbsc/system_information.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libbsc/paging.h>
 #include <openbsc/ipaccess.h>
-#include <openbsc/abis_rsl.h>
+#include <openbsc/libbsc/abis_rsl.h>
 #include <openbsc/osmo_msc_data.h>
-#include <openbsc/osmo_bsc_rf.h>
+#include <openbsc/osmo-bsc/osmo_bsc_rf.h>
 
 #include "../../bscconfig.h"
 
diff --git a/openbsc/src/libbsc/bts_ericsson_rbs2000.c b/openbsc/src/libbsc/bts_ericsson_rbs2000.c
index 5c75192..1f8bb3c 100644
--- a/openbsc/src/libbsc/bts_ericsson_rbs2000.c
+++ b/openbsc/src/libbsc/bts_ericsson_rbs2000.c
@@ -22,10 +22,10 @@
 
 #include <osmocom/gsm/tlv.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/abis_om2000.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/abis_om2000.h>
+#include <openbsc/libbsc/abis_nm.h>
 #include <osmocom/abis/e1_input.h>
 #include <openbsc/signal.h>
 
diff --git a/openbsc/src/libbsc/bts_hsl_femtocell.c b/openbsc/src/libbsc/bts_hsl_femtocell.c
index ebab34a..0ffd0ba 100644
--- a/openbsc/src/libbsc/bts_hsl_femtocell.c
+++ b/openbsc/src/libbsc/bts_hsl_femtocell.c
@@ -24,11 +24,11 @@
 #include <arpa/inet.h>
 
 #include <osmocom/gsm/tlv.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/abis_nm.h>
-#include <openbsc/abis_rsl.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_rsl.h>
 #include <openbsc/signal.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <osmocom/core/logging.h>
 #include <osmocom/abis/e1_input.h>
 #include <osmocom/abis/ipaccess.h>
diff --git a/openbsc/src/libbsc/bts_ipaccess_nanobts.c b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
index 42ac6b4..2266056 100644
--- a/openbsc/src/libbsc/bts_ipaccess_nanobts.c
+++ b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
@@ -23,17 +23,17 @@
 
 #include <osmocom/gsm/tlv.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <openbsc/signal.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_nm.h>
 #include <osmocom/abis/e1_input.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/core/talloc.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/abis_nm.h>
-#include <openbsc/abis_rsl.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libcommon/debug.h>
 #include <osmocom/abis/subchan_demux.h>
 #include <osmocom/abis/ipaccess.h>
 #include <osmocom/core/logging.h>
diff --git a/openbsc/src/libbsc/bts_nokia_site.c b/openbsc/src/libbsc/bts_nokia_site.c
index 4b5c50f..9958432 100644
--- a/openbsc/src/libbsc/bts_nokia_site.c
+++ b/openbsc/src/libbsc/bts_nokia_site.c
@@ -30,9 +30,9 @@
 
 #include <osmocom/gsm/tlv.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/abis_nm.h>
 #include <osmocom/abis/e1_input.h>
 #include <openbsc/signal.h>
 
diff --git a/openbsc/src/libbsc/bts_siemens_bs11.c b/openbsc/src/libbsc/bts_siemens_bs11.c
index 2514d99..26ec841 100644
--- a/openbsc/src/libbsc/bts_siemens_bs11.c
+++ b/openbsc/src/libbsc/bts_siemens_bs11.c
@@ -22,9 +22,9 @@
 
 #include <osmocom/gsm/tlv.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/abis_nm.h>
 #include <osmocom/abis/e1_input.h>
 #include <openbsc/signal.h>
 
diff --git a/openbsc/src/libbsc/bts_unknown.c b/openbsc/src/libbsc/bts_unknown.c
index f113529..5c22810 100644
--- a/openbsc/src/libbsc/bts_unknown.c
+++ b/openbsc/src/libbsc/bts_unknown.c
@@ -20,9 +20,9 @@
  */
 
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/gsm/tlv.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_nm.h>
 
 static struct gsm_bts_model model_unknown = {
 	.type = GSM_BTS_TYPE_UNKNOWN,
diff --git a/openbsc/src/libbsc/chan_alloc.c b/openbsc/src/libbsc/chan_alloc.c
index 6f4fe20..7487478 100644
--- a/openbsc/src/libbsc/chan_alloc.c
+++ b/openbsc/src/libbsc/chan_alloc.c
@@ -25,11 +25,11 @@
 #include <string.h>
 #include <errno.h>
 
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/chan_alloc.h>
-#include <openbsc/abis_nm.h>
-#include <openbsc/abis_rsl.h>
-#include <openbsc/debug.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libbsc/chan_alloc.h>
+#include <openbsc/libbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/signal.h>
 
 #include <osmocom/core/talloc.h>
diff --git a/openbsc/src/libbsc/e1_config.c b/openbsc/src/libbsc/e1_config.c
index cda1318..4f08867 100644
--- a/openbsc/src/libbsc/e1_config.c
+++ b/openbsc/src/libbsc/e1_config.c
@@ -23,15 +23,15 @@
 
 #include <netinet/in.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/abis/e1_input.h>
 #include <osmocom/abis/trau_frame.h>
-#include <openbsc/trau_mux.h>
+#include <openbsc/libtrau/trau_mux.h>
 #include <openbsc/misdn.h>
 #include <osmocom/abis/ipaccess.h>
 #include <osmocom/core/talloc.h>
-#include <openbsc/debug.h>
-#include <openbsc/abis_rsl.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libbsc/abis_rsl.h>
 
 #define SAPI_L2ML	0
 #define SAPI_OML	62
diff --git a/openbsc/src/libbsc/gsm_04_08_utils.c b/openbsc/src/libbsc/gsm_04_08_utils.c
index 968e62e..a4dce14 100644
--- a/openbsc/src/libbsc/gsm_04_08_utils.c
+++ b/openbsc/src/libbsc/gsm_04_08_utils.c
@@ -30,11 +30,11 @@
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/gsm48.h>
 
-#include <openbsc/abis_rsl.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/transaction.h>
-#include <openbsc/paging.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libmsc/transaction.h>
+#include <openbsc/libbsc/paging.h>
 #include <openbsc/signal.h>
 
 /* should ip.access BTS use direct RTP streams between each other (1),
diff --git a/openbsc/src/libbsc/gsm_subscriber_base.c b/openbsc/src/libbsc/gsm_subscriber_base.c
index 11afb35..624f599 100644
--- a/openbsc/src/libbsc/gsm_subscriber_base.c
+++ b/openbsc/src/libbsc/gsm_subscriber_base.c
@@ -28,8 +28,8 @@
 #include <assert.h>
 
 #include <osmocom/core/talloc.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/debug.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libcommon/debug.h>
 
 LLIST_HEAD(active_subscribers);
 void *tall_subscr_ctx;
diff --git a/openbsc/src/libbsc/handover_decision.c b/openbsc/src/libbsc/handover_decision.c
index 24c0f79..7937efb 100644
--- a/openbsc/src/libbsc/handover_decision.c
+++ b/openbsc/src/libbsc/handover_decision.c
@@ -25,9 +25,9 @@
 #include <errno.h>
 
 #include <osmocom/core/msgb.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/meas_rep.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/meas_rep.h>
 #include <openbsc/signal.h>
 #include <osmocom/core/talloc.h>
 #include <openbsc/handover.h>
diff --git a/openbsc/src/libbsc/handover_logic.c b/openbsc/src/libbsc/handover_logic.c
index 0f1582e..7bc9c82 100644
--- a/openbsc/src/libbsc/handover_logic.c
+++ b/openbsc/src/libbsc/handover_logic.c
@@ -29,17 +29,17 @@
 #include <netinet/in.h>
 
 #include <osmocom/core/msgb.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/gsm/gsm_utils.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/abis_rsl.h>
-#include <openbsc/chan_alloc.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libbsc/chan_alloc.h>
 #include <openbsc/signal.h>
 #include <osmocom/core/talloc.h>
-#include <openbsc/transaction.h>
-#include <openbsc/rtp_proxy.h>
+#include <openbsc/libmsc/transaction.h>
+#include <openbsc/libtrau/rtp_proxy.h>
 
 struct bsc_handover {
 	struct llist_head list;
diff --git a/openbsc/src/libbsc/meas_proc.c b/openbsc/src/libbsc/meas_proc.c
index 5b97e74..bcc1bf4 100644
--- a/openbsc/src/libbsc/meas_proc.c
+++ b/openbsc/src/libbsc/meas_proc.c
@@ -24,9 +24,9 @@
 
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/msgb.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/meas_rep.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/meas_rep.h>
 #include <openbsc/signal.h>
 
 /* process an already parsed measurement report */
diff --git a/openbsc/src/libbsc/meas_rep.c b/openbsc/src/libbsc/meas_rep.c
index 808103d..9bd7a27 100644
--- a/openbsc/src/libbsc/meas_rep.c
+++ b/openbsc/src/libbsc/meas_rep.c
@@ -20,8 +20,8 @@
  */
 
 
-#include <openbsc/gsm_data.h>
-#include <openbsc/meas_rep.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/meas_rep.h>
 
 static int get_field(const struct gsm_meas_rep *rep,
 		     enum meas_rep_field field)
diff --git a/openbsc/src/libbsc/paging.c b/openbsc/src/libbsc/paging.c
index fe60e3f..3ffbcb7 100644
--- a/openbsc/src/libbsc/paging.c
+++ b/openbsc/src/libbsc/paging.c
@@ -42,13 +42,13 @@
 #include <osmocom/gsm/gsm48.h>
 #include <osmocom/gsm/gsm0502.h>
 
-#include <openbsc/paging.h>
-#include <openbsc/debug.h>
+#include <openbsc/libbsc/paging.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/signal.h>
-#include <openbsc/abis_rsl.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/chan_alloc.h>
-#include <openbsc/bsc_api.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/chan_alloc.h>
+#include <openbsc/libbsc/bsc_api.h>
 
 void *tall_paging_ctx;
 
diff --git a/openbsc/src/libbsc/rest_octets.c b/openbsc/src/libbsc/rest_octets.c
index 0545426..f96c8cc 100644
--- a/openbsc/src/libbsc/rest_octets.c
+++ b/openbsc/src/libbsc/rest_octets.c
@@ -25,9 +25,9 @@
 #include <stdlib.h>
 #include <errno.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/bitvec.h>
-#include <openbsc/rest_octets.h>
+#include <openbsc/libbsc/rest_octets.h>
 
 /* generate SI1 rest octets */
 int rest_octets_si1(uint8_t *data, uint8_t *nch_pos)
diff --git a/openbsc/src/libbsc/system_information.c b/openbsc/src/libbsc/system_information.c
index 5814c76..c6e166a 100644
--- a/openbsc/src/libbsc/system_information.c
+++ b/openbsc/src/libbsc/system_information.c
@@ -29,11 +29,11 @@
 #include <osmocom/core/utils.h>
 #include <osmocom/gsm/sysinfo.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/abis_rsl.h>
-#include <openbsc/rest_octets.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libbsc/rest_octets.h>
 
 
 /* Frequency Lists as per TS 04.08 10.5.2.13 */
diff --git a/openbsc/src/libcommon/common_vty.c b/openbsc/src/libcommon/common_vty.c
index e8486f4..77158f2 100644
--- a/openbsc/src/libcommon/common_vty.c
+++ b/openbsc/src/libcommon/common_vty.c
@@ -24,10 +24,10 @@
 #include <osmocom/core/talloc.h>
 
 #include <openbsc/vty.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/bsc_nat.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/osmo-bsc_nat/bsc_nat.h>
 
 #include <osmocom/vty/telnet_interface.h>
 #include <osmocom/vty/command.h>
diff --git a/openbsc/src/libcommon/debug.c b/openbsc/src/libcommon/debug.c
index e15342b..b8c6a06 100644
--- a/openbsc/src/libcommon/debug.c
+++ b/openbsc/src/libcommon/debug.c
@@ -30,9 +30,9 @@
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/utils.h>
 #include <osmocom/core/logging.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libcommon/debug.h>
 
 /* default categories */
 static const struct log_info_cat default_categories[] = {
diff --git a/openbsc/src/libcommon/gsm_data.c b/openbsc/src/libcommon/gsm_data.c
index 8327758..d9edf75 100644
--- a/openbsc/src/libcommon/gsm_data.c
+++ b/openbsc/src/libcommon/gsm_data.c
@@ -32,9 +32,9 @@
 #include <osmocom/gsm/abis_nm.h>
 #include <osmocom/core/statistics.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <openbsc/osmo_msc_data.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_nm.h>
 
 void *tall_bsc_ctx;
 
diff --git a/openbsc/src/libcommon/gsm_data_shared.c b/openbsc/src/libcommon/gsm_data_shared.c
index b52d58a..51e8cf0 100644
--- a/openbsc/src/libcommon/gsm_data_shared.c
+++ b/openbsc/src/libcommon/gsm_data_shared.c
@@ -32,7 +32,7 @@
 #include <osmocom/gsm/abis_nm.h>
 #include <osmocom/core/statistics.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 
 void gsm_abis_mo_reset(struct gsm_abis_mo *mo)
 {
diff --git a/openbsc/src/libcommon/socket.c b/openbsc/src/libcommon/socket.c
index 6c47a8d..a5228ff 100644
--- a/openbsc/src/libcommon/socket.c
+++ b/openbsc/src/libcommon/socket.c
@@ -35,8 +35,8 @@
 #include <osmocom/core/select.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/msgb.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/talloc.h>
 
 int make_sock(struct osmo_fd *bfd, int proto,
diff --git a/openbsc/src/libcommon/talloc_ctx.c b/openbsc/src/libcommon/talloc_ctx.c
index ae6a156..a34acb0 100644
--- a/openbsc/src/libcommon/talloc_ctx.c
+++ b/openbsc/src/libcommon/talloc_ctx.c
@@ -1,5 +1,5 @@
 #include <osmocom/core/talloc.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 
 extern void *tall_msgb_ctx;
 extern void *tall_fle_ctx;
diff --git a/openbsc/src/libctrl/control_cmd.c b/openbsc/src/libctrl/control_cmd.c
index 3c4efc0..6f35022 100644
--- a/openbsc/src/libctrl/control_cmd.c
+++ b/openbsc/src/libctrl/control_cmd.c
@@ -29,8 +29,8 @@
 #include <time.h>
 #include <unistd.h>
 
-#include <openbsc/control_cmd.h>
-#include <openbsc/debug.h>
+#include <openbsc/libctrl/control_cmd.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/vty.h>
 
 #include <osmocom/core/msgb.h>
diff --git a/openbsc/src/libctrl/control_if.c b/openbsc/src/libctrl/control_if.c
index 8198ae6..affa994 100644
--- a/openbsc/src/libctrl/control_if.c
+++ b/openbsc/src/libctrl/control_if.c
@@ -38,15 +38,15 @@
 #include <sys/socket.h>
 #include <sys/types.h>
 
-#include <openbsc/control_cmd.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libctrl/control_cmd.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <openbsc/ipaccess.h>
-#include <openbsc/socket.h>
+#include <openbsc/libcommon/socket.h>
 #include <osmocom/abis/subchan_demux.h>
 
-#include <openbsc/abis_rsl.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libbsc/abis_nm.h>
 
 #include <osmocom/core/msgb.h>
 #include <osmocom/core/rate_ctr.h>
diff --git a/openbsc/src/libgb/gprs_bssgp.c b/openbsc/src/libgb/gprs_bssgp.c
index 072dff6..4dbc112 100644
--- a/openbsc/src/libgb/gprs_bssgp.c
+++ b/openbsc/src/libgb/gprs_bssgp.c
@@ -32,14 +32,14 @@
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/rate_ctr.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <openbsc/gsm_04_08_gprs.h>
-#include <openbsc/gprs_bssgp.h>
-#include <openbsc/gprs_llc.h>
-#include <openbsc/gprs_ns.h>
-#include <openbsc/gprs_sgsn.h>
-#include <openbsc/gprs_gmm.h>
+#include <openbsc/libgb/gprs_bssgp.h>
+#include <openbsc/gprs/gprs_llc.h>
+#include <openbsc/libgb/gprs_ns.h>
+#include <openbsc/gprs/gprs_sgsn.h>
+#include <openbsc/gprs/gprs_gmm.h>
 
 void *bssgp_tall_ctx = NULL;
 
diff --git a/openbsc/src/libgb/gprs_bssgp_util.c b/openbsc/src/libgb/gprs_bssgp_util.c
index a1eb37e..e1c869f 100644
--- a/openbsc/src/libgb/gprs_bssgp_util.c
+++ b/openbsc/src/libgb/gprs_bssgp_util.c
@@ -28,10 +28,10 @@
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/talloc.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/gprs_bssgp.h>
-#include <openbsc/gprs_ns.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libgb/gprs_bssgp.h>
+#include <openbsc/libgb/gprs_ns.h>
 
 struct gprs_ns_inst *bssgp_nsi;
 
diff --git a/openbsc/src/libgb/gprs_bssgp_vty.c b/openbsc/src/libgb/gprs_bssgp_vty.c
index a0d74ac..5c42310 100644
--- a/openbsc/src/libgb/gprs_bssgp_vty.c
+++ b/openbsc/src/libgb/gprs_bssgp_vty.c
@@ -26,16 +26,16 @@
 
 #include <arpa/inet.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/select.h>
 #include <osmocom/core/rate_ctr.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/signal.h>
-#include <openbsc/gprs_ns.h>
-#include <openbsc/gprs_bssgp.h>
+#include <openbsc/libgb/gprs_ns.h>
+#include <openbsc/libgb/gprs_bssgp.h>
 #include <openbsc/vty.h>
 
 #include <osmocom/vty/vty.h>
diff --git a/openbsc/src/libgb/gprs_ns.c b/openbsc/src/libgb/gprs_ns.c
index dab57e6..e21c75e 100644
--- a/openbsc/src/libgb/gprs_ns.c
+++ b/openbsc/src/libgb/gprs_ns.c
@@ -58,18 +58,18 @@
 
 #include <arpa/inet.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/select.h>
 #include <osmocom/core/rate_ctr.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/signal.h>
-#include <openbsc/gprs_ns.h>
-#include <openbsc/gprs_bssgp.h>
-#include <openbsc/gprs_ns_frgre.h>
-#include <openbsc/socket.h>
+#include <openbsc/libgb/gprs_ns.h>
+#include <openbsc/libgb/gprs_bssgp.h>
+#include <openbsc/libgb/gprs_ns_frgre.h>
+#include <openbsc/libcommon/socket.h>
 
 static const struct tlv_definition ns_att_tlvdef = {
 	.def = {
diff --git a/openbsc/src/libgb/gprs_ns_frgre.c b/openbsc/src/libgb/gprs_ns_frgre.c
index 3662572..67c8975 100644
--- a/openbsc/src/libgb/gprs_ns_frgre.c
+++ b/openbsc/src/libgb/gprs_ns_frgre.c
@@ -35,9 +35,9 @@
 #include <osmocom/core/msgb.h>
 #include <osmocom/core/talloc.h>
 
-#include <openbsc/socket.h>
-#include <openbsc/debug.h>
-#include <openbsc/gprs_ns.h>
+#include <openbsc/libcommon/socket.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libgb/gprs_ns.h>
 
 #define GRE_PTYPE_FR	0x6559
 #define GRE_PTYPE_IPv4	0x0800
diff --git a/openbsc/src/libgb/gprs_ns_vty.c b/openbsc/src/libgb/gprs_ns_vty.c
index 14d7691..82dc6c6 100644
--- a/openbsc/src/libgb/gprs_ns_vty.c
+++ b/openbsc/src/libgb/gprs_ns_vty.c
@@ -26,16 +26,16 @@
 
 #include <arpa/inet.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/tlv.h>
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/select.h>
 #include <osmocom/core/rate_ctr.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/signal.h>
-#include <openbsc/gprs_ns.h>
-#include <openbsc/gprs_bssgp.h>
+#include <openbsc/libgb/gprs_ns.h>
+#include <openbsc/libgb/gprs_bssgp.h>
 #include <openbsc/vty.h>
 
 #include <osmocom/vty/vty.h>
diff --git a/openbsc/src/libmsc/auth.c b/openbsc/src/libmsc/auth.c
index 10d8edf..38a1ac6 100644
--- a/openbsc/src/libmsc/auth.c
+++ b/openbsc/src/libmsc/auth.c
@@ -20,10 +20,10 @@
  *
  */
 
-#include <openbsc/db.h>
-#include <openbsc/debug.h>
-#include <openbsc/auth.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libmsc/db.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libmsc/auth.h>
+#include <openbsc/libcommon/gsm_data.h>
 
 #include <osmocom/gsm/comp128.h>
 
diff --git a/openbsc/src/libmsc/db.c b/openbsc/src/libmsc/db.c
index a7eeda4..b0c0806 100644
--- a/openbsc/src/libmsc/db.c
+++ b/openbsc/src/libmsc/db.c
@@ -28,11 +28,11 @@
 #include <errno.h>
 #include <dbi/dbi.h>
 
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/gsm_04_11.h>
-#include <openbsc/db.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libmsc/gsm_04_11.h>
+#include <openbsc/libmsc/db.h>
+#include <openbsc/libcommon/debug.h>
 
 #include <osmocom/core/talloc.h>
 #include <osmocom/core/statistics.h>
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index 0cd707d..13d5938 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -29,26 +29,26 @@
 #include <time.h>
 #include <netinet/in.h>
 
-#include <openbsc/auth.h>
-#include <openbsc/db.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/gsm_04_11.h>
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/gsm_04_80.h>
-#include <openbsc/abis_rsl.h>
-#include <openbsc/chan_alloc.h>
-#include <openbsc/paging.h>
+#include <openbsc/libmsc/auth.h>
+#include <openbsc/libmsc/db.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libmsc/gsm_04_11.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libmsc/gsm_04_80.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libbsc/chan_alloc.h>
+#include <openbsc/libbsc/paging.h>
 #include <openbsc/signal.h>
 #include <osmocom/abis/trau_frame.h>
-#include <openbsc/trau_mux.h>
-#include <openbsc/rtp_proxy.h>
-#include <openbsc/transaction.h>
-#include <openbsc/ussd.h>
-#include <openbsc/silent_call.h>
-#include <openbsc/bsc_api.h>
-#include <openbsc/osmo_msc.h>
+#include <openbsc/libtrau/trau_mux.h>
+#include <openbsc/libtrau/rtp_proxy.h>
+#include <openbsc/libmsc/transaction.h>
+#include <openbsc/libmsc/ussd.h>
+#include <openbsc/libmsc/silent_call.h>
+#include <openbsc/libbsc/bsc_api.h>
+#include <openbsc/libmsc/osmo_msc.h>
 #include <osmocom/abis/e1_input.h>
 #include <osmocom/core/bitvec.h>
 
diff --git a/openbsc/src/libmsc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c
index ee7f577..950a2f6 100644
--- a/openbsc/src/libmsc/gsm_04_11.c
+++ b/openbsc/src/libmsc/gsm_04_11.c
@@ -34,22 +34,22 @@
 
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/tlv.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/db.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/gsm_04_11.h>
-#include <openbsc/gsm_04_08.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/db.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libmsc/gsm_04_11.h>
+#include <openbsc/libmsc/gsm_04_08.h>
 #include <osmocom/gsm/gsm_utils.h>
-#include <openbsc/abis_rsl.h>
+#include <openbsc/libbsc/abis_rsl.h>
 #include <openbsc/signal.h>
-#include <openbsc/db.h>
+#include <openbsc/libmsc/db.h>
 #include <osmocom/core/talloc.h>
-#include <openbsc/transaction.h>
-#include <openbsc/paging.h>
-#include <openbsc/bsc_rll.h>
-#include <openbsc/chan_alloc.h>
-#include <openbsc/bsc_api.h>
+#include <openbsc/libmsc/transaction.h>
+#include <openbsc/libbsc/paging.h>
+#include <openbsc/libbsc/bsc_rll.h>
+#include <openbsc/libbsc/chan_alloc.h>
+#include <openbsc/libbsc/bsc_api.h>
 
 #define GSM411_ALLOC_SIZE	1024
 #define GSM411_ALLOC_HEADROOM	128
diff --git a/openbsc/src/libmsc/gsm_04_80.c b/openbsc/src/libmsc/gsm_04_80.c
index 39738a5..22874e8 100644
--- a/openbsc/src/libmsc/gsm_04_80.c
+++ b/openbsc/src/libmsc/gsm_04_80.c
@@ -28,11 +28,11 @@
 #include <string.h>
 #include <errno.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/gsm_04_80.h>
-#include <openbsc/bsc_api.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libmsc/gsm_04_80.h>
+#include <openbsc/libbsc/bsc_api.h>
 
 #include <osmocom/gsm/gsm0480.h>
 #include <osmocom/gsm/gsm_utils.h>
diff --git a/openbsc/src/libmsc/gsm_subscriber.c b/openbsc/src/libmsc/gsm_subscriber.c
index f9eebc8..fa0dbd5 100644
--- a/openbsc/src/libmsc/gsm_subscriber.c
+++ b/openbsc/src/libmsc/gsm_subscriber.c
@@ -30,12 +30,12 @@
 
 #include <osmocom/vty/vty.h>
 
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/debug.h>
-#include <openbsc/paging.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libbsc/paging.h>
 #include <openbsc/signal.h>
-#include <openbsc/db.h>
+#include <openbsc/libmsc/db.h>
 
 void *tall_sub_req_ctx;
 
diff --git a/openbsc/src/libmsc/mncc.c b/openbsc/src/libmsc/mncc.c
index b484772..9e19085 100644
--- a/openbsc/src/libmsc/mncc.c
+++ b/openbsc/src/libmsc/mncc.c
@@ -26,13 +26,13 @@
 #include <string.h>
 #include <errno.h>
 
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/debug.h>
-#include <openbsc/mncc.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libmsc/mncc.h>
 #include <osmocom/core/talloc.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/transaction.h>
-#include <openbsc/rtp_proxy.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/transaction.h>
+#include <openbsc/libtrau/rtp_proxy.h>
 
 static struct mncc_names {
 	char *name;
diff --git a/openbsc/src/libmsc/mncc_builtin.c b/openbsc/src/libmsc/mncc_builtin.c
index 31d9b43..5a44700 100644
--- a/openbsc/src/libmsc/mncc_builtin.c
+++ b/openbsc/src/libmsc/mncc_builtin.c
@@ -27,14 +27,14 @@
 #include <string.h>
 #include <errno.h>
 
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/debug.h>
-#include <openbsc/mncc.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libmsc/mncc.h>
 #include <openbsc/mncc_int.h>
 #include <osmocom/core/talloc.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/transaction.h>
-#include <openbsc/rtp_proxy.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/transaction.h>
+#include <openbsc/libtrau/rtp_proxy.h>
 
 void *tall_call_ctx;
 
diff --git a/openbsc/src/libmsc/mncc_sock.c b/openbsc/src/libmsc/mncc_sock.c
index d8caf07..d81de95 100644
--- a/openbsc/src/libmsc/mncc_sock.c
+++ b/openbsc/src/libmsc/mncc_sock.c
@@ -33,9 +33,9 @@
 #include <osmocom/core/select.h>
 #include <osmocom/gsm/protocol/gsm_04_08.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/mncc.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libmsc/mncc.h>
+#include <openbsc/libcommon/gsm_data.h>
 
 struct mncc_sock_state {
 	struct gsm_network *net;
diff --git a/openbsc/src/libmsc/osmo_msc.c b/openbsc/src/libmsc/osmo_msc.c
index 8c86dcc..b8e9de4 100644
--- a/openbsc/src/libmsc/osmo_msc.c
+++ b/openbsc/src/libmsc/osmo_msc.c
@@ -21,11 +21,11 @@
  *
  */
 
-#include <openbsc/bsc_api.h>
-#include <openbsc/debug.h>
-#include <openbsc/transaction.h>
+#include <openbsc/libbsc/bsc_api.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libmsc/transaction.h>
 
-#include <openbsc/gsm_04_11.h>
+#include <openbsc/libmsc/gsm_04_11.h>
 
 static void msc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci)
 {
diff --git a/openbsc/src/libmsc/rrlp.c b/openbsc/src/libmsc/rrlp.c
index 161456a..3eae7a9 100644
--- a/openbsc/src/libmsc/rrlp.c
+++ b/openbsc/src/libmsc/rrlp.c
@@ -21,10 +21,10 @@
 
 
 
-#include <openbsc/gsm_04_08.h>
+#include <openbsc/libmsc/gsm_04_08.h>
 #include <openbsc/signal.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/chan_alloc.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libbsc/chan_alloc.h>
 
 /* RRLP msPositionReq, nsBased,
  *	Accuracy=60, Method=gps, ResponseTime=2, oneSet */
diff --git a/openbsc/src/libmsc/silent_call.c b/openbsc/src/libmsc/silent_call.c
index 6a188c8..a657404 100644
--- a/openbsc/src/libmsc/silent_call.c
+++ b/openbsc/src/libmsc/silent_call.c
@@ -26,13 +26,13 @@
 
 #include <osmocom/core/msgb.h>
 #include <openbsc/signal.h>
-#include <openbsc/debug.h>
-#include <openbsc/paging.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/abis_rsl.h>
-#include <openbsc/chan_alloc.h>
-#include <openbsc/osmo_msc.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libbsc/paging.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libbsc/chan_alloc.h>
+#include <openbsc/libmsc/osmo_msc.h>
 
 /* paging of the requested subscriber has completed */
 static int paging_cb_silent(unsigned int hooknum, unsigned int event,
diff --git a/openbsc/src/libmsc/sms_queue.c b/openbsc/src/libmsc/sms_queue.c
index e685973..6562527 100644
--- a/openbsc/src/libmsc/sms_queue.c
+++ b/openbsc/src/libmsc/sms_queue.c
@@ -28,13 +28,13 @@
  * things up by collecting data from other parts of the system.
  */
 
-#include <openbsc/sms_queue.h>
-#include <openbsc/chan_alloc.h>
-#include <openbsc/db.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_04_11.h>
-#include <openbsc/gsm_subscriber.h>
+#include <openbsc/libmsc/sms_queue.h>
+#include <openbsc/libbsc/chan_alloc.h>
+#include <openbsc/libmsc/db.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_04_11.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
 #include <openbsc/signal.h>
 
 #include <osmocom/core/talloc.h>
diff --git a/openbsc/src/libmsc/token_auth.c b/openbsc/src/libmsc/token_auth.c
index cf26ba8..c3fce53 100644
--- a/openbsc/src/libmsc/token_auth.c
+++ b/openbsc/src/libmsc/token_auth.c
@@ -22,12 +22,12 @@
 #include <stdio.h>
 #include <osmocom/core/talloc.h>
 #include <openbsc/signal.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_04_11.h>
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/chan_alloc.h>
-#include <openbsc/db.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_04_11.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libbsc/chan_alloc.h>
+#include <openbsc/libmsc/db.h>
 
 #define TOKEN_SMS_TEXT "HAR 2009 GSM.  Register at http://har2009.gnumonks.org/ " \
 			"Your IMSI is %s, auth token is %08X, phone no is %s."
diff --git a/openbsc/src/libmsc/transaction.c b/openbsc/src/libmsc/transaction.c
index 8a181b7..e480351 100644
--- a/openbsc/src/libmsc/transaction.c
+++ b/openbsc/src/libmsc/transaction.c
@@ -18,16 +18,16 @@
  *
  */
 
-#include <openbsc/transaction.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/mncc.h>
-#include <openbsc/debug.h>
+#include <openbsc/libmsc/transaction.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/mncc.h>
+#include <openbsc/libcommon/debug.h>
 #include <osmocom/core/talloc.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/mncc.h>
-#include <openbsc/paging.h>
-#include <openbsc/osmo_msc.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libmsc/mncc.h>
+#include <openbsc/libbsc/paging.h>
+#include <openbsc/libmsc/osmo_msc.h>
 
 void *tall_trans_ctx;
 
diff --git a/openbsc/src/libmsc/ussd.c b/openbsc/src/libmsc/ussd.c
index 72f26bd..c1ee86d 100644
--- a/openbsc/src/libmsc/ussd.c
+++ b/openbsc/src/libmsc/ussd.c
@@ -29,10 +29,10 @@
 #include <string.h>
 #include <errno.h>
 
-#include <openbsc/gsm_04_80.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/debug.h>
-#include <openbsc/osmo_msc.h>
+#include <openbsc/libmsc/gsm_04_80.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libmsc/osmo_msc.h>
 
 /* Declarations of USSD strings to be recognised */
 const char USSD_TEXT_OWN_NUMBER[] = "*#100#";
diff --git a/openbsc/src/libmsc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c
index cdda7e4..ebcf44e 100644
--- a/openbsc/src/libmsc/vty_interface_layer3.c
+++ b/openbsc/src/libmsc/vty_interface_layer3.c
@@ -29,22 +29,22 @@
 #include <arpa/inet.h>
 
 #include <osmocom/core/linuxlist.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/silent_call.h>
-#include <openbsc/gsm_04_11.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libmsc/silent_call.h>
+#include <openbsc/libmsc/gsm_04_11.h>
 #include <osmocom/abis/e1_input.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libbsc/abis_nm.h>
 #include <osmocom/gsm/gsm_utils.h>
 #include <osmocom/core/utils.h>
-#include <openbsc/db.h>
+#include <openbsc/libmsc/db.h>
 #include <osmocom/core/talloc.h>
 #include <openbsc/signal.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/vty.h>
-#include <openbsc/gsm_04_80.h>
-#include <openbsc/chan_alloc.h>
-#include <openbsc/sms_queue.h>
+#include <openbsc/libmsc/gsm_04_80.h>
+#include <openbsc/libbsc/chan_alloc.h>
+#include <openbsc/libmsc/sms_queue.h>
 #include <openbsc/mncc_int.h>
 
 extern struct gsm_network *gsmnet_from_vty(struct vty *v);
diff --git a/openbsc/src/libtrau/rtp_proxy.c b/openbsc/src/libtrau/rtp_proxy.c
index 2aa3a1e..11560d2 100644
--- a/openbsc/src/libtrau/rtp_proxy.c
+++ b/openbsc/src/libtrau/rtp_proxy.c
@@ -29,12 +29,12 @@
 #include <sys/utsname.h> /* uname() */
 
 #include <osmocom/core/talloc.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/core/select.h>
-#include <openbsc/debug.h>
-#include <openbsc/rtp_proxy.h>
-#include <openbsc/mncc.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libtrau/rtp_proxy.h>
+#include <openbsc/libmsc/mncc.h>
 
 /* attempt to determine byte order */
 #include <sys/param.h>
diff --git a/openbsc/src/libtrau/trau_mux.c b/openbsc/src/libtrau/trau_mux.c
index 6a6b7c5..b8f4bba 100644
--- a/openbsc/src/libtrau/trau_mux.c
+++ b/openbsc/src/libtrau/trau_mux.c
@@ -22,12 +22,12 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <osmocom/abis/trau_frame.h>
-#include <openbsc/trau_mux.h>
+#include <openbsc/libtrau/trau_mux.h>
 #include <osmocom/abis/subchan_demux.h>
 #include <osmocom/abis/e1_input.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <osmocom/core/talloc.h>
 
 /* this corresponds to teh bit-lengths of the individual codec
diff --git a/openbsc/src/libtrau/trau_upqueue.c b/openbsc/src/libtrau/trau_upqueue.c
index f8edaf0..d4acabf 100644
--- a/openbsc/src/libtrau/trau_upqueue.c
+++ b/openbsc/src/libtrau/trau_upqueue.c
@@ -18,8 +18,8 @@
  *
  */
 
-#include <openbsc/mncc.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libmsc/mncc.h>
+#include <openbsc/libcommon/gsm_data.h>
 
 void trau_tx_to_mncc(struct gsm_network *net, struct msgb *msg)
 {
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_api.c b/openbsc/src/osmo-bsc/osmo_bsc_api.c
index 2869f47..2cdf01c 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_api.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_api.c
@@ -19,7 +19,7 @@
 
 #include <openbsc/osmo_bsc.h>
 #include <openbsc/osmo_msc_data.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 
 #include <osmocom/gsm/protocol/gsm_08_08.h>
 #include <osmocom/gsm/gsm0808.h>
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_audio.c b/openbsc/src/osmo-bsc/osmo_bsc_audio.c
index ed0ece7..409a8d6 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_audio.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_audio.c
@@ -22,9 +22,9 @@
 
 #include <openbsc/osmo_msc_data.h>
 #include <openbsc/osmo_bsc.h>
-#include <openbsc/abis_rsl.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/debug.h>
+#include <openbsc/libbsc/abis_rsl.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/signal.h>
 
 #include <arpa/inet.h>
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_bssap.c b/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
index 495a313..7cf7ff8 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
@@ -19,12 +19,12 @@
  */
 
 #include <openbsc/osmo_bsc.h>
-#include <openbsc/osmo_bsc_grace.h>
+#include <openbsc/osmo-bsc/osmo_bsc_grace.h>
 #include <openbsc/osmo_msc_data.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_subscriber.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
 #include <openbsc/mgcp.h>
-#include <openbsc/paging.h>
+#include <openbsc/libbsc/paging.h>
 
 #include <osmocom/gsm/protocol/gsm_08_08.h>
 #include <osmocom/gsm/gsm0808.h>
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_filter.c b/openbsc/src/osmo-bsc/osmo_bsc_filter.c
index d2735a6..17e5297 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_filter.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_filter.c
@@ -19,10 +19,10 @@
 
 #include <openbsc/osmo_bsc.h>
 #include <openbsc/osmo_msc_data.h>
-#include <openbsc/gsm_04_80.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/debug.h>
-#include <openbsc/paging.h>
+#include <openbsc/libmsc/gsm_04_80.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libbsc/paging.h>
 
 #include <stdlib.h>
 
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_grace.c b/openbsc/src/osmo-bsc/osmo_bsc_grace.c
index fbc26ac..c611ef0 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_grace.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_grace.c
@@ -18,10 +18,10 @@
  *
  */
 
-#include <openbsc/osmo_bsc_grace.h>
-#include <openbsc/osmo_bsc_rf.h>
+#include <openbsc/osmo-bsc/osmo_bsc_grace.h>
+#include <openbsc/osmo-bsc/osmo_bsc_rf.h>
 #include <openbsc/osmo_msc_data.h>
-#include <openbsc/gsm_04_80.h>
+#include <openbsc/libmsc/gsm_04_80.h>
 #include <openbsc/signal.h>
 
 int bsc_grace_allow_new_connection(struct gsm_network *network)
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_main.c b/openbsc/src/osmo-bsc/osmo_bsc_main.c
index 9a799c0..4a13339 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_main.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_main.c
@@ -18,11 +18,11 @@
  *
  */
 
-#include <openbsc/control_cmd.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libctrl/control_cmd.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <openbsc/osmo_bsc.h>
-#include <openbsc/osmo_bsc_rf.h>
+#include <openbsc/osmo-bsc/osmo_bsc_rf.h>
 #include <openbsc/osmo_msc_data.h>
 #include <openbsc/signal.h>
 #include <openbsc/vty.h>
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_msc.c b/openbsc/src/osmo-bsc/osmo_bsc_msc.c
index 04cfb99..39d2298 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_msc.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_msc.c
@@ -20,10 +20,10 @@
  *
  */
 
-#include <openbsc/bsc_nat.h>
-#include <openbsc/control_cmd.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/osmo-bsc_nat/bsc_nat.h>
+#include <openbsc/libctrl/control_cmd.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <openbsc/ipaccess.h>
 #include <openbsc/osmo_msc_data.h>
 #include <openbsc/signal.h>
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_rf.c b/openbsc/src/osmo-bsc/osmo_bsc_rf.c
index 64cab5d..2b093f9 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_rf.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_rf.c
@@ -20,9 +20,9 @@
  *
  */
 
-#include <openbsc/osmo_bsc_rf.h>
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/osmo-bsc/osmo_bsc_rf.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <openbsc/signal.h>
 #include <openbsc/osmo_msc_data.h>
 #include <openbsc/ipaccess.h>
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_sccp.c b/openbsc/src/osmo-bsc/osmo_bsc_sccp.c
index 4f03b52..cba37eb 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_sccp.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_sccp.c
@@ -19,11 +19,11 @@
  *
  */
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <openbsc/osmo_bsc.h>
-#include <openbsc/osmo_bsc_grace.h>
+#include <openbsc/osmo-bsc/osmo_bsc_grace.h>
 #include <openbsc/osmo_msc_data.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/ipaccess.h>
 #include <openbsc/signal.h>
 
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_vty.c b/openbsc/src/osmo-bsc/osmo_bsc_vty.c
index 0b1698e..46d5731 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_vty.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_vty.c
@@ -18,7 +18,7 @@
  *
  */
 
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <openbsc/osmo_msc_data.h>
 #include <openbsc/vty.h>
 
diff --git a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c
index ee1543c..4a2767f 100644
--- a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c
+++ b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c
@@ -31,8 +31,8 @@
 
 #include <sys/socket.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
 #include <openbsc/mgcp.h>
 #include <openbsc/mgcp_internal.h>
 #include <openbsc/vty.h>
diff --git a/openbsc/src/osmo-bsc_nat/bsc_filter.c b/openbsc/src/osmo-bsc_nat/bsc_filter.c
index bbbba69..e6dc4ee 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_filter.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_filter.c
@@ -20,10 +20,10 @@
  *
  */
 
-#include <openbsc/bsc_nat.h>
+#include <openbsc/osmo-bsc_nat/bsc_nat.h>
 #include <openbsc/bsc_nat_sccp.h>
 #include <openbsc/ipaccess.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 
 #include <osmocom/core/talloc.h>
 #include <osmocom/gsm/protocol/gsm_08_08.h>
diff --git a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c
index 9ac54da..56cc052 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_mgcp_utils.c
@@ -18,10 +18,10 @@
  *
  */
 
-#include <openbsc/bsc_nat.h>
+#include <openbsc/osmo-bsc_nat/bsc_nat.h>
 #include <openbsc/bsc_nat_sccp.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/ipaccess.h>
 #include <openbsc/mgcp.h>
 #include <openbsc/mgcp_internal.h>
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat.c b/openbsc/src/osmo-bsc_nat/bsc_nat.c
index 295535a..aedeb09 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_nat.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_nat.c
@@ -35,14 +35,14 @@
 #define _GNU_SOURCE
 #include <getopt.h>
 
-#include <openbsc/debug.h>
-#include <openbsc/bsc_msc.h>
-#include <openbsc/bsc_nat.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/libbsc/bsc_msc.h>
+#include <openbsc/osmo-bsc_nat/bsc_nat.h>
 #include <openbsc/bsc_nat_sccp.h>
-#include <openbsc/control_cmd.h>
+#include <openbsc/libctrl/control_cmd.h>
 #include <openbsc/ipaccess.h>
-#include <openbsc/abis_nm.h>
-#include <openbsc/socket.h>
+#include <openbsc/libbsc/abis_nm.h>
+#include <openbsc/libcommon/socket.h>
 #include <openbsc/vty.h>
 
 #include <osmocom/core/application.h>
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c b/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c
index 0eb8be9..9fea23a 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c
@@ -21,11 +21,11 @@
  *
  */
 
-#include <openbsc/bsc_nat.h>
+#include <openbsc/osmo-bsc_nat/bsc_nat.h>
 #include <openbsc/bsc_nat_sccp.h>
-#include <openbsc/bsc_msc.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/debug.h>
+#include <openbsc/libbsc/bsc_msc.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libcommon/debug.h>
 #include <openbsc/ipaccess.h>
 #include <openbsc/vty.h>
 
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
index 55b3958..2c72b43 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
@@ -19,11 +19,11 @@
  */
 
 #include <openbsc/vty.h>
-#include <openbsc/gsm_data.h>
-#include <openbsc/bsc_nat.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/osmo-bsc_nat/bsc_nat.h>
 #include <openbsc/bsc_nat_sccp.h>
-#include <openbsc/bsc_msc.h>
-#include <openbsc/gsm_04_08.h>
+#include <openbsc/libbsc/bsc_msc.h>
+#include <openbsc/libmsc/gsm_04_08.h>
 #include <openbsc/mgcp.h>
 #include <openbsc/vty.h>
 
diff --git a/openbsc/src/osmo-bsc_nat/bsc_sccp.c b/openbsc/src/osmo-bsc_nat/bsc_sccp.c
index de6b421..2eaebba 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_sccp.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_sccp.c
@@ -19,8 +19,8 @@
  *
  */
 
-#include <openbsc/debug.h>
-#include <openbsc/bsc_nat.h>
+#include <openbsc/libcommon/debug.h>
+#include <openbsc/osmo-bsc_nat/bsc_nat.h>
 #include <openbsc/bsc_nat_sccp.h>
 
 #include <osmocom/sccp/sccp.h>
diff --git a/openbsc/src/osmo-bsc_nat/bsc_ussd.c b/openbsc/src/osmo-bsc_nat/bsc_ussd.c
index 80d6e77..2a962dc 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_ussd.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_ussd.c
@@ -20,10 +20,10 @@
  *
  */
 
-#include <openbsc/bsc_nat.h>
+#include <openbsc/osmo-bsc_nat/bsc_nat.h>
 #include <openbsc/bsc_nat_sccp.h>
 #include <openbsc/ipaccess.h>
-#include <openbsc/socket.h>
+#include <openbsc/libcommon/socket.h>
 
 #include <osmocom/gsm/protocol/gsm_08_08.h>
 #include <osmocom/gsm/gsm0480.h>
diff --git a/openbsc/src/osmo-nitb/bsc_hack.c b/openbsc/src/osmo-nitb/bsc_hack.c
index b41b808..1150c58 100644
--- a/openbsc/src/osmo-nitb/bsc_hack.c
+++ b/openbsc/src/osmo-nitb/bsc_hack.c
@@ -29,19 +29,19 @@
 #define _GNU_SOURCE
 #include <getopt.h>
 
-#include <openbsc/db.h>
+#include <openbsc/libmsc/db.h>
 #include <osmocom/core/application.h>
 #include <osmocom/core/select.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <osmocom/abis/abis.h>
 #include <osmocom/abis/e1_input.h>
 #include <osmocom/core/talloc.h>
 #include <openbsc/signal.h>
-#include <openbsc/osmo_msc.h>
-#include <openbsc/sms_queue.h>
+#include <openbsc/libmsc/osmo_msc.h>
+#include <openbsc/libmsc/sms_queue.h>
 #include <openbsc/vty.h>
 #include <openbsc/bss.h>
-#include <openbsc/mncc.h>
+#include <openbsc/libmsc/mncc.h>
 
 #include "../../bscconfig.h"
 
diff --git a/openbsc/src/utils/bs11_config.c b/openbsc/src/utils/bs11_config.c
index e8acb46..2d3d842 100644
--- a/openbsc/src/utils/bs11_config.c
+++ b/openbsc/src/utils/bs11_config.c
@@ -32,12 +32,12 @@
 
 #include <sys/stat.h>
 
-#include <openbsc/gsm_data.h>
-#include <openbsc/abis_nm.h>
+#include <openbsc/libcommon/gsm_data.h>
+#include <openbsc/libbsc/abis_nm.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/core/utils.h>
 #include <osmocom/gsm/tlv.h>
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 #include <osmocom/core/select.h>
 #include <openbsc/rs232.h>
 #include <osmocom/core/application.h>
diff --git a/openbsc/tests/channel/channel_test.c b/openbsc/tests/channel/channel_test.c
index 1121dd5..872f200 100644
--- a/openbsc/tests/channel/channel_test.c
+++ b/openbsc/tests/channel/channel_test.c
@@ -23,8 +23,8 @@
 #include <assert.h>
 
 #include <osmocom/core/select.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/abis_rsl.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libbsc/abis_rsl.h>
 
 /* our handler */
 static int subscr_cb(unsigned int hook, unsigned int event, struct msgb *msg, void *data, void *param)
diff --git a/openbsc/tests/db/db_test.c b/openbsc/tests/db/db_test.c
index 236dc37..ad20d3f 100644
--- a/openbsc/tests/db/db_test.c
+++ b/openbsc/tests/db/db_test.c
@@ -17,8 +17,8 @@
  *
  */
 
-#include <openbsc/db.h>
-#include <openbsc/gsm_subscriber.h>
+#include <openbsc/libmsc/db.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
 
 #include <stdio.h>
 #include <string.h>
diff --git a/openbsc/tests/debug/debug_test.c b/openbsc/tests/debug/debug_test.c
index fb5ce7a..332bf35 100644
--- a/openbsc/tests/debug/debug_test.c
+++ b/openbsc/tests/debug/debug_test.c
@@ -18,7 +18,7 @@
  *
  */
 
-#include <openbsc/debug.h>
+#include <openbsc/libcommon/debug.h>
 
 
 int main(int argc, char **argv)
diff --git a/openbsc/tests/gsm0408/gsm0408_test.c b/openbsc/tests/gsm0408/gsm0408_test.c
index 679ce66..87522f1 100644
--- a/openbsc/tests/gsm0408/gsm0408_test.c
+++ b/openbsc/tests/gsm0408/gsm0408_test.c
@@ -24,9 +24,9 @@
 
 #include <arpa/inet.h>
 
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/debug.h>
+#include <openbsc/libmsc/gsm_04_08.h>
+#include <openbsc/libmsc/gsm_subscriber.h>
+#include <openbsc/libcommon/debug.h>
 
 #define COMPARE(result, op, value) \
     if (!((result) op (value))) {\
-- 
1.7.6.1





More information about the OpenBSC mailing list