diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp
index 1bfc8dc..0125c3a 100644
--- a/library/IPA_Emulation.ttcnpp
+++ b/library/IPA_Emulation.ttcnpp
@@ -110,12 +110,14 @@
 	RSL_Message	rsl
 };
 
-template (value) ASP_RSL_Unitdata ts_ASP_RSL_UD(IpaStreamId sid, template (value) RSL_Message rsl) := {
+template (value) ASP_RSL_Unitdata ts_ASP_RSL_UD(template (value) RSL_Message rsl,
+						IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := {
 	streamId := sid,
 	rsl := rsl
 }
 
-template ASP_RSL_Unitdata tr_ASP_RSL_UD(template IpaStreamId sid, template RSL_Message rsl) := {
+template ASP_RSL_Unitdata tr_ASP_RSL_UD(template (present) RSL_Message rsl,
+					template IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := {
 	streamId := sid,
 	rsl := rsl
 }
diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn
index 5a0816f..67a473f 100644
--- a/library/RSL_Emulation.ttcn
+++ b/library/RSL_Emulation.ttcn
@@ -385,7 +385,7 @@
 			Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!");
 			}
 		[bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) {
-			IPA_PT.send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_PAGING_LOAD_IND(23)));
+			IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23)));
 			}
 		[not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { }
 		[bts_role] IPA_PT.receive(tr_RSL(tr_RSL_IMM_ASSIGN)) -> value rx_rsl {
@@ -460,7 +460,7 @@
 			chan_nr := rx_rsl.rsl.ies[0].body.chan_nr;
 			trx_nr := f_trx_by_streamId(rx_rsl.streamId);
 			f_store_last_act_data(trx_nr, chan_nr, rx_rsl.rsl);
-			IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.streamId, ts_RSL_CHAN_ACT_ACK(chan_nr, 23)));
+			IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_CHAN_ACT_ACK(chan_nr, 23), rx_rsl.streamId));
 		}
 
 		[not dchan_suspended] IPA_PT.receive(tr_RSL(tr_RSL_MsgTypeDR(?))) -> value rx_rsl {
@@ -483,8 +483,7 @@
 		[bts_role] CLIENT_PT.receive(RSLDC_ChanRqd:?) -> value chan_rqd sender vc_conn {
 			/* Store the knowledge that this sender has requested a certain RQ+time */
 			f_cid_create(chan_rqd.ra, chan_rqd.fn, vc_conn);
-			IPA_PT.send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,
-						 ts_RSL_CHAN_RQD(chan_rqd.ra, chan_rqd.fn)));
+			IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_CHAN_RQD(chan_rqd.ra, chan_rqd.fn)));
 			}
 
 		[not bts_role] CLIENT_PT.receive(RSLDC_ChanRqd:?) -> value chan_rqd sender vc_conn {
@@ -495,11 +494,11 @@
 		[] CLIENT_PT.receive(tr_RSL_MsgType(?)) -> value rx_rsl_msg sender vc_conn {
 			/* forward to BSC */
 			cid := f_cid_by_comp_ref(vc_conn);
-			IPA_PT.send(ts_ASP_RSL_UD(ConnectionTable[cid].stream_id, rx_rsl_msg));
+			IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id));
 			}
 
 		[] CCHAN_PT.receive(tr_RSL(?)) -> value rx_rsl {
-			IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.streamId, rx_rsl.rsl));
+			IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId));
 			}
 
 		/* explicit registration, e.g. in (non-immediate) assignment case */
