RSL_Emulation: Add second RSL/RSL_PROC port for hand-over cases

Also, extend RSLEM_{register,unregister}() with an optional third
argiment, so the RSL_DchanHdlr can register 'expect' also for
that secondary BTS/port during hand-over

Change-Id: Ic22778f17dc4b93ef54837cf400ddd7d1732ae7e
diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn
index d20718f..f45b425 100644
--- a/library/RSL_Emulation.ttcn
+++ b/library/RSL_Emulation.ttcn
@@ -33,6 +33,9 @@
 	port RSL_DCHAN_PT RSL;
 	port RSLEM_PROC_PT RSL_PROC;
 	var RslChannelNr g_chan_nr;
+	/* second BTS / DChan during hand-over */
+	port RSL_DCHAN_PT RSL1;
+	port RSLEM_PROC_PT RSL1_PROC;
 };
 
 type record RSLDC_ChanRqd {
@@ -402,16 +405,18 @@
 }
 
 /* client/conn_hdlr side function to use procedure port to register stream_id/chan_nr */
-function f_rslem_register(uint8_t trx_nr, RslChannelNr chan_nr) runs on RSL_DchanHdlr {
-	RSL_PROC.call(RSLEM_register:{trx_nr, chan_nr, self}) {
-		[] RSL_PROC.getreply(RSLEM_register:{?,?,?}) {};
+function f_rslem_register(uint8_t trx_nr, RslChannelNr chan_nr, RSLEM_PROC_PT PT := RSL_PROC)
+runs on RSL_DchanHdlr {
+	PT.call(RSLEM_register:{trx_nr, chan_nr, self}) {
+		[] PT.getreply(RSLEM_register:{?,?,?}) {};
 	}
 }
 
 /* client/conn_hdlr side function to use procedure port to unregister stream_id/chan_nr */
-function f_rslem_unregister(uint8_t trx_nr, RslChannelNr chan_nr) runs on RSL_DchanHdlr {
-	RSL_PROC.call(RSLEM_unregister:{trx_nr, chan_nr, self}) {
-		[] RSL_PROC.getreply(RSLEM_unregister:{?,?,?}) {};
+function f_rslem_unregister(uint8_t trx_nr, RslChannelNr chan_nr, RSLEM_PROC_PT PT := RSL_PROC)
+runs on RSL_DchanHdlr {
+	PT.call(RSLEM_unregister:{trx_nr, chan_nr, self}) {
+		[] PT.getreply(RSLEM_unregister:{?,?,?}) {};
 	}
 }