BSC_ConnectionHandler: introduce ctrl interface

There are some upcomming tests which require to access the control
interface of the MSC while the actual test is running. Future test
cases (e.g. Paging, see also Change Id:
a6a1a6bd6da1bf46d6d703be495795d3610ca431) will use this.

Change-Id: Ie3caf7a449311e7687670cadfa27818635d25aa4
Related: OS#3615
Related: OS#3187
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index f005e02..e97b97d 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -31,8 +31,13 @@
 
 import from SMPP_Emulation all;
 
+import from IPA_Emulation all;
+import from Osmocom_CTRL_Functions all;
+import from Osmocom_CTRL_Types all;
+import from Osmocom_CTRL_Adapter all;
+
 /* this component represents a single subscriber connection */
-type component BSC_ConnHdlr extends BSSAP_ConnHdlr, MNCC_ConnHdlr, GSUP_ConnHdlr, MGCP_ConnHdlr, SMPP_ConnHdlr {
+type component BSC_ConnHdlr extends BSSAP_ConnHdlr, MNCC_ConnHdlr, GSUP_ConnHdlr, MGCP_ConnHdlr, SMPP_ConnHdlr, CTRL_Adapter_CT {
 	var BSC_ConnHdlrPars g_pars;
 	timer g_Tguard := 60.0;
 }
@@ -57,7 +62,10 @@
 	BSSMAP_IE_ClassmarkInformationType3 cm3 optional,
 	AuthVector vec optional,
 	BSC_ConnHdlrNetworkPars net,
-	boolean send_early_cm
+	boolean send_early_cm,
+	charstring ipa_ctrl_ip,
+	integer ipa_ctrl_port,
+	boolean ipa_ctrl_enable
 };
 
 /* get a one-octet bitmaks of supported algorithms based on Classmark information */
@@ -122,6 +130,10 @@
 	activate(as_Tguard());
 	/* Route all SMPP messages for our MSISDN to us */
 	f_create_smpp_expect(hex2str(pars.msisdn));
+
+	if (g_pars.ipa_ctrl_enable == true) {
+		f_ipa_ctrl_start(g_pars.ipa_ctrl_ip, g_pars.ipa_ctrl_port);
+	}
 }