[MERGED] osmo-ttcn3-hacks[master]: msc: Fix generation of IMSI/IMEI/MSISDN

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Wed Jan 24 22:00:32 UTC 2018


Harald Welte has submitted this change and it was merged.

Change subject: msc: Fix generation of IMSI/IMEI/MSISDN
......................................................................


msc: Fix generation of IMSI/IMEI/MSISDN

Now each test case uses unique IMSI/IMEI/MSISDN numbers, which helps
to identify test cases from traces or from VTY introspection

Change-Id: I54d05e8ec7aeecc48666d3b369351212a6a0ea6f
---
M msc_tests/MSC_Tests.ttcn
1 file changed, 33 insertions(+), 30 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/msc_tests/MSC_Tests.ttcn b/msc_tests/MSC_Tests.ttcn
index e0ee84c..5976b45 100644
--- a/msc_tests/MSC_Tests.ttcn
+++ b/msc_tests/MSC_Tests.ttcn
@@ -299,21 +299,24 @@
 
 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);
+private function f_concat_pad(integer tot_len, hexstring prefix, integer suffix) return hexstring {
+	var integer suffix_len := tot_len - lengthof(prefix);
+	var charstring suffix_ch := int2str(suffix);
+	var integer pad_len := suffix_len - lengthof(suffix_ch);
+
+	return prefix & int2hex(0, pad_len) & str2hex(suffix_ch);
 }
 
-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 */
-	return prefix & int2hex(suffix, suffix_len);
+function f_gen_imei(integer suffix) return hexstring {
+	return f_concat_pad(15, '49999'H, suffix);
 }
 
-function f_gen_msisdn(hexstring prefix, integer suffix) return hexstring {
-	var integer suffix_len := 12 - lengthof(prefix);
-	return prefix & int2hex(suffix, suffix_len);
+function f_gen_imsi(integer suffix) return hexstring {
+	return f_concat_pad(15, '26242'H, suffix);
+}
+
+function f_gen_msisdn(integer suffix) return hexstring {
+	return f_concat_pad(12, '49123'H, suffix);
 }
 
 /* FIXME: move into BSC_ConnectionHandler? */
@@ -323,9 +326,9 @@
 		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),
+		imei := f_gen_imei(imsi_suffix),
+		imsi := f_gen_imsi(imsi_suffix),
+		msisdn := f_gen_msisdn(imsi_suffix),
 		tmsi := omit,
 		cm2 := valueof(ts_CM2_default),
 		cm3 := omit
@@ -503,7 +506,7 @@
 	var BSC_ConnHdlr vc_conn;
 	f_init();
 	f_vty_config(MSCVTY, "network", "authentication optional");
-	vc_conn := f_start_handler(refers(f_tc_cmserv_imsi_unknown), testcasename(), 5);
+	vc_conn := f_start_handler(refers(f_tc_cmserv_imsi_unknown), testcasename(), 6);
 	vc_conn.done;
 }
 
@@ -555,7 +558,7 @@
 	f_init();
 	f_vty_config(MSCVTY, "network", "authentication optional");
 
-	vc_conn := f_start_handler(refers(f_tc_lu_and_mo_call), testcasename(), 6);
+	vc_conn := f_start_handler(refers(f_tc_lu_and_mo_call), testcasename(), 7);
 	vc_conn.done;
 }
 
@@ -589,7 +592,7 @@
 	f_init();
 	f_vty_config(MSCVTY, "network", "authentication required");
 
-	vc_conn := f_start_handler(refers(f_tc_lu_auth_sai_timeout), testcasename(), 7);
+	vc_conn := f_start_handler(refers(f_tc_lu_auth_sai_timeout), testcasename(), 8);
 	vc_conn.done;
 }
 
@@ -623,7 +626,7 @@
 	f_init();
 	f_vty_config(MSCVTY, "network", "authentication required");
 
-	vc_conn := f_start_handler(refers(f_tc_lu_auth_sai_err), testcasename(), 8);
+	vc_conn := f_start_handler(refers(f_tc_lu_auth_sai_err), testcasename(), 9);
 	vc_conn.done;
 }
 
@@ -655,7 +658,7 @@
 	var BSC_ConnHdlr vc_conn;
 	f_init();
 
-	vc_conn := f_start_handler(refers(f_tc_lu_clear_request), testcasename(), 8);
+	vc_conn := f_start_handler(refers(f_tc_lu_clear_request), testcasename(), 10);
 	vc_conn.done;
 }
 
@@ -684,7 +687,7 @@
 	var BSC_ConnHdlr vc_conn;
 	f_init();
 
-	vc_conn := f_start_handler(refers(f_tc_lu_disconnect), testcasename(), 9);
+	vc_conn := f_start_handler(refers(f_tc_lu_disconnect), testcasename(), 11);
 	vc_conn.done;
 }
 
@@ -720,7 +723,7 @@
 	f_init();
 	f_vty_config(MSCVTY, "network", "authentication optional");
 
-	vc_conn := f_start_handler(refers(f_tc_lu_by_imei), testcasename(), 9);
+	vc_conn := f_start_handler(refers(f_tc_lu_by_imei), testcasename(), 12);
 	vc_conn.done;
 }
 
@@ -768,7 +771,7 @@
 	f_init();
 	f_vty_config(MSCVTY, "network", "authentication optional");
 
-	vc_conn := f_start_handler(refers(f_tc_lu_tmsi_noauth_unknown), testcasename(), 1);
+	vc_conn := f_start_handler(refers(f_tc_lu_tmsi_noauth_unknown), testcasename(), 13);
 	vc_conn.done;
 }
 
@@ -795,7 +798,7 @@
 	var BSC_ConnHdlr vc_conn;
 	f_init();
 
-	vc_conn := f_start_handler(refers(f_tc_imsi_detach_by_imsi), testcasename(), 2);
+	vc_conn := f_start_handler(refers(f_tc_imsi_detach_by_imsi), testcasename(), 14);
 	vc_conn.done;
 }
 
@@ -821,7 +824,7 @@
 	var BSC_ConnHdlr vc_conn;
 	f_init();
 
-	vc_conn := f_start_handler(refers(f_tc_imsi_detach_by_tmsi), testcasename(), 3);
+	vc_conn := f_start_handler(refers(f_tc_imsi_detach_by_tmsi), testcasename(), 15);
 	vc_conn.done;
 }
 
@@ -847,7 +850,7 @@
 	var BSC_ConnHdlr vc_conn;
 	f_init();
 
-	vc_conn := f_start_handler(refers(f_tc_imsi_detach_by_imei), testcasename(), 4);
+	vc_conn := f_start_handler(refers(f_tc_imsi_detach_by_imei), testcasename(), 16);
 	vc_conn.done;
 }
 
@@ -911,7 +914,7 @@
 	var BSC_ConnHdlr vc_conn;
 	f_init();
 
-	vc_conn := f_start_handler(refers(f_tc_emerg_call_imei_reject), testcasename(), 5);
+	vc_conn := f_start_handler(refers(f_tc_emerg_call_imei_reject), testcasename(), 17);
 	vc_conn.done;
 }
 
@@ -928,7 +931,7 @@
 	f_init();
 	f_vty_config(MSCVTY, "network", "authentication optional");
 
-	vc_conn := f_start_handler(refers(f_tc_emerg_call_imsi), testcasename(), 6);
+	vc_conn := f_start_handler(refers(f_tc_emerg_call_imsi), testcasename(), 18);
 	vc_conn.done;
 }
 
@@ -949,7 +952,7 @@
 	var BSC_ConnHdlr vc_conn;
 	f_init();
 
-	vc_conn := f_start_handler(refers(f_tc_cm_serv_req_vgcs_reject), testcasename(), 7);
+	vc_conn := f_start_handler(refers(f_tc_cm_serv_req_vgcs_reject), testcasename(), 19);
 	vc_conn.done;
 }
 
@@ -970,7 +973,7 @@
 	var BSC_ConnHdlr vc_conn;
 	f_init();
 
-	vc_conn := f_start_handler(refers(f_tc_cm_serv_req_vbs_reject), testcasename(), 8);
+	vc_conn := f_start_handler(refers(f_tc_cm_serv_req_vbs_reject), testcasename(), 20);
 	vc_conn.done;
 }
 
@@ -991,7 +994,7 @@
 	var BSC_ConnHdlr vc_conn;
 	f_init();
 
-	vc_conn := f_start_handler(refers(f_tc_cm_serv_req_lcs_reject), testcasename(), 9);
+	vc_conn := f_start_handler(refers(f_tc_cm_serv_req_lcs_reject), testcasename(), 21);
 	vc_conn.done;
 }
 

-- 
To view, visit https://gerrit.osmocom.org/6039
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I54d05e8ec7aeecc48666d3b369351212a6a0ea6f
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list