diff --git a/include/internal.h b/include/internal.h
index 8a5aa2e..aeca02f 100644
--- a/include/internal.h
+++ b/include/internal.h
@@ -3,6 +3,9 @@
 
 #include <stdint.h>
 
+/* Amount of data to write to a B-channel in every write() call */
+#define D_BCHAN_TX_GRAN 160
+
 struct osmo_fd;
 struct e1inp_sign_link;
 struct e1inp_ts;
diff --git a/src/input/dahdi.c b/src/input/dahdi.c
index 8cebac3..0cbf9da 100644
--- a/src/input/dahdi.c
+++ b/src/input/dahdi.c
@@ -25,6 +25,7 @@
  */
 
 #include "config.h"
+#include "internal.h"
 
 #include <stdio.h>
 #include <unistd.h>
@@ -355,7 +356,6 @@
         return start;
 }
 
-#define D_BCHAN_TX_GRAN 160
 /* write to a B channel TS */
 static int handle_tsX_write(struct osmo_fd *bfd)
 {
diff --git a/src/input/e1d.c b/src/input/e1d.c
index 3a2f385..be844d5 100644
--- a/src/input/e1d.c
+++ b/src/input/e1d.c
@@ -23,6 +23,7 @@
  */
 
 #include "config.h"
+#include "internal.h"
 
 #ifdef HAVE_E1D
 
@@ -245,7 +246,7 @@
 			}
 			if (bfd->fd <= 0) {
 				bfd->fd = osmo_e1dp_client_ts_open(g_e1d, e1d_intf, e1d_line, ts,
-								   E1DP_TSMODE_HDLCFCS, D_TSX_ALLOC_SIZE);
+								   E1DP_TSMODE_HDLCFCS, D_BCHAN_TX_GRAN);
 			}
 			if (bfd->fd < 0) {
 				LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "Could not open timeslot %d\n", ts);
@@ -275,7 +276,7 @@
 			}
 			if (bfd->fd <= 0) {
 				bfd->fd = osmo_e1dp_client_ts_open(g_e1d, e1d_intf, e1d_line, ts,
-								   E1DP_TSMODE_HDLCFCS, D_TSX_ALLOC_SIZE);
+								   E1DP_TSMODE_HDLCFCS, D_BCHAN_TX_GRAN);
 			}
 			if (bfd->fd < 0) {
 				LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "Could not open timeslot %d\n", ts);
@@ -298,7 +299,7 @@
 			}
 			if (bfd->fd <= 0) {
 				bfd->fd = osmo_e1dp_client_ts_open(g_e1d, e1d_intf, e1d_line, ts,
-								   E1DP_TSMODE_RAW, D_TSX_ALLOC_SIZE);
+								   E1DP_TSMODE_RAW, D_BCHAN_TX_GRAN);
 			}
 			if (bfd->fd < 0) {
 				LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "Could not open timeslot %d\n", ts);
