diff --git a/include/osmocom/gsm/abis_nm.h b/include/osmocom/gsm/abis_nm.h
index dd7ba0d..823b5a4 100644
--- a/include/osmocom/gsm/abis_nm.h
+++ b/include/osmocom/gsm/abis_nm.h
@@ -41,16 +41,14 @@
 extern const struct tlv_definition abis_nm_osmo_att_tlvdef;
 extern const struct tlv_definition abis_nm_att_tlvdef_ipa;
 
+const char *abis_nm_dump_foh(const struct abis_om_fom_hdr *foh);
+
 /*! write a human-readable OML header to the debug log
  *  \param[in] ss Logging sub-system
  *  \param[in] foh A-bis OML FOM header
  */
 #define abis_nm_debugp_foh(ss, foh)					    \
-	DEBUGP(ss, "OC=%s(%02x) INST=(%02x,%02x,%02x) ",		    \
-		get_value_string(abis_nm_obj_class_names, (foh)->obj_class),  \
-		(foh)->obj_class, (foh)->obj_inst.bts_nr, (foh)->obj_inst.trx_nr, \
-		(foh)->obj_inst.ts_nr)
-
+	DEBUGP(ss, "%s ", abis_nm_dump_foh(foh))
 
 int abis_nm_chcomb4pchan(enum gsm_phys_chan_config pchan);
 enum gsm_phys_chan_config abis_nm_pchan4chcomb(uint8_t chcomb);
diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c
index 8a3886d..49d05ba 100644
--- a/src/gsm/abis_nm.c
+++ b/src/gsm/abis_nm.c
@@ -928,15 +928,22 @@
 	return GSM_PCHAN_NONE;
 }
 
+const char *abis_nm_dump_foh(const struct abis_om_fom_hdr *foh)
+{
+	static char foh_buf[128];
+	snprintf(foh_buf, sizeof(foh_buf), "OC=%s(%02x) INST=(%02x,%02x,%02x)",
+		get_value_string(abis_nm_obj_class_names, foh->obj_class),
+		foh->obj_class, foh->obj_inst.bts_nr, foh->obj_inst.trx_nr,
+		foh->obj_inst.ts_nr);
+	return foh_buf;
+}
+
 /* this is just for compatibility reasons, it is now a macro */
 #undef abis_nm_debugp_foh
 OSMO_DEPRECATED("Use abis_nm_debugp_foh macro instead")
 void abis_nm_debugp_foh(int ss, struct abis_om_fom_hdr *foh)
 {
-	DEBUGP(ss, "OC=%s(%02x) INST=(%02x,%02x,%02x) ",
-		get_value_string(abis_nm_obj_class_names, foh->obj_class),
-		foh->obj_class, foh->obj_inst.bts_nr, foh->obj_inst.trx_nr,
-		foh->obj_inst.ts_nr);
+	DEBUGP(ss, "%s ", abis_nm_dump_foh(foh));
 }
 
 /*! @} */
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index 36a7712..fd07704 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -8,6 +8,7 @@
 abis_nm_fail_evt_vrep;
 abis_nm_chcomb4pchan;
 abis_nm_debugp_foh;
+abis_nm_dump_foh;
 abis_nm_event_type_name;
 abis_nm_nack_cause_name;
 abis_nm_nack_name;
