diff --git a/include/osmocore/gsmtap_util.h b/include/osmocore/gsmtap_util.h
index 30fc126..9644944 100644
--- a/include/osmocore/gsmtap_util.h
+++ b/include/osmocore/gsmtap_util.h
@@ -7,6 +7,11 @@
 uint8_t chantype_rsl2gsmtap(uint8_t rsl_chantype, uint8_t rsl_link_id);
 
 /* receive a message from L1/L2 and put it in GSMTAP */
+struct msgb *gsmtap_makemsg(uint16_t arfcn, uint8_t ts, uint8_t chan_type,
+			    uint8_t ss, uint32_t fn, int8_t signal_dbm,
+			    uint8_t snr, const uint8_t *data, unsigned int len);
+
+/* receive a message from L1/L2 and put it in GSMTAP */
 int gsmtap_sendmsg(uint16_t arfcn, uint8_t ts, uint8_t chan_type, uint8_t ss,
 		   uint32_t fn, int8_t signal_dbm, uint8_t snr,
 		   const uint8_t *data, unsigned int len);
diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c
index 5da4369..abee4da 100644
--- a/src/gsmtap_util.c
+++ b/src/gsmtap_util.c
@@ -81,21 +81,17 @@
 }
 
 /* receive a message from L1/L2 and put it in GSMTAP */
-int gsmtap_sendmsg(uint16_t arfcn, uint8_t ts, uint8_t chan_type, uint8_t ss,
-		   uint32_t fn, int8_t signal_dbm, uint8_t snr,
-		   const uint8_t *data, unsigned int len)
+struct msgb *gsmtap_makemsg(uint16_t arfcn, uint8_t ts, uint8_t chan_type,
+			    uint8_t ss, uint32_t fn, int8_t signal_dbm,
+			    uint8_t snr, const uint8_t *data, unsigned int len)
 {
 	struct msgb *msg;
 	struct gsmtap_hdr *gh;
 	uint8_t *dst;
 
-	/* gsmtap was never initialized, so don't try to send anything */
-	if (gsmtap_bfd.fd == -1)
-		return 0;
-
 	msg = msgb_alloc(sizeof(*gh) + len, "gsmtap_tx");
 	if (!msg)
-		return -ENOMEM;
+		return NULL;
 
 	gh = (struct gsmtap_hdr *) msgb_put(msg, sizeof(*gh));
 
@@ -114,6 +110,25 @@
 	dst = msgb_put(msg, len);
 	memcpy(dst, data, len);
 
+	return msg;
+}
+
+/* receive a message from L1/L2 and put it in GSMTAP */
+int gsmtap_sendmsg(uint16_t arfcn, uint8_t ts, uint8_t chan_type, uint8_t ss,
+		   uint32_t fn, int8_t signal_dbm, uint8_t snr,
+		   const uint8_t *data, unsigned int len)
+{
+	struct msgb *msg;
+
+	/* gsmtap was never initialized, so don't try to send anything */
+	if (gsmtap_bfd.fd == -1)
+		return 0;
+
+	msg = gsmtap_makemsg(arfcn, ts, chan_type, ss, fn, signal_dbm,
+			     snr, data, len);
+	if (!msg)
+		return -ENOMEM;
+
 	msgb_enqueue(&gsmtap_txqueue, msg);
 	gsmtap_bfd.when |= BSC_FD_WRITE;
 
