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());
+ }
+}