<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup<br><br>reasons:<br><br>* TC_assignment_fr_a5_4() runs an unusual sequence of messages: it first<br>  fully assigns an lchan, and after that sends a Cipher Mode Command.<br>  Usually, the ciphering happens as part of attaching (Compl L3).<br>  The new test TC_assignment_fr_a5_not_sup() does the ciphering in the<br>  usual sequence, and properly expects a Cipher Mode Reject.<br><br>* TC_assignment_fr_a5_4 means to ask for an *unsupported* encryption<br>  algo. Since we are going to introduce A5/4 support shortly, we'll need<br>  to free up this name, for a successful A5/4 encryption test.<br><br>New test TC_assignment_fr_a5_not_sup() asks for A5/5 encryption, which<br>is not supported.<br><br>Related: SYS#5324<br>Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4<br>---<br>M bsc/BSC_Tests.ttcn<br>M bsc/expected-results.xml<br>2 files changed, 43 insertions(+), 15 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/67/24667/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn</span><br><span>index 41deea1..845869a 100644</span><br><span>--- a/bsc/BSC_Tests.ttcn</span><br><span>+++ b/bsc/BSC_Tests.ttcn</span><br><span>@@ -3415,26 +3415,54 @@</span><br><span>         f_shutdown_helper();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-private function f_tc_assignment_fr_a5_4(charstring id) runs on MSC_ConnHdlr {</span><br><span style="color: hsl(0, 100%, 40%);">-     g_pars := f_gen_test_hdlr_pars();</span><br><span style="color: hsl(0, 100%, 40%);">-       var template PDU_BSSAP exp_compl := f_gen_exp_compl();</span><br><span style="color: hsl(0, 100%, 40%);">-  var PDU_BSSAP ass_cmd := f_gen_ass_req();</span><br><span style="color: hsl(0, 100%, 40%);">-       const OCT8 kc := '0001020304050607'O;</span><br><span style="color: hsl(0, 100%, 40%);">-   const OCT16 kc128 := kc & kc;</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_assignment_a5_not_sup(charstring id) runs on MSC_ConnHdlr {</span><br><span style="color: hsl(120, 100%, 40%);">+  var template PDU_BSSAP exp_ass_cpl := f_gen_exp_compl();</span><br><span style="color: hsl(120, 100%, 40%);">+      var PDU_BSSAP ass_tpl := f_gen_ass_req();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);</span><br><span style="color: hsl(0, 100%, 40%);">-  ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));</span><br><span style="color: hsl(0, 100%, 40%);">-        f_establish_fully(ass_cmd, exp_compl);</span><br><span style="color: hsl(0, 100%, 40%);">-  f_cipher_mode('10'O, kc, kc128, true);</span><br><span style="color: hsl(0, 100%, 40%);">-  /* TODO: expect GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED cause value */</span><br><span style="color: hsl(120, 100%, 40%);">+        ass_tpl.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);</span><br><span style="color: hsl(120, 100%, 40%);">+        ass_tpl.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    //f_establish_fully(ass_cmd, exp_compl);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    var BSSMAP_FIELD_CodecType codecType;</span><br><span style="color: hsl(120, 100%, 40%);">+ timer T := 10.0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    codecType := valueof(ass_tpl.pdu.bssmap.assignmentRequest.codecList.codecElements[0].codecType);</span><br><span style="color: hsl(120, 100%, 40%);">+      f_MscConnHdlr_init(g_pars.media_nr, host_bts, host_mgw_mgcp, codecType);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    f_create_chan_and_exp();</span><br><span style="color: hsl(120, 100%, 40%);">+      /* we should now have a COMPL_L3 at the MSC */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      var template PDU_BSSAP exp_l3_compl;</span><br><span style="color: hsl(120, 100%, 40%);">+  exp_l3_compl := tr_BSSMAP_ComplL3()</span><br><span style="color: hsl(120, 100%, 40%);">+   if (g_pars.aoip == false) {</span><br><span style="color: hsl(120, 100%, 40%);">+           exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := omit;</span><br><span style="color: hsl(120, 100%, 40%);">+  } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := ?;</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span style="color: hsl(120, 100%, 40%);">+     T.start;</span><br><span style="color: hsl(120, 100%, 40%);">+      alt {</span><br><span style="color: hsl(120, 100%, 40%);">+ [] BSSAP.receive(exp_l3_compl);</span><br><span style="color: hsl(120, 100%, 40%);">+       [] BSSAP.receive(tr_BSSMAP_ComplL3) {</span><br><span style="color: hsl(120, 100%, 40%);">+         Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Received non-matching COMPLETE LAYER 3 INFORMATION");</span><br><span style="color: hsl(120, 100%, 40%);">+           }</span><br><span style="color: hsl(120, 100%, 40%);">+     [] T.timeout {</span><br><span style="color: hsl(120, 100%, 40%);">+                Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for COMPLETE LAYER 3 INFORMATION");</span><br><span style="color: hsl(120, 100%, 40%);">+             }</span><br><span style="color: hsl(120, 100%, 40%);">+     }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Start ciphering, expect Cipher Mode Reject */</span><br><span style="color: hsl(120, 100%, 40%);">+      f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key, exp_fail := true);</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">-testcase TC_assignment_fr_a5_4() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+testcase TC_assignment_fr_a5_not_sup() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+   var TestHdlrParams pars := f_gen_test_hdlr_pars();</span><br><span>   var MSC_ConnHdlr vc_conn;</span><br><span> </span><br><span>        f_init(1, true);</span><br><span>     f_sleep(1.0);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_4));</span><br><span style="color: hsl(120, 100%, 40%);">+  pars.encr := valueof(t_EncrParams('20'O, f_rnd_octstring(8)));</span><br><span style="color: hsl(120, 100%, 40%);">+        vc_conn := f_start_handler(refers(f_TC_assignment_a5_not_sup), pars);</span><br><span>        vc_conn.done;</span><br><span>        f_shutdown_helper();</span><br><span> }</span><br><span>@@ -8828,7 +8856,7 @@</span><br><span>            execute( TC_assignment_fr_a5_1_codec_missing() );</span><br><span>    }</span><br><span>    execute( TC_assignment_fr_a5_3() );</span><br><span style="color: hsl(0, 100%, 40%);">-     execute( TC_assignment_fr_a5_4() );</span><br><span style="color: hsl(120, 100%, 40%);">+   execute( TC_assignment_fr_a5_not_sup() );</span><br><span>    execute( TC_ciph_mode_a5_0() );</span><br><span>      execute( TC_ciph_mode_a5_1() );</span><br><span>      execute( TC_ciph_mode_a5_3() );</span><br><span>diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml</span><br><span>index c98d3c7..f91de19 100644</span><br><span>--- a/bsc/expected-results.xml</span><br><span>+++ b/bsc/expected-results.xml</span><br><span>@@ -47,7 +47,7 @@</span><br><span>   <testcase classname='BSC_Tests' name='TC_assignment_fr_a5_1' time='MASKED'/></span><br><span>   <testcase classname='BSC_Tests' name='TC_assignment_fr_a5_1_codec_missing' time='MASKED'/></span><br><span>   <testcase classname='BSC_Tests' name='TC_assignment_fr_a5_3' time='MASKED'/></span><br><span style="color: hsl(0, 100%, 40%);">-  <testcase classname='BSC_Tests' name='TC_assignment_fr_a5_4' time='MASKED'/></span><br><span style="color: hsl(120, 100%, 40%);">+  <testcase classname='BSC_Tests' name='TC_assignment_fr_a5_not_sup' time='MASKED'/></span><br><span>   <testcase classname='BSC_Tests' name='TC_ciph_mode_a5_0' time='MASKED'/></span><br><span>   <testcase classname='BSC_Tests' name='TC_ciph_mode_a5_1' time='MASKED'/></span><br><span>   <testcase classname='BSC_Tests' name='TC_ciph_mode_a5_3' time='MASKED'/></span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24667">change 24667</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/c/osmo-ttcn3-hacks/+/24667"/><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-Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4 </div>
<div style="display:none"> Gerrit-Change-Number: 24667 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>