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