diff --git a/openbsc/include/openbsc/Makefile.am b/openbsc/include/openbsc/Makefile.am
index 9ec92c1..53cc5ee 100644
--- a/openbsc/include/openbsc/Makefile.am
+++ b/openbsc/include/openbsc/Makefile.am
@@ -1,8 +1,7 @@
 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 \
-		 subchan_demux.h trau_frame.h e1_input.h trau_mux.h \
-		 ipaccess.h rs232.h openbscdefines.h rtp_proxy.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 \
diff --git a/openbsc/include/openbsc/abis_nm.h b/openbsc/include/openbsc/abis_nm.h
index ae4f625..f11ac11 100644
--- a/openbsc/include/openbsc/abis_nm.h
+++ b/openbsc/include/openbsc/abis_nm.h
@@ -160,5 +160,8 @@
 
 void abis_nm_clear_queue(struct gsm_bts *bts);
 
+int _abis_nm_sendmsg(struct msgb *msg, int to_trx_oml);
+
+void abis_nm_queue_send_next(struct gsm_bts *bts);	/* for bs11_config. */
 
 #endif /* _NM_H */
diff --git a/openbsc/include/openbsc/debug.h b/openbsc/include/openbsc/debug.h
index d78252a..43f0ff8 100644
--- a/openbsc/include/openbsc/debug.h
+++ b/openbsc/include/openbsc/debug.h
@@ -19,10 +19,6 @@
 	DSMS,
 	DPAG,
 	DMEAS,
-	DMI,
-	DMIB,
-	DMUX,
-	DINP,
 	DSCCP,
 	DMSC,
 	DMGCP,
diff --git a/openbsc/include/openbsc/e1_input.h b/openbsc/include/openbsc/e1_input.h
deleted file mode 100644
index 4a375ed..0000000
--- a/openbsc/include/openbsc/e1_input.h
+++ /dev/null
@@ -1,200 +0,0 @@
-#ifndef _E1_INPUT_H
-#define _E1_INPUT_H
-
-#include <stdlib.h>
-#include <netinet/in.h>
-
-#include <osmocom/core/linuxlist.h>
-#include <openbsc/gsm_data.h>
-#include <osmocom/core/msgb.h>
-#include <osmocom/core/select.h>
-#include <osmocom/core/rate_ctr.h>
-#include <openbsc/subchan_demux.h>
-
-#define NUM_E1_TS   32
-
-enum e1inp_sign_type {
-	E1INP_SIGN_NONE,
-	E1INP_SIGN_OML,
-	E1INP_SIGN_RSL,
-};
-const char *e1inp_signtype_name(enum e1inp_sign_type tp);
-
-enum e1inp_ctr {
-	E1I_CTR_HDLC_ABORT,
-	E1I_CTR_HDLC_BADFCS,
-	E1I_CTR_HDLC_OVERR,
-	E1I_CTR_ALARM,
-	E1I_CTR_REMOVED,
-};
-
-struct e1inp_ts;
-
-struct e1inp_sign_link {
-	/* list of signalling links */
-	struct llist_head list;
-
-	/* to which timeslot do we belong? */
-	struct e1inp_ts *ts;
-
-	enum e1inp_sign_type type;
-
-	/* trx for msg->trx of received msgs */	
-	struct gsm_bts_trx *trx;
-
-	/* msgb queue of to-be-transmitted msgs */
-	struct llist_head tx_list;
-
-	/* SAPI and TEI on the E1 TS */
-	uint8_t sapi;
-	uint8_t tei;
-
-	union {
-		struct {
-			uint8_t channel;
-		} misdn;
-	} driver;
-};
-
-enum e1inp_ts_type {
-	E1INP_TS_TYPE_NONE,
-	E1INP_TS_TYPE_SIGN,
-	E1INP_TS_TYPE_TRAU,
-};
-const char *e1inp_tstype_name(enum e1inp_ts_type tp);
-
-/* A timeslot in the E1 interface */
-struct e1inp_ts {
-	enum e1inp_ts_type type;
-	int num;
-
-	/* to which line do we belong ? */
-	struct e1inp_line *line;
-
-	union {
-		struct {
-			/* list of all signalling links on this TS */
-			struct llist_head sign_links;
-			/* delay for the queue */
-			int delay;
-			/* timer when to dequeue next frame */
-			struct osmo_timer_list tx_timer;
-		} sign;
-		struct {
-			/* subchannel demuxer for frames from E1 */
-			struct subch_demux demux;
-			/* subchannel muxer for frames to E1 */
-			struct subch_mux mux;
-		} trau;
-	};
-	union {
-		struct {
-			/* mISDN driver has one fd for each ts */
-			struct osmo_fd fd;
-		} misdn;
-		struct {
-			/* ip.access driver has one fd for each ts */
-			struct osmo_fd fd;
-		} ipaccess;
-		struct {
-			/* DAHDI driver has one fd for each ts */
-			struct osmo_fd fd;
-			struct lapd_instance *lapd;
-		} dahdi;
-	} driver;
-};
-
-struct e1inp_driver {
-	struct llist_head list;
-	const char *name;
-	int (*want_write)(struct e1inp_ts *ts);
-	int (*line_update)(struct e1inp_line *line);
-	int default_delay;
-};	
-
-struct e1inp_line {
-	struct llist_head list;
-	unsigned int num;
-	const char *name;
-	struct rate_ctr_group *rate_ctr;
-
-	/* array of timestlots */
-	struct e1inp_ts ts[NUM_E1_TS];
-
-	struct e1inp_driver *driver;
-	void *driver_data;
-};
-
-/* register a driver with the E1 core */
-int e1inp_driver_register(struct e1inp_driver *drv);
-
-/* fine a previously registered driver */
-struct e1inp_driver *e1inp_driver_find(const char *name);
-
-/* register a line with the E1 core */
-int e1inp_line_register(struct e1inp_line *line);
-
-/* get a line by its ID */
-struct e1inp_line *e1inp_line_get(uint8_t e1_nr);
-
-/* create a line in the E1 input core */
-struct e1inp_line *e1inp_line_create(uint8_t e1_nr, const char *driver_name);
-
-/* find a sign_link for given TEI and SAPI in a TS */
-struct e1inp_sign_link *
-e1inp_lookup_sign_link(struct e1inp_ts *ts, uint8_t tei,
-			uint8_t sapi);
-
-/* create a new signalling link in a E1 timeslot */
-struct e1inp_sign_link *
-e1inp_sign_link_create(struct e1inp_ts *ts, enum e1inp_sign_type type,
-			struct gsm_bts_trx *trx, uint8_t tei,
-			uint8_t sapi);
-
-/* configure and initialize one e1inp_ts */
-int e1inp_ts_config(struct e1inp_ts *ts, struct e1inp_line *line,
-		    enum e1inp_ts_type type);
-
-/* Call from the Stack: configuration of this TS has changed */
-int e1inp_update_ts(struct e1inp_ts *ts);
-
-/* Receive a packet from the E1 driver */
-int e1inp_rx_ts(struct e1inp_ts *ts, struct msgb *msg,
-		uint8_t tei, uint8_t sapi);
-
-/* called by driver if it wants to transmit on a given TS */
-struct msgb *e1inp_tx_ts(struct e1inp_ts *e1i_ts,
-			 struct e1inp_sign_link **sign_link);
-
-/* called by driver in case some kind of link state event */
-int e1inp_event(struct e1inp_ts *ts, int evt, uint8_t tei, uint8_t sapi);
-
-/* Write LAPD frames to the fd. */
-void e1_set_pcap_fd(int fd);
-
-/* called by TRAU muxer to obtain the destination mux entity */
-struct subch_mux *e1inp_get_mux(uint8_t e1_nr, uint8_t ts_nr);
-
-void e1inp_sign_link_destroy(struct e1inp_sign_link *link);
-int e1inp_line_update(struct e1inp_line *line);
-
-/* e1_config.c */
-int e1_reconfig_ts(struct gsm_bts_trx_ts *ts);
-int e1_reconfig_trx(struct gsm_bts_trx *trx);
-int e1_reconfig_bts(struct gsm_bts *bts);
-
-int ia_config_connect(struct gsm_bts *bts, struct sockaddr_in *sin);
-int ipaccess_setup(struct gsm_network *gsmnet);
-int hsl_setup(struct gsm_network *gsmnet);
-
-extern struct llist_head e1inp_driver_list;
-extern struct llist_head e1inp_line_list;
-
-int e1inp_vty_init(void);
-void e1inp_init(void);
-
-int _abis_nm_sendmsg(struct msgb *msg, int to_trx_oml);
-
-int abis_sendmsg(struct msgb *msg);
-
-#endif /* _E1_INPUT_H */
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index 715ff1b..20b8fe7 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -7,6 +7,7 @@
 #include <osmocom/core/select.h>
 
 #include <openbsc/rest_octets.h>
+#include <osmocom/abis/e1_input.h>
 
 #define OBSC_NM_W_ACK_CB(__msgb) (__msgb)->cb[3]
 
@@ -382,4 +383,7 @@
 int gsm_bts_has_feature(struct gsm_bts *bts, enum gsm_bts_features feat);
 struct gsm_bts_trx *gsm_bts_trx_by_nr(struct gsm_bts *bts, int nr);
 
+/* generic E1 line operations for all ISDN-based BTS. */
+extern struct e1inp_line_ops bts_isdn_e1inp_line_ops;
+
 #endif /* _GSM_DATA_H */
diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h
index 89375cf..1dec0e4 100644
--- a/openbsc/include/openbsc/gsm_data_shared.h
+++ b/openbsc/include/openbsc/gsm_data_shared.h
@@ -225,16 +225,6 @@
 #endif
 };
 
-
-struct gsm_e1_subslot {
-	/* Number of E1 link */
-	uint8_t	e1_nr;
-	/* Number of E1 TS inside E1 link */
-	uint8_t	e1_ts;
-	/* Sub-slot within the E1 TS, 0xff if full TS */
-	uint8_t	e1_ts_ss;
-};
-
 #define TS_F_PDCH_MODE	0x1000
 /* One Timeslot in a TRX */
 struct gsm_bts_trx_ts {
@@ -341,6 +331,8 @@
 	int (*start)(struct gsm_network *net);
 	int (*oml_rcvmsg)(struct msgb *msg);
 
+	void (*e1line_bind_ops)(struct e1inp_line *line);
+
 	void (*config_write_bts)(struct vty *vty, struct gsm_bts *bts);
 	void (*config_write_trx)(struct vty *vty, struct gsm_bts_trx *trx);
 	void (*config_write_ts)(struct vty *vty, struct gsm_bts_trx_ts *ts);
diff --git a/openbsc/include/openbsc/ipaccess.h b/openbsc/include/openbsc/ipaccess.h
index c2ca2a5..d3c9d1d 100644
--- a/openbsc/include/openbsc/ipaccess.h
+++ b/openbsc/include/openbsc/ipaccess.h
@@ -1,7 +1,7 @@
 #ifndef _IPACCESS_H
 #define _IPACCESS_H
 
-#include "e1_input.h"
+#include <osmocom/abis/e1_input.h>
 #include "gsm_subscriber.h"
 #include <osmocom/core/linuxlist.h>
 #include <osmocom/gsm/protocol/ipaccess.h>
@@ -26,13 +26,10 @@
 	uint8_t data[0];
 } __attribute__((packed));
 
-int ipaccess_connect(struct e1inp_line *line, struct sockaddr_in *sa);
-
 /*
  * methods for parsing and sending a message
  */
 int ipaccess_rcvmsg_base(struct msgb *msg, struct osmo_fd *bfd);
-struct msgb *ipaccess_read_msg(struct osmo_fd *bfd, int *error);
 void ipaccess_prepend_header(struct msgb *msg, int proto);
 void ipaccess_prepend_header_ext(struct msgb *msg, int proto);
 int ipaccess_send_pong(int fd);
diff --git a/openbsc/include/openbsc/misdn.h b/openbsc/include/openbsc/misdn.h
index 0a8b063..9851ad3 100644
--- a/openbsc/include/openbsc/misdn.h
+++ b/openbsc/include/openbsc/misdn.h
@@ -19,7 +19,7 @@
 #ifndef MISDN_H
 #define MISDN_H
 
-#include "e1_input.h"
+#include <osmocom/abis/e1_input.h>
 
 int mi_setup(int cardnr,  struct e1inp_line *line, int release_l2);
 int mi_e1_line_update(struct e1inp_line *line);
diff --git a/openbsc/include/openbsc/signal.h b/openbsc/include/openbsc/signal.h
index 71e1dee..7f30f4f 100644
--- a/openbsc/include/openbsc/signal.h
+++ b/openbsc/include/openbsc/signal.h
@@ -40,14 +40,12 @@
 	SS_LCHAN,
 	SS_SUBSCR,
 	SS_SCALL,
-	SS_GLOBAL,
 	SS_CHALLOC,
 	SS_NS,
 	SS_IPAC_NWL,
 	SS_RF,
 	SS_MSC,
 	SS_HO,
-	SS_INPUT,
 };
 
 /* SS_PAGING signals */
@@ -129,7 +127,6 @@
 };
 
 enum signal_global {
-	S_GLOBAL_SHUTDOWN,
 	S_GLOBAL_BTS_CLOSE_OM,
 };
 
@@ -140,17 +137,6 @@
 	S_RF_GRACE,
 };
 
-/* SS_INPUT signals */
-enum signal_input {
-	S_INP_NONE,
-	S_INP_TEI_UP,
-	S_INP_TEI_DN,
-	S_INP_TEI_UNKNOWN,
-	S_INP_LINE_INIT,
-	S_INP_LINE_ALARM,
-	S_INP_LINE_NOALARM,
-};
-
 struct gsm_subscriber;
 
 struct paging_signal_data {
@@ -261,12 +247,4 @@
 	struct gsm_lchan *new_lchan;
 };
 
-struct input_signal_data {
-	int link_type;
-	uint8_t tei;
-	uint8_t sapi;
-	struct gsm_bts_trx *trx;
-	struct e1inp_line *line;
-};
-
 #endif
diff --git a/openbsc/include/openbsc/subchan_demux.h b/openbsc/include/openbsc/subchan_demux.h
deleted file mode 100644
index b71c856..0000000
--- a/openbsc/include/openbsc/subchan_demux.h
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef _SUBCH_DEMUX_H
-#define _SUBCH_DEMUX_H
-/* A E1 sub-channel (de)multiplexer with TRAU frame sync */
-
-/* (C) 2009 by Harald Welte <laforge@gnumonks.org>
- * All Rights Reserved
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include <stdint.h>
-#include <osmocom/core/linuxlist.h>
-
-#define NR_SUBCH	4
-#define TRAU_FRAME_SIZE	40
-#define TRAU_FRAME_BITS	(TRAU_FRAME_SIZE*8)
-
-/***********************************************************************/
-/* DEMULTIPLEXER */
-/***********************************************************************/
-
-struct demux_subch {
-	uint8_t out_bitbuf[TRAU_FRAME_BITS];
-	uint16_t out_idx; /* next bit to be written in out_bitbuf */
-	/* number of consecutive zeros that we have received (for sync) */
-	unsigned int consecutive_zeros;
-	/* are we in TRAU frame sync or not? */
-	unsigned int in_sync;
-};
-
-struct subch_demux {
-	/* bitmask of currently active subchannels */
-	uint8_t chan_activ;
-	/* one demux_subch struct for every subchannel */
-	struct demux_subch subch[NR_SUBCH];
-	/* callback to be called once we have received a complete
-	 * frame on a given subchannel */
-	int (*out_cb)(struct subch_demux *dmx, int ch, uint8_t *data, int len,
-		      void *);
-	/* user-provided data, transparently passed to out_cb() */
-	void *data;
-};
-
-/* initialize one demultiplexer instance */
-int subch_demux_init(struct subch_demux *dmx);
-
-/* feed 'len' number of muxed bytes into the demultiplexer */
-int subch_demux_in(struct subch_demux *dmx, uint8_t *data, int len);
-
-/* activate decoding/processing for one subchannel */
-int subch_demux_activate(struct subch_demux *dmx, int subch);
-
-/* deactivate decoding/processing for one subchannel */
-int subch_demux_deactivate(struct subch_demux *dmx, int subch);
-
-/***********************************************************************/
-/* MULTIPLEXER */
-/***********************************************************************/
-
-/* one element in the tx_queue of a muxer sub-channel */
-struct subch_txq_entry {
-	struct llist_head list;
-
-	unsigned int bit_len;	/* total number of bits in 'bits' */
-	unsigned int next_bit;	/* next bit to be transmitted */
-
-	uint8_t bits[0];	/* one bit per byte */
-};
-
-struct mux_subch {
-	struct llist_head tx_queue;
-};
-
-/* structure representing one instance of the subchannel muxer */
-struct subch_mux {
-	struct mux_subch subch[NR_SUBCH];
-};
-
-/* initialize a subchannel muxer instance */
-int subchan_mux_init(struct subch_mux *mx);
-
-/* request the output of 'len' multiplexed bytes */
-int subchan_mux_out(struct subch_mux *mx, uint8_t *data, int len);
-
-/* enqueue some data into one sub-channel of the muxer */
-int subchan_mux_enqueue(struct subch_mux *mx, int s_nr, const uint8_t *data,
-			int len);
-
-#endif /* _SUBCH_DEMUX_H */
diff --git a/openbsc/include/openbsc/trau_frame.h b/openbsc/include/openbsc/trau_frame.h
deleted file mode 100644
index c15e24b..0000000
--- a/openbsc/include/openbsc/trau_frame.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _TRAU_FRAME_H
-#define _TRAU_FRAME_H
-/* TRAU frame handling according to GSM TS 08.60 */
-
-/* (C) 2009 by Harald Welte <laforge@gnumonks.org>
- * All Rights Reserved
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include <stdint.h>
-
-/* 21 for FR/EFR, 25 for AMR, 15 for OM, 15 for data, 13 for E-data, 21 idle */
-#define MAX_C_BITS	25
-/* 260 for FR/EFR, 256 for AMR, 264 for OM, 288 for E-data */
-#define MAX_D_BITS	288
-/* for all speech frames */
-#define MAX_T_BITS	4
-/* for OM */
-#define MAX_S_BITS	6
-/* for E-data */
-#define MAX_M_BITS	2
-
-struct decoded_trau_frame {
-	uint8_t c_bits[MAX_C_BITS];
-	uint8_t d_bits[MAX_D_BITS];
-	uint8_t t_bits[MAX_T_BITS];
-	uint8_t s_bits[MAX_S_BITS];
-	uint8_t m_bits[MAX_M_BITS];
-};
-
-#define TRAU_FT_FR_UP		0x02	/* 0 0 0 1 0 - 3.5.1.1.1 */
-#define TRAU_FT_FR_DOWN		0x1c	/* 1 1 1 0 0 - 3.5.1.1.1 */
-#define TRAU_FT_EFR		0x1a	/* 1 1 0 1 0 - 3.5.1.1.1 */
-#define TRAU_FT_AMR		0x06	/* 0 0 1 1 0 - 3.5.1.2 */
-#define TRAU_FT_OM_UP		0x07	/* 0 0 1 0 1 - 3.5.2 */
-#define TRAU_FT_OM_DOWN		0x1b	/* 1 1 0 1 1 - 3.5.2 */
-#define TRAU_FT_DATA_UP		0x08	/* 0 1 0 0 0 - 3.5.3 */
-#define TRAU_FT_DATA_DOWN	0x16	/* 1 0 1 1 0 - 3.5.3 */
-#define TRAU_FT_D145_SYNC	0x14	/* 1 0 1 0 0 - 3.5.3 */
-#define TRAU_FT_EDATA		0x1f	/* 1 1 1 1 1 - 3.5.4 */
-#define TRAU_FT_IDLE_UP		0x10	/* 1 0 0 0 0 - 3.5.5 */
-#define TRAU_FT_IDLE_DOWN	0x0e	/* 0 1 1 1 0 - 3.5.5 */
-
-
-int decode_trau_frame(struct decoded_trau_frame *fr, const uint8_t *trau_bits);
-int encode_trau_frame(uint8_t *trau_bits, const struct decoded_trau_frame *fr);
-int trau_frame_up2down(struct decoded_trau_frame *fr);
-uint8_t *trau_idle_frame(void);
-
-
-#endif /* _TRAU_FRAME_H */
diff --git a/openbsc/include/openbsc/trau_mux.h b/openbsc/include/openbsc/trau_mux.h
index 9936ba1..2c01b06 100644
--- a/openbsc/include/openbsc/trau_mux.h
+++ b/openbsc/include/openbsc/trau_mux.h
@@ -50,3 +50,6 @@
 
 /* send trau from application */
 int trau_send_frame(struct gsm_lchan *lchan, struct gsm_data_frame *frame);
+
+/* callback invoked if we receive TRAU frames */
+int subch_cb(struct subch_demux *dmx, int ch, uint8_t *data, int len, void *_priv);
diff --git a/openbsc/include/openbsc/vty.h b/openbsc/include/openbsc/vty.h
index 6635896..d455a2b 100644
--- a/openbsc/include/openbsc/vty.h
+++ b/openbsc/include/openbsc/vty.h
@@ -29,7 +29,6 @@
 	NS_NODE,
 	BSSGP_NODE,
 	OML_NODE,
-	E1INP_NODE,
 	NAT_NODE,
 	NAT_BSC_NODE,
 	MSC_NODE,
