first steps towards a L1CTL / LAPD test

The idea here is to implement the L1CTL protocol in TTCN-3 so we can
speak it over a unix domain socket (test port) for simple tasks such as
activating dedicated mode.

This can then subsequently be used for LAPDm testing
diff --git a/lapd/L1CTL_Test.ttcn b/lapd/L1CTL_Test.ttcn
new file mode 100644
index 0000000..b0486fe
--- /dev/null
+++ b/lapd/L1CTL_Test.ttcn
@@ -0,0 +1,31 @@
+module L1CTL_Test {
+	import from GSM_Types all;
+	import from Osmocom_Types all;
+	import from L1CTL_Types all;
+
+	const octetstring c_ul_param_req := '1300000000000000001d0000'O;
+	const octetstring c_ul_data_req := '060a0128284018001d000103490615004001c0000000000000000000000000'O;
+	const octetstring c_ul_ccch_mode_req := '1000000002000000'O;
+	const octetstring c_ul_reset_req := '0d00000002000000'O;
+	const octetstring c_ul_dm_est_req := '050000002800000007000367000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005'O;
+	const octetstring c_ul_rach_req := '040000000000000012010008'O;
+
+	const octetstring c_dl_data_ind := '03000000900003670015f5613f3f00002d063f0328e36712ead000002b2b2b2b2b2b2b2b2b2b2b'O;
+
+	type component dummy_CT {
+	};
+
+	testcase TC_si1() runs on dummy_CT {
+		log("L1CTL_PARAM_REQ: ", dec_L1ctlUlMessage(c_ul_param_req));
+		log("L1CTL_DATA_REQ: ", dec_L1ctlUlMessage(c_ul_data_req));
+		log("L1CTL_CCCH_MODE_REQ: ", dec_L1ctlUlMessage(c_ul_ccch_mode_req));
+		log("L1CTL_RESET_REQ: ", dec_L1ctlUlMessage(c_ul_reset_req));
+		log("L1CTL_DM_EST_REQ: ", dec_L1ctlUlMessage(c_ul_dm_est_req));
+		log("L1CTL_RACH_REQ: ", dec_L1ctlUlMessage(c_ul_rach_req));
+		log("L1CTL_DATA_IND: ", dec_L1ctlDlMessage(c_dl_data_ind));
+		setverdict(pass);
+	}
+	control {
+		execute(TC_si1());
+	}
+}