diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c
index 54ec19c..606899e 100644
--- a/src/gsm/gsm0808_utils.c
+++ b/src/gsm/gsm0808_utils.c
@@ -28,6 +28,7 @@
 #include <errno.h>
 #include <osmocom/gsm/protocol/gsm_08_08.h>
 #include <osmocom/gsm/gsm48.h>
+#include <osmocom/gsm/gsm0808.h>
 #include <osmocom/gsm/gsm0808_utils.h>
 
 #define IP_V4_ADDR_LEN 4
@@ -591,6 +592,45 @@
 	return ret;
 }
 
+static char dbuf[256];
+
+/*! Dump LCLS parameters (GCR excluded) into string for printing.
+ *  \param[in] lcls pointer to the struct to print.
+ *  \returns string representation of LCLS or NULL on error. */
+char *osmo_lcls_dump(const struct osmo_lcls *lcls)
+{
+	struct osmo_strbuf s = { .buf = dbuf, .len = 256 };
+
+	if (!lcls)
+		return NULL;
+
+	OSMO_STRBUF_PRINTF(s, "LCLS Config: %s, Control: %s, Correlation-Needed: %u",
+			   gsm0808_lcls_config_name(lcls->config),
+			   gsm0808_lcls_control_name(lcls->control),
+			   lcls->corr_needed);
+
+	return dbuf;
+}
+
+/*! Dump GCR struct into string for printing.
+ *  \param[in] lcls pointer to the struct to print.
+ *  \returns string representation of GCR or NULL on error. */
+char *osmo_gcr_dump(const struct osmo_lcls *lcls)
+{
+	struct osmo_strbuf s = { .buf = dbuf, .len = 256 };
+
+	if (!lcls)
+		return NULL;
+
+	if (lcls->gcr_available) {
+		OSMO_STRBUF_PRINTF(s, "GCR NetID 0x%s, ", osmo_hexdump_nospc(lcls->gcr.net, lcls->gcr.net_len));
+		/* osmo_hexdump() uses static buffers so we can't call it twice withing the same parameter list */
+		OSMO_STRBUF_PRINTF(s, "Node 0x%x, CallRefID 0x%s", lcls->gcr.node, osmo_hexdump_nospc(lcls->gcr.cr, 5));
+	}
+
+	return dbuf;
+}
+
 /*! Encode TS 08.08 Encryption Information IE
  *  \param[out] msg Message Buffer to which IE is to be appended
  *  \param[in] ei Encryption Information to be encoded
diff --git a/src/gsm/gsm29205.c b/src/gsm/gsm29205.c
index 0d34468..6ceb8ee 100644
--- a/src/gsm/gsm29205.c
+++ b/src/gsm/gsm29205.c
@@ -20,9 +20,12 @@
  *
  */
 
+#include "config.h"
+
 #include <osmocom/gsm/protocol/gsm_08_08.h>
 #include <osmocom/gsm/gsm29205.h>
 #include <osmocom/gsm/gsm0808.h>
+#include <osmocom/core/utils.h>
 #include <osmocom/core/msgb.h>
 #include <osmocom/gsm/tlv.h>
 
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index 48757a7..2d47d7a 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -247,6 +247,8 @@
 osmo_enc_gcr;
 osmo_dec_gcr;
 osmo_gcr_eq;
+osmo_gcr_dump;
+osmo_lcls_dump;
 
 gsm0858_rsl_ul_meas_enc;
 
