<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bsc: add tests for inter-BSC HO with encryption A5/{0,1,3,4}<br><br>Only ho-into-this-bsc tests are required, since the out-of-this-bsc<br>message (Handover Required) does not involve any encryption information.<br><br>Related: SYS#5324<br>Change-Id: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1<br>---<br>M bsc/BSC_Tests.ttcn<br>1 file changed, 58 insertions(+), 4 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/31/24731/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 e41a370..cd3638d 100644</span><br><span>--- a/bsc/BSC_Tests.ttcn</span><br><span>+++ b/bsc/BSC_Tests.ttcn</span><br><span>@@ -1507,15 +1507,38 @@</span><br><span> }</span><br><span> </span><br><span> function f_gen_handover_req(integer bssap_idx := 0, charstring aoip_tla := "1.2.3.4",</span><br><span style="color: hsl(0, 100%, 40%);">-                           template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit) return PDU_BSSAP {</span><br><span style="color: hsl(120, 100%, 40%);">+                      template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit,</span><br><span style="color: hsl(120, 100%, 40%);">+                         template (omit) TestHdlrEncrParams enc := omit) return PDU_BSSAP {</span><br><span>       var PDU_BSSAP ho_req;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       var BSSMAP_IE_EncryptionInformation encryptionInformation :=</span><br><span style="color: hsl(120, 100%, 40%);">+          valueof(ts_BSSMAP_IE_EncrInfo('0000000000000000'O,'01'O));</span><br><span style="color: hsl(120, 100%, 40%);">+    var template BSSMAP_IE_ChosenEncryptionAlgorithm chosenEncryptionAlgorithm := omit;</span><br><span style="color: hsl(120, 100%, 40%);">+   var template BSSMAP_IE_KC128 kc128 := omit;</span><br><span style="color: hsl(120, 100%, 40%);">+   if (ispresent(enc)) {</span><br><span style="color: hsl(120, 100%, 40%);">+         var TestHdlrEncrParams v_enc := valueof(enc);</span><br><span style="color: hsl(120, 100%, 40%);">+         encryptionInformation := valueof(ts_BSSMAP_IE_EncrInfo(v_enc.enc_key, v_enc.enc_alg));</span><br><span style="color: hsl(120, 100%, 40%);">+                chosenEncryptionAlgorithm := valueof(</span><br><span style="color: hsl(120, 100%, 40%);">+                 ts_BSSMAP_IE_ChosenEncryptionAlgorithm(int2oct(enum2int(</span><br><span style="color: hsl(120, 100%, 40%);">+                              f_chipher_mode_bssmap_to_rsl(v_enc.enc_alg)), 1)));</span><br><span style="color: hsl(120, 100%, 40%);">+           if (ispresent(v_enc.enc_kc128)) {</span><br><span style="color: hsl(120, 100%, 40%);">+                     kc128 := ts_BSSMAP_IE_Kc128(v_enc.enc_kc128);</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>  if (mp_bssap_cfg[bssap_idx].transport == BSSAP_TRANSPORT_AoIP) {</span><br><span>             var BSSMAP_IE_AoIP_TransportLayerAddress tla :=</span><br><span>                      valueof(f_ts_BSSMAP_IE_AoIP_TLA(aoip_tla, 2342));</span><br><span style="color: hsl(0, 100%, 40%);">-               ho_req := valueof(ts_BSSMAP_HandoverRequest(omit, tla, oldToNewBSSIEs := oldToNewBSSIEs));</span><br><span style="color: hsl(120, 100%, 40%);">+            ho_req := valueof(ts_BSSMAP_HandoverRequest(omit, tla, oldToNewBSSIEs := oldToNewBSSIEs,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                          encryptionInformation := encryptionInformation,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                       chosenEncryptionAlgorithm := chosenEncryptionAlgorithm,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                       kC128 := kc128));</span><br><span>        } else {</span><br><span>             var BSSMAP_IE_CircuitIdentityCode cic := valueof(ts_BSSMAP_IE_CIC(0,1));</span><br><span style="color: hsl(0, 100%, 40%);">-                ho_req := valueof(ts_BSSMAP_HandoverRequest(cic, omit, oldToNewBSSIEs := oldToNewBSSIEs));</span><br><span style="color: hsl(120, 100%, 40%);">+            ho_req := valueof(ts_BSSMAP_HandoverRequest(cic, omit, oldToNewBSSIEs := oldToNewBSSIEs,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                          encryptionInformation := encryptionInformation,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                       chosenEncryptionAlgorithm := chosenEncryptionAlgorithm,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                       kC128 := kc128));</span><br><span>        }</span><br><span>    return ho_req;</span><br><span> }</span><br><span>@@ -5285,7 +5308,8 @@</span><br><span> </span><br><span>      BSSAP.send(ts_BSSAP_Conn_Req(g_pars.sccp_addr_bsc, g_pars.sccp_addr_msc,</span><br><span>                                  f_gen_handover_req(aoip_tla := g_pars.host_aoip_tla,</span><br><span style="color: hsl(0, 100%, 40%);">-                                                       oldToNewBSSIEs := oldToNewBSSIEs)));</span><br><span style="color: hsl(120, 100%, 40%);">+                                                  oldToNewBSSIEs := oldToNewBSSIEs,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                     enc := g_pars.encr)));</span><br><span>       BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_CONF_IND);</span><br><span> </span><br><span>     /* The RSL Emulation magically accepts the Chan Activ behind the scenes. */</span><br><span>@@ -5295,6 +5319,9 @@</span><br><span> </span><br><span>      BSSAP.receive(tr_BSSMAP_HandoverRequestAcknowledge(?)) -> value rx_bssap;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+      /* we're sure that the channel activation is done now, verify the encryption parameters in it */</span><br><span style="color: hsl(120, 100%, 40%);">+  f_verify_encr_info(f_rslem_get_last_act(RSL_PROC, 0, g_chan_nr));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  ho_command_str := rx_bssap.pdu.bssmap.handoverRequestAck.layer3Information.layer3info;</span><br><span>       log("Received L3 Info in HO Request Ack: ", ho_command_str);</span><br><span>       var PDU_ML3_NW_MS ho_command := dec_PDU_ML3_NW_MS(ho_command_str);</span><br><span>@@ -5375,6 +5402,29 @@</span><br><span>  f_shutdown_helper();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+function f_tc_ho_into_this_bsc_a5(OCT1 encr_alg) runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+     var TestHdlrParams pars := f_gen_test_hdlr_pars();</span><br><span style="color: hsl(120, 100%, 40%);">+    pars.encr := valueof(t_EncrParams(encr_alg, f_rnd_octstring(8), f_rnd_octstring(16)));</span><br><span style="color: hsl(120, 100%, 40%);">+        f_tc_ho_into_this_bsc_main(pars);</span><br><span style="color: hsl(120, 100%, 40%);">+     f_shutdown_helper();</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%);">+testcase TC_ho_into_this_bsc_a5_0() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+      f_tc_ho_into_this_bsc_a5('01'O);</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%);">+testcase TC_ho_into_this_bsc_a5_1() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+  f_tc_ho_into_this_bsc_a5('02'O);</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%);">+testcase TC_ho_into_this_bsc_a5_3() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+  f_tc_ho_into_this_bsc_a5('08'O);</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%);">+testcase TC_ho_into_this_bsc_a5_4() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+  f_tc_ho_into_this_bsc_a5('10'O);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> testcase TC_ho_into_this_bsc_tla_v6() runs on test_CT {</span><br><span>     var TestHdlrParams pars := f_gen_test_hdlr_pars();</span><br><span>   pars.host_aoip_tla := "::6";</span><br><span>@@ -9117,6 +9167,10 @@</span><br><span>      execute( TC_ho_out_fail_no_result_after_ho_cmd() );</span><br><span> </span><br><span>      execute( TC_ho_into_this_bsc() );</span><br><span style="color: hsl(120, 100%, 40%);">+     execute( TC_ho_into_this_bsc_a5_0() );</span><br><span style="color: hsl(120, 100%, 40%);">+        execute( TC_ho_into_this_bsc_a5_1() );</span><br><span style="color: hsl(120, 100%, 40%);">+        execute( TC_ho_into_this_bsc_a5_3() );</span><br><span style="color: hsl(120, 100%, 40%);">+        execute( TC_ho_into_this_bsc_a5_4() );</span><br><span>       if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_AoIP) {</span><br><span>             execute( TC_ho_into_this_bsc_tla_v6() );</span><br><span>     }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24731">change 24731</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/+/24731"/><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: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1 </div>
<div style="display:none"> Gerrit-Change-Number: 24731 </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>