hnbgw: Make RAB release cause configurable

Change-Id: Ie072dafbc3378739d41411632e33a8a1ec1ed572
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn
index cc46021..518dee9 100644
--- a/hnbgw/HNBGW_Tests.ttcn
+++ b/hnbgw/HNBGW_Tests.ttcn
@@ -290,7 +290,9 @@
 	octetstring nas_pdu optional,
 	/* local and remote SCCP addresses, used in TC_mscpool_paging_* */
 	SCCP_PAR_Address sccp_addr_msc optional,
-	SCCP_PAR_Address sccp_addr_hnbgw optional
+	SCCP_PAR_Address sccp_addr_hnbgw optional,
+	/* RAB release cause */
+	RANAP_IEs.Cause rab_rel_cause
 }
 
 /* We extend:
@@ -1052,7 +1054,7 @@
 private template (value) TestHdlrParams
 t_pars(integer imsi_suffix, boolean ps_domain := false, integer hnb_idx := 0,
        boolean expect_separate_sccp_cr := false, integer tx_sccp_cr_data_len := 0,
-       integer cn_nr := 0) := {
+       integer cn_nr := 0, template (value) RANAP_IEs.Cause rab_rel_cause := ts_RanapCause_om_intervention) := {
 	hnb_idx := hnb_idx,
 	cn_idx := f_cn_idx(ps_domain, cn_nr),
 	imsi := f_gen_imsi(imsi_suffix),
@@ -1064,7 +1066,8 @@
 	pfcp_local_addr := mp_pfcp_ip_local,
 	nas_pdu := omit,
 	sccp_addr_msc := omit,
-	sccp_addr_hnbgw := omit
+	sccp_addr_hnbgw := omit,
+	rab_rel_cause := rab_rel_cause
 }
 
 /* Create an Iuh connection; send InitialUE; expect it to appear on new SCCP conenction */
@@ -1417,7 +1420,7 @@
 	f_create_rab(pars.mgcp_pars);
 
 	/* Send Iu Release */
-	tx := valueof(ts_RANAP_IuReleaseCommand(ts_RanapCause_om_intervention));
+	tx := valueof(ts_RANAP_IuReleaseCommand(pars.rab_rel_cause));
 	f_iu2iuh(tx);
 
 	T.start;
@@ -1457,7 +1460,7 @@
 	f_rab_ass_req(pars.mgcp_pars);
 
 	/* Send RAB failed list in response */
-	tx := valueof(ts_RANAP_RabAssResp(rab_fl := ts_RAB_FL(t_RAB_id(23), ts_RanapCause_om_intervention)));
+	tx := valueof(ts_RANAP_RabAssResp(rab_fl := ts_RAB_FL(t_RAB_id(23), pars.rab_rel_cause)));
 	f_iuh2iu(tx);
 
 	T.start;
@@ -1494,7 +1497,7 @@
 	f_create_rab(pars.mgcp_pars);
 
 	/* Send RAB Release */
-	tx := valueof(ts_RANAP_RabAssReq(rab_rl := ts_RAB_RL(t_RAB_id(23), ts_RanapCause_om_intervention)));
+	tx := valueof(ts_RANAP_RabAssReq(rab_rl := ts_RAB_RL(t_RAB_id(23), pars.rab_rel_cause)));
 	BSSAP.send(tx);
 
 	T.start;
@@ -1553,7 +1556,7 @@
 	}
 
 	/* Send Iu Release */
-	tx := valueof(ts_RANAP_IuReleaseCommand(ts_RanapCause_om_intervention));
+	tx := valueof(ts_RANAP_IuReleaseCommand(pars.rab_rel_cause));
 	f_iu2iuh(tx);
 
 	tx := valueof(ts_RANAP_IuReleaseComplete());
@@ -1805,7 +1808,7 @@
 	f_bssap_expect(tr_RANAP_RabAssResp(rab_smdl));
 
 	f_sleep(2.0);
-	tx := valueof(ts_RANAP_IuReleaseCommand(ts_RanapCause_om_intervention));
+	tx := valueof(ts_RANAP_IuReleaseCommand(pars.rab_rel_cause));
 	f_iu2iuh(tx);
 
 	tx := valueof(ts_RANAP_IuReleaseComplete());
@@ -1872,7 +1875,7 @@
 	f_bssap_expect(tr_RANAP_RabAssResp(rab_smdl));
 
 	f_sleep(2.0);
-	tx := valueof(ts_RANAP_IuReleaseCommand(ts_RanapCause_om_intervention));
+	tx := valueof(ts_RANAP_IuReleaseCommand(pars.rab_rel_cause));
 	f_iu2iuh(tx);
 
 	tx := valueof(ts_RANAP_IuReleaseComplete());
@@ -2749,7 +2752,7 @@
 	f_bssap_expect(tx);
 
 	/* Send Iu Release */
-	tx := valueof(ts_RANAP_IuReleaseCommand(ts_RanapCause_om_intervention));
+	tx := valueof(ts_RANAP_IuReleaseCommand(pars.rab_rel_cause));
 	f_iu2iuh(tx);
 
 	T.start;