Introduce and use gsm_lchan_name() in addition to gsm_ts_name()

In many cases we actually want a name / unique ID for the lchan,
not just for the on-air timeslot... especially in SDCCH/8 case,
where 8 SDCCHs share one timeslot...
diff --git a/openbsc/src/gsm_data.c b/openbsc/src/gsm_data.c
index 7fc9694..ae6d49e 100644
--- a/openbsc/src/gsm_data.c
+++ b/openbsc/src/gsm_data.c
@@ -304,6 +304,16 @@
 	return ts2str;
 }
 
+char *gsm_lchan_name(struct gsm_lchan *lchan)
+{
+	struct gsm_bts_trx_ts *ts = lchan->ts;
+
+	snprintf(ts2str, sizeof(ts2str), "(bts=%d,trx=%d,ts=%d,ss=%d)",
+		 ts->trx->bts->nr, ts->trx->nr, ts->nr, lchan->nr);
+
+	return ts2str;
+}
+
 static const char *bts_types[] = {
 	[GSM_BTS_TYPE_UNKNOWN] = "unknown",
 	[GSM_BTS_TYPE_BS11] = "bs11",