BSSGP_Emulation.ttcn: extend BSSGP_Client_CT to hold 3 instances of BSSGP

Change-Id: Ibd7abba826a08b582361e9c255e9c44185e14067
diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index d59ac11..a63ca1d 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -68,9 +68,9 @@
 		ns_component := NS_CT.create;
 		bssgp_component := BSSGP_CT.create;
 		/* connect our BSSGP port to the BSSGP Emulation */
-		connect(self:BSSGP, bssgp_component:BSSGP_SP);
-		connect(self:BSSGP_SIG, bssgp_component:BSSGP_SP_SIG);
-		connect(self:BSSGP_PROC, bssgp_component:BSSGP_PROC);
+		connect(self:BSSGP[0], bssgp_component:BSSGP_SP);
+		connect(self:BSSGP_SIG[0], bssgp_component:BSSGP_SP_SIG);
+		connect(self:BSSGP_PROC[0], bssgp_component:BSSGP_PROC);
 		/* connect lower-end of BSSGP with BSSGP_CODEC_PORT (maps to NS_PT*/
 		connect(bssgp_component:BSCP, ns_component:NS_SP);
 		/* connect lower-end of NS emulation to NS_CODEC_PORT (on top of IPl4) */
@@ -186,7 +186,7 @@
 
 		log(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc)));
 
-		BSSGP.send(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc)));
+		BSSGP[0].send(ts_BSSGP_DL_UD(g_mmctx.tlli, enc_PDU_LLC(llc)));
 	}
 
 	/* Establish BSSGP connection to PCU */
@@ -196,8 +196,8 @@
 		f_init();
 		T.start
 		alt {
-			[] BSSGP.receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { }
-			[] BSSGP.receive { repeat; }
+			[] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { }
+			[] BSSGP[0].receive { repeat; }
 			[] T.timeout {
 				setverdict(fail, "Timeout establishing BSSGP connection");
 				mtc.stop;
@@ -215,17 +215,17 @@
 		f_init();
 
 		/* Send paging on signalling BVCI 0 since osmo-pcu does not support paging on PTP yet. */
-		BSSGP_SIG.send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi));
-		BSSGP_SIG.send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi));
+		BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_IMSI(0, g_mmctx.imsi));
+		BSSGP_SIG[0].send(ts_BSSGP_PS_PAGING_PTMSI(0, g_mmctx.imsi, tmsi));
 
 		while (true) {
 			var BssgpDecoded bd;
 			alt {
-				[] BSSGP.receive(tr_BD_L3_MT(?)) -> value bd {
+				[] BSSGP[0].receive(tr_BD_L3_MT(?)) -> value bd {
 					log("BSSGP Rx: ", bd);
 				}
-				[] BSSGP.receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; }
-				[] BSSGP.receive { repeat; }
+				[] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; }
+				[] BSSGP[0].receive { repeat; }
 			}
 		}
 	}
@@ -283,7 +283,7 @@
 	timer T := 5.0;
 	T.start;
 	alt {
-	[] BSSGP.receive(bd_exp) {
+	[] BSSGP[0].receive(bd_exp) {
 		log("found matching BSSGP UL-UNITDATA PDU");
 		}
 	[] T.timeout {
@@ -355,14 +355,14 @@
 		while (true) {
 			var BssgpDecoded bd;
 			alt {
-				[] BSSGP.receive(tr_BD_BSSGP(?)) -> value bd {
+				[] BSSGP[0].receive(tr_BD_BSSGP(?)) -> value bd {
 					log("BSSGP Rx: ", bd);
 					//log("GMM Rx: ", dec_PDU_L3_MS_SGSN(pdu.payload));
 					g_mmctx.tlli := bd.bssgp.pDU_BSSGP_UL_UNITDATA.tLLI;
 					tx_gmm(LLC_CR_DL_CMD, gmm_auth_req);
 				}
-				[] BSSGP.receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; }
-				[] BSSGP.receive { repeat; }
+				[] BSSGP[0].receive(t_BssgpStsInd(?, ?, BVC_S_UNBLOCKED)) { repeat; }
+				[] BSSGP[0].receive { repeat; }
 			}
 		}
 	}