MSC_Tests: Proper treatment of IMEI + TMSI
* don't use IMSI as IMEI
* store the TMSI (after it is allocated) in the g_pars variable for later use
Change-Id: I717f1c9ab21e5be8b88f10ce4e8c583b385f3664
diff --git a/msc_tests/MSC_Tests.ttcn b/msc_tests/MSC_Tests.ttcn
index 4bacc1d..959cd37 100644
--- a/msc_tests/MSC_Tests.ttcn
+++ b/msc_tests/MSC_Tests.ttcn
@@ -290,6 +290,12 @@
type function void_fn(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr;
+function f_gen_imei(hexstring prefix, integer suffix) return hexstring {
+ var integer suffix_len := 15 - lengthof(prefix);
+ suffix_len := suffix_len;
+ return prefix & int2hex(suffix, suffix_len);
+}
+
function f_gen_imsi(hexstring prefix, integer suffix) return hexstring {
var integer suffix_len := 15 - lengthof(prefix);
suffix_len := suffix_len-1; /* FIXME: fix odd IMSI length */
@@ -308,8 +314,10 @@
sccp_addr_own := g_sccp_addr_own,
sccp_addr_peer := g_sccp_addr_peer,
cell_id := valueof(ts_CellId_CGI('262'H, '042'H, 23, 42)),
+ imei := f_gen_imei('49999'H, imsi_suffix),
imsi := f_gen_imsi('26242'H, imsi_suffix),
msisdn := f_gen_msisdn('491239999'H, imsi_suffix),
+ tmsi := omit,
cm2 := valueof(ts_CM2_default),
cm3 := omit
};
@@ -654,7 +662,7 @@
private function f_tc_lu_by_imei(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
g_pars := pars;
- var PDU_ML3_MS_NW l3_lu := f_build_lu_imei(g_pars.imsi)
+ var PDU_ML3_MS_NW l3_lu := f_build_lu_imei(g_pars.imei)
var PDU_DTAP_MT dtap_mt;
/* tell GSUP dispatcher to send this IMSI to us */
@@ -788,7 +796,7 @@
private function f_tc_imsi_detach_by_imei(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
g_pars := pars;
- var MobileIdentityLV mi := valueof(ts_MI_IMEI_LV(g_pars.imsi));
+ var MobileIdentityLV mi := valueof(ts_MI_IMEI_LV(g_pars.imei));
/* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */
f_bssap_compl_l3(valueof(ts_ML3_MO_MM_IMSI_DET_Ind(mi)));
@@ -860,7 +868,7 @@
private function f_tc_emerg_call_imei_reject(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
g_pars := pars;
- var MobileIdentityLV mi := valueof(ts_MI_IMEI_LV(g_pars.imsi));
+ var MobileIdentityLV mi := valueof(ts_MI_IMEI_LV(g_pars.imei));
var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ('0010'B, mi));
f_bssap_compl_l3(l3_info);
BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ('05'O)));