laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27511 )

Change subject: bsc: add new testcase TC_srvcc_eutran_to_geran_a5_3
......................................................................

bsc: add new testcase TC_srvcc_eutran_to_geran_a5_3

According to 3GPP TS 44.018, section 9.1.15, the RR Handover Command
message may optionally contain the Cipher Mode Setting IE (10.5.2.9).
Section 9.1.15.10 states that this IE may be omitted in case of the
intra-RAT GERAN-to-GERAN handover, however in case of the inter-RAT
handover (e.g. EUTRAN-to-GERAN), this IE *shall* always be included.

In f_ho_into_this_bsc(), check presence and correctness of the Cipher
Mode Setting IE.  Add TC_srvcc_eutran_to_geran_a5_3, which is similar
to TC_srvcc_eutran_to_geran, but enables ciphering on the target channel.

This patch makes all SRVCC relates test cases fail, until [1] is merged.

Change-Id: Ic3dfc4e31a7ed078cdfdaced9986ee9551c5aa7c
Related: [1] osmo-bsc.git I1d270e82d0a9b12897fc94dae4e8999aa132a22f
Related: SYS#5838
---
M bsc/BSC_Tests.ttcn
M bsc/expected-results.xml
2 files changed, 36 insertions(+), 0 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 8f70452..758b989 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -6115,6 +6115,26 @@
                log("handoverCommand: verified TSC = ", got_tsc);
        }

+       /* Check the Cipher Mode Setting IE (shall be present during inter-RAT 
handover) */
+       if (ispresent(ho_command.msgs.rrm.handoverCommand.cipherModeSetting)) {
+               var CipherModeSetting_TV cms := 
ho_command.msgs.rrm.handoverCommand.cipherModeSetting;
+               var template (present) CipherModeSetting_TV tr_cms := {
+                       sC := '0'B, /* no ciphering by default */
+                       algorithmIdentifier := '000'B,
+                       elementIdentifier := ?
+               };
+               if (ispresent(g_pars.encr) and g_pars.encr.enc_alg_expect != 
'01'O) { /* A5/N */
+                       tr_cms.algorithmIdentifier := 
f_cipher_mode_bssmap_to_rr(g_pars.encr.enc_alg_expect);
+                       tr_cms.sC := '1'B;
+               }
+               if (not match(cms, tr_cms)) {
+                       setverdict(fail, "RR Handover Command: unexpected 
Cipher Mode Setting IE: ",
+                                  cms, ", expected: ", tr_cms);
+               }
+       } else {
+               setverdict(fail, "RR Handover Command: Cipher Mode Setting IE 
is not present");
+       }
+
        /* Now the MSC forwards the RR Handover Command to the other BSC, which
         * tells the MS to handover to the new lchan. Here comes the new MS on
         * the new lchan with a Handover RACH: */
@@ -6260,6 +6280,20 @@
        f_shutdown_helper();
 }

+/* Same as TC_srvcc_eutran_to_geran, but enables ciphering on the target 
channel. */
+testcase TC_srvcc_eutran_to_geran_a5_3() runs on test_CT {
+       var TestHdlrParams pars := f_gen_test_hdlr_pars();
+       pars.encr := f_encr_params('08'O); /* only A5/3 */
+       pars.last_used_eutran_plmn := '323454'O;
+       pars.exp_fast_return := true;
+       f_tc_ho_into_this_bsc_main(pars);
+
+       f_ctrs_bsc_and_bts_add(0, "srvcc:attempted");
+       f_ctrs_bsc_and_bts_add(0, "srvcc:completed");
+       f_ctrs_bsc_and_bts_verify();
+       f_shutdown_helper();
+}
+
 /* Same as TC_srvcc_eutran_to_geran, but test explicitly forbiding fast return
    on the BTS. As a result, RR Release shouldn't contain the EUTRAN neighbor
    list when the channel is released. */
@@ -11367,6 +11401,7 @@
                execute( TC_ho_into_this_bsc_tla_v6() );
        }
        execute( TC_srvcc_eutran_to_geran() );
+       execute( TC_srvcc_eutran_to_geran_a5_3() );
        execute( TC_srvcc_eutran_to_geran_src_sai() );
        execute( TC_srvcc_eutran_to_geran_ho_out() );
        execute( TC_srvcc_eutran_to_geran_forbid_fast_return() );
diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml
index f9f022e..572c657 100644
--- a/bsc/expected-results.xml
+++ b/bsc/expected-results.xml
@@ -157,6 +157,7 @@
   <testcase classname='BSC_Tests' name='TC_ho_into_this_bsc_a5_4' 
time='MASKED'/>
   <testcase classname='BSC_Tests' name='TC_ho_into_this_bsc_tla_v6' 
time='MASKED'/>
   <testcase classname='BSC_Tests' name='TC_srvcc_eutran_to_geran' 
time='MASKED'/>
+  <testcase classname='BSC_Tests' name='TC_srvcc_eutran_to_geran_a5_3' 
time='MASKED'/>
   <testcase classname='BSC_Tests' name='TC_srvcc_eutran_to_geran_ho_out' 
time='MASKED'/>
   <testcase classname='BSC_Tests' 
name='TC_srvcc_eutran_to_geran_forbid_fast_return' time='MASKED'/>
   <testcase classname='BSC_Tests' 
name='TC_srvcc_eutran_to_geran_ho_out_forbid_fast_return' time='MASKED'/>

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27511
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ic3dfc4e31a7ed078cdfdaced9986ee9551c5aa7c
Gerrit-Change-Number: 27511
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: neels <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to