diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index b24cb8d..24a56b2 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -108,6 +108,7 @@
 	boolean use_umts_aka,
 	boolean ran_is_geran,
 	boolean use_osmux,
+	boolean use_ipv6,
 	boolean verify_cell_id
 };
 
@@ -932,7 +933,7 @@
 
 	if (g_pars.ran_is_geran) {
 		var template BSSMAP_IE_AoIP_TransportLayerAddress tla_ass :=
-			tr_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_conn_1.mgw_rtp_ip), ?);
+			f_tr_BSSMAP_IE_AoIP_TLA(cpars.mgw_conn_1.mgw_rtp_ip, ?);
 
 		interleave {
 		/* Second MGCP CRCX (this time for MSS/CN side) */
@@ -954,8 +955,7 @@
 			var BSSMAP_IE_SpeechCodec codec;
 			var BSSMAP_IE_Osmo_OsmuxCID osmuxCID;
 			log("f_mt_call_complete 6");
-
-			tla := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), cpars.bss_rtp_port));
+			tla := f_ts_BSSMAP_IE_AoIP_TLA(cpars.bss_rtp_ip, cpars.bss_rtp_port);
 			codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}));
 
 			if (cpars.use_osmux) {
@@ -1325,7 +1325,7 @@
 	}
 
 	var template BSSMAP_IE_AoIP_TransportLayerAddress tla_ass :=
-		tr_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_conn_1.mgw_rtp_ip), ?);
+		f_tr_BSSMAP_IE_AoIP_TLA(cpars.mgw_conn_1.mgw_rtp_ip, ?);
 
 	var default mdcx := activate(as_optional_mgcp_mdcx(cpars.mgw_conn_2.mgw_rtp_ip, cpars.mgw_conn_2.mgw_rtp_port));
 	var boolean got_mncc_setup_compl_ind := false;
@@ -1378,7 +1378,7 @@
 			mtc.stop;
 		}
 
-		tla := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), cpars.bss_rtp_port));
+		tla := valueof(f_ts_BSSMAP_IE_AoIP_TLA(cpars.bss_rtp_ip, cpars.bss_rtp_port));
 		codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}));
 		if (cpars.use_osmux) {
 			if (not ispresent(bssap.pdu.bssmap.assignmentRequest.osmuxCID)) {
