diff --git a/openbsc/src/libtrau/trau_mux.c b/openbsc/src/libtrau/trau_mux.c
index ab27879..6a6b7c5 100644
--- a/openbsc/src/libtrau/trau_mux.c
+++ b/openbsc/src/libtrau/trau_mux.c
@@ -23,10 +23,10 @@
 #include <string.h>
 
 #include <openbsc/gsm_data.h>
-#include <openbsc/trau_frame.h>
+#include <osmocom/abis/trau_frame.h>
 #include <openbsc/trau_mux.h>
-#include <openbsc/subchan_demux.h>
-#include <openbsc/e1_input.h>
+#include <osmocom/abis/subchan_demux.h>
+#include <osmocom/abis/e1_input.h>
 #include <openbsc/debug.h>
 #include <osmocom/core/talloc.h>
 
@@ -70,7 +70,7 @@
 
 	me = talloc(tall_map_ctx, struct map_entry);
 	if (!me) {
-		LOGP(DMIB, LOGL_FATAL, "Out of memory\n");
+		LOGP(DLMIB, LOGL_FATAL, "Out of memory\n");
 		return -ENOMEM;
 	}
 
@@ -186,7 +186,7 @@
 		if (!ue->callref)
 			return -EINVAL;
 		if (memcmp(tf.c_bits, c_bits_check, sizeof(c_bits_check)))
-			DEBUGPC(DMUX, "illegal trau (C1-C5) %s\n",
+			DEBUGPC(DLMUX, "illegal trau (C1-C5) %s\n",
 				osmo_hexdump(tf.c_bits, sizeof(c_bits_check)));
 		msg = msgb_alloc(sizeof(struct gsm_data_frame) + 33,
 				 "GSM-DATA");
@@ -232,6 +232,20 @@
 				   TRAU_FRAME_BITS);
 }
 
+/* callback when a TRAU frame was received */
+int subch_cb(struct subch_demux *dmx, int ch, uint8_t *data, int len,
+	     void *_priv)
+{
+	struct e1inp_ts *e1i_ts = _priv;
+	struct gsm_e1_subslot src_ss;
+
+	src_ss.e1_nr = e1i_ts->line->num;
+	src_ss.e1_ts = e1i_ts->num;
+	src_ss.e1_ts_ss = ch;
+
+	return trau_mux_input(&src_ss, data, len);
+}
+
 /* add receiver instance for lchan and callref */
 int trau_recv_lchan(struct gsm_lchan *lchan, uint32_t callref)
 {
@@ -301,7 +315,7 @@
 		}
 		break;
 	default:
-		DEBUGPC(DMUX, "unsupported message type %d\n",
+		DEBUGPC(DLMUX, "unsupported message type %d\n",
 			frame->msg_type);
 		return -EINVAL;
 	}
