Change in osmo-ttcn3-hacks[master]: MSC: f_ran_register_imsi(): allow passing omit as TMSI

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/.

fixeria gerrit-no-reply at lists.osmocom.org
Thu Jan 9 23:23:33 UTC 2020


fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16786 )


Change subject: MSC: f_ran_register_imsi(): allow passing omit as TMSI
......................................................................

MSC: f_ran_register_imsi(): allow passing omit as TMSI

Change-Id: I6dd2f77283a79e83f028115f4cc42f05db885838
---
M library/RAN_Emulation.ttcnpp
M msc/MSC_Tests.ttcn
2 files changed, 21 insertions(+), 61 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/86/16786/1

diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp
index 891de09..b54d6e4 100644
--- a/library/RAN_Emulation.ttcnpp
+++ b/library/RAN_Emulation.ttcnpp
@@ -1444,8 +1444,17 @@
 }
 
 /* helper function for clients to register their IMSI/TMSI */
-function f_ran_register_imsi(hexstring imsi, OCT4 tmsi)
+function f_ran_register_imsi(hexstring imsi, template (omit) OCT4 tmsi_or_omit)
 runs on RAN_ConnHdlr {
+	var OCT4 tmsi;
+
+	/* Resolve omit to a special reserved value */
+	if (istemplatekind(tmsi_or_omit, "omit")) {
+		tmsi := 'FFFFFFFF'O;
+	} else {
+		tmsi := valueof(tmsi_or_omit);
+	}
+
 	BSSAP_PROC.call(RAN_register_imsi:{imsi, tmsi, self}) {
 		[] BSSAP_PROC.getreply(RAN_register_imsi:{?,?,?}) {};
 	}
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 529a396..f7df81a 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -1345,15 +1345,9 @@
 private function f_mt_call_start(inout CallParameters cpars) runs on BSC_ConnHdlr {
 	var MNCC_PDU mncc;
 	var MgcpCommand mgcp_cmd;
-	var OCT4 tmsi;
 
 	f_perform_lu();
-	if (isvalue(g_pars.tmsi)) {
-		tmsi := g_pars.tmsi;
-	} else {
-		tmsi := 'FFFFFFFF'O;
-	}
-	f_ran_register_imsi(g_pars.imsi, tmsi);
+	f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
 
 	/* Allocate call reference and send SETUP via MNCC to MSC */
 	cpars.mncc_callref := f_rnd_int(2147483648);
@@ -1914,7 +1908,6 @@
 /* LU followed by MT SMS */
 friend function f_tc_lu_and_mt_sms(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
 	var SmsParameters spars := valueof(t_SmsPars);
-	var OCT4 tmsi;
 
 	f_init_handler(pars);
 
@@ -1922,12 +1915,7 @@
 	f_perform_lu();
 
 	/* register an 'expect' for given IMSI (+TMSI) */
-	if (isvalue(g_pars.tmsi)) {
-		tmsi := g_pars.tmsi;
-	} else {
-		tmsi := 'FFFFFFFF'O;
-	}
-	f_ran_register_imsi(g_pars.imsi, tmsi);
+	f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
 
 	f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS");
 
@@ -1955,19 +1943,14 @@
 /* Paging for MT SMS but no response */
 friend function f_tc_lu_and_mt_sms_paging_and_nothing(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
 	var SmsParameters spars := valueof(t_SmsPars);
-	var OCT4 tmsi;
+
 	f_init_handler(pars, 150.0);
 
 	/* Perform location update */
 	f_perform_lu();
 
 	/* register an 'expect' for given IMSI (+TMSI) */
-	if (isvalue(g_pars.tmsi)) {
-		tmsi := g_pars.tmsi;
-	} else {
-		tmsi := 'FFFFFFFF'O;
-	}
-	f_ran_register_imsi(g_pars.imsi, tmsi);
+	f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
 
 	f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS");
 
@@ -2013,7 +1996,6 @@
 /* LU followed by MT SMS with repeated paging */
 friend function f_tc_lu_and_mt_sms_paging_repeated(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
 	var SmsParameters spars := valueof(t_SmsPars);
-	var OCT4 tmsi;
 
 	f_init_handler(pars);
 
@@ -2021,12 +2003,7 @@
 	f_perform_lu();
 
 	/* register an 'expect' for given IMSI (+TMSI) */
-	if (isvalue(g_pars.tmsi)) {
-		tmsi := g_pars.tmsi;
-	} else {
-		tmsi := 'FFFFFFFF'O;
-	}
-	f_ran_register_imsi(g_pars.imsi, tmsi);
+	f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
 
 	f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS");
 
@@ -2310,11 +2287,7 @@
 	f_perform_lu();
 
 	/* Register an 'expect' for given IMSI (+TMSI) */
-	if (isvalue(g_pars.tmsi)) {
-		f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
-	} else {
-		f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O);
-	}
+	f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
 
 	var template GSUP_PDU mt_forwardSM_res := tr_GSUP_MT_FORWARD_SM_RES(
 		imsi := g_pars.imsi,
@@ -2375,11 +2348,7 @@
 	f_perform_lu();
 
 	/* Register an 'expect' for given IMSI (+TMSI) */
-	if (isvalue(g_pars.tmsi)) {
-		f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
-	} else {
-		f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O);
-	}
+	f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
 
 	var template GSUP_PDU mt_forwardSM_err := tr_GSUP_MT_FORWARD_SM_ERR(
 		imsi := g_pars.imsi,
@@ -2442,11 +2411,7 @@
 	f_perform_lu();
 
 	/* Register an 'expect' for given IMSI (+TMSI) */
-	if (isvalue(g_pars.tmsi)) {
-		f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
-	} else {
-		f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O);
-	}
+	f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
 
 	/* Submit the 1st MT SMS on GSUP */
 	log("TX MT-forwardSM-Req for the 1st SMS");
@@ -2555,11 +2520,7 @@
 	f_perform_lu();
 
 	/* Register an 'expect' for given IMSI (+TMSI) */
-	if (isvalue(g_pars.tmsi)) {
-		f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
-	} else {
-		f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O);
-	}
+	f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
 
 	/* Send CM Service Request for MO SMMA */
 	f_establish_fully(EST_TYPE_MO_SMS);
@@ -2659,11 +2620,7 @@
 	f_perform_lu();
 
 	/* Register an 'expect' for given IMSI (+TMSI) */
-	if (isvalue(g_pars.tmsi)) {
-		f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
-	} else {
-		f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O);
-	}
+	f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
 
 	var template GSUP_PDU mt_forwardSM_res := tr_GSUP_MT_FORWARD_SM_RES(
 		imsi := g_pars.imsi,
@@ -2811,13 +2768,7 @@
 	SMPP.receive(tr_SMPP(c_SMPP_command_id_alert_notification, ESME_ROK));
 
 	/* register an 'expect' for given IMSI (+TMSI) */
-	var OCT4 tmsi;
-	if (isvalue(g_pars.tmsi)) {
-		tmsi := g_pars.tmsi;
-	} else {
-		tmsi := 'FFFFFFFF'O;
-	}
-	f_ran_register_imsi(g_pars.imsi, tmsi);
+	f_ran_register_imsi(g_pars.imsi, g_pars.tmsi);
 
 	var SmsParameters spars := valueof(t_SmsPars);
 	/* TODO: test with more intelligent user data; test different coding schemes */

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16786
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I6dd2f77283a79e83f028115f4cc42f05db885838
Gerrit-Change-Number: 16786
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <axilirator at gmail.com>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200109/de524a2c/attachment.htm>


More information about the gerrit-log mailing list