Add initial 3GPP LCLS support to OsmoBSC

This code contains the following code:
* receive/parse/interpret LCLS specific BSSMAP IEs and PDUs
* osmo_fsm handling the various states and their transitions
* call leg correlation (finding the other subscr_conn with same GCR)
* communication between the two call-leg LCLS FSMs
* detection of supported / unsupported LCLS configurations
* display of GCR / LCLS information in "show conns"
* switch the media streams locally using MDCX to the MGW

Closes: OS#1602
Change-Id: I614fade62834def5cafc94c4d2578cd747a3f9f7
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 1cf79a5..b1fceb3 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -188,6 +188,18 @@
 		enum gsm48_chan_mode chan_mode;
 
 	} user_plane;
+
+	/* LCLS (local call, local switch) related state */
+	struct {
+		uint8_t global_call_ref[15];
+		uint8_t global_call_ref_len; /* length of global_call_ref */
+		uint8_t config;	/* TS 48.008 3.2.2.116 */
+		uint8_t control;/* TS 48.008 3.2.2.117 */
+		/* LCLS FSM */
+		struct osmo_fsm_inst *fi;
+		/* pointer to "other" connection, if Call Leg Relocation was successful */
+		struct gsm_subscriber_connection *other;
+	} lcls;
 };