<p>Stefan Sperling has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/11743">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">support odd-length calling MSISDN in MSC tests<br><br>MSC tests were unable to match odd-length digit strings in<br>a CallingPartyBCD_Number template created by tr_Calling().<br>This happens because the raw encoder for CallingPartyBCD_Number<br>pads odd-length digits with 1-bits ('F'H). Do the same when<br>constructing such a template in our own code to ensure that<br>we'll match the actual data received.<br><br>Change-Id: I34439c8750f588802a5403375e2a3d6e74dae70c<br>Related: OS#2930<br>---<br>M library/L3_Templates.ttcn<br>M msc/MSC_Tests.ttcn<br>2 files changed, 12 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/11743/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn</span><br><span>index 52d4a2a..e109fde 100644</span><br><span>--- a/library/L3_Templates.ttcn</span><br><span>+++ b/library/L3_Templates.ttcn</span><br><span>@@ -838,11 +838,20 @@</span><br><span>   digits := digits</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+private function f_pad_digits(hexstring digits) return hexstring {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (lengthof(digits) mod 2 != 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+            /* Add trailing nibble of 1-bit padding, like the CallingPartyBCD_Number encoder would do.</span><br><span style="color: hsl(120, 100%, 40%);">+             * Otherwise our template won't match the data received (see OS#2930). */</span><br><span style="color: hsl(120, 100%, 40%);">+         return digits & 'F'H;</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span style="color: hsl(120, 100%, 40%);">+     return digits;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> template CallingPartyBCD_Number tr_Calling(template hexstring digits) := {</span><br><span>    elementIdentifier := '5C'O,</span><br><span>  lengthIndicator := ?,</span><br><span>        oct3 := ?,</span><br><span style="color: hsl(0, 100%, 40%);">-      digits := digits</span><br><span style="color: hsl(120, 100%, 40%);">+      digits := f_pad_digits(valueof(digits))</span><br><span> }</span><br><span> </span><br><span> type integer SpeechVer;</span><br><span>diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn</span><br><span>index c0cd9d3..2a6c034 100644</span><br><span>--- a/msc/MSC_Tests.ttcn</span><br><span>+++ b/msc/MSC_Tests.ttcn</span><br><span>@@ -1722,8 +1722,7 @@</span><br><span> /* LU followed by MT call (including paging) */</span><br><span> private function f_tc_lu_and_mt_call(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {</span><br><span>     f_init_handler(pars);</span><br><span style="color: hsl(0, 100%, 40%);">-   //FIXME: odd digits var CallParameters cpars := valueof(t_CallParams('12345'H, 0));</span><br><span style="color: hsl(0, 100%, 40%);">-     var CallParameters cpars := valueof(t_CallParams('123456'H, 0));</span><br><span style="color: hsl(120, 100%, 40%);">+      var CallParameters cpars := valueof(t_CallParams('12345'H, 0));</span><br><span>      cpars.bss_rtp_port := 1110;</span><br><span>  cpars.mgcp_connection_id_bss := '10004'H;</span><br><span>    cpars.mgcp_connection_id_mss := '10005'H;</span><br><span>@@ -1845,8 +1844,7 @@</span><br><span> /* LU followed by MT call (including paging) */</span><br><span> private function f_tc_lu_and_mt_call_no_dlcx_resp(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {</span><br><span>       f_init_handler(pars);</span><br><span style="color: hsl(0, 100%, 40%);">-   //FIXME: odd digits var CallParameters cpars := valueof(t_CallParams('12345'H, 0));</span><br><span style="color: hsl(0, 100%, 40%);">-     var CallParameters cpars := valueof(t_CallParams('123456'H, 0));</span><br><span style="color: hsl(120, 100%, 40%);">+      var CallParameters cpars := valueof(t_CallParams('12345'H, 0));</span><br><span>      cpars.bss_rtp_port := 1110;</span><br><span>  cpars.mgcp_connection_id_bss := '10004'H;</span><br><span>    cpars.mgcp_connection_id_mss := '10005'H;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/11743">change 11743</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/11743"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I34439c8750f588802a5403375e2a3d6e74dae70c </div>
<div style="display:none"> Gerrit-Change-Number: 11743 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Stefan Sperling <ssperling@sysmocom.de> </div>