Change in osmo-ttcn3-hacks[master]: support odd-length calling MSISDN in MSC tests

Stefan Sperling gerrit-no-reply at lists.osmocom.org
Mon Nov 12 16:06:47 UTC 2018


Stefan Sperling has uploaded this change for review. ( https://gerrit.osmocom.org/11743


Change subject: support odd-length calling MSISDN in MSC tests
......................................................................

support odd-length calling MSISDN in MSC tests

MSC tests were unable to match odd-length digit strings in
a CallingPartyBCD_Number template created by tr_Calling().
This happens because the raw encoder for CallingPartyBCD_Number
pads odd-length digits with 1-bits ('F'H). Do the same when
constructing such a template in our own code to ensure that
we'll match the actual data received.

Change-Id: I34439c8750f588802a5403375e2a3d6e74dae70c
Related: OS#2930
---
M library/L3_Templates.ttcn
M msc/MSC_Tests.ttcn
2 files changed, 12 insertions(+), 5 deletions(-)



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

diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index 52d4a2a..e109fde 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -838,11 +838,20 @@
 	digits := digits
 }
 
+private function f_pad_digits(hexstring digits) return hexstring {
+	if (lengthof(digits) mod 2 != 0) {
+		/* Add trailing nibble of 1-bit padding, like the CallingPartyBCD_Number encoder would do.
+		 * Otherwise our template won't match the data received (see OS#2930). */
+		return digits & 'F'H;
+	}
+	return digits;
+}
+
 template CallingPartyBCD_Number tr_Calling(template hexstring digits) := {
 	elementIdentifier := '5C'O,
 	lengthIndicator := ?,
 	oct3 := ?,
-	digits := digits
+	digits := f_pad_digits(valueof(digits))
 }
 
 type integer SpeechVer;
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index c0cd9d3..2a6c034 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -1722,8 +1722,7 @@
 /* LU followed by MT call (including paging) */
 private function f_tc_lu_and_mt_call(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
 	f_init_handler(pars);
-	//FIXME: odd digits var CallParameters cpars := valueof(t_CallParams('12345'H, 0));
-	var CallParameters cpars := valueof(t_CallParams('123456'H, 0));
+	var CallParameters cpars := valueof(t_CallParams('12345'H, 0));
 	cpars.bss_rtp_port := 1110;
 	cpars.mgcp_connection_id_bss := '10004'H;
 	cpars.mgcp_connection_id_mss := '10005'H;
@@ -1845,8 +1844,7 @@
 /* LU followed by MT call (including paging) */
 private function f_tc_lu_and_mt_call_no_dlcx_resp(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
 	f_init_handler(pars);
-	//FIXME: odd digits var CallParameters cpars := valueof(t_CallParams('12345'H, 0));
-	var CallParameters cpars := valueof(t_CallParams('123456'H, 0));
+	var CallParameters cpars := valueof(t_CallParams('12345'H, 0));
 	cpars.bss_rtp_port := 1110;
 	cpars.mgcp_connection_id_bss := '10004'H;
 	cpars.mgcp_connection_id_mss := '10005'H;

-- 
To view, visit https://gerrit.osmocom.org/11743
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I34439c8750f588802a5403375e2a3d6e74dae70c
Gerrit-Change-Number: 11743
Gerrit-PatchSet: 1
Gerrit-Owner: Stefan Sperling <ssperling at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181112/7eedd54b/attachment.html>


More information about the gerrit-log mailing list