Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command

2021-06-17 Thread pespin
pespin has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 )

Change subject: bsc: Validate new 'srvcc fast-return' VTY command
..

bsc: Validate new 'srvcc fast-return' VTY command

Related: SYS#5337
Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe
---
M bsc/BSC_Tests.ttcn
M bsc/MSC_ConnectionHandler.ttcn
2 files changed, 61 insertions(+), 6 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 074fa60..d15b2ec 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -5226,11 +5226,15 @@
 }

 private function f_tc_ho_into_this_bsc(charstring id) runs on MSC_ConnHdlr {
-   var template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE;
+   var template PDU_ML3_NW_MS exp_rr_rel_tmpl;
var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit;
if (not istemplatekind(g_pars.last_used_eutran_plmn, "omit")) {
oldToNewBSSIEs := 
f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn));
+   }
+   if (g_pars.exp_fast_return) {
exp_rr_rel_tmpl := tr_RRM_RR_RELEASE_CellSelectInd;
+   } else {
+   exp_rr_rel_tmpl := tr_RRM_RR_RELEASE;
}
f_ho_into_this_bsc(id, oldToNewBSSIEs);
f_perform_clear(RSL, exp_rr_rel_tmpl);
@@ -5278,10 +5282,26 @@
 testcase TC_srvcc_eutran_to_geran() runs on test_CT {
var TestHdlrParams pars := f_gen_test_hdlr_pars();
pars.last_used_eutran_plmn := '323454'O;
+   pars.exp_fast_return := true;
f_tc_ho_into_this_bsc_main(pars);
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. */
+testcase TC_srvcc_eutran_to_geran_forbid_fast_return() runs on test_CT {
+   f_init_vty();
+   f_vty_allow_srvcc_fast_return(true, 0)
+
+   var TestHdlrParams pars := f_gen_test_hdlr_pars();
+   pars.last_used_eutran_plmn := '323454'O;
+   pars.exp_fast_return := false;
+   f_tc_ho_into_this_bsc_main(pars);
+   f_vty_allow_srvcc_fast_return(false, 0);
+   f_shutdown_helper();
+}
+
 private function f_tc_srvcc_eutran_to_geran_ho_out(charstring id) runs on 
MSC_ConnHdlr {
var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs;
oldToNewBSSIEs := 
f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn));
@@ -5289,15 +5309,16 @@
f_ho_out_of_this_bsc(oldToNewBSSIEs);
setverdict(pass);
 }
-/* First, HO into BSC from EUTRAN (SRVCC): HO Request contains "Old BSS to New
-   BSS Information" IE with "Last Used E-UTRAN PLMN Id".
-   Second, HO to another BSC: HO Required contains "Old BSS to New BSS 
Information"
-   IE with "Last Used E-UTRAN PLMN Id" from first step. */
-testcase TC_srvcc_eutran_to_geran_ho_out() runs on test_CT {
+
+private function f_tc_srvcc_eutran_to_geran_ho_out_main(boolean 
disable_fast_return)
+   runs on test_CT {
var MSC_ConnHdlr vc_conn;
var TestHdlrParams pars := f_gen_test_hdlr_pars();

f_init(1, true);
+   if (disable_fast_return) {
+   f_vty_allow_srvcc_fast_return(true, 0);
+   }
f_sleep(1.0);

f_ctrs_bsc_and_bts_init();
@@ -5316,9 +5337,26 @@
f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted", 1);
f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:completed", 1);
f_ctrs_bsc_and_bts_verify();
+
+   if (disable_fast_return) {
+   f_vty_allow_srvcc_fast_return(false, 0);
+   }
f_shutdown_helper();
 }

+/* First, HO into BSC from EUTRAN (SRVCC): HO Request contains "Old BSS to New
+   BSS Information" IE with "Last Used E-UTRAN PLMN Id".
+   Second, HO to another BSC: HO Required contains "Old BSS to New BSS 
Information"
+   IE with "Last Used E-UTRAN PLMN Id" from first step. */
+testcase TC_srvcc_eutran_to_geran_ho_out() runs on test_CT {
+   f_tc_srvcc_eutran_to_geran_ho_out_main(false);
+}
+/* Validate subsequent intra-GSM-HO works the same (with OldBSSToNewBSSInfo IE)
+ * independently of fast-reture allowed/forbidden in local BTS */
+testcase TC_srvcc_eutran_to_geran_ho_out_forbid_fast_return() runs on test_CT {
+   f_tc_srvcc_eutran_to_geran_ho_out_main(true);
+}
+
 private function f_tc_ho_in_fail_msc_clears(charstring id) runs on 
MSC_ConnHdlr {
var RslChannelNr new_chan_nr := valueof(t_RslChanNr0(1, 
RSL_CHAN_NR_Bm_ACCH));
f_rslem_register(0, new_chan_nr);
@@ -7306,6 +7344,19 @@
f_vty_transceive(BSCVTY, "exit");
 }

+/* Allow/Forbid Fast Return after SRVCC on a given BTS via VTY */
+private function f_vty_allow_srvcc_fast_return(boolean allow, integer bts_nr) 
runs on test_CT {
+   

Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command

2021-06-16 Thread laforge
laforge has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 )

Change subject: bsc: Validate new 'srvcc fast-return' VTY command
..


Patch Set 2: Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679
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: I227abc3793255e3916eba0dbc1460f46ec9926fe
Gerrit-Change-Number: 24679
Gerrit-PatchSet: 2
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Comment-Date: Wed, 16 Jun 2021 20:41:52 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command

2021-06-15 Thread pespin
Hello Jenkins Builder,

I'd like you to reexamine a change. Please visit

https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679

to look at the new patch set (#2).

Change subject: bsc: Validate new 'srvcc fast-return' VTY command
..

bsc: Validate new 'srvcc fast-return' VTY command

Related: SYS#5337
Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe
---
M bsc/BSC_Tests.ttcn
M bsc/MSC_ConnectionHandler.ttcn
2 files changed, 61 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/79/24679/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679
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: I227abc3793255e3916eba0dbc1460f46ec9926fe
Gerrit-Change-Number: 24679
Gerrit-PatchSet: 2
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge 
Gerrit-MessageType: newpatchset


Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command

2021-06-15 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 )

Change subject: bsc: Validate new 'srvcc fast-return' VTY command
..


Patch Set 1:

> Patch Set 1:
>
> might need extensions if you consider the 'subsequent intra-GSM-HO after 
> SRVCC EUTRA->GERAN" case I mentioned in the review of the osmo-bsc patch.

I can add a test verifying that even if fast-return is disabled for local BTS, 
the subsequen inra-GSM-HO still contains the OldBSSToNewBSSInfo


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679
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: I227abc3793255e3916eba0dbc1460f46ec9926fe
Gerrit-Change-Number: 24679
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge 
Gerrit-Comment-Date: Tue, 15 Jun 2021 16:30:53 +
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command

2021-06-15 Thread laforge
laforge has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 )

Change subject: bsc: Validate new 'srvcc fast-return' VTY command
..


Patch Set 1:

might need extensions if you consider the 'subsequent intra-GSM-HO after SRVCC 
EUTRA->GERAN" case I mentioned in the review of the osmo-bsc patch.


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679
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: I227abc3793255e3916eba0dbc1460f46ec9926fe
Gerrit-Change-Number: 24679
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge 
Gerrit-Comment-Date: Tue, 15 Jun 2021 16:29:46 +
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: bsc: Validate new 'srvcc fast-return' VTY command

2021-06-15 Thread pespin
pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24679 )


Change subject: bsc: Validate new 'srvcc fast-return' VTY command
..

bsc: Validate new 'srvcc fast-return' VTY command

Related: SYS#5337
Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe
---
M bsc/BSC_Tests.ttcn
M bsc/MSC_ConnectionHandler.ttcn
2 files changed, 38 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/79/24679/1

diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 074fa60..5ab2dd1 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -5226,11 +5226,15 @@
 }

 private function f_tc_ho_into_this_bsc(charstring id) runs on MSC_ConnHdlr {
-   var template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE;
+   var template PDU_ML3_NW_MS exp_rr_rel_tmpl;
var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit;
if (not istemplatekind(g_pars.last_used_eutran_plmn, "omit")) {
oldToNewBSSIEs := 
f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn));
+   }
+   if (g_pars.exp_fast_return) {
exp_rr_rel_tmpl := tr_RRM_RR_RELEASE_CellSelectInd;
+   } else {
+   exp_rr_rel_tmpl := tr_RRM_RR_RELEASE;
}
f_ho_into_this_bsc(id, oldToNewBSSIEs);
f_perform_clear(RSL, exp_rr_rel_tmpl);
@@ -5278,10 +5282,26 @@
 testcase TC_srvcc_eutran_to_geran() runs on test_CT {
var TestHdlrParams pars := f_gen_test_hdlr_pars();
pars.last_used_eutran_plmn := '323454'O;
+   pars.exp_fast_return := true;
f_tc_ho_into_this_bsc_main(pars);
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. */
+testcase TC_srvcc_eutran_to_geran_forbid_fast_return() runs on test_CT {
+   f_init_vty();
+   f_vty_allow_srvcc_fast_return(true, 0)
+
+   var TestHdlrParams pars := f_gen_test_hdlr_pars();
+   pars.last_used_eutran_plmn := '323454'O;
+   pars.exp_fast_return := false;
+   f_tc_ho_into_this_bsc_main(pars);
+   f_vty_allow_srvcc_fast_return(false, 0);
+   f_shutdown_helper();
+}
+
 private function f_tc_srvcc_eutran_to_geran_ho_out(charstring id) runs on 
MSC_ConnHdlr {
var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs;
oldToNewBSSIEs := 
f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn));
@@ -5303,6 +5323,7 @@
f_ctrs_bsc_and_bts_init();

pars.last_used_eutran_plmn := '323454'O;
+   pars.exp_fast_return := true;
pars.sccp_addr_msc := g_bssap[0].sccp_addr_own;
pars.sccp_addr_bsc := g_bssap[0].sccp_addr_peer;

@@ -7306,6 +7327,19 @@
f_vty_transceive(BSCVTY, "exit");
 }

+/* Allow/Forbid Fast Return after SRVCC on a given BTS via VTY */
+private function f_vty_allow_srvcc_fast_return(boolean allow, integer bts_nr) 
runs on test_CT {
+   f_vty_enter_cfg_bts(BSCVTY, bts_nr);
+   if (allow) {
+   f_vty_transceive(BSCVTY, "srvcc fast-return allow");
+   } else {
+   f_vty_transceive(BSCVTY, "srvcc fast-return forbid");
+   }
+   f_vty_transceive(BSCVTY, "exit");
+   f_vty_transceive(BSCVTY, "exit");
+   f_vty_transceive(BSCVTY, "exit");
+}
+
 /* Begin assignmet procedure and send an EMERGENCY SETUP (RR) */
 private function f_assignment_emerg_setup() runs on MSC_ConnHdlr {
var PDU_ML3_MS_NW emerg_setup;
@@ -8950,6 +8984,7 @@
}
execute( TC_srvcc_eutran_to_geran() );
execute( TC_srvcc_eutran_to_geran_ho_out() );
+   execute( TC_srvcc_eutran_to_geran_forbid_fast_return() );
execute( TC_ho_in_fail_msc_clears() );
execute( TC_ho_in_fail_msc_clears_after_ho_detect() );
execute( TC_ho_in_fail_no_detect() );
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index c29ccd4..a4f1f51 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -590,6 +590,7 @@
TestHdlrParamsMSCPool mscpool,
boolean media_mgw_offer_ipv6,
OCT3last_used_eutran_plmn optional,
+   boolean exp_fast_return, /* RR Release expected to contain 
CellSelectInd ? */
boolean expect_channel_mode_modify,
uint3_t expect_tsc optional
 };
@@ -628,6 +629,7 @@
},
media_mgw_offer_ipv6 := true,
last_used_eutran_plmn := omit,
+   exp_fast_return := false,
expect_channel_mode_modify := false,
expect_tsc := omit
 }

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

Gerrit-Project: