add an IPA test which sends a chopped payload

Add another IPA test to the BTS and BSC test suites.
This new test sends the header in one burst, followed by the
payload which is transmitted byte-per-byte.

The test uses an ID REQ message. If acting as a server, the test
can expect an ID RESP message. However, if acting as a client, the
server will close the connection when it receives the ID REQ.
The CTRL interface port on the BSC does not close the connection in
this case, so that particular port is skipped by the test for now.

Change-Id: If75cb90841bb25619b414f0cabe008a2428a9fdf
Related: OS#2010
Depends: I4804ccabd342b82d44e69dbc6eaaae220ec7d4e4
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 98224ad..fef5fd7 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -2957,6 +2957,15 @@
 	}
 }
 
+testcase TC_chopped_ipa_payload() runs on test_CT {
+	const Integers bsc_ipa_ports := {mp_bsc_rsl_port, mp_bsc_oml_port
+					/* TODO: mp_bsc_ctrl_port does not work yet */};
+	for (var integer i := 0; i < lengthof(bsc_ipa_ports); i := i + 1) {
+		IPA_Testing.f_run_TC_chopped_ipa_payload(mp_bsc_ip, bsc_ipa_ports[i], CONNECT_TO_SERVER);
+	}
+}
+
+
 /* Dyn PDCH todo:
    * activate OSMO as TCH/F
    * activate OSMO as TCH/H
@@ -3068,6 +3077,7 @@
 	execute( TC_dyn_pdch_osmo_act_nack() );
 
 	execute( TC_chopped_ipa_ping() );
+	execute( TC_chopped_ipa_payload() );
 
 	/* at bottom as they might crash OsmoBSC before OS#3182 is fixed */
 	execute( TC_early_conn_fail() );