diff --git a/src/hdlc.c b/src/hdlc.c
index 19ba900..d97e6b4 100644
--- a/src/hdlc.c
+++ b/src/hdlc.c
@@ -35,10 +35,13 @@
 	hdlc->num_bits++;
 
 	if (hdlc->num_bits == 8) {
-		hdlc->num_bits = 0;
 		pbit_t out;
+		hdlc->num_bits = 0;
 		/* generate one output byte */
 		osmo_ubit2pbit_ext(&out, 0, hdlc->next_outbyte, 0, 8, 0);
+		/* append to output buffer */
+		OSMO_ASSERT(hdlc->out.len < sizeof(hdlc->out.buf));
+		hdlc->out.buf[hdlc->out.len++] = out;
 		return out;
 	}
 
@@ -58,6 +61,14 @@
 		hdlc->num_bits = 0;
 		DEBUGP("S ");
 		flag = 1;
+		if (hdlc->out.len) {
+			/* call output function if any frame was
+			 * received before the flag octet */
+			if (hdlc->out_cb)
+				hdlc->out_cb(hdlc->out.buf, hdlc->out.len,
+					     hdlc->priv);
+			hdlc->out.len = 0;
+		}
 	} else if (!memcmp(five_ones_zero, hdlc->history, sizeof(five_ones_zero))) {
 		/* 4.3.1 Synchronous transmission: receiver shall
 		 * discard any "0" bit after five contiguous ones */
@@ -78,16 +89,16 @@
 		return out;
 }
 
-int process_raw_hdlc(struct hdlc_proc *hdlc, uint8_t *data, unsigned int len)
+int process_raw_hdlc(struct hdlc_proc *hdlc, ubit_t *bits, unsigned int len)
 {
 	unsigned int i;
 	int out;
 	static int last_out;
 
-	DEBUGP("process_raw_hdlc(%s)\n", osmo_hexdump(data,len));
+	DEBUGP("process_raw_hdlc(%s)\n", osmo_hexdump(bits, len));
 
 	for (i = 0; i < len; i ++) {
-		out = process_hdlc_bit(hdlc, data[i]);
+		out = process_hdlc_bit(hdlc, bits[i]);
 		if (out == -123) {
 			/* suppress repeating Flag characters */
 			if (last_out != out)
diff --git a/src/hdlc.h b/src/hdlc.h
index 2d44e75..2760213 100644
--- a/src/hdlc.h
+++ b/src/hdlc.h
@@ -2,10 +2,26 @@
 
 #include <osmocom/core/bits.h>
 
+/* structure representing a HDLC decoder process */
 struct hdlc_proc {
+	/* 8 bits history of most recently received bits */
 	ubit_t history[8];
+	/* 8 bit buffer for assembling the next output byte */
 	ubit_t next_outbyte[8];
+	/* number of bits currently in use in next_outbyte */
 	uint8_t num_bits;
+
+	/* output buffer for re-aligned frame bytes */
+	struct {
+		uint8_t buf[1024];
+		unsigned int len;
+	} out;
+
+	/* call-back ot be called at end of frame */
+	void (*out_cb)(const uint8_t *data, unsigned int len, void *priv);
+	/* private data passed to out_cb */
+	void *priv;
 };
 
-int process_raw_hdlc(struct hdlc_proc *hdlc, uint8_t *data, unsigned int len);
+/* input given number of raw bits from the bit stream into HDLC */
+int process_raw_hdlc(struct hdlc_proc *hdlc, ubit_t *bits, unsigned int len);
