Add human-readable names for signal_ns

Change-Id: Id664355eb8305fb287e4dae0800fb20dc2f9b8cd
Related: SYS#3610
diff --git a/include/osmocom/gprs/gprs_ns.h b/include/osmocom/gprs/gprs_ns.h
index 130d8c0..9cebbd6 100644
--- a/include/osmocom/gprs/gprs_ns.h
+++ b/include/osmocom/gprs/gprs_ns.h
@@ -203,6 +203,8 @@
 	S_NS_MISMATCH, /* got an unexpected IE (sets msg, pdu_type, ie_type) */
 };
 
+extern const struct value_string gprs_ns_signal_ns_names[];
+
 struct ns_signal_data {
 	struct gprs_nsvc *nsvc;
 	struct gprs_nsvc *old_nsvc;
diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c
index d0c5a17..23c0be8 100644
--- a/src/gb/gprs_ns.c
+++ b/src/gb/gprs_ns.c
@@ -150,6 +150,16 @@
 	.class_id = OSMO_STATS_CLASS_PEER,
 };
 
+const struct value_string gprs_ns_signal_ns_names[] = {
+	{ S_NS_RESET,		"NS-RESET" },
+	{ S_NS_BLOCK,		"NS-BLOCK" },
+	{ S_NS_UNBLOCK,		"NS-UNBLOCK" },
+	{ S_NS_ALIVE_EXP,	"NS-ALIVE expired" },
+	{ S_NS_REPLACED,	"NSVC replaced" },
+	{ S_NS_MISMATCH,	"Unexpected IE" },
+	{ 0, NULL }
+};
+
 #define CHECK_TX_RC(rc, nsvc) \
 		if (rc < 0)							\
 			LOGP(DNS, LOGL_ERROR, "TX failed (%d) to peer %s\n",	\
diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map
index 3ec3ee5..6aad8fd 100644
--- a/src/gb/libosmogb.map
+++ b/src/gb/libosmogb.map
@@ -38,6 +38,7 @@
 bssgp_vty_init;
 bssgp_nsi;
 
+gprs_ns_signal_ns_names;
 gprs_ns_pdu_strings;
 gprs_ns_cause_str;
 gprs_ns_destroy;