diff --git a/include/osmocom/gsm/i460_mux.h b/include/osmocom/gsm/i460_mux.h
index 2e33b37..dd752db 100644
--- a/include/osmocom/gsm/i460_mux.h
+++ b/include/osmocom/gsm/i460_mux.h
@@ -52,9 +52,13 @@
 	void *user_data;
 };
 
+typedef void (*in_cb_queue_empty_t)(void *user_data);
+
 struct osmo_i460_subchan_mux {
 	/*! list of to-be-transmitted message buffers */
 	struct llist_head tx_queue;
+	in_cb_queue_empty_t in_cb_queue_empty;
+	void *user_data;
 };
 
 struct osmo_i460_subchan {
@@ -87,6 +91,14 @@
 		/* opaque user data pointer to pass to out_cb */
 		void *user_data;
 	} demux;
+
+	struct {
+		/* call-back function whenever the muxer requires more input data from the sub-channels,
+		 * but has nothing enqueued yet. A typical function would then call osmo_i460_mux_enqueue() */
+		in_cb_queue_empty_t in_cb_queue_empty;
+		/* opaque user data pointer to pass to in_cb */
+		void *user_data;
+	} mux;
 };
 
 void osmo_i460_demux_in(struct osmo_i460_timeslot *ts, const uint8_t *data, size_t data_len);
diff --git a/src/gsm/i460_mux.c b/src/gsm/i460_mux.c
index 50cb56e..dfd50e5 100644
--- a/src/gsm/i460_mux.c
+++ b/src/gsm/i460_mux.c
@@ -175,9 +175,15 @@
 	ubit_t bit;
 
 	/* if we don't have anything to transmit, return '1' bits */
-	if (llist_empty(&mux->tx_queue))
-		return 0x01;
+	if (llist_empty(&mux->tx_queue)) {
+		/* User code now has a last chance to put something into the queue. */
+		if (mux->in_cb_queue_empty)
+			mux->in_cb_queue_empty(mux->user_data);
 
+		/* If the queue is still empty, return idle bits */
+		if (llist_empty(&mux->tx_queue))
+			return 0x01;
+	}
 	msg = llist_entry(mux->tx_queue.next, struct msgb, list);
 	bit = msgb_pull_u8(msg);
 
@@ -360,6 +366,8 @@
 	schan->demux.out_cb_bits = chd->demux.out_cb_bits;
 	schan->demux.out_cb_bytes = chd->demux.out_cb_bytes;
 	schan->demux.user_data = chd->demux.user_data;
+	schan->mux.in_cb_queue_empty = chd->mux.in_cb_queue_empty;
+	schan->mux.user_data = chd->mux.user_data;
 	rc = alloc_bitbuf(ctx, schan, chd->demux.num_bits);
 	if (rc < 0) {
 		subchan_reset(schan, false);
