msc: cosmetic: f_perform_lu() / pars: move send_early_cm to BSC_ConnHdlrPars
By moving to the BSC_ConnHdlrPars, also the tests that expect a LU failure able
to indicate a send_cm_update flag.
All current callers of f_perform_lu() pass send_early_cm as 'true', all are
covered by a default of 'true'.
Change-Id: Ic882293f199a33133a171bff14ff433f99cc8576
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 6cacff7..1189112 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -53,7 +53,8 @@
BSSMAP_IE_ClassmarkInformationType2 cm2,
BSSMAP_IE_ClassmarkInformationType3 cm3 optional,
AuthVector vec optional,
- BSC_ConnHdlrNetworkPars net
+ BSC_ConnHdlrNetworkPars net,
+ boolean send_early_cm
};
/* get a one-octet bitmaks of supported algorithms based on Classmark information */
@@ -278,7 +279,7 @@
}
}
-function f_perform_lu(boolean send_early_cm)
+function f_perform_lu()
runs on BSC_ConnHdlr {
var PDU_ML3_MS_NW l3_lu := f_build_lu_imsi(g_pars.imsi)
var PDU_DTAP_MT dtap_mt;
@@ -289,7 +290,7 @@
/* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */
f_bssap_compl_l3(l3_lu);
- if (send_early_cm) {
+ if (g_pars.send_early_cm) {
BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3));
}
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 4bf385a..7347caf 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -359,7 +359,8 @@
cm2 := valueof(ts_CM2_default),
cm3 := omit,
vec := omit,
- net := net_pars
+ net := net_pars,
+ send_early_cm := true
};
vc_conn := BSC_ConnHdlr.create(id);
@@ -384,7 +385,7 @@
private function f_tc_lu_imsi_noauth_tmsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
f_init_handler(pars);
- f_perform_lu(true);
+ f_perform_lu();
}
testcase TC_lu_imsi_noauth_tmsi() runs on MTC_CT {
var BSC_ConnHdlr vc_conn;
@@ -397,7 +398,7 @@
private function f_tc_lu_imsi_noauth_notmsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
pars.net.expect_tmsi := false;
f_init_handler(pars);
- f_perform_lu(true);
+ f_perform_lu();
}
testcase TC_lu_imsi_noauth_notmsi() runs on MTC_CT {
var BSC_ConnHdlr vc_conn;
@@ -464,7 +465,7 @@
private function f_tc_lu_imsi_auth_tmsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
pars.net.expect_auth := true;
f_init_handler(pars);
- f_perform_lu(true);
+ f_perform_lu();
}
testcase TC_lu_imsi_auth_tmsi() runs on MTC_CT {
var BSC_ConnHdlr vc_conn;
@@ -518,7 +519,7 @@
cpars.mgcp_connection_id_bss := '22222'H;
cpars.mgcp_connection_id_mss := '33333'H;
- f_perform_lu(true);
+ f_perform_lu();
f_mo_call(cpars);
}
testcase TC_lu_and_mo_call() runs on MTC_CT {
@@ -835,7 +836,7 @@
private function f_tc_emerg_call_imsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
f_init_handler(pars);
/* First perform location update to ensure subscriber is known */
- f_perform_lu(true);
+ f_perform_lu();
/* Then issue emergency call identified by IMSI */
f_emerg_call(valueof(ts_MI_IMSI_LV(g_pars.imsi)));
}
@@ -852,7 +853,7 @@
f_init_handler(pars);
/* First perform location update to ensure subscriber is known */
- f_perform_lu(true);
+ f_perform_lu();
var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi));
var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_VGCS, mi));
@@ -873,7 +874,7 @@
f_init_handler(pars);
/* First perform location update to ensure subscriber is known */
- f_perform_lu(true);
+ f_perform_lu();
var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi));
var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_VBS, mi));
@@ -894,7 +895,7 @@
f_init_handler(pars);
/* First perform location update to ensure subscriber is known */
- f_perform_lu(true);
+ f_perform_lu();
var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi));
var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_LCS, mi));
@@ -915,7 +916,7 @@
f_init_handler(pars);
/* First perform location update to ensure subscriber is known */
- f_perform_lu(true);
+ f_perform_lu();
var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi));
var PDU_ML3_MS_NW l3_info := valueof(ts_CM_REEST_REQ(0, mi));
@@ -976,7 +977,7 @@
pars.net.expect_auth := true;
pars.net.expect_ciph := true;
f_init_handler(pars);
- f_perform_lu(true);
+ f_perform_lu();
}
testcase TC_lu_imsi_auth_tmsi_encr_13_13() runs on MTC_CT {
var BSC_ConnHdlr vc_conn;
@@ -1061,7 +1062,7 @@
private function f_tc_establish_and_nothing(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
f_init_handler(pars);
- f_perform_lu(true);
+ f_perform_lu();
f_establish_fully(valueof(ts_MI_IMSI_LV(g_pars.imsi)));
f_expect_clear();
@@ -1080,7 +1081,7 @@
var CallParameters cpars := valueof(t_CallParams('12345'H, 0));
- f_perform_lu(true);
+ f_perform_lu();
f_establish_fully(valueof(ts_MI_IMSI_LV(g_pars.imsi)));
f_create_mncc_expect(hex2str(cpars.called_party));
@@ -1105,7 +1106,7 @@
var MNCC_PDU mncc;
var MgcpCommand mgcp_cmd;
- f_perform_lu(true);
+ f_perform_lu();
f_establish_fully(valueof(ts_MI_IMSI_LV(g_pars.imsi)));
f_create_mncc_expect(hex2str(cpars.called_party));
@@ -1139,7 +1140,7 @@
var MNCC_PDU mncc;
var MgcpCommand mgcp_cmd;
- f_perform_lu(true);
+ f_perform_lu();
f_establish_fully(valueof(ts_MI_IMSI_LV(g_pars.imsi)));
f_create_mncc_expect(hex2str(cpars.called_party));
@@ -1207,7 +1208,7 @@
var MgcpCommand mgcp_cmd;
var OCT4 tmsi;
- f_perform_lu(true);
+ f_perform_lu();
if (isvalue(g_pars.tmsi)) {
tmsi := g_pars.tmsi;
} else {
@@ -1351,7 +1352,7 @@
cpars.mgcp_connection_id_mss := '33333'H;
/* Location Update to make subscriber known */
- f_perform_lu(true);
+ f_perform_lu();
/* First MO call should succeed */
f_mo_call(cpars);
@@ -1393,7 +1394,7 @@
pars.net.expect_ciph := true;
pars.net.kc_support := '02'O; /* A5/1 only */
f_init_handler(pars);
- f_perform_lu(true);
+ f_perform_lu();
}
testcase TC_lu_imsi_auth_tmsi_encr_1_13() runs on MTC_CT {
var BSC_ConnHdlr vc_conn;
@@ -1411,7 +1412,7 @@
pars.net.expect_ciph := true;
pars.net.kc_support := '08'O; /* A5/3 only */
f_init_handler(pars);
- f_perform_lu(true);
+ f_perform_lu();
}
testcase TC_lu_imsi_auth_tmsi_encr_3_13() runs on MTC_CT {
var BSC_ConnHdlr vc_conn;
@@ -1510,7 +1511,7 @@
pars.cm2.classmarkInformationType2_oct5.a5_3 := '0'B;
pars.cm2.classmarkInformationType2_oct5.a5_2 := '1'B;
f_init_handler(pars, 15.0);
- f_perform_lu(true);
+ f_perform_lu();
}
testcase TC_lu_imsi_auth_tmsi_encr_013_2() runs on MTC_CT {
var BSC_ConnHdlr vc_conn;
@@ -1531,7 +1532,7 @@
cpars.mgcp_connection_id_bss := '10004'H;
cpars.mgcp_connection_id_mss := '10005'H;
- f_perform_lu(true);
+ f_perform_lu();
f_mt_call(cpars);
}
testcase TC_lu_and_mt_call() runs on MTC_CT {
@@ -1550,7 +1551,7 @@
cpars.mgcp_connection_id_bss := '22222'H;
cpars.mgcp_connection_id_mss := '33333'H;
- f_perform_lu(true);
+ f_perform_lu();
f_mo_seq_dtmf_dup(cpars);
}
testcase TC_mo_setup_and_dtmf_dup() runs on MTC_CT {